Skip to content

Commit 0b02331

Browse files
committed
Add more comments on e2e test case to clarify test flow
Signed-off-by: Vu Dinh <[email protected]>
1 parent 9a1bfe3 commit 0b02331

File tree

1 file changed

+44
-3
lines changed

1 file changed

+44
-3
lines changed

test/e2e/subscription_e2e_test.go

Lines changed: 44 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1254,7 +1254,37 @@ var _ = Describe("Subscription", func() {
12541254
require.Len(GinkgoT(), installPlan.Status.CatalogSources, 1)
12551255
})
12561256

1257-
It("creation with multiple dependencies", func() {
1257+
// CatSrc:
1258+
//
1259+
// Package A (apackage)
1260+
// Default Channel: Stable
1261+
// Channel Stable:
1262+
// Operator A (Requires: CRD 1, CRD 2 )
1263+
// Channel Alpha:
1264+
// Operator ABC (Provides: CRD 1, CRD 2 )
1265+
// Package B (apackage)
1266+
// Default Channel: Stable
1267+
// Channel Stable:
1268+
// Operator B (Provides: CRD)
1269+
// CatSrc2:
1270+
//
1271+
// Package B (bpackage)
1272+
// Default Channel: Stable
1273+
// Channel Stable:
1274+
// Operator C (Provides: CRD 2)
1275+
// Then create a subscription:
1276+
//
1277+
// CatalogSource: CatSrc
1278+
// Package: Package A,
1279+
// Channel: Stable,
1280+
// StartingCSV: CSV A
1281+
//
1282+
// Check installed:
1283+
//
1284+
// CSV A, CSV B, CSV C
1285+
//
1286+
// CSV A required B and C but didn't get them from Package A
1287+
FIt("creation with dependencies required and provided in different versions of an operator in the same package", func() {
12581288

12591289
defer cleaner.NotifyTestComplete(true)
12601290

@@ -1309,12 +1339,18 @@ var _ = Describe("Subscription", func() {
13091339
namedStrategy := newNginxInstallStrategy((genName("dep")), permissions, nil)
13101340
depNamedStrategy := newNginxInstallStrategy((genName("dep")), permissions, nil)
13111341
depNamedStrategy2 := newNginxInstallStrategy((genName("dep")), permissions, nil)
1342+
// csvA requires CRD1 and CRD2
13121343
csvA := newCSV("nginx-a", testNamespace, "", semver.MustParse("0.1.0"), nil, []apiextensions.CustomResourceDefinition{crd, crd2}, namedStrategy)
1344+
// csvABC provides CRD1 and CRD2 in the same catalogsource with csvA (apackage)
1345+
// also in the same package with csvA but different channel
13131346
csvABC := newCSV("nginx-a-bc", testNamespace, "", semver.MustParse("0.1.0"), []apiextensions.CustomResourceDefinition{crd, crd2}, nil, namedStrategy)
1347+
// csvB provides CRD1 in the same catalogsource with csvA (apackage)
13141348
csvB := newCSV("nginx-b-dep", testNamespace, "", semver.MustParse("0.1.0"), []apiextensions.CustomResourceDefinition{crd}, nil, depNamedStrategy)
1349+
// csvC provides CRD2 in the different catalogsource with csvA (apackage)
13151350
csvC := newCSV("nginx-c-dep", testNamespace, "", semver.MustParse("0.1.0"), []apiextensions.CustomResourceDefinition{crd2}, nil, depNamedStrategy2)
13161351

1317-
// Create PackageManifests
1352+
// Create PackageManifests 1
1353+
// Contain csvA, ABC and B
13181354
manifests := []registry.PackageManifest{
13191355
{
13201356
PackageName: packageName1,
@@ -1333,6 +1369,8 @@ var _ = Describe("Subscription", func() {
13331369
},
13341370
}
13351371

1372+
// Create PackageManifests 2
1373+
// Contain csvC
13361374
manifests2 := []registry.PackageManifest{
13371375
{
13381376
PackageName: packageName2,
@@ -1380,13 +1418,16 @@ var _ = Describe("Subscription", func() {
13801418
// Check that a single catalog source was used to resolve the InstallPlan
13811419
_, err = fetchInstallPlan(GinkgoT(), crClient, subscription.Status.InstallPlanRef.Name, buildInstallPlanPhaseCheckFunc(v1alpha1.InstallPlanPhaseComplete))
13821420
require.NoError(GinkgoT(), err)
1383-
// Fetch CSVs
1421+
// Fetch CSVs A, B and C
13841422
_, err = fetchCSV(GinkgoT(), crClient, csvB.Name, testNamespace, csvSucceededChecker)
13851423
require.NoError(GinkgoT(), err)
13861424
_, err = fetchCSV(GinkgoT(), crClient, csvC.Name, testNamespace, csvSucceededChecker)
13871425
require.NoError(GinkgoT(), err)
13881426
_, err = fetchCSV(GinkgoT(), crClient, csvA.Name, testNamespace, csvSucceededChecker)
13891427
require.NoError(GinkgoT(), err)
1428+
// Ensure csvABC is not installed
1429+
_, err = crClient.OperatorsV1alpha1().ClusterServiceVersions(testNamespace).Get(context.TODO(), csvABC.Name, metav1.GetOptions{})
1430+
require.Error(GinkgoT(), err)
13901431
})
13911432
})
13921433

0 commit comments

Comments
 (0)