Skip to content

Commit f207d83

Browse files
authored
Merge pull request #4263 from haytok/refactor_portutil_test.go
test: refactor TestTestParseFlagPWithPlatformSpec and TestParsePortsL…
2 parents 721a193 + 0365d39 commit f207d83

File tree

1 file changed

+37
-63
lines changed

1 file changed

+37
-63
lines changed

pkg/portutil/portutil_test.go

Lines changed: 37 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ import (
2222
"sort"
2323
"testing"
2424

25+
"gotest.tools/v3/assert"
26+
2527
"github.com/containerd/go-cni"
2628

2729
"github.com/containerd/nerdctl/v2/pkg/labels"
@@ -124,45 +126,30 @@ func TestTestParseFlagPWithPlatformSpec(t *testing.T) {
124126
for _, tt := range tests {
125127
t.Run(tt.name, func(t *testing.T) {
126128
got, err := ParseFlagP(tt.args.s)
127-
t.Log(err)
128-
if (err != nil) != tt.wantErr {
129-
t.Errorf("ParseFlagP() error = %v, wantErr %v", err, tt.wantErr)
130-
return
129+
if err != nil {
130+
t.Log(err)
131+
assert.Equal(t, true, tt.wantErr)
131132
}
132133
if !reflect.DeepEqual(got, tt.want) {
133-
if len(got) == len(tt.want) {
134-
if len(got) > 0 {
135-
var hostPorts []int32
136-
var containerPorts []int32
137-
for _, value := range got {
138-
hostPorts = append(hostPorts, value.HostPort)
139-
containerPorts = append(containerPorts, value.ContainerPort)
140-
}
141-
sort.Slice(hostPorts, func(i, j int) bool {
142-
return i < j
143-
})
144-
sort.Slice(containerPorts, func(i, j int) bool {
145-
return i < j
146-
})
147-
if (hostPorts[len(hostPorts)-1] - hostPorts[0]) != (containerPorts[len(hostPorts)-1] - containerPorts[0]) {
148-
t.Errorf("ParseFlagP() = %v, want %v", got, tt.want)
149-
}
150-
sort.Slice(got, func(i, j int) bool {
151-
return got[i].HostPort < got[j].HostPort
152-
})
153-
for i := 0; i < len(got); i++ {
154-
if got[i].ContainerPort != tt.want[i].ContainerPort || got[i].Protocol != tt.want[i].Protocol || got[i].HostIP != tt.want[i].HostIP {
155-
t.Errorf("ParseFlagP() = %v, want %v", got, tt.want)
156-
}
157-
}
134+
assert.Equal(t, len(got), len(tt.want))
135+
if len(got) > 0 {
136+
sort.Slice(got, func(i, j int) bool {
137+
return got[i].HostPort < got[j].HostPort
138+
})
139+
assert.Equal(
140+
t,
141+
got[len(got)-1].HostPort-got[0].HostPort,
142+
got[len(got)-1].ContainerPort-got[0].ContainerPort,
143+
)
144+
for i := range len(got) {
145+
assert.Equal(t, got[i].ContainerPort, tt.want[i].ContainerPort)
146+
assert.Equal(t, got[i].Protocol, tt.want[i].Protocol)
147+
assert.Equal(t, got[i].HostIP, tt.want[i].HostIP)
158148
}
159-
} else {
160-
t.Errorf("ParseFlagP() = %v, want %v", got, tt.want)
161149
}
162150
}
163151
})
164152
}
165-
166153
}
167154

168155
func TestParsePortsLabel(t *testing.T) {
@@ -213,40 +200,27 @@ func TestParsePortsLabel(t *testing.T) {
213200
for _, tt := range tests {
214201
t.Run(tt.name, func(t *testing.T) {
215202
got, err := ParsePortsLabel(tt.labelMap)
216-
t.Log(err)
217-
if (err != nil) != tt.wantErr {
218-
t.Errorf("ParsePortsLabel() error = %v, wantErr %v", err, tt.wantErr)
219-
return
203+
if err != nil {
204+
t.Log(err)
205+
assert.Equal(t, true, tt.wantErr)
220206
}
221207
if !reflect.DeepEqual(got, tt.want) {
222-
if len(got) == len(tt.want) {
223-
if len(got) > 0 {
224-
var hostPorts []int32
225-
var containerPorts []int32
226-
for _, value := range got {
227-
hostPorts = append(hostPorts, value.HostPort)
228-
containerPorts = append(containerPorts, value.ContainerPort)
229-
}
230-
sort.Slice(hostPorts, func(i, j int) bool {
231-
return i < j
232-
})
233-
sort.Slice(containerPorts, func(i, j int) bool {
234-
return i < j
235-
})
236-
if (hostPorts[len(hostPorts)-1] - hostPorts[0]) != (containerPorts[len(hostPorts)-1] - containerPorts[0]) {
237-
t.Errorf("ParsePortsLabel() = %v, want %v", got, tt.want)
238-
}
239-
sort.Slice(got, func(i, j int) bool {
240-
return got[i].HostPort < got[j].HostPort
241-
})
242-
for i := 0; i < len(got); i++ {
243-
if got[i].HostPort != tt.want[i].HostPort || got[i].ContainerPort != tt.want[i].ContainerPort || got[i].Protocol != tt.want[i].Protocol || got[i].HostIP != tt.want[i].HostIP {
244-
t.Errorf("ParsePortsLabel() = %v, want %v", got, tt.want)
245-
}
246-
}
208+
assert.Equal(t, len(got), len(tt.want))
209+
if len(got) > 0 {
210+
sort.Slice(got, func(i, j int) bool {
211+
return got[i].HostPort < got[j].HostPort
212+
})
213+
assert.Equal(
214+
t,
215+
got[len(got)-1].HostPort-got[0].HostPort,
216+
got[len(got)-1].ContainerPort-got[0].ContainerPort,
217+
)
218+
for i := range len(got) {
219+
assert.Equal(t, got[i].HostPort, tt.want[i].HostPort)
220+
assert.Equal(t, got[i].ContainerPort, tt.want[i].ContainerPort)
221+
assert.Equal(t, got[i].Protocol, tt.want[i].Protocol)
222+
assert.Equal(t, got[i].HostIP, tt.want[i].HostIP)
247223
}
248-
} else {
249-
t.Errorf("ParsePortsLabel() = %v, want %v", got, tt.want)
250224
}
251225
}
252226
})

0 commit comments

Comments
 (0)