Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[UT] increase ut coverage for probe/util.go #115708

Merged
merged 1 commit into from Mar 10, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
157 changes: 102 additions & 55 deletions pkg/probe/util_test.go
Expand Up @@ -24,29 +24,80 @@ import (
)

func TestFindPortByName(t *testing.T) {
container := v1.Container{
Ports: []v1.ContainerPort{
{
Name: "foo",
ContainerPort: 8080,
t.Parallel()
type args struct {
container *v1.Container
portName string
}
tests := []struct {
name string
args args
want int
wantErr bool
}{
{
name: "get port from exist port name",
args: args{
container: &v1.Container{
Ports: []v1.ContainerPort{
{
Name: "foo",
ContainerPort: 8080,
},
{
Name: "bar",
ContainerPort: 9000,
},
},
},
portName: "foo",
},
{
Name: "bar",
ContainerPort: 9000,
want: 8080,
wantErr: false,
},
{
name: "get port from not exist port name",
args: args{
container: &v1.Container{
Ports: []v1.ContainerPort{
{
Name: "foo",
ContainerPort: 8080,
},
{
Name: "bar",
ContainerPort: 9000,
},
},
},
portName: "http",
},
want: 0,
wantErr: true,
},
}
want := 8080
got, err := findPortByName(&container, "foo")
if got != want || err != nil {
t.Errorf("Expected %v, got %v, err: %v", want, got, err)

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)
}
})
}
my-git9 marked this conversation as resolved.
Show resolved Hide resolved
}

func TestResolveContainerPort(t *testing.T) {
my-git9 marked this conversation as resolved.
Show resolved Hide resolved
t.Parallel()
type args struct {
param intstr.IntOrString
container v1.Container
container *v1.Container
}
tests := []struct {
name string
Expand All @@ -55,89 +106,85 @@ func TestResolveContainerPort(t *testing.T) {
wantErr bool
}{
{
name: "get port by int val ",
name: "get port by int type",
args: args{
param: intstr.IntOrString{
Type: 0,
IntVal: 80,
StrVal: "foo",
},
container: v1.Container{
Ports: []v1.ContainerPort{
{
Name: "foo",
ContainerPort: 8080,
},
},
},
param: intstr.IntOrString{Type: 0, IntVal: 443},
container: &v1.Container{},
},
want: 80,
want: 443,
wantErr: false,
},
{
name: "get port by string val",
name: "invalid port",
args: args{
param: intstr.IntOrString{
Type: 1,
IntVal: 80,
StrVal: "foo",
},
container: v1.Container{
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,
},
},
},
},
want: 8080,
wantErr: false,
},
{
name: "get port by invalid type",
name: "no port name",
args: args{
param: intstr.IntOrString{
Type: 20,
IntVal: 80,
StrVal: "foo",
},
container: v1.Container{
param: intstr.IntOrString{Type: 1, StrVal: "foo"},
container: &v1.Container{
Ports: []v1.ContainerPort{
{
Name: "foo",
ContainerPort: 8080,
Name: "bar",
ContainerPort: 9000,
},
},
},
},
want: -1,
want: 0,
wantErr: true,
},
{
name: "get invalid container port",
name: "invalid param type",
args: args{
param: intstr.IntOrString{
Type: 1,
StrVal: "foo",
},
container: v1.Container{
param: intstr.IntOrString{Type: 2, StrVal: "foo"},
container: &v1.Container{
Ports: []v1.ContainerPort{
{
Name: "foo",
ContainerPort: 80800,
ContainerPort: 8080,
},
{
Name: "bar",
ContainerPort: 9000,
},
},
},
},
want: 80800,
want: -1,
wantErr: true,
},
}

for _, tt := range tests {
my-git9 marked this conversation as resolved.
Show resolved Hide resolved
tt := tt
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)
my-git9 marked this conversation as resolved.
Show resolved Hide resolved
if (err != nil) != tt.wantErr {
t.Errorf("ResolveContainerPort() error = %v, wantErr %v", err, tt.wantErr)
return
Expand Down