@@ -27,6 +27,7 @@ import (
27
27
"k8s.io/apimachinery/pkg/types"
28
28
"sigs.k8s.io/gateway-api/apis/v1alpha2"
29
29
30
+ "github.com/apache/apisix-ingress-controller/api/v1alpha1"
30
31
"github.com/apache/apisix-ingress-controller/test/e2e/framework"
31
32
"github.com/apache/apisix-ingress-controller/test/e2e/scaffold"
32
33
)
@@ -805,25 +806,23 @@ spec:
805
806
806
807
It ("HTTPRoutePolicy in effect" , func () {
807
808
By ("create HTTPRoute" )
808
- ResourceApplied ("HTTPRoute" , "httpbin" , varsRoute , 1 )
809
-
810
- s .NewAPISIXClient ().
811
- GET ("/get" ).
812
- WithHost ("httpbin.example" ).
813
- WithHeader ("X-Route-Name" , "httpbin" ).
814
- Expect ().
815
- Status (http .StatusOK )
809
+ s .ApplyHTTPRoute (types.NamespacedName {Namespace : s .Namespace (), Name : "httpbin" }, varsRoute )
810
+ request := func () int {
811
+ return s .NewAPISIXClient ().GET ("/get" ).
812
+ WithHost ("httpbin.example" ).WithHeader ("X-Route-Name" , "httpbin" ).
813
+ Expect ().Raw ().StatusCode
814
+ }
815
+ Eventually (request ).WithTimeout (5 * time .Second ).ProbeEvery (time .Second ).Should (Equal (http .StatusOK ))
816
816
817
817
By ("create HTTPRoutePolicy" )
818
- ResourceApplied ("HTTPRoutePolicy" , "http-route-policy-0" , httpRoutePolicy , 1 )
818
+ s .ApplyHTTPRoutePolicy (
819
+ types.NamespacedName {Name : "apisix" },
820
+ types.NamespacedName {Namespace : s .Namespace (), Name : "http-route-policy-0" },
821
+ httpRoutePolicy ,
822
+ )
819
823
820
824
By ("access dataplane to check the HTTPRoutePolicy" )
821
- s .NewAPISIXClient ().
822
- GET ("/get" ).
823
- WithHost ("httpbin.example" ).
824
- WithHeader ("X-Route-Name" , "httpbin" ).
825
- Expect ().
826
- Status (http .StatusNotFound )
825
+ Eventually (request ).WithTimeout (5 * time .Second ).ProbeEvery (time .Second ).Should (Equal (http .StatusNotFound ))
827
826
828
827
s .NewAPISIXClient ().
829
828
GET ("/get" ).
@@ -852,7 +851,12 @@ spec:
852
851
- ==
853
852
- new-hrp-name
854
853
`
855
- ResourceApplied ("HTTPRoutePolicy" , "http-route-policy-0" , changedHTTPRoutePolicy , 1 )
854
+ s .ApplyHTTPRoutePolicy (
855
+ types.NamespacedName {Name : "apisix" },
856
+ types.NamespacedName {Namespace : s .Namespace (), Name : "http-route-policy-0" },
857
+ changedHTTPRoutePolicy ,
858
+ )
859
+
856
860
// use the old vars cannot match any route
857
861
Eventually (func () int {
858
862
return s .NewAPISIXClient ().
@@ -964,20 +968,18 @@ spec:
964
968
- http-route-policy-0
965
969
`
966
970
By ("create HTTPRoute" )
967
- ResourceApplied ( "HTTPRoute" , "httpbin" , varsRoute , 1 )
971
+ s . ApplyHTTPRoute (types. NamespacedName { Namespace : s . Namespace (), Name : "httpbin" } , varsRoute )
968
972
969
973
By ("create HTTPRoutePolices" )
970
974
for name , spec := range map [string ]string {
971
975
"http-route-policy-0" : httpRoutePolicy0 ,
972
976
"http-route-policy-1" : httpRoutePolicy1 ,
973
977
"http-route-policy-2" : httpRoutePolicy2 ,
974
978
} {
975
- err := s .CreateResourceFromString (spec )
976
- Expect (err ).NotTo (HaveOccurred (), "creating HTTPRoutePolicy" )
977
- // wait for HTTPRoutePolicy is Accepted
978
- framework .HTTPRoutePolicyMustHaveCondition (s .GinkgoT , s .K8sClient , 10 * time .Second ,
979
+ s .ApplyHTTPRoutePolicy (
979
980
types.NamespacedName {Namespace : s .Namespace (), Name : "apisix" },
980
981
types.NamespacedName {Namespace : s .Namespace (), Name : name },
982
+ spec ,
981
983
metav1.Condition {
982
984
Type : string (v1alpha2 .PolicyConditionAccepted ),
983
985
},
@@ -1058,24 +1060,23 @@ spec:
1058
1060
1059
1061
It ("HTTPRoutePolicy status changes on HTTPRoute deleting" , func () {
1060
1062
By ("create HTTPRoute" )
1061
- ResourceApplied ( "HTTPRoute" , "httpbin" , varsRoute , 1 )
1063
+ s . ApplyHTTPRoute (types. NamespacedName { Namespace : s . Namespace (), Name : "httpbin" } , varsRoute )
1062
1064
1063
1065
By ("create HTTPRoutePolicy" )
1064
- ResourceApplied ("HTTPRoutePolicy" , "http-route-policy-0" , httpRoutePolicy , 1 )
1065
-
1066
- Eventually (func () string {
1067
- spec , err := s .GetResourceYaml ("HTTPRoutePolicy" , "http-route-policy-0" )
1068
- Expect (err ).NotTo (HaveOccurred (), "getting HTTPRoutePolicy" )
1069
- return spec
1070
- }).WithTimeout (8 * time .Second ).ProbeEvery (time .Second ).Should (ContainSubstring ("type: Accepted" ))
1066
+ s .ApplyHTTPRoutePolicy (
1067
+ types.NamespacedName {Name : "apisix" },
1068
+ types.NamespacedName {Namespace : s .Namespace (), Name : "http-route-policy-0" },
1069
+ httpRoutePolicy ,
1070
+ )
1071
1071
1072
1072
By ("access dataplane to check the HTTPRoutePolicy" )
1073
- s .NewAPISIXClient ().
1074
- GET ("/get" ).
1075
- WithHost ("httpbin.example" ).
1076
- WithHeader ("X-Route-Name" , "httpbin" ).
1077
- Expect ().
1078
- Status (http .StatusNotFound )
1073
+ Eventually (func () int {
1074
+ return s .NewAPISIXClient ().
1075
+ GET ("/get" ).
1076
+ WithHost ("httpbin.example" ).
1077
+ WithHeader ("X-Route-Name" , "httpbin" ).
1078
+ Expect ().Raw ().StatusCode
1079
+ }).WithTimeout (8 * time .Second ).ProbeEvery (time .Second ).Should (Equal (http .StatusNotFound ))
1079
1080
1080
1081
s .NewAPISIXClient ().
1081
1082
GET ("/get" ).
@@ -1104,11 +1105,12 @@ spec:
1104
1105
})
1105
1106
s .Logf (message )
1106
1107
1107
- Eventually (func () string {
1108
- spec , err := s .GetResourceYaml ("HTTPRoutePolicy" , "http-route-policy-0" )
1109
- Expect (err ).NotTo (HaveOccurred (), "getting HTTPRoutePolicy" )
1110
- return spec
1111
- }).WithTimeout (8 * time .Second ).ProbeEvery (time .Second ).ShouldNot (ContainSubstring ("ancestorRef:" ))
1108
+ err = framework .PollUntilHTTPRoutePolicyHaveStatus (s .K8sClient , 8 * time .Second , types.NamespacedName {Namespace : s .Namespace (), Name : "http-route-policy-0" },
1109
+ func (hrp * v1alpha1.HTTPRoutePolicy ) bool {
1110
+ return len (hrp .Status .Ancestors ) == 0
1111
+ },
1112
+ )
1113
+ Expect (err ).NotTo (HaveOccurred (), "HTPRoutePolicy.Status should has no ancestor" )
1112
1114
})
1113
1115
})
1114
1116
0 commit comments