Skip to content

Commit daacad9

Browse files
authored
Merge pull request #22 from IBM/shacharn-2353-e2e-conflict
Add Cleanup to Tests and enable parallel test runs
2 parents 90a1843 + c7b0a8d commit daacad9

1 file changed

Lines changed: 53 additions & 2 deletions

File tree

test/integration/test_integration_secrets_manager_v1.py

Lines changed: 53 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,20 @@
2424
from ibm_cloud_sdk_core.api_exception import ApiException
2525
from ibm_secrets_manager_sdk.secrets_manager_v1 import *
2626

27+
TEST_CASE_PREFIX = 'Python-SDK_'
2728
secretsManager = SecretsManagerV1(
2829
authenticator=IAMAuthenticator(apikey=os.environ.get('SECRETS_MANAGER_API_APIKEY'), url=os.environ.get('AUTH_URL'))
2930
)
3031

3132
secretsManager.set_service_url(os.environ.get('SERVICE_URL'))
3233

3334

35+
def setUpModule():
36+
clear_secrets(secretsManager, TEST_CASE_PREFIX)
37+
clear_secret_groups(secretsManager, TEST_CASE_PREFIX)
38+
clear_configs(secretsManager, TEST_CASE_PREFIX)
39+
40+
3441
class TestArbitrarySecret(unittest.TestCase):
3542

3643
def test_create_and_delete_secret(self):
@@ -82,7 +89,7 @@ def test_create_and_delete_kv_secret(self):
8289
assert response.status_code == 204
8390

8491
def test_create_a_secret_with_the_same_name(self):
85-
secretName = 'conflict_integration_test_secret'
92+
secretName = generate_name()
8693
# create arbitrary secret
8794
response = secretsManager.create_secret(
8895
'arbitrary',
@@ -154,6 +161,22 @@ def test_create_configs_and_order_certificate(self):
154161
assert response.status_code == 202
155162
secret_id = response.result['resources'][0]['id']
156163

164+
response = secretsManager.delete_secret(
165+
'public_cert',
166+
secret_id
167+
)
168+
assert response.status_code == 204
169+
170+
response = secretsManager.delete_config_element(
171+
'public_cert', 'certificate_authorities', ca_config_name)
172+
173+
assert response.status_code == 204
174+
175+
response = secretsManager.delete_config_element(
176+
'public_cert', 'dns_providers', dns_config_name)
177+
178+
assert response.status_code == 204
179+
157180
def test_create_get_list_delete_configs(self):
158181
ca_config_name = generate_name() + '-ca'
159182

@@ -335,10 +358,38 @@ def test_create_get_delete_secret(self):
335358

336359

337360
def generate_name():
338-
return 'test-integration-' + str(int(time.time()))
361+
return TEST_CASE_PREFIX + 'test-integration-' + str(int(time.time()))
339362

340363

341364
def generate_expiration_date():
342365
now = datetime.utcnow()
343366
expiration = now.replace(year=now.year + 10)
344367
return expiration.isoformat('T') + 'Z'
368+
369+
370+
def clear_configs(secretsManager, prefix=''):
371+
response = secretsManager.get_config('public_cert')
372+
373+
for c in response.result['resources'][0]['certificate_authorities']:
374+
if prefix == '' or c['name'].startswith(prefix):
375+
secretsManager.delete_config_element('public_cert', 'certificate_authorities', c['name'])
376+
377+
for c in response.result['resources'][0]['dns_providers']:
378+
if prefix == '' or c['name'].startswith(prefix):
379+
secretsManager.delete_config_element('public_cert', 'dns_providers', c['name'])
380+
381+
382+
def clear_secrets(secretsManager, prefix=''):
383+
response = secretsManager.list_all_secrets()
384+
secrets = response.result['resources']
385+
for secret in secrets:
386+
if prefix == '' or secret["name"].startswith(prefix):
387+
secretsManager.delete_secret(secret['secret_type'], secret['id'])
388+
389+
390+
def clear_secret_groups(secretsManager, prefix=''):
391+
response = secretsManager.list_secret_groups()
392+
secretGroups = response.result['resources']
393+
for secretGroup in secretGroups:
394+
if prefix == '' or secretGroup['name'].startswith(prefix):
395+
secretsManager.delete_secret_group(secretGroup['id'])

0 commit comments

Comments
 (0)