diff --git a/cmd/kube-apiserver/app/server_test.go b/cmd/kube-apiserver/app/server_test.go index 6cf61fc25f9..cf53239d8c6 100644 --- a/cmd/kube-apiserver/app/server_test.go +++ b/cmd/kube-apiserver/app/server_test.go @@ -31,7 +31,32 @@ func TestGetServiceIPAndRanges(t *testing.T) { {"", "10.0.0.1", "10.0.0.0/24", "", false}, {"192.0.2.1/24", "192.0.2.1", "192.0.2.0/24", "", false}, {"192.0.2.1/24,192.168.128.0/17", "192.0.2.1", "192.0.2.0/24", "192.168.128.0/17", false}, + // Dual stack IPv4/IPv6 + {"192.0.2.1/24,2001:db2:1:3:4::1/112", "192.0.2.1", "192.0.2.0/24", "2001:db2:1:3:4::/112", false}, + // Dual stack IPv6/IPv4 + {"2001:db2:1:3:4::1/112,192.0.2.1/24", "2001:db2:1:3:4::1", "2001:db2:1:3:4::/112", "192.0.2.0/24", false}, + {"192.0.2.1/30,192.168.128.0/17", "", "", "", true}, + // Invalid ip range[0] IPv4 mask + {"192.0.2.1/33,192.168.128.0/17", "", "", "", true}, + // Invalid ip range[1] IPv4 mask + {"192.0.2.1/24,192.168.128.0/33", "", "", "", true}, + // Invalid ip range[0] IPv6 mask + {"2001:db2:1:3:4::1/129,192.0.2.1/24", "", "", "", true}, + // Invalid ip range[1] IPv6 mask + {"192.0.2.1/24,2001:db2:1:3:4::1/129", "", "", "", true}, + // Invalid ip range[0] missing IPv4 mask + {"192.0.2.1,192.168.128.0/17", "", "", "", true}, + // Invalid ip range[1] missing IPv4 mask + {"192.0.2.1/24,192.168.128.1", "", "", "", true}, + // Invalid ip range[0] missing IPv6 mask + {"2001:db2:1:3:4::1,192.0.2.1/24", "", "", "", true}, + // Invalid ip range[1] missing IPv6 mask + {"192.0.2.1/24,2001:db2:1:3:4::1", "", "", "", true}, + // Invalid ip range[0] IP address format + {"bad.ip.range,192.168.0.2/24", "", "", "", true}, + // Invalid ip range[1] IP address format + {"192.168.0.2/24,bad.ip.range", "", "", "", true}, } for _, test := range tests {