github.com/operator-framework/operator-lifecycle-manager@v0.30.0/test/e2e/resource_manager_test.go (about) 1 package e2e 2 3 import ( 4 "context" 5 6 . "github.com/onsi/ginkgo/v2" 7 . "github.com/onsi/gomega" 8 "github.com/operator-framework/operator-lifecycle-manager/test/e2e/util" 9 corev1 "k8s.io/api/core/v1" 10 k8serror "k8s.io/apimachinery/pkg/api/errors" 11 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" 12 "sigs.k8s.io/controller-runtime/pkg/client" 13 14 "github.com/operator-framework/operator-lifecycle-manager/test/e2e/ctx" 15 ) 16 17 var _ = Describe("ResourceManager", func() { 18 var generatedNamespace corev1.Namespace 19 20 BeforeEach(func() { 21 ctx.Ctx().NewE2EClientSession() 22 generatedNamespace = SetupGeneratedTestNamespace(genName("resource-manager-e2e-")) 23 }) 24 25 AfterEach(func() { 26 TeardownNamespace(generatedNamespace.GetName()) 27 Expect(ctx.Ctx().E2EClient().Reset()).To(Succeed()) 28 }) 29 30 It("should tag resources created with it", func() { 31 By(`Create a namespace`) 32 ns := &corev1.Namespace{ 33 ObjectMeta: metav1.ObjectMeta{ 34 Name: genName("test-"), 35 }, 36 } 37 Expect(ctx.Ctx().E2EClient().Create(context.TODO(), ns)).To(Succeed()) 38 39 By(`Get namespace`) 40 Expect(ctx.Ctx().E2EClient().Get(context.TODO(), client.ObjectKeyFromObject(ns), ns)).To(Succeed()) 41 Expect(ns.GetAnnotations()).NotTo(BeEmpty()) 42 Expect(ns.GetAnnotations()[util.E2ETestNameTag]).To(Equal("ResourceManager should tag resources created with it")) 43 }) 44 45 It("should delete resources on reset", func() { 46 By(`Create a namespace`) 47 ns := &corev1.Namespace{ 48 ObjectMeta: metav1.ObjectMeta{ 49 Name: genName("test-"), 50 }, 51 } 52 Expect(ctx.Ctx().E2EClient().Create(context.TODO(), ns)).To(Succeed()) 53 54 By(`Add a config map`) 55 By(`creating the configmap in the generated (spec) namespace so if the namespace (ns, above) gets deleted on reset it won't take the config map with it`) 56 configMap := &corev1.ConfigMap{ 57 ObjectMeta: metav1.ObjectMeta{ 58 Name: genName("configmap-"), 59 Namespace: generatedNamespace.GetName(), 60 }, 61 } 62 Expect(ctx.Ctx().E2EClient().Create(context.TODO(), configMap)) 63 64 By(`Reset the client`) 65 Expect(ctx.Ctx().E2EClient().Reset()).To(Succeed()) 66 67 By(`And just like that resources should be gone`) 68 Eventually(func() error { 69 return ctx.Ctx().E2EClient().Get(context.TODO(), client.ObjectKeyFromObject(configMap), configMap) 70 }).Should(WithTransform(k8serror.IsNotFound, BeTrue())) 71 Eventually(func() error { 72 return ctx.Ctx().E2EClient().Get(context.TODO(), client.ObjectKeyFromObject(ns), ns) 73 }).Should(WithTransform(k8serror.IsNotFound, BeTrue())) 74 }) 75 })