@@ -27,6 +27,7 @@ import (
2727 "k8s.io/apimachinery/pkg/types"
2828 "sigs.k8s.io/gateway-api/apis/v1alpha2"
2929
30+ "github.com/apache/apisix-ingress-controller/api/v1alpha1"
3031 "github.com/apache/apisix-ingress-controller/test/e2e/framework"
3132 "github.com/apache/apisix-ingress-controller/test/e2e/scaffold"
3233)
@@ -805,25 +806,23 @@ spec:
805806
806807 It ("HTTPRoutePolicy in effect" , func () {
807808 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 ))
816816
817817 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+ )
819823
820824 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 ))
827826
828827 s .NewAPISIXClient ().
829828 GET ("/get" ).
@@ -852,7 +851,12 @@ spec:
852851 - ==
853852 - new-hrp-name
854853`
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+
856860 // use the old vars cannot match any route
857861 Eventually (func () int {
858862 return s .NewAPISIXClient ().
@@ -964,20 +968,18 @@ spec:
964968 - http-route-policy-0
965969`
966970 By ("create HTTPRoute" )
967- ResourceApplied ( "HTTPRoute" , "httpbin" , varsRoute , 1 )
971+ s . ApplyHTTPRoute (types. NamespacedName { Namespace : s . Namespace (), Name : "httpbin" } , varsRoute )
968972
969973 By ("create HTTPRoutePolices" )
970974 for name , spec := range map [string ]string {
971975 "http-route-policy-0" : httpRoutePolicy0 ,
972976 "http-route-policy-1" : httpRoutePolicy1 ,
973977 "http-route-policy-2" : httpRoutePolicy2 ,
974978 } {
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 (
979980 types.NamespacedName {Namespace : s .Namespace (), Name : "apisix" },
980981 types.NamespacedName {Namespace : s .Namespace (), Name : name },
982+ spec ,
981983 metav1.Condition {
982984 Type : string (v1alpha2 .PolicyConditionAccepted ),
983985 },
@@ -1058,24 +1060,23 @@ spec:
10581060
10591061 It ("HTTPRoutePolicy status changes on HTTPRoute deleting" , func () {
10601062 By ("create HTTPRoute" )
1061- ResourceApplied ( "HTTPRoute" , "httpbin" , varsRoute , 1 )
1063+ s . ApplyHTTPRoute (types. NamespacedName { Namespace : s . Namespace (), Name : "httpbin" } , varsRoute )
10621064
10631065 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+ )
10711071
10721072 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 ))
10791080
10801081 s .NewAPISIXClient ().
10811082 GET ("/get" ).
@@ -1104,11 +1105,12 @@ spec:
11041105 })
11051106 s .Logf (message )
11061107
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" )
11121114 })
11131115 })
11141116
0 commit comments