diff options
Diffstat (limited to 'functionaltests/client/v1/functional/test_secrets.py')
-rw-r--r-- | functionaltests/client/v1/functional/test_secrets.py | 139 |
1 files changed, 96 insertions, 43 deletions
diff --git a/functionaltests/client/v1/functional/test_secrets.py b/functionaltests/client/v1/functional/test_secrets.py index 645094a..fbee75a 100644 --- a/functionaltests/client/v1/functional/test_secrets.py +++ b/functionaltests/client/v1/functional/test_secrets.py @@ -69,15 +69,21 @@ class SecretsTestCase(base.TestCase): self.cleanup.delete_all_entities() super(SecretsTestCase, self).tearDown() - @testcase.attr('positive') - def test_secret_create_defaults_check_content_types(self): - """Check that set content-type attribute is retained in metadata.""" - secret = self.barbicanclient.secrets.create( + def _create_test_secret(self): + """Helper module to create a secret withouth consumers""" + new_secret = self.barbicanclient.secrets.create( **secret_create_defaults_data) - secret_ref = self.cleanup.add_entity(secret) + secret_ref = self.cleanup.add_entity(new_secret) self.assertIsNotNone(secret_ref) + return secret_ref + + @testcase.attr('positive') + def test_secret_create_defaults_check_content_types(self): + """Check that set content-type attribute is retained in metadata.""" + secret_ref = self._create_test_secret() + resp = self.barbicanclient.secrets.get(secret_ref) content_types = resp.content_types self.assertIsNotNone(content_types) @@ -106,11 +112,7 @@ class SecretsTestCase(base.TestCase): By default, 'read' ACL settings are there for a secret. """ - test_model = self.barbicanclient.secrets.create( - **secret_create_defaults_data) - - secret_ref = self.cleanup.add_entity(test_model) - self.assertIsNotNone(secret_ref) + secret_ref = self._create_test_secret() secret_entity = self.barbicanclient.secrets.get(secret_ref) self.assertIsNotNone(secret_entity.acls) @@ -179,11 +181,7 @@ class SecretsTestCase(base.TestCase): in the register_consumers list, then remove each consumer in the remove_consumers list. """ - new_secret = self.barbicanclient.secrets.create( - **secret_create_defaults_data) - - secret_ref = self.cleanup.add_entity(new_secret) - self.assertIsNotNone(secret_ref) + secret_ref = self._create_test_secret() for consumer in register_consumers: secret = self.barbicanclient.secrets.register_consumer( @@ -231,11 +229,7 @@ class SecretsTestCase(base.TestCase): providing all of the required positional arguments (service, resource_type, resource_id). """ - new_secret = self.barbicanclient.secrets.create( - **secret_create_defaults_data) - - secret_ref = self.cleanup.add_entity(new_secret) - self.assertIsNotNone(secret_ref) + secret_ref = self._create_test_secret() for consumer in register_consumers: e = self.assertRaises( @@ -267,11 +261,7 @@ class SecretsTestCase(base.TestCase): providing all of the required positional arguments (service, resource_type, resource_id). """ - new_secret = self.barbicanclient.secrets.create( - **secret_create_defaults_data) - - secret_ref = self.cleanup.add_entity(new_secret) - self.assertIsNotNone(secret_ref) + secret_ref = self._create_test_secret() secret = self.barbicanclient.secrets.register_consumer( secret_ref, @@ -290,10 +280,7 @@ class SecretsTestCase(base.TestCase): @testcase.attr('positive') def test_secret_delete_without_consumers_no_force(self): - new_secret = self.barbicanclient.secrets.create( - **secret_create_defaults_data) - - secret_ref = self.cleanup.add_entity(new_secret) + secret_ref = self._create_test_secret() self.barbicanclient.secrets.delete(secret_ref, force=False) resp = self.barbicanclient.secrets.get(secret_ref) @@ -302,10 +289,7 @@ class SecretsTestCase(base.TestCase): @testcase.attr('positive') def test_secret_delete_without_consumers_with_force(self): - new_secret = self.barbicanclient.secrets.create( - **secret_create_defaults_data) - - secret_ref = self.cleanup.add_entity(new_secret) + secret_ref = self._create_test_secret() self.barbicanclient.secrets.delete(secret_ref, force=True) resp = self.barbicanclient.secrets.get(secret_ref) @@ -319,11 +303,7 @@ class SecretsTestCase(base.TestCase): Tries to delete a secret with consumers, but without providing the 'force' parameter. """ - new_secret = self.barbicanclient.secrets.create( - **secret_create_defaults_data) - - secret_ref = self.cleanup.add_entity(new_secret) - self.assertIsNotNone(secret_ref) + secret_ref = self._create_test_secret() secret = self.barbicanclient.secrets.register_consumer( secret_ref, @@ -346,11 +326,7 @@ class SecretsTestCase(base.TestCase): Tries to delete a secret with consumers, making the 'force' parameter equals True. """ - new_secret = self.barbicanclient.secrets.create( - **secret_create_defaults_data) - - secret_ref = self.cleanup.add_entity(new_secret) - self.assertIsNotNone(secret_ref) + secret_ref = self._create_test_secret() secret = self.barbicanclient.secrets.register_consumer( secret_ref, @@ -365,6 +341,83 @@ class SecretsTestCase(base.TestCase): self.assertRaises(exceptions.HTTPClientError, getattr, resp, "name") self.cleanup.delete_entity(secret_ref) + @testcase.attr('positive') + def test_consumers_list_secret_without_consumers(self): + """Lists consumers from a secret without consumers""" + secret_ref = self._create_test_secret() + + consumers_list = self.barbicanclient.secrets.list_consumers( + secret_ref) + self.assertTrue(len(consumers_list) == 0) + + self.cleanup.delete_entity(secret_ref) + self.barbicanclient.secrets.delete(secret_ref, True) + + @testcase.attr('positive') + def test_consumers_list_secret_with_consumers(self): + """Lists consumers from a secret with consumers""" + secret_ref = self._create_test_secret() + + consumers = [{ + 'service': 'service1', + 'resource_type': 'type1', + 'resource_id': 'id1'}, { + 'service': 'service2', + 'resource_type': 'type2', + 'resource_id': 'id2'}] + + for consumer in consumers: + _ = self.barbicanclient.secrets.register_consumer( + secret_ref, + service=consumer['service'], + resource_type=consumer['resource_type'], + resource_id=consumer['resource_id'] + ) + + consumers_list = self.barbicanclient.secrets.list_consumers( + secret_ref) + + for elem in range(len(consumers)): + self.assertTrue( + consumers_list[elem].service == + consumers[elem]['service']) + self.assertTrue( + consumers_list[elem].resource_type == + consumers[elem]['resource_type']) + self.assertTrue( + consumers_list[elem].resource_id == + consumers[elem]['resource_id']) + + self.cleanup.delete_entity(secret_ref) + self.barbicanclient.secrets.delete(secret_ref, True) + + @testcase.attr('negative') + def test_consumers_list_secret_doesnt_exist(self): + """Tries to list consumers from a non-existent secret""" + e = self.assertRaises(exceptions.HTTPClientError, + self.barbicanclient.secrets.list_consumers, + '9999999f-f99f-49f9-9fff-f99f999ff9ff') + + self.assertIn("Secret not found", str(e)) + + @testcase.attr('negative') + def test_consumers_list_secret_invalid_uuid(self): + """Tries to list consumers providing an invalid secret UUID""" + e = self.assertRaises(exceptions.HTTPClientError, + self.barbicanclient.secrets.list_consumers, + '9999999f-ffff-ffff-9fff-f99f999ff9ff') + + self.assertIn("Provided secret id is invalid.", str(e)) + + @testcase.attr('negative') + def test_consumers_list_invalid_secret(self): + """Tries to list consumers providing an invalid secret""" + e = self.assertRaises(ValueError, + self.barbicanclient.secrets.list_consumers, + 'abcde') + + self.assertIn("secret incorrectly specified.", str(e)) + @testcase.attr('negative') def test_secret_delete_doesnt_exist(self): """Deletes a non-existent secret. |