Skip to content

Commit a4e9fed

Browse files
committed
Update unit-tests and remove port whenever possible
1 parent 8fde1dd commit a4e9fed

File tree

2 files changed

+48
-15
lines changed

2 files changed

+48
-15
lines changed

internal/nginx/config/servers.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,10 +205,15 @@ func createReturnValForRedirectFilter(filter *v1beta1.HTTPRequestRedirectFilter,
205205
scheme := "$scheme"
206206
if filter.Scheme != nil {
207207
scheme = *filter.Scheme
208+
// Don't specify the port in the return url if the scheme is
209+
// well known and the port is already set to the correct well known port
210+
if (port == 80 && scheme == "http") || (port == 443 && scheme == "https") {
211+
hostnamePort = hostname
212+
}
208213
if filter.Port == nil {
209214
// Don't specify the port in the return url if the scheme is
210215
// well known and the port is not specified by the user
211-
if *filter.Scheme == "http" || *filter.Scheme == "https" {
216+
if scheme == "http" || scheme == "https" {
212217
hostnamePort = hostname
213218
}
214219
}

internal/nginx/config/servers_test.go

Lines changed: 42 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -910,23 +910,36 @@ func TestCreateReturnValForRedirectFilter(t *testing.T) {
910910
Scheme: helpers.GetPointer("https"),
911911
Hostname: helpers.GetPointer(v1beta1.PreciseHostname("foo.example.com")),
912912
Port: (*v1beta1.PortNumber)(helpers.GetInt32Pointer(2022)),
913-
StatusCode: helpers.GetPointer(101),
913+
StatusCode: helpers.GetPointer(301),
914914
},
915915
listenerPort: listenerPortCustom,
916916
expected: &http.Return{
917-
Code: 101,
917+
Code: 301,
918918
Body: "https://foo.example.com:2022$request_uri",
919919
},
920920
msg: "all fields are set",
921921
},
922+
{
923+
filter: &v1beta1.HTTPRequestRedirectFilter{
924+
Scheme: helpers.GetPointer("https"),
925+
Hostname: helpers.GetPointer(v1beta1.PreciseHostname("foo.example.com")),
926+
StatusCode: helpers.GetPointer(301),
927+
},
928+
listenerPort: listenerPortCustom,
929+
expected: &http.Return{
930+
Code: 301,
931+
Body: "https://foo.example.com$request_uri",
932+
},
933+
msg: "listenerPort is custom, scheme is set, no port",
934+
},
922935
{
923936
filter: &v1beta1.HTTPRequestRedirectFilter{
924937
Hostname: helpers.GetPointer(v1beta1.PreciseHostname("foo.example.com")),
925-
StatusCode: helpers.GetPointer(101),
938+
StatusCode: helpers.GetPointer(301),
926939
},
927940
listenerPort: listenerPortHTTPS,
928941
expected: &http.Return{
929-
Code: 101,
942+
Code: 301,
930943
Body: "$scheme://foo.example.com:443$request_uri",
931944
},
932945
msg: "no scheme, listenerPort https, no port is set",
@@ -935,11 +948,11 @@ func TestCreateReturnValForRedirectFilter(t *testing.T) {
935948
filter: &v1beta1.HTTPRequestRedirectFilter{
936949
Scheme: helpers.GetPointer("https"),
937950
Hostname: helpers.GetPointer(v1beta1.PreciseHostname("foo.example.com")),
938-
StatusCode: helpers.GetPointer(101),
951+
StatusCode: helpers.GetPointer(301),
939952
},
940953
listenerPort: listenerPortHTTPS,
941954
expected: &http.Return{
942-
Code: 101,
955+
Code: 301,
943956
Body: "https://foo.example.com$request_uri",
944957
},
945958
msg: "scheme is https, listenerPort https, no port is set",
@@ -948,27 +961,42 @@ func TestCreateReturnValForRedirectFilter(t *testing.T) {
948961
filter: &v1beta1.HTTPRequestRedirectFilter{
949962
Scheme: helpers.GetPointer("http"),
950963
Hostname: helpers.GetPointer(v1beta1.PreciseHostname("foo.example.com")),
951-
StatusCode: helpers.GetPointer(101),
964+
StatusCode: helpers.GetPointer(301),
952965
},
953966
listenerPort: listenerPortHTTP,
954967
expected: &http.Return{
955-
Code: 101,
968+
Code: 301,
956969
Body: "http://foo.example.com$request_uri",
957970
},
958971
msg: "scheme is http, listenerPort http, no port is set",
959972
},
960973
{
961974
filter: &v1beta1.HTTPRequestRedirectFilter{
962-
Scheme: helpers.GetPointer("custom"),
975+
Scheme: helpers.GetPointer("http"),
963976
Hostname: helpers.GetPointer(v1beta1.PreciseHostname("foo.example.com")),
964-
StatusCode: helpers.GetPointer(101),
977+
Port: (*v1beta1.PortNumber)(helpers.GetInt32Pointer(80)),
978+
StatusCode: helpers.GetPointer(301),
965979
},
966-
listenerPort: listenerPortHTTP,
980+
listenerPort: listenerPortCustom,
981+
expected: &http.Return{
982+
Code: 301,
983+
Body: "http://foo.example.com$request_uri",
984+
},
985+
msg: "scheme is http, port http",
986+
},
987+
{
988+
filter: &v1beta1.HTTPRequestRedirectFilter{
989+
Scheme: helpers.GetPointer("https"),
990+
Hostname: helpers.GetPointer(v1beta1.PreciseHostname("foo.example.com")),
991+
Port: (*v1beta1.PortNumber)(helpers.GetInt32Pointer(443)),
992+
StatusCode: helpers.GetPointer(301),
993+
},
994+
listenerPort: listenerPortCustom,
967995
expected: &http.Return{
968-
Code: 101,
969-
Body: "custom://foo.example.com:80$request_uri",
996+
Code: 301,
997+
Body: "https://foo.example.com$request_uri",
970998
},
971-
msg: "scheme is custom, listenerPort http, no port is set",
999+
msg: "scheme is https, port https",
9721000
},
9731001
}
9741002

0 commit comments

Comments
 (0)