Merge pull request #113943 from Octopusjust/k8s-pr10

Add test for cmd/kubeadm/app/constants/constants.go
This commit is contained in:
Kubernetes Prow Robot 2022-12-09 14:35:31 -08:00 committed by GitHub
commit ee8e76c6ea
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -350,3 +350,64 @@ func TestGetAPIServerVirtualIP(t *testing.T) {
}) })
} }
} }
func TestGetDNSIP(t *testing.T) {
tests := []struct {
name string
svcSubnetList string
expected string
expectedError bool
}{
{
name: "valid IPv4 range from single-stack",
svcSubnetList: "192.168.10.0/24",
expected: "192.168.10.10",
expectedError: false,
},
{
name: "valid IPv6 range from single-stack",
svcSubnetList: "fd03::/112",
expected: "fd03::a",
expectedError: false,
},
{
name: "valid <IPv4,IPv6> ranges from dual-stack",
svcSubnetList: "192.168.10.0/24,fd03::/112",
expected: "192.168.10.10",
expectedError: false,
},
{
name: "valid <IPv6,IPv4> ranges from dual-stack",
svcSubnetList: "fd03::/112,192.168.10.0/24",
expected: "fd03::a",
expectedError: false,
},
{
name: "invalid subnet range from dual-stack",
svcSubnetList: "192.168.10.0/24,fd03:x::/112",
expected: "",
expectedError: true,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
actual, actualError := GetDNSIP(tt.svcSubnetList)
if tt.expectedError {
if actualError == nil {
t.Errorf("failed GetDNSIP:\n\texpected error, but got no error")
}
} else if !tt.expectedError && actualError != nil {
t.Errorf("failed GetDNSIP:\n\texpected no error, but got: %v", actualError)
} else {
if actual.String() != tt.expected {
t.Errorf(
"failed GetDNSIP:\n\texpected: %s\n\t actual: %s",
tt.expected,
actual.String(),
)
}
}
})
}
}