Merge pull request #115708 from my-git9/ut-util

[UT] increase ut coverage for probe/util.go
This commit is contained in:
Kubernetes Prow Robot 2023-03-10 00:06:40 -08:00 committed by GitHub
commit 2505053b27
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -24,29 +24,10 @@ import (
) )
func TestFindPortByName(t *testing.T) { func TestFindPortByName(t *testing.T) {
container := v1.Container{ t.Parallel()
Ports: []v1.ContainerPort{
{
Name: "foo",
ContainerPort: 8080,
},
{
Name: "bar",
ContainerPort: 9000,
},
},
}
want := 8080
got, err := findPortByName(&container, "foo")
if got != want || err != nil {
t.Errorf("Expected %v, got %v, err: %v", want, got, err)
}
}
func TestResolveContainerPort(t *testing.T) {
type args struct { type args struct {
param intstr.IntOrString container *v1.Container
container v1.Container portName string
} }
tests := []struct { tests := []struct {
name string name string
@ -55,39 +36,107 @@ func TestResolveContainerPort(t *testing.T) {
wantErr bool wantErr bool
}{ }{
{ {
name: "get port by int val ", name: "get port from exist port name",
args: args{ args: args{
param: intstr.IntOrString{ container: &v1.Container{
Type: 0,
IntVal: 80,
StrVal: "foo",
},
container: v1.Container{
Ports: []v1.ContainerPort{ Ports: []v1.ContainerPort{
{ {
Name: "foo", Name: "foo",
ContainerPort: 8080, ContainerPort: 8080,
}, },
{
Name: "bar",
ContainerPort: 9000,
},
}, },
}, },
portName: "foo",
}, },
want: 80, want: 8080,
wantErr: false, wantErr: false,
}, },
{ {
name: "get port by string val", name: "get port from not exist port name",
args: args{ args: args{
param: intstr.IntOrString{ container: &v1.Container{
Type: 1,
IntVal: 80,
StrVal: "foo",
},
container: v1.Container{
Ports: []v1.ContainerPort{ Ports: []v1.ContainerPort{
{ {
Name: "foo", Name: "foo",
ContainerPort: 8080, ContainerPort: 8080,
}, },
{
Name: "bar",
ContainerPort: 9000,
},
},
},
portName: "http",
},
want: 0,
wantErr: true,
},
}
for _, tt := range tests {
tt := tt
t.Run(tt.name, func(t *testing.T) {
t.Parallel()
got, err := findPortByName(tt.args.container, tt.args.portName)
if (err != nil) != tt.wantErr {
t.Errorf("findPortByName() error = %v, wantErr %v", err, tt.wantErr)
return
}
if got != tt.want {
t.Errorf("findPortByName() = %v, want %v", got, tt.want)
}
})
}
}
func TestResolveContainerPort(t *testing.T) {
t.Parallel()
type args struct {
param intstr.IntOrString
container *v1.Container
}
tests := []struct {
name string
args args
want int
wantErr bool
}{
{
name: "get port by int type",
args: args{
param: intstr.IntOrString{Type: 0, IntVal: 443},
container: &v1.Container{},
},
want: 443,
wantErr: false,
},
{
name: "invalid port",
args: args{
param: intstr.IntOrString{Type: 0, IntVal: 66666},
container: &v1.Container{},
},
want: 66666,
wantErr: true,
},
{
name: "get port by port name",
args: args{
param: intstr.IntOrString{Type: 1, StrVal: "foo"},
container: &v1.Container{
Ports: []v1.ContainerPort{
{
Name: "foo",
ContainerPort: 8080,
},
{
Name: "bar",
ContainerPort: 9000,
},
}, },
}, },
}, },
@ -95,49 +144,47 @@ func TestResolveContainerPort(t *testing.T) {
wantErr: false, wantErr: false,
}, },
{ {
name: "get port by invalid type", name: "no port name",
args: args{ args: args{
param: intstr.IntOrString{ param: intstr.IntOrString{Type: 1, StrVal: "foo"},
Type: 20, container: &v1.Container{
IntVal: 80, Ports: []v1.ContainerPort{
StrVal: "foo", {
Name: "bar",
ContainerPort: 9000,
},
},
}, },
container: v1.Container{ },
want: 0,
wantErr: true,
},
{
name: "invalid param type",
args: args{
param: intstr.IntOrString{Type: 2, StrVal: "foo"},
container: &v1.Container{
Ports: []v1.ContainerPort{ Ports: []v1.ContainerPort{
{ {
Name: "foo", Name: "foo",
ContainerPort: 8080, ContainerPort: 8080,
}, },
{
Name: "bar",
ContainerPort: 9000,
},
}, },
}, },
}, },
want: -1, want: -1,
wantErr: true, wantErr: true,
}, },
{
name: "get invalid container port",
args: args{
param: intstr.IntOrString{
Type: 1,
StrVal: "foo",
},
container: v1.Container{
Ports: []v1.ContainerPort{
{
Name: "foo",
ContainerPort: 80800,
},
},
},
},
want: 80800,
wantErr: true,
},
} }
for _, tt := range tests { for _, tt := range tests {
tt := tt
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
got, err := ResolveContainerPort(tt.args.param, &tt.args.container) t.Parallel()
got, err := ResolveContainerPort(tt.args.param, tt.args.container)
if (err != nil) != tt.wantErr { if (err != nil) != tt.wantErr {
t.Errorf("ResolveContainerPort() error = %v, wantErr %v", err, tt.wantErr) t.Errorf("ResolveContainerPort() error = %v, wantErr %v", err, tt.wantErr)
return return