|
24 | 24 | from ibm_cloud_sdk_core.api_exception import ApiException |
25 | 25 | from ibm_secrets_manager_sdk.secrets_manager_v1 import * |
26 | 26 |
|
| 27 | +TEST_CASE_PREFIX = 'Python-SDK_' |
27 | 28 | secretsManager = SecretsManagerV1( |
28 | 29 | authenticator=IAMAuthenticator(apikey=os.environ.get('SECRETS_MANAGER_API_APIKEY'), url=os.environ.get('AUTH_URL')) |
29 | 30 | ) |
30 | 31 |
|
31 | 32 | secretsManager.set_service_url(os.environ.get('SERVICE_URL')) |
32 | 33 |
|
33 | 34 |
|
| 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 | + |
34 | 41 | class TestArbitrarySecret(unittest.TestCase): |
35 | 42 |
|
36 | 43 | def test_create_and_delete_secret(self): |
@@ -82,7 +89,7 @@ def test_create_and_delete_kv_secret(self): |
82 | 89 | assert response.status_code == 204 |
83 | 90 |
|
84 | 91 | def test_create_a_secret_with_the_same_name(self): |
85 | | - secretName = 'conflict_integration_test_secret' |
| 92 | + secretName = generate_name() |
86 | 93 | # create arbitrary secret |
87 | 94 | response = secretsManager.create_secret( |
88 | 95 | 'arbitrary', |
@@ -154,6 +161,22 @@ def test_create_configs_and_order_certificate(self): |
154 | 161 | assert response.status_code == 202 |
155 | 162 | secret_id = response.result['resources'][0]['id'] |
156 | 163 |
|
| 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 | + |
157 | 180 | def test_create_get_list_delete_configs(self): |
158 | 181 | ca_config_name = generate_name() + '-ca' |
159 | 182 |
|
@@ -335,10 +358,38 @@ def test_create_get_delete_secret(self): |
335 | 358 |
|
336 | 359 |
|
337 | 360 | def generate_name(): |
338 | | - return 'test-integration-' + str(int(time.time())) |
| 361 | + return TEST_CASE_PREFIX + 'test-integration-' + str(int(time.time())) |
339 | 362 |
|
340 | 363 |
|
341 | 364 | def generate_expiration_date(): |
342 | 365 | now = datetime.utcnow() |
343 | 366 | expiration = now.replace(year=now.year + 10) |
344 | 367 | 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