|
@@ -0,0 +1,44 @@
|
|
|
|
+package ip
|
|
|
|
+
|
|
|
|
+import (
|
|
|
|
+ "net"
|
|
|
|
+ "testing"
|
|
|
|
+)
|
|
|
|
+
|
|
|
|
+func TestIPInCidr(t *testing.T) {
|
|
|
|
+ ip := NewIP()
|
|
|
|
+
|
|
|
|
+ HandleIP(t, ip, "123.2.3.5", false)
|
|
|
|
+
|
|
|
|
+ HandleIP(t, ip, "10.10.0.0", true)
|
|
|
|
+ HandleIP(t, ip, "10.10.10.10", true)
|
|
|
|
+ HandleIP(t, ip, "10.255.255.255", true)
|
|
|
|
+ HandleIP(t, ip, "11.0.0.0", false)
|
|
|
|
+ HandleIP(t, ip, "10.10.10.432", false)
|
|
|
|
+
|
|
|
|
+ HandleIP(t, ip, "192.167.255.255", false)
|
|
|
|
+ HandleIP(t, ip, "192.168.0.0", true)
|
|
|
|
+ HandleIP(t, ip, "192.168.122.1", true)
|
|
|
|
+ HandleIP(t, ip, "192.168.255.255", true)
|
|
|
|
+ HandleIP(t, ip, "192.169.0.0", false)
|
|
|
|
+
|
|
|
|
+ HandleIP(t, ip, "172.15.255.255", false)
|
|
|
|
+ HandleIP(t, ip, "172.16.0.0", true)
|
|
|
|
+ HandleIP(t, ip, "172.16.1.7", true)
|
|
|
|
+ HandleIP(t, ip, "172.31.255.255", true)
|
|
|
|
+ HandleIP(t, ip, "172.15.255.255", false)
|
|
|
|
+
|
|
|
|
+ HandleIP(t, ip, "fcff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", false)
|
|
|
|
+ HandleIP(t, ip, "fd00::1", true)
|
|
|
|
+ HandleIP(t, ip, "fd02::1", true)
|
|
|
|
+ HandleIP(t, ip, "fdff::1", true)
|
|
|
|
+ HandleIP(t, ip, "fe00::1", false)
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func HandleIP(t *testing.T, ip *IP, addr string, assert bool) {
|
|
|
|
+ res := ip.IsPrivate(net.ParseIP(addr))
|
|
|
|
+ if res != assert {
|
|
|
|
+ t.Errorf("Assertion (have: %s, should be %s) failed on IP %s", res, assert, addr)
|
|
|
|
+ }
|
|
|
|
+}
|