Skip to content

Commit c8b8f5a

Browse files
dubeepadamstx
authored andcommitted
test: harden CM tests
1 parent e634a69 commit c8b8f5a

File tree

2 files changed

+44
-30
lines changed

2 files changed

+44
-30
lines changed

catalog_mgmt.env.enc

64 Bytes
Binary file not shown.

test/integration/test_catalog_management_v1.py

Lines changed: 44 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -23,20 +23,20 @@
2323
from ibm_platform_services.catalog_management_v1 import *
2424
import pytest
2525
from dotenv import load_dotenv
26+
import time
2627

2728
configFile = 'catalog_mgmt.env'
2829
configLoaded = None
29-
config = {}
3030

31+
timestamp = int(time.time())
3132
expectedAccount = '67d27f28d43948b2b3bda9138f251a13'
32-
expectedLabel = 'integration-test'
33+
expectedLabel = 'integration-test-{}'.format(timestamp)
3334
expectedShortDesc = 'test'
3435
expectedURL = 'https://cm.globalcatalog.test.cloud.ibm.com/api/v1-beta/catalogs/{}'
3536
expectedOfferingsURL = 'https://cm.globalcatalog.test.cloud.ibm.com/api/v1-beta/catalogs/{}/offerings'
3637
fakeName = 'bogus'
3738
fakeVersionLocator = 'bogus.bogus'
3839
expectedOfferingName = "test-offering"
39-
expectedLabel = "test"
4040
expectedOfferingURL = "https://cm.globalcatalog.test.cloud.ibm.com/api/v1-beta/catalogs/{}/offerings/{}"
4141

4242
if os.path.exists(configFile):
@@ -54,21 +54,29 @@ def setUpClass(self):
5454

5555
self.service = CatalogManagementV1.new_instance()
5656

57+
self.config = read_external_sources(CatalogManagementV1.DEFAULT_SERVICE_NAME)
58+
assert self.config is not None
59+
60+
self.gitToken = self.config.get('GIT_TOKEN')
61+
assert self.gitToken is not None
62+
5763
def setUp(self):
5864
result = self.service.list_catalogs().get_result()
5965

6066
if result is not None:
6167
resources = result.get('resources')
6268
for resource in resources:
63-
self.service.delete_catalog(catalog_identifier=resource.get('id'))
69+
if resource.get('label') == expectedLabel:
70+
self.service.delete_catalog(catalog_identifier=resource.get('id'))
6471

6572
def tearDown(self):
6673
result = self.service.list_catalogs().get_result()
6774

6875
if result is not None:
6976
resources = result.get('resources')
7077
for resource in resources:
71-
self.service.delete_catalog(catalog_identifier=resource.get('id'))
78+
if resource.get('label') == expectedLabel:
79+
self.service.delete_catalog(catalog_identifier=resource.get('id'))
7280

7381
def test_get_catalog_account(self):
7482
response = self.service.get_catalog_account()
@@ -90,44 +98,50 @@ def test_get_catalog_account_filters(self):
9098
assert response.get_status_code() == 200
9199

92100
result = response.get_result()
93-
assert len(result.get('account_filters')) == 1
94101
assert result.get('account_filters')[0].get('include_all') is True
95102
assert result.get('account_filters')[0].get('category_filters') is None
96103
assert result.get('account_filters')[0].get('id_filters') .get('include') is None
97104
assert result.get('account_filters')[0].get('id_filters') .get('exclude') is None
98-
assert result.get('catalog_filters') is None
99105

100106
def test_list_catalogs(self):
107+
catalogCount = 0
108+
catalogIndex = -1
109+
101110
createResponse = self.service.create_catalog(label=expectedLabel, short_description=expectedShortDesc)
102111
createResult = createResponse.get_result()
103112

104113
listResponse = self.service.list_catalogs()
105114

106115
self.service.delete_catalog(catalog_identifier=createResult.get('id'))
107116

117+
if listResponse.get_result() is not None:
118+
for i, resource in enumerate(listResponse.get_result().get('resources')):
119+
if resource.get('label') == expectedLabel:
120+
catalogCount = catalogCount + 1
121+
catalogIndex = i
122+
108123
assert listResponse is not None
109124
assert listResponse.get_status_code() == 200
110125

111126
listResult = listResponse.get_result()
112127
assert listResult.get('offset') == 0
113128
assert listResult.get('limit') == 0
114-
assert listResult.get('total_count') == 1
129+
assert catalogCount == 1
115130
assert listResult.get('last') is None
116131
assert listResult.get('prev') is None
117132
assert listResult.get('next') is None
118133

