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

[UT]And test for pkg/probe/util.go
This commit is contained in:
Kubernetes Prow Robot 2023-03-09 21:33:30 -08:00 committed by GitHub
commit 8745423a7a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -20,6 +20,7 @@ import (
"testing"
v1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/util/intstr"
)
func TestFindPortByName(t *testing.T) {
@ -41,3 +42,109 @@ func TestFindPortByName(t *testing.T) {
t.Errorf("Expected %v, got %v, err: %v", want, got, err)
}
}
func TestResolveContainerPort(t *testing.T) {
type args struct {
param intstr.IntOrString
container v1.Container
}
tests := []struct {
name string
args args
want int
wantErr bool
}{
{
name: "get port by int val ",
args: args{
param: intstr.IntOrString{
Type: 0,
IntVal: 80,
StrVal: "foo",
},
container: v1.Container{
Ports: []v1.ContainerPort{
{
Name: "foo",
ContainerPort: 8080,
},
},
},
},
want: 80,
wantErr: false,
},
{
name: "get port by string val",
args: args{
param: intstr.IntOrString{
Type: 1,
IntVal: 80,
StrVal: "foo",
},
container: v1.Container{
Ports: []v1.ContainerPort{
{
Name: "foo",
ContainerPort: 8080,
},
},
},
},
want: 8080,
wantErr: false,
},
{
name: "get port by invalid type",
args: args{
param: intstr.IntOrString{
Type: 20,
IntVal: 80,
StrVal: "foo",
},
container: v1.Container{
Ports: []v1.ContainerPort{
{
Name: "foo",
ContainerPort: 8080,
},
},
},
},
want: -1,
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 {
t.Run(tt.name, func(t *testing.T) {
got, err := ResolveContainerPort(tt.args.param, &tt.args.container)
if (err != nil) != tt.wantErr {
t.Errorf("ResolveContainerPort() error = %v, wantErr %v", err, tt.wantErr)
return
}
if got != tt.want {
t.Errorf("ResolveContainerPort() = %v, want %v", got, tt.want)
}
})
}
}