Skip to content

Commit eb01127

Browse files
authored
Move install plan e2e to one namespace per spec (#2708)
Signed-off-by: perdasilva <[email protected]>
1 parent c64ebd6 commit eb01127

File tree

3 files changed

+512
-256
lines changed

3 files changed

+512
-256
lines changed

test/e2e/catalog_e2e_test.go

+72-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ import (
1212
"time"
1313

1414
operatorsv1 "github.com/operator-framework/api/pkg/operators/v1"
15+
k8serror "k8s.io/apimachinery/pkg/api/errors"
16+
"sigs.k8s.io/controller-runtime/pkg/client"
1517

1618
"github.com/blang/semver/v4"
1719
. "github.com/onsi/ginkgo"
@@ -78,9 +80,18 @@ var _ = Describe("Catalog represents a store of bundles which OLM can use to ins
7880
},
7981
}
8082

81-
crd := newCRD(genName("ins"))
83+
crd := newCRD(genName("ins-"))
8284
csv := newCSV(packageStable, ns.GetName(), "", semver.MustParse("0.1.0"), []apiextensions.CustomResourceDefinition{crd}, nil, nil)
8385

86+
defer func() {
87+
Eventually(func() error {
88+
return ctx.Ctx().KubeClient().ApiextensionsInterface().ApiextensionsV1().CustomResourceDefinitions().Delete(context.TODO(), crd.GetName(), metav1.DeleteOptions{})
89+
}).Should(Or(Succeed(), WithTransform(k8serror.IsNotFound, BeTrue())))
90+
Eventually(func() error {
91+
return client.IgnoreNotFound(ctx.Ctx().Client().Delete(context.TODO(), &csv))
92+
}).Should(Succeed())
93+
}()
94+
8495
catalogSourceName := genName("mock-ocs-")
8596
_, cleanupSource := createInternalCatalogSource(c, crc, catalogSourceName, ns.GetName(), manifests, []apiextensions.CustomResourceDefinition{crd}, []v1alpha1.ClusterServiceVersion{csv})
8697
defer cleanupSource()
@@ -138,6 +149,18 @@ var _ = Describe("Catalog represents a store of bundles which OLM can use to ins
138149
mainCSV := newCSV(mainPackageStable, ns.GetName(), "", semver.MustParse("0.1.0"), []apiextensions.CustomResourceDefinition{mainCRD}, nil, nil)
139150
replacementCSV := newCSV(mainPackageReplacement, ns.GetName(), mainPackageStable, semver.MustParse("0.2.0"), []apiextensions.CustomResourceDefinition{mainCRD}, nil, nil)
140151

152+
defer func() {
153+
Eventually(func() error {
154+
return ctx.Ctx().KubeClient().ApiextensionsInterface().ApiextensionsV1().CustomResourceDefinitions().Delete(context.TODO(), mainCRD.GetName(), metav1.DeleteOptions{})
155+
}).Should(Or(Succeed(), WithTransform(k8serror.IsNotFound, BeTrue())))
156+
Eventually(func() error {
157+
return client.IgnoreNotFound(ctx.Ctx().Client().Delete(context.TODO(), &mainCSV))
158+
}).Should(Succeed())
159+
Eventually(func() error {
160+
return client.IgnoreNotFound(ctx.Ctx().Client().Delete(context.TODO(), &replacementCSV))
161+
}).Should(Succeed())
162+
}()
163+
141164
mainCatalogName := genName("mock-ocs-main-")
142165

143166
// Create separate manifests for each CatalogSource
@@ -230,6 +253,18 @@ var _ = Describe("Catalog represents a store of bundles which OLM can use to ins
230253
mainCSV := newCSV(mainPackageStable, ns.GetName(), "", semver.MustParse("0.1.0"), nil, []apiextensions.CustomResourceDefinition{dependentCRD}, nil)
231254
dependentCSV := newCSV(dependentPackageStable, ns.GetName(), "", semver.MustParse("0.1.0"), []apiextensions.CustomResourceDefinition{dependentCRD}, nil, nil)
232255

256+
defer func() {
257+
Eventually(func() error {
258+
return ctx.Ctx().KubeClient().ApiextensionsInterface().ApiextensionsV1().CustomResourceDefinitions().Delete(context.TODO(), dependentCRD.GetName(), metav1.DeleteOptions{})
259+
}).Should(Or(Succeed(), WithTransform(k8serror.IsNotFound, BeTrue())))
260+
Eventually(func() error {
261+
return client.IgnoreNotFound(ctx.Ctx().Client().Delete(context.TODO(), &mainCSV))
262+
}).Should(Succeed())
263+
Eventually(func() error {
264+
return client.IgnoreNotFound(ctx.Ctx().Client().Delete(context.TODO(), &dependentCSV))
265+
}).Should(Succeed())
266+
}()
267+
233268
mainCatalogName := genName("mock-ocs-main-")
234269

235270
// Create separate manifests for each CatalogSource
@@ -351,6 +386,18 @@ var _ = Describe("Catalog represents a store of bundles which OLM can use to ins
351386
mainCSV := newCSV(mainPackageStable, ns.GetName(), "", semver.MustParse("0.1.0"), nil, []apiextensions.CustomResourceDefinition{dependentCRD}, nil)
352387
dependentCSV := newCSV(dependentPackageStable, ns.GetName(), "", semver.MustParse("0.1.0"), []apiextensions.CustomResourceDefinition{dependentCRD}, nil, nil)
353388

389+
defer func() {
390+
Eventually(func() error {
391+
return ctx.Ctx().KubeClient().ApiextensionsInterface().ApiextensionsV1().CustomResourceDefinitions().Delete(context.TODO(), dependentCRD.GetName(), metav1.DeleteOptions{})
392+
}).Should(Or(Succeed(), WithTransform(k8serror.IsNotFound, BeTrue())))
393+
Eventually(func() error {
394+
return client.IgnoreNotFound(ctx.Ctx().Client().Delete(context.TODO(), &mainCSV))
395+
}).Should(Succeed())
396+
Eventually(func() error {
397+
return client.IgnoreNotFound(ctx.Ctx().Client().Delete(context.TODO(), &dependentCSV))
398+
}).Should(Succeed())
399+
}()
400+
354401
mainCatalogName := genName("mock-ocs-main-")
355402

356403
// Create separate manifests for each CatalogSource
@@ -433,6 +480,21 @@ var _ = Describe("Catalog represents a store of bundles which OLM can use to ins
433480
replacementCSV := newCSV(mainPackageReplacement, ns.GetName(), mainPackageStable, semver.MustParse("0.2.0"), nil, []apiextensions.CustomResourceDefinition{dependentCRD}, nil)
434481
dependentCSV := newCSV(dependentPackageStable, ns.GetName(), "", semver.MustParse("0.1.0"), []apiextensions.CustomResourceDefinition{dependentCRD}, nil, nil)
435482

483+
defer func() {
484+
Eventually(func() error {
485+
return ctx.Ctx().KubeClient().ApiextensionsInterface().ApiextensionsV1().CustomResourceDefinitions().Delete(context.TODO(), dependentCRD.GetName(), metav1.DeleteOptions{})
486+
}).Should(Or(Succeed(), WithTransform(k8serror.IsNotFound, BeTrue())))
487+
Eventually(func() error {
488+
return client.IgnoreNotFound(ctx.Ctx().Client().Delete(context.TODO(), &mainCSV))
489+
}).Should(Succeed())
490+
Eventually(func() error {
491+
return client.IgnoreNotFound(ctx.Ctx().Client().Delete(context.TODO(), &dependentCSV))
492+
}).Should(Succeed())
493+
Eventually(func() error {
494+
return client.IgnoreNotFound(ctx.Ctx().Client().Delete(context.TODO(), &replacementCSV))
495+
}).Should(Succeed())
496+
}()
497+
436498
mainSourceName := genName("mock-ocs-main-")
437499
replacementSourceName := genName("mock-ocs-main-with-replacement-")
438500

@@ -565,6 +627,15 @@ var _ = Describe("Catalog represents a store of bundles which OLM can use to ins
565627
},
566628
}
567629

630+
defer func() {
631+
Eventually(func() error {
632+
return ctx.Ctx().KubeClient().ApiextensionsInterface().ApiextensionsV1().CustomResourceDefinitions().Delete(context.TODO(), crd.GetName(), metav1.DeleteOptions{})
633+
}).Should(Or(Succeed(), WithTransform(k8serror.IsNotFound, BeTrue())))
634+
Eventually(func() error {
635+
return client.IgnoreNotFound(ctx.Ctx().Client().Delete(context.TODO(), &csv))
636+
}).Should(Succeed())
637+
}()
638+
568639
_, cleanupSource := createInternalCatalogSource(c, crc, sourceName, ns.GetName(), manifests, []apiextensions.CustomResourceDefinition{crd}, []v1alpha1.ClusterServiceVersion{csv})
569640
defer cleanupSource()
570641

test/e2e/ctx/ctx.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"strings"
99

1010
g "github.com/onsi/ginkgo"
11+
"k8s.io/apiextensions-apiserver/pkg/apis/apiextensions"
1112
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
1213
"k8s.io/apimachinery/pkg/runtime"
1314
"k8s.io/client-go/dynamic"
@@ -162,12 +163,12 @@ func setDerivedFields(ctx *TestContext) error {
162163

163164
ctx.scheme = runtime.NewScheme()
164165
localSchemeBuilder := runtime.NewSchemeBuilder(
165-
apiextensionsv1.AddToScheme,
166166
kscheme.AddToScheme,
167167
operatorsv1alpha1.AddToScheme,
168168
operatorsv1.AddToScheme,
169169
operatorsv2.AddToScheme,
170170
apiextensionsv1.AddToScheme,
171+
apiextensions.AddToScheme,
171172
)
172173
if err := localSchemeBuilder.AddToScheme(ctx.scheme); err != nil {
173174
return err

0 commit comments

Comments
 (0)