119134
resources = listResult.get('resources')
120135
assert resources is not None
121-
assert len(resources) == 1
122-
assert resources[0].get('label') == expectedLabel
123-
assert resources[0].get('short_description') == expectedShortDesc
124-
assert resources[0].get('url') == expectedURL.format(createResult.get('id'))
125-
assert resources[0].get('offerings_url') == expectedOfferingsURL.format(createResult.get('id'))
126-
assert resources[0].get('owning_account') == expectedAccount
127-
assert resources[0].get('catalog_filters').get('include_all') is False
128-
assert resources[0].get('catalog_filters').get('category_filters') is None
129-
assert resources[0].get('catalog_filters').get('id_filters').get('include') is None
130-
assert resources[0].get('catalog_filters').get('id_filters').get('exclude') is None
136+
assert resources[catalogIndex].get('label') == expectedLabel
137+
assert resources[catalogIndex].get('short_description') == expectedShortDesc
138+
assert resources[catalogIndex].get('url') == expectedURL.format(createResult.get('id'))
139+
assert resources[catalogIndex].get('offerings_url') == expectedOfferingsURL.format(createResult.get('id'))
140+
assert resources[catalogIndex].get('owning_account') == expectedAccount
141+
assert resources[catalogIndex].get('catalog_filters').get('include_all') is False
142+
assert resources[catalogIndex].get('catalog_filters').get('category_filters') is None
143+
assert resources[catalogIndex].get('catalog_filters').get('id_filters').get('include') is None
144+
assert resources[catalogIndex].get('catalog_filters').get('id_filters').get('exclude') is None
131145

132146
def test_create_catalog(self):
133147
response = self.service.create_catalog(label=expectedLabel, short_description=expectedShortDesc)
@@ -390,7 +404,7 @@ def test_import_offering(self):
390404
catalogResponse = self.service.create_catalog(label=expectedLabel, short_description=expectedShortDesc)
391405
catalogResult = catalogResponse.get_result()
392406

393-
offeringResponse = self.service.import_offering(catalog_identifier=catalogResult.get('id'), zipurl=expectedOfferingZipURL)
407+
offeringResponse = self.service.import_offering(catalog_identifier=catalogResult.get('id'), zipurl=expectedOfferingZipURL, x_auth_token=self.gitToken)
394408
offeringResult = offeringResponse.get_result()
395409

396410
self.service.delete_catalog(catalog_identifier=catalogResult.get('id'))
@@ -422,10 +436,10 @@ def test_import_offering_version(self):
422436
catalogResponse = self.service.create_catalog(label=expectedLabel, short_description=expectedShortDesc)
423437
catalogResult = catalogResponse.get_result()
424438

425-
offeringResponse = self.service.import_offering(catalog_identifier=catalogResult.get('id'), zipurl=expectedOfferingZipURL)
439+
offeringResponse = self.service.import_offering(catalog_identifier=catalogResult.get('id'), zipurl=expectedOfferingZipURL, x_auth_token=self.gitToken)
426440
offeringResult = offeringResponse.get_result()
427441

428-
versionResponse = self.service.import_offering_version(catalog_identifier=catalogResult.get('id'), offering_id=offeringResult.get('id'), zipurl=expectedOfferingZipURLUpdate)
442+
versionResponse = self.service.import_offering_version(catalog_identifier=catalogResult.get('id'), offering_id=offeringResult.get('id'), zipurl=expectedOfferingZipURLUpdate, x_auth_token=self.gitToken)
429443
versionResult = versionResponse.get_result()
430444

431445
self.service.delete_catalog(catalog_identifier=catalogResult.get('id'))
@@ -453,13 +467,13 @@ def test_import_offering_version_failure(self):
453467
createResult = createResponse.get_result()
454468

455469
with pytest.raises(ApiException) as e:
456-
self.service.import_offering_version(catalog_identifier=createResult.get('id'), offering_id=fakeName, zipurl=expectedOfferingZipURL)
470+
self.service.import_offering_version(catalog_identifier=createResult.get('id'), offering_id=fakeName, zipurl=expectedOfferingZipURL, x_auth_token=self.gitToken)
457471
assert e.value.code == 404
458472

459473
self.service.delete_catalog(catalog_identifier=createResult.get('id'))
460474

461475
with pytest.raises(ApiException) as e:
462-
self.service.import_offering_version(catalog_identifier=createResult.get('id'), offering_id=fakeName, zipurl=expectedOfferingZipURL)
476+
self.service.import_offering_version(catalog_identifier=createResult.get('id'), offering_id=fakeName, zipurl=expectedOfferingZipURL, x_auth_token=self.gitToken)
463477
assert e.value.code == 403
464478

