github.com/redhat-appstudio/e2e-tests@v0.0.0-20240520140907-9709f6f59323/pkg/clients/spi/file_content_requests.go (about) 1 package spi 2 3 import ( 4 "context" 5 "time" 6 7 spi "github.com/redhat-appstudio/service-provider-integration-operator/api/v1beta1" 8 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" 9 "k8s.io/apimachinery/pkg/types" 10 11 . "github.com/onsi/gomega" 12 . "github.com/onsi/gomega/gstruct" 13 ) 14 15 // CreateSPIFileContentRequest creates an SPIFileContentRequest Object 16 func (s *SPIController) CreateSPIFileContentRequest(name, namespace, repoURL, filePath string) (*spi.SPIFileContentRequest, error) { 17 spiFcr := spi.SPIFileContentRequest{ 18 ObjectMeta: metav1.ObjectMeta{ 19 GenerateName: name, 20 Namespace: namespace, 21 }, 22 Spec: spi.SPIFileContentRequestSpec{RepoUrl: repoURL, FilePath: filePath}, 23 } 24 err := s.KubeRest().Create(context.Background(), &spiFcr) 25 if err != nil { 26 return nil, err 27 } 28 return &spiFcr, nil 29 } 30 31 // GetSPIAccessCheck returns the requested SPIAccessCheck object 32 func (s *SPIController) GetSPIFileContentRequest(name, namespace string) (*spi.SPIFileContentRequest, error) { 33 namespacedName := types.NamespacedName{ 34 Name: name, 35 Namespace: namespace, 36 } 37 38 spiFcr := spi.SPIFileContentRequest{ 39 Spec: spi.SPIFileContentRequestSpec{}, 40 } 41 err := s.KubeRest().Get(context.Background(), namespacedName, &spiFcr) 42 if err != nil { 43 return nil, err 44 } 45 return &spiFcr, nil 46 } 47 48 func (s *SPIController) IsSPIFileContentRequestInDeliveredPhase(SPIFcr *spi.SPIFileContentRequest) { 49 Eventually(func() spi.SPIFileContentRequestStatus { 50 SPIFcr, err := s.GetSPIFileContentRequest(SPIFcr.Name, SPIFcr.Namespace) 51 Expect(err).NotTo(HaveOccurred()) 52 53 return SPIFcr.Status 54 }, 2*time.Minute, 10*time.Second).Should(MatchFields(IgnoreExtras, Fields{ 55 "Phase": Equal(spi.SPIFileContentRequestPhaseDelivered), 56 "Content": Not(BeEmpty()), 57 }), "SPIFileContentRequest %s/%s '.Status' does not contain expected field values", SPIFcr.GetNamespace(), SPIFcr.GetName()) 58 }