@@ -28,6 +28,7 @@ import (
2828 "time"
2929
3030 "github.com/api7/api7-ingress-controller/pkg/apisix"
31+ v2 "github.com/api7/api7-ingress-controller/pkg/kube/apisix/apis/config/v2"
3132 "github.com/api7/api7-ingress-controller/pkg/log"
3233 "github.com/api7/api7-ingress-controller/pkg/metrics"
3334 v1 "github.com/api7/api7-ingress-controller/pkg/types/apisix/v1"
@@ -820,3 +821,25 @@ func (s *Scaffold) RunDigDNSClientFromK8s(args ...string) (string, error) {
820821 kubectlArgs = append (kubectlArgs , args ... )
821822 return s .RunKubectlAndGetOutput (kubectlArgs ... )
822823}
824+
825+ func (s * Scaffold ) GetApisixResourceStatus (resourceName string , resourceType string ) (* v2.ApisixStatus , error ) {
826+ kubectlArgs := []string {
827+ "get" , resourceType , resourceName , "-o" , "json" ,
828+ }
829+ output , err := s .RunKubectlAndGetOutput (kubectlArgs ... )
830+ if err != nil {
831+ return nil , err
832+ }
833+ var upstream v2.ApisixUpstream
834+ err = json .Unmarshal ([]byte (output ), & upstream )
835+ if err != nil {
836+ return nil , err
837+ }
838+ return & upstream .Status , nil
839+ }
840+
841+ func (s * Scaffold ) AssertCRSync (resourceName , resourceType , message string ) {
842+ routeStatus , err := s .GetApisixResourceStatus (resourceName , resourceType )
843+ assert .Nil (ginkgo .GinkgoT (), err )
844+ assert .Equal (ginkgo .GinkgoT (), message , routeStatus .Conditions [0 ].Message )
845+ }
0 commit comments