Cosmos Nicolaou | f7a11d9 | 2014-08-29 09:56:07 -0700 | [diff] [blame] | 1 | package netstate |
David Why Use Two When One Will Do Presotto | 748a0d5 | 2014-07-30 17:07:04 -0700 | [diff] [blame] | 2 | |
| 3 | import ( |
| 4 | "net" |
| 5 | "testing" |
| 6 | ) |
| 7 | |
| 8 | func TestIsGloballyRoutable(t *testing.T) { |
| 9 | tests := []struct { |
| 10 | ip string |
| 11 | want bool |
| 12 | }{ |
| 13 | {"192.168.1.1", false}, |
| 14 | {"192.169.0.3", true}, |
| 15 | {"10.1.1.1", false}, |
| 16 | {"172.17.100.255", false}, |
| 17 | {"172.32.0.1", true}, |
| 18 | {"255.255.255.255", false}, |
| 19 | {"127.0.0.1", false}, |
| 20 | {"224.0.0.1", false}, |
| 21 | {"FF02::FB", false}, |
| 22 | {"fe80::be30:5bff:fed3:843f", false}, |
| 23 | {"2620:0:1000:8400:be30:5bff:fed3:843f", true}, |
| 24 | } |
| 25 | for _, test := range tests { |
| 26 | ip := net.ParseIP(test.ip) |
Cosmos Nicolaou | f7a11d9 | 2014-08-29 09:56:07 -0700 | [diff] [blame] | 27 | if got := IsGloballyRoutableIP(ip); got != test.want { |
David Why Use Two When One Will Do Presotto | 748a0d5 | 2014-07-30 17:07:04 -0700 | [diff] [blame] | 28 | t.Fatalf("%s: want %v got %v", test.ip, test.want, got) |
| 29 | } |
| 30 | } |
| 31 | } |