blacklist_test.go 2.2 KB

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