blacklist_test.go 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. package blacklist
  2. import (
  3. "testing"
  4. )
  5. func TestIpRangeBreakdown(t *testing.T) {
  6. ipRange := "192.168.1.155 - 192.168.1.158"
  7. sol := []string{"192.168.1.155", "192.168.1.156", "192.168.1.157", "192.168.1.158"}
  8. breakdown := breakdownIpRange(ipRange)
  9. if len(sol) != len(breakdown) {
  10. t.Fatal("IP range breakdown length incorrect, result: ", breakdown)
  11. } else {
  12. t.Log("Returned IP Range: ", breakdown, " Solution: ", sol)
  13. }
  14. }
  15. func TestIpInRange(t *testing.T) {
  16. r := ipInRange("192.168.1.128", "192.168.1.100 - 192.168.1.200")
  17. if r == false {
  18. t.Fatal("Correct IP in range reported as error")
  19. }
  20. r = ipInRange("192.168.1.128", "192.168.1.128 ")
  21. if r == false {
  22. t.Fatal("Correct IP in range reported as error")
  23. }
  24. r = ipInRange("192.168.1.128", "192.168.1.1 - 192.168.1.100")
  25. if r == true {
  26. t.Fatal("Invalid IP in range reported as correct")
  27. }
  28. }
  29. func TestSingleIP(t *testing.T) {
  30. err := validateIpRange("192.168.1.128")
  31. if err != nil {
  32. t.Fatal("Correct IP range reported as error", err)
  33. }
  34. err = validateIpRange("192.168.1.asd")
  35. if err == nil {
  36. t.Fatal("Invalid ip reported as correct", err)
  37. }
  38. err = validateIpRange("192.168.1.100.123.234")
  39. if err == nil {
  40. t.Fatal("Invalid ip reported as correct", err)
  41. }
  42. }
  43. func TestIPRange(t *testing.T) {
  44. err := validateIpRange("192.168.1.150 - 192.168.1.250")
  45. if err != nil {
  46. t.Fatal("Correct IP range reported as error", err)
  47. }
  48. err = validateIpRange("192.168.1.1 - 192.168.1.100")
  49. if err != nil {
  50. t.Fatal("Correct IP range reported as error", err)
  51. }
  52. err = validateIpRange("192.168.1.255 - 192.168.1.250")
  53. if err == nil {
  54. t.Fatal("Invalid correct resp on starting ip > ending ip", err)
  55. }
  56. err = validateIpRange("192.168.1.120 -192.168.2.100")
  57. if err == nil {
  58. t.Fatal("Invalid ip range reported as correct", err)
  59. }
  60. err = validateIpRange("d037:b377:039a:b621:145b:0d10:3d38:982f - 4fe9:1561:c37c:1f66:f696:948d:c452:73a3")
  61. if err == nil {
  62. t.Fatal("Not supported ip range reported as correct", err)
  63. }
  64. }