Skip to content

Commit e976a33

Browse files
committed
Improve main_test.go to be more consistent
1 parent 9da9506 commit e976a33

File tree

1 file changed

+44
-34
lines changed

1 file changed

+44
-34
lines changed

cmd/nginx-ingress/main_test.go

+44-34
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package main
22

33
import (
44
"errors"
5+
"reflect"
56
"testing"
67
)
78

@@ -25,50 +26,59 @@ func TestValidateStatusPort(t *testing.T) {
2526
}
2627

2728
func TestParseNginxStatusAllowCIDRs(t *testing.T) {
28-
29-
var tests = []struct {
29+
var badCIDRs = []struct {
3030
input string
31-
expected []string
3231
expectedError error
3332
}{
34-
{"earth, ,,furball",
35-
[]string{},
36-
errors.New("invalid IP address: earth")},
37-
{"127.0.0.1",
33+
{
34+
"earth, ,,furball",
35+
errors.New("invalid IP address: earth"),
36+
},
37+
{
38+
"127.0.0.1,10.0.1.0/24, ,,furball",
39+
errors.New("invalid CIDR address: an empty string is an invalid CIDR block or IP address"),
40+
},
41+
{
42+
"false",
43+
errors.New("invalid IP address: false"),
44+
},
45+
}
46+
for _, badCIDR := range badCIDRs {
47+
_, err := parseNginxStatusAllowCIDRs(badCIDR.input)
48+
if err == nil {
49+
t.Errorf("parseNginxStatusAllowCIDRs(%q) returned no error when it should have returned error %q", badCIDR.input, badCIDR.expectedError)
50+
} else if err.Error() != badCIDR.expectedError.Error() {
51+
t.Errorf("parseNginxStatusAllowCIDRs(%q) returned error %q when it should have returned error %q", badCIDR.input, err, badCIDR.expectedError)
52+
}
53+
}
54+
55+
var goodCIDRs = []struct {
56+
input string
57+
expected []string
58+
}{
59+
{
60+
"127.0.0.1",
3861
[]string{"127.0.0.1"},
39-
nil},
40-
{"10.0.1.0/24",
62+
},
63+
{
64+
"10.0.1.0/24",
4165
[]string{"10.0.1.0/24"},
42-
nil},
43-
{"127.0.0.1,10.0.1.0/24,68.121.233.214 , 24.24.24.24/32",
44-
[]string{"127.0.0.1", "10.0.1.0/24", "68.121.233.214", "24.24.24.24/32"}, nil},
45-
{"127.0.0.1,10.0.1.0/24, ,,furball",
46-
[]string{"127.0.0.1", "10.0.1.0/24"},
47-
errors.New("invalid CIDR address: an empty string is an invalid CIDR block or IP address")},
48-
{"false",
49-
[]string{},
50-
errors.New("invalid IP address: false")},
66+
},
67+
{
68+
"127.0.0.1,10.0.1.0/24,68.121.233.214 , 24.24.24.24/32",
69+
[]string{"127.0.0.1", "10.0.1.0/24", "68.121.233.214", "24.24.24.24/32"},
70+
},
5171
}
52-
53-
for _, test := range tests {
54-
splitArray, err := parseNginxStatusAllowCIDRs(test.input)
55-
if err != test.expectedError {
56-
if test.expectedError == nil {
57-
t.Errorf("parseNginxStatusAllowCIDRs(%q) returned an error %q when it should not have returned an error.", test.input, err.Error())
58-
} else if err == nil {
59-
t.Errorf("parseNginxStatusAllowCIDRs(%q) returned no error when it should have returned error %q", test.input, test.expectedError)
60-
} else if err.Error() != test.expectedError.Error() {
61-
t.Errorf("parseNginxStatusAllowCIDRs(%q) returned error %q when it should have returned error %q", test.input, err.Error(), test.expectedError)
62-
}
72+
for _, goodCIDR := range goodCIDRs {
73+
result, err := parseNginxStatusAllowCIDRs(goodCIDR.input)
74+
if err != nil {
75+
t.Errorf("parseNginxStatusAllowCIDRs(%q) returned an error when it should have returned no error: %q", goodCIDR.input, err)
6376
}
6477

65-
for _, expectedEntry := range test.expected {
66-
if !contains(splitArray, expectedEntry) {
67-
t.Errorf("parseNginxStatusAllowCIDRs(%q) did not include %q but returned %q", test.input, expectedEntry, splitArray)
68-
}
78+
if !reflect.DeepEqual(result, goodCIDR.expected) {
79+
t.Errorf("parseNginxStatusAllowCIDRs(%q) returned %v expected %v: ", goodCIDR.input, result, goodCIDR.expected)
6980
}
7081
}
71-
7282
}
7383

7484
func TestValidateCIDRorIP(t *testing.T) {

0 commit comments

Comments
 (0)