Merge pull request #120782 from PI-Victor/fix/refactor_port_resolver_test

kubelet/lifecycle handlers: refactor port resolver
This commit is contained in:
Kubernetes Prow Robot 2023-10-19 04:03:26 +02:00 committed by GitHub
commit 39697a9f3b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -43,48 +43,44 @@ import (
"k8s.io/kubernetes/pkg/kubelet/util/format" "k8s.io/kubernetes/pkg/kubelet/util/format"
) )
func TestResolvePortInt(t *testing.T) { func TestResolvePort(t *testing.T) {
expected := 80 for _, testCase := range []struct {
port, err := resolvePort(intstr.FromInt32(int32(expected)), &v1.Container{}) container *v1.Container
if port != expected { stringPort string
t.Errorf("expected: %d, saw: %d", expected, port) expected int
} }{
if err != nil { {
t.Errorf("unexpected error: %v", err) stringPort: "foo",
} container: &v1.Container{
} Ports: []v1.ContainerPort{{Name: "foo", ContainerPort: int32(80)}},
func TestResolvePortString(t *testing.T) {
expected := 80
name := "foo"
container := &v1.Container{
Ports: []v1.ContainerPort{
{Name: name, ContainerPort: int32(expected)},
}, },
} expected: 80,
port, err := resolvePort(intstr.FromString(name), container)
if port != expected {
t.Errorf("expected: %d, saw: %d", expected, port)
}
if err != nil {
t.Errorf("unexpected error: %v", err)
}
}
func TestResolvePortStringUnknown(t *testing.T) {
expected := int32(80)
name := "foo"
container := &v1.Container{
Ports: []v1.ContainerPort{
{Name: "bar", ContainerPort: expected},
}, },
{
container: &v1.Container{},
stringPort: "80",
expected: 80,
},
{
container: &v1.Container{
Ports: []v1.ContainerPort{
{Name: "bar", ContainerPort: int32(80)},
},
},
stringPort: "foo",
expected: -1,
},
} {
port, err := resolvePort(intstr.FromString(testCase.stringPort), testCase.container)
if testCase.expected != -1 && err != nil {
t.Fatalf("unexpected error while resolving port: %s", err)
} }
port, err := resolvePort(intstr.FromString(name), container) if testCase.expected == -1 && err == nil {
if port != -1 { t.Errorf("expected error when a port fails to resolve")
t.Errorf("expected: -1, saw: %d", port) }
if testCase.expected != port {
t.Errorf("failed to resolve port, expected %d, got %d", testCase.expected, port)
} }
if err == nil {
t.Error("unexpected non-error")
} }
} }