diff options
Diffstat (limited to 'functionaltests/client/v1/functional/test_containers.py')
-rw-r--r-- | functionaltests/client/v1/functional/test_containers.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/functionaltests/client/v1/functional/test_containers.py b/functionaltests/client/v1/functional/test_containers.py index bdcd5a3..99c2688 100644 --- a/functionaltests/client/v1/functional/test_containers.py +++ b/functionaltests/client/v1/functional/test_containers.py @@ -251,6 +251,44 @@ class GenericContainersTestCase(BaseContainersTestCase): self.assertIsNotNone(container_entity.acls.read) self.assertEqual([], container_entity.acls.read.users) + @utils.parameterized_dataset({ + 'remove_one': [[{'name': 'ab', 'URL': 'http://c.d/e/1'}, + {'name': 'ab', 'URL': 'http://c.d/e/2'}], + [{'name': 'ab', 'URL': 'http://c.d/e/1'}]], + 'remove_all': [[{'name': 'ab', 'URL': 'http://c.d/e/1'}, + {'name': 'ab', 'URL': 'http://c.d/e/2'}], + [{'name': 'ab', 'URL': 'http://c.d/e/1'}, + {'name': 'ab', 'URL': 'http://c.d/e/2'}]] + }) + @testcase.attr('positive') + def test_container_create_and_registering_removing_consumers( + self, + register_consumers, + remove_consumers): + + new_container = self.barbicanclient.containers.create( + **create_container_defaults_data) + + container_ref = self.cleanup.add_entity(new_container) + self.assertIsNotNone(container_ref) + + for consumer in register_consumers: + container = self.barbicanclient.containers.register_consumer( + container_ref, consumer['name'], consumer['URL']) + self.assertEqual(container_ref, container.container_ref) + self.assertCountEqual(register_consumers, container.consumers) + + for consumer in remove_consumers: + self.barbicanclient.containers.remove_consumer( + container_ref, consumer['name'], consumer['URL']) + + container = self.barbicanclient.containers.get(container_ref) + + removed_urls = set([v['URL'] for v in remove_consumers]) + remaining_consumers = [v for v in register_consumers + if v['URL'] not in removed_urls] + self.assertCountEqual(remaining_consumers, container.consumers) + @utils.parameterized_test_case class RSAContainersTestCase(BaseContainersTestCase): |