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  }