kube-proxy unit test FilterIncorrectIPVersion
Add an unit test to the kube-proxy FilterIncorrectIPVersion function
This commit is contained in:
parent
4a55a5557e
commit
de15774e10
@ -537,3 +537,66 @@ func TestShuffleStrings(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestFilterIncorrectIPVersion(t *testing.T) {
|
||||||
|
testCases := []struct {
|
||||||
|
desc string
|
||||||
|
ipString []string
|
||||||
|
wantIPv6 bool
|
||||||
|
expectCorrect []string
|
||||||
|
expectIncorrect []string
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
desc: "want IPv6 and receive IPv4 and IPv6",
|
||||||
|
ipString: []string{"192.168.200.2", "192.1.34.23", "fd00:20::1", "2001:db9::3"},
|
||||||
|
wantIPv6: true,
|
||||||
|
expectCorrect: []string{"fd00:20::1", "2001:db9::3"},
|
||||||
|
expectIncorrect: []string{"192.168.200.2", "192.1.34.23"},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
desc: "want IPv4 and receive IPv4 and IPv6",
|
||||||
|
ipString: []string{"192.168.200.2", "192.1.34.23", "fd00:20::1", "2001:db9::3"},
|
||||||
|
wantIPv6: false,
|
||||||
|
expectCorrect: []string{"192.168.200.2", "192.1.34.23"},
|
||||||
|
expectIncorrect: []string{"fd00:20::1", "2001:db9::3"},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
desc: "want IPv4 and receive IPv4 only",
|
||||||
|
ipString: []string{"192.168.200.2", "192.1.34.23"},
|
||||||
|
wantIPv6: false,
|
||||||
|
expectCorrect: []string{"192.168.200.2", "192.1.34.23"},
|
||||||
|
expectIncorrect: nil,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
desc: "want IPv6 and receive IPv4 only",
|
||||||
|
ipString: []string{"192.168.200.2", "192.1.34.23"},
|
||||||
|
wantIPv6: true,
|
||||||
|
expectCorrect: nil,
|
||||||
|
expectIncorrect: []string{"192.168.200.2", "192.1.34.23"},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
desc: "want IPv4 and receive IPv6 only",
|
||||||
|
ipString: []string{"fd00:20::1", "2001:db9::3"},
|
||||||
|
wantIPv6: false,
|
||||||
|
expectCorrect: nil,
|
||||||
|
expectIncorrect: []string{"fd00:20::1", "2001:db9::3"},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
desc: "want IPv6 and receive IPv6 only",
|
||||||
|
ipString: []string{"fd00:20::1", "2001:db9::3"},
|
||||||
|
wantIPv6: true,
|
||||||
|
expectCorrect: []string{"fd00:20::1", "2001:db9::3"},
|
||||||
|
expectIncorrect: nil,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for i := range testCases {
|
||||||
|
correct, incorrect := FilterIncorrectIPVersion(testCases[i].ipString, testCases[i].wantIPv6)
|
||||||
|
if !reflect.DeepEqual(testCases[i].expectCorrect, correct) {
|
||||||
|
t.Errorf("Test %v failed: expected %v, got %v", testCases[i].desc, testCases[i].expectCorrect, correct)
|
||||||
|
}
|
||||||
|
if !reflect.DeepEqual(testCases[i].expectIncorrect, incorrect) {
|
||||||
|
t.Errorf("Test %v failed: expected %v, got %v", testCases[i].desc, testCases[i].expectIncorrect, incorrect)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user