mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-03 17:30:00 +00:00
Testcases for MapCIDRsByIPFamily
This commit is contained in:
parent
707073d2f9
commit
f11c4e9c8c
@ -669,6 +669,108 @@ func TestMapIPsByIPFamily(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestMapCIDRsByIPFamily(t *testing.T) {
|
||||||
|
testCases := []struct {
|
||||||
|
desc string
|
||||||
|
ipString []string
|
||||||
|
wantIPv6 bool
|
||||||
|
expectCorrect []string
|
||||||
|
expectIncorrect []string
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
desc: "empty input IPv4",
|
||||||
|
ipString: []string{},
|
||||||
|
wantIPv6: false,
|
||||||
|
expectCorrect: nil,
|
||||||
|
expectIncorrect: nil,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
desc: "empty input IPv6",
|
||||||
|
ipString: []string{},
|
||||||
|
wantIPv6: true,
|
||||||
|
expectCorrect: nil,
|
||||||
|
expectIncorrect: nil,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
desc: "want IPv4 and receive IPv6",
|
||||||
|
ipString: []string{"fd00:20::1/64"},
|
||||||
|
wantIPv6: false,
|
||||||
|
expectCorrect: nil,
|
||||||
|
expectIncorrect: []string{"fd00:20::1/64"},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
desc: "want IPv6 and receive IPv4",
|
||||||
|
ipString: []string{"192.168.200.2/24"},
|
||||||
|
wantIPv6: true,
|
||||||
|
expectCorrect: nil,
|
||||||
|
expectIncorrect: []string{"192.168.200.2/24"},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
desc: "want IPv6 and receive IPv4 and IPv6",
|
||||||
|
ipString: []string{"192.168.200.2/24", "192.1.34.23/24", "fd00:20::1/64", "2001:db9::3/64"},
|
||||||
|
wantIPv6: true,
|
||||||
|
expectCorrect: []string{"fd00:20::1/64", "2001:db9::3/64"},
|
||||||
|
expectIncorrect: []string{"192.168.200.2/24", "192.1.34.23/24"},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
desc: "want IPv4 and receive IPv4 and IPv6",
|
||||||
|
ipString: []string{"192.168.200.2/24", "192.1.34.23/24", "fd00:20::1/64", "2001:db9::3/64"},
|
||||||
|
wantIPv6: false,
|
||||||
|
expectCorrect: []string{"192.168.200.2/24", "192.1.34.23/24"},
|
||||||
|
expectIncorrect: []string{"fd00:20::1/64", "2001:db9::3/64"},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
desc: "want IPv4 and receive IPv4 only",
|
||||||
|
ipString: []string{"192.168.200.2/24", "192.1.34.23/24"},
|
||||||
|
wantIPv6: false,
|
||||||
|
expectCorrect: []string{"192.168.200.2/24", "192.1.34.23/24"},
|
||||||
|
expectIncorrect: nil,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
desc: "want IPv6 and receive IPv4 only",
|
||||||
|
ipString: []string{"192.168.200.2/24", "192.1.34.23/24"},
|
||||||
|
wantIPv6: true,
|
||||||
|
expectCorrect: nil,
|
||||||
|
expectIncorrect: []string{"192.168.200.2/24", "192.1.34.23/24"},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
desc: "want IPv4 and receive IPv6 only",
|
||||||
|
ipString: []string{"fd00:20::1/64", "2001:db9::3/64"},
|
||||||
|
wantIPv6: false,
|
||||||
|
expectCorrect: nil,
|
||||||
|
expectIncorrect: []string{"fd00:20::1/64", "2001:db9::3/64"},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
desc: "want IPv6 and receive IPv6 only",
|
||||||
|
ipString: []string{"fd00:20::1/64", "2001:db9::3/64"},
|
||||||
|
wantIPv6: true,
|
||||||
|
expectCorrect: []string{"fd00:20::1/64", "2001:db9::3/64"},
|
||||||
|
expectIncorrect: nil,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, testcase := range testCases {
|
||||||
|
t.Run(testcase.desc, func(t *testing.T) {
|
||||||
|
ipFamily := v1.IPv4Protocol
|
||||||
|
otherIPFamily := v1.IPv6Protocol
|
||||||
|
|
||||||
|
if testcase.wantIPv6 {
|
||||||
|
ipFamily = v1.IPv6Protocol
|
||||||
|
otherIPFamily = v1.IPv4Protocol
|
||||||
|
}
|
||||||
|
|
||||||
|
cidrMap := MapCIDRsByIPFamily(testcase.ipString)
|
||||||
|
|
||||||
|
if !reflect.DeepEqual(testcase.expectCorrect, cidrMap[ipFamily]) {
|
||||||
|
t.Errorf("Test %v failed: expected %v, got %v", testcase.desc, testcase.expectCorrect, cidrMap[ipFamily])
|
||||||
|
}
|
||||||
|
if !reflect.DeepEqual(testcase.expectIncorrect, cidrMap[otherIPFamily]) {
|
||||||
|
t.Errorf("Test %v failed: expected %v, got %v", testcase.desc, testcase.expectIncorrect, cidrMap[otherIPFamily])
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestGetClusterIPByFamily(t *testing.T) {
|
func TestGetClusterIPByFamily(t *testing.T) {
|
||||||
testCases := []struct {
|
testCases := []struct {
|
||||||
name string
|
name string
|
||||||
|
Loading…
Reference in New Issue
Block a user