465479
def test_reload_offering(self):
@@ -473,10 +487,10 @@ def test_reload_offering(self):
473487
catalogResponse = self.service.create_catalog(label=expectedLabel, short_description=expectedShortDesc)
474488
catalogResult = catalogResponse.get_result()
475489

476-
offeringResponse = self.service.import_offering(catalog_identifier=catalogResult.get('id'), zipurl=expectedOfferingZipURL)
490+
offeringResponse = self.service.import_offering(catalog_identifier=catalogResult.get('id'), zipurl=expectedOfferingZipURL, x_auth_token=self.gitToken)
477491
offeringResult = offeringResponse.get_result()
478492

479-
reloadResponse = self.service.reload_offering(catalog_identifier=catalogResult.get('id'), offering_id=offeringResult.get('id'), zipurl=expectedOfferingZipURL, target_version=expectedOfferingVersion)
493+
reloadResponse = self.service.reload_offering(catalog_identifier=catalogResult.get('id'), offering_id=offeringResult.get('id'), zipurl=expectedOfferingZipURL, target_version=expectedOfferingVersion, x_auth_token=self.gitToken)
480494
reloadResult = reloadResponse.get_result()
481495

482496
self.service.delete_catalog(catalog_identifier=catalogResult.get('id'))
@@ -523,7 +537,7 @@ def test_get_version(self):
523537
catalogResponse = self.service.create_catalog(label=expectedLabel, short_description=expectedShortDesc)
524538
catalogResult = catalogResponse.get_result()
525539

526-
offeringResponse = self.service.import_offering(catalog_identifier=catalogResult.get('id'), zipurl=expectedOfferingZipURL)
540+
offeringResponse = self.service.import_offering(catalog_identifier=catalogResult.get('id'), zipurl=expectedOfferingZipURL, x_auth_token=self.gitToken)
527541
offeringResult = offeringResponse.get_result()
528542

529543
reloadResponse = self.service.get_version(version_loc_id=offeringResult.get('kinds')[0].get('versions')[0].get('version_locator'))
@@ -556,7 +570,7 @@ def test_delete_version(self):
556570
catalogResponse = self.service.create_catalog(label=expectedLabel, short_description=expectedShortDesc)
557571
catalogResult = catalogResponse.get_result()
558572

559-
offeringResponse = self.service.import_offering(catalog_identifier=catalogResult.get('id'), zipurl=expectedOfferingZipURL)
573+
offeringResponse = self.service.import_offering(catalog_identifier=catalogResult.get('id'), zipurl=expectedOfferingZipURL, x_auth_token=self.gitToken)
560574
offeringResult = offeringResponse.get_result()
561575

562576
reloadResponse = self.service.delete_version(version_loc_id=offeringResult.get('kinds')[0].get('versions')[0].get('version_locator'))
@@ -577,7 +591,7 @@ def test_get_version_about(self):
577591
catalogResponse = self.service.create_catalog(label=expectedLabel, short_description=expectedShortDesc)
578592
catalogResult = catalogResponse.get_result()
579593

580-
offeringResponse = self.service.import_offering(catalog_identifier=catalogResult.get('id'), zipurl=expectedOfferingZipURL)
594+
offeringResponse = self.service.import_offering(catalog_identifier=catalogResult.get('id'), zipurl=expectedOfferingZipURL, x_auth_token=self.gitToken)
581595
offeringResult = offeringResponse.get_result()
582596

583597
getResponse = self.service.get_version_about(version_loc_id=offeringResult.get('kinds')[0].get('versions')[0].get('version_locator'))
@@ -602,10 +616,10 @@ def test_get_version_updates(self):
602616
catalogResponse = self.service.create_catalog(label=expectedLabel, short_description=expectedShortDesc)
603617
catalogResult = catalogResponse.get_result()
604618

605-
offeringResponse = self.service.import_offering(catalog_identifier=catalogResult.get('id'), zipurl=expectedOfferingZipURL)
619+
offeringResponse = self.service.import_offering(catalog_identifier=catalogResult.get('id'), zipurl=expectedOfferingZipURL, x_auth_token=self.gitToken)
606620
offeringResult = offeringResponse.get_result()
607621

608-
versionResponse = self.service.import_offering_version(catalog_identifier=catalogResult.get('id'), offering_id=offeringResult.get('id'), zipurl=expectedOfferingZipURLUpdate)
622+
versionResponse = self.service.import_offering_version(catalog_identifier=catalogResult.get('id'), offering_id=offeringResult.get('id'), zipurl=expectedOfferingZipURLUpdate, x_auth_token=self.gitToken)
609623
versionResult = versionResponse.get_result()
610624

611625
updateResponse = self.service.get_version_updates(version_loc_id=offeringResult.get('kinds')[0].get('versions')[0].get('version_locator'))

0 commit comments

Comments
 (0)