@@ -880,20 +880,25 @@ func TestCreateLocationsRootPath(t *testing.T) {
880
880
}
881
881
882
882
func TestCreateReturnValForRedirectFilter (t * testing.T ) {
883
- const listenerPort = 123
883
+ const listenerPortCustom = 123
884
+ const listenerPortHTTP = 80
885
+ const listenerPortHTTPS = 443
884
886
885
887
tests := []struct {
886
- filter * v1beta1.HTTPRequestRedirectFilter
887
- expected * http.Return
888
- msg string
888
+ filter * v1beta1.HTTPRequestRedirectFilter
889
+ expected * http.Return
890
+ msg string
891
+ listenerPort int32
889
892
}{
890
893
{
891
- filter : nil ,
892
- expected : nil ,
893
- msg : "filter is nil" ,
894
+ filter : nil ,
895
+ expected : nil ,
896
+ listenerPort : listenerPortCustom ,
897
+ msg : "filter is nil" ,
894
898
},
895
899
{
896
- filter : & v1beta1.HTTPRequestRedirectFilter {},
900
+ filter : & v1beta1.HTTPRequestRedirectFilter {},
901
+ listenerPort : listenerPortCustom ,
897
902
expected : & http.Return {
898
903
Code : http .StatusFound ,
899
904
Body : "$scheme://$host:123$request_uri" ,
@@ -902,11 +907,12 @@ func TestCreateReturnValForRedirectFilter(t *testing.T) {
902
907
},
903
908
{
904
909
filter : & v1beta1.HTTPRequestRedirectFilter {
905
- Scheme : helpers .GetStringPointer ("https" ),
906
- Hostname : ( * v1beta1 .PreciseHostname )( helpers . GetStringPointer ("foo.example.com" )),
910
+ Scheme : helpers .GetPointer ("https" ),
911
+ Hostname : helpers . GetPointer ( v1beta1 .PreciseHostname ("foo.example.com" )),
907
912
Port : (* v1beta1 .PortNumber )(helpers .GetInt32Pointer (2022 )),
908
- StatusCode : helpers .GetIntPointer (101 ),
913
+ StatusCode : helpers .GetPointer (101 ),
909
914
},
915
+ listenerPort : listenerPortCustom ,
910
916
expected : & http.Return {
911
917
Code : 101 ,
912
918
Body : "https://foo.example.com:2022$request_uri" ,
@@ -915,44 +921,59 @@ func TestCreateReturnValForRedirectFilter(t *testing.T) {
915
921
},
916
922
{
917
923
filter : & v1beta1.HTTPRequestRedirectFilter {
918
- Scheme : helpers .GetStringPointer ("https" ),
919
- Hostname : (* v1beta1 .PreciseHostname )(helpers .GetStringPointer ("foo.example.com" )),
920
- StatusCode : helpers .GetIntPointer (101 ),
924
+ Hostname : helpers .GetPointer (v1beta1 .PreciseHostname ("foo.example.com" )),
925
+ StatusCode : helpers .GetPointer (101 ),
926
+ },
927
+ listenerPort : listenerPortHTTPS ,
928
+ expected : & http.Return {
929
+ Code : 101 ,
930
+ Body : "$scheme://foo.example.com:443$request_uri" ,
931
+ },
932
+ msg : "no scheme, listenerPort https, no port is set" ,
933
+ },
934
+ {
935
+ filter : & v1beta1.HTTPRequestRedirectFilter {
936
+ Scheme : helpers .GetPointer ("https" ),
937
+ Hostname : helpers .GetPointer (v1beta1 .PreciseHostname ("foo.example.com" )),
938
+ StatusCode : helpers .GetPointer (101 ),
921
939
},
940
+ listenerPort : listenerPortHTTPS ,
922
941
expected : & http.Return {
923
942
Code : 101 ,
924
- Body : "https://foo.example.com:443 $request_uri" ,
943
+ Body : "https://foo.example.com$request_uri" ,
925
944
},
926
- msg : "scheme is https, no port is set" ,
945
+ msg : "scheme is https, listenerPort https, no port is set" ,
927
946
},
928
947
{
929
948
filter : & v1beta1.HTTPRequestRedirectFilter {
930
- Scheme : helpers .GetStringPointer ("http" ),
931
- Hostname : ( * v1beta1 .PreciseHostname )( helpers . GetStringPointer ("foo.example.com" )),
932
- StatusCode : helpers .GetIntPointer (101 ),
949
+ Scheme : helpers .GetPointer ("http" ),
950
+ Hostname : helpers . GetPointer ( v1beta1 .PreciseHostname ("foo.example.com" )),
951
+ StatusCode : helpers .GetPointer (101 ),
933
952
},
953
+ listenerPort : listenerPortHTTP ,
934
954
expected : & http.Return {
935
955
Code : 101 ,
936
- Body : "http://foo.example.com:80 $request_uri" ,
956
+ Body : "http://foo.example.com$request_uri" ,
937
957
},
938
- msg : "scheme is http, no port is set" ,
958
+ msg : "scheme is http, listenerPort http, no port is set" ,
939
959
},
940
960
{
941
961
filter : & v1beta1.HTTPRequestRedirectFilter {
942
- Scheme : helpers .GetStringPointer ("custom" ),
943
- Hostname : ( * v1beta1 .PreciseHostname )( helpers . GetStringPointer ("foo.example.com" )),
944
- StatusCode : helpers .GetIntPointer (101 ),
962
+ Scheme : helpers .GetPointer ("custom" ),
963
+ Hostname : helpers . GetPointer ( v1beta1 .PreciseHostname ("foo.example.com" )),
964
+ StatusCode : helpers .GetPointer (101 ),
945
965
},
966
+ listenerPort : listenerPortHTTP ,
946
967
expected : & http.Return {
947
968
Code : 101 ,
948
- Body : "custom://foo.example.com:123 $request_uri" ,
969
+ Body : "custom://foo.example.com:80 $request_uri" ,
949
970
},
950
- msg : "scheme is custom, no port is set" ,
971
+ msg : "scheme is custom, listenerPort http, no port is set" ,
951
972
},
952
973
}
953
974
954
975
for _ , test := range tests {
955
- result := createReturnValForRedirectFilter (test .filter , listenerPort )
976
+ result := createReturnValForRedirectFilter (test .filter , test . listenerPort )
956
977
if diff := cmp .Diff (test .expected , result ); diff != "" {
957
978
t .Errorf ("createReturnValForRedirectFilter() mismatch %q (-want +got):\n %s" , test .msg , diff )
958
979
}
0 commit comments