github.com/redhat-appstudio/e2e-tests@v0.0.0-20240520140907-9709f6f59323/pkg/clients/spi/access_checks.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 "sigs.k8s.io/controller-runtime/pkg/client" 11 ) 12 13 // CreateSPIAccessCheck creates a SPIAccessCheck object 14 func (s *SPIController) CreateSPIAccessCheck(name, namespace, repoURL string) (*spi.SPIAccessCheck, error) { 15 spiAccessCheck := spi.SPIAccessCheck{ 16 ObjectMeta: metav1.ObjectMeta{ 17 GenerateName: name, 18 Namespace: namespace, 19 }, 20 Spec: spi.SPIAccessCheckSpec{RepoUrl: repoURL}, 21 } 22 ctx, cancel := context.WithTimeout(context.Background(), time.Minute*1) 23 defer cancel() 24 err := s.KubeRest().Create(ctx, &spiAccessCheck) 25 if err != nil { 26 return nil, err 27 } 28 return &spiAccessCheck, nil 29 } 30 31 // GetSPIAccessCheck returns the requested SPIAccessCheck object 32 func (s *SPIController) GetSPIAccessCheck(name, namespace string) (*spi.SPIAccessCheck, error) { 33 namespacedName := types.NamespacedName{ 34 Name: name, 35 Namespace: namespace, 36 } 37 38 spiAccessCheck := spi.SPIAccessCheck{ 39 Spec: spi.SPIAccessCheckSpec{}, 40 } 41 err := s.KubeRest().Get(context.Background(), namespacedName, &spiAccessCheck) 42 if err != nil { 43 return nil, err 44 } 45 return &spiAccessCheck, nil 46 } 47 48 // DeleteAllSPIAccessChecksInASpecificNamespace deletes all SPIAccessCheck from a given namespace 49 func (s *SPIController) DeleteAllAccessChecksInASpecificNamespace(namespace string) error { 50 return s.KubeRest().DeleteAllOf(context.Background(), &spi.SPIAccessCheck{}, client.InNamespace(namespace)) 51 }