summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2017-07-27 02:25:41 +0000
committerGerrit Code Review <review@openstack.org>2017-07-27 02:25:41 +0000
commit11764eeb883bf6f39153a6225f4260213949c666 (patch)
treed6511d181816563a37a13eff51b3f7b600ff810a
parente97f0c89a80e4d2c241bbe1f0d4992f855ce6de6 (diff)
parent7cc0980232b1a9619e492f61f2233f19e7982fb7 (diff)
Merge "Add idempotent_id decorators to murano_tempest_tests"4.0.0.0b3
-rw-r--r--murano_tempest_tests/tests/api/application_catalog/artifacts/test_repository.py2
-rw-r--r--murano_tempest_tests/tests/api/application_catalog/artifacts/test_versioning.py3
-rw-r--r--murano_tempest_tests/tests/api/application_catalog/artifacts/test_versioning_negative.py1
-rw-r--r--murano_tempest_tests/tests/api/application_catalog/test_categories.py4
-rw-r--r--murano_tempest_tests/tests/api/application_catalog/test_categories_negative.py4
-rw-r--r--murano_tempest_tests/tests/api/application_catalog/test_env_templates.py10
-rw-r--r--murano_tempest_tests/tests/api/application_catalog/test_env_templates_negative.py9
-rw-r--r--murano_tempest_tests/tests/api/application_catalog/test_environments.py7
-rw-r--r--murano_tempest_tests/tests/api/application_catalog/test_environments_negative.py6
-rw-r--r--murano_tempest_tests/tests/api/application_catalog/test_repository.py7
-rw-r--r--murano_tempest_tests/tests/api/application_catalog/test_repository_negative.py12
-rw-r--r--murano_tempest_tests/tests/api/application_catalog/test_services.py6
-rw-r--r--murano_tempest_tests/tests/api/application_catalog/test_services_negative.py15
-rw-r--r--murano_tempest_tests/tests/api/application_catalog/test_sessions.py3
-rw-r--r--murano_tempest_tests/tests/api/application_catalog/test_sessions_negative.py9
-rw-r--r--murano_tempest_tests/tests/api/application_catalog/test_static_actions.py2
-rw-r--r--murano_tempest_tests/tests/api/application_catalog/test_static_actions_negative.py7
-rw-r--r--murano_tempest_tests/tests/api/service_broker/test_service_broker_actions.py5
-rw-r--r--murano_tempest_tests/tests/api/service_broker/test_service_broker_negative.py1
-rw-r--r--murano_tempest_tests/tests/scenario/application_catalog/test_cinder_volumes.py9
-rw-r--r--murano_tempest_tests/tests/scenario/application_catalog/test_deployment.py5
-rw-r--r--murano_tempest_tests/tests/scenario/application_catalog/test_security_groups.py3
-rw-r--r--tox.ini1
23 files changed, 131 insertions, 0 deletions
diff --git a/murano_tempest_tests/tests/api/application_catalog/artifacts/test_repository.py b/murano_tempest_tests/tests/api/application_catalog/artifacts/test_repository.py
index 04e7783..1b9a842 100644
--- a/murano_tempest_tests/tests/api/application_catalog/artifacts/test_repository.py
+++ b/murano_tempest_tests/tests/api/application_catalog/artifacts/test_repository.py
@@ -34,11 +34,13 @@ class TestRepositorySanity(base.BaseArtifactsTest):
34 super(TestRepositorySanity, cls).resource_setup() 34 super(TestRepositorySanity, cls).resource_setup()
35 35
36 @decorators.attr(type='smoke') 36 @decorators.attr(type='smoke')
37 @decorators.idempotent_id('2818aaa0-6613-4bd9-8abe-02713121357a')
37 def test_get_list_packages(self): 38 def test_get_list_packages(self):
38 package_list = self.artifacts_client.get_list_packages() 39 package_list = self.artifacts_client.get_list_packages()
39 self.assertIsInstance(package_list, list) 40 self.assertIsInstance(package_list, list)
40 41
41 @decorators.attr(type='smoke') 42 @decorators.attr(type='smoke')
43 @decorators.idempotent_id('bc717c98-5f6b-42a6-9131-43a711cfe848')
42 def test_upload_and_delete_package(self): 44 def test_upload_and_delete_package(self):
43 application_name = utils.generate_name('package_test_upload') 45 application_name = utils.generate_name('package_test_upload')
44 abs_archive_path, dir_with_archive, archive_name = \ 46 abs_archive_path, dir_with_archive, archive_name = \
diff --git a/murano_tempest_tests/tests/api/application_catalog/artifacts/test_versioning.py b/murano_tempest_tests/tests/api/application_catalog/artifacts/test_versioning.py
index ced0d8d..61f7916 100644
--- a/murano_tempest_tests/tests/api/application_catalog/artifacts/test_versioning.py
+++ b/murano_tempest_tests/tests/api/application_catalog/artifacts/test_versioning.py
@@ -65,6 +65,7 @@ class TestVersioning(base.BaseArtifactsTest):
65 super(TestVersioning, cls).resource_cleanup() 65 super(TestVersioning, cls).resource_cleanup()
66 66
67 @decorators.attr(type='smoke') 67 @decorators.attr(type='smoke')
68 @decorators.idempotent_id('03ee155c-d65f-4ea7-a00a-bdbc7105fc8b')
68 def test_availability_of_packages_with_different_versions(self): 69 def test_availability_of_packages_with_different_versions(self):
69 """Test availability of packages with different versions. 70 """Test availability of packages with different versions.
70 71
@@ -85,6 +86,7 @@ class TestVersioning(base.BaseArtifactsTest):
85 self.assertIn(self.packages['2.0.0']['id'], artifact_packages) 86 self.assertIn(self.packages['2.0.0']['id'], artifact_packages)
86 87
87 @decorators.attr(type='smoke') 88 @decorators.attr(type='smoke')
89 @decorators.idempotent_id('15c3a52d-cffe-4d03-82c2-31c9be8423d6')
88 def test_deploy_packages_with_different_versions(self): 90 def test_deploy_packages_with_different_versions(self):
89 """Test deployment of packages with different versions. 91 """Test deployment of packages with different versions.
90 92
@@ -127,6 +129,7 @@ class TestVersioning(base.BaseArtifactsTest):
127 self.assertEqual(deploy_result, 'ready') 129 self.assertEqual(deploy_result, 'ready')
128 130
129 @decorators.attr(type='smoke') 131 @decorators.attr(type='smoke')
132 @decorators.idempotent_id('2c472476-f9cd-424b-91ee-cbc770602bf3')
130 def test_deploy_package_with_required_package_version(self): 133 def test_deploy_package_with_required_package_version(self):
131 """Test deployment of package which requires package with present version. 134 """Test deployment of package which requires package with present version.
132 135
diff --git a/murano_tempest_tests/tests/api/application_catalog/artifacts/test_versioning_negative.py b/murano_tempest_tests/tests/api/application_catalog/artifacts/test_versioning_negative.py
index b6638f7..2279b1e 100644
--- a/murano_tempest_tests/tests/api/application_catalog/artifacts/test_versioning_negative.py
+++ b/murano_tempest_tests/tests/api/application_catalog/artifacts/test_versioning_negative.py
@@ -59,6 +59,7 @@ class TestVersioningNegative(base.BaseArtifactsTest):
59 super(TestVersioningNegative, cls).resource_cleanup() 59 super(TestVersioningNegative, cls).resource_cleanup()
60 60
61 @decorators.attr(type=['negative', 'smoke']) 61 @decorators.attr(type=['negative', 'smoke'])
62 @decorators.idempotent_id('c72fcd24-4694-4479-b550-bdd8cf0bd348')
62 def test_deploy_package_with_no_required_package_version(self): 63 def test_deploy_package_with_no_required_package_version(self):
63 """Test deployment of package which requires package with absent version. 64 """Test deployment of package which requires package with absent version.
64 65
diff --git a/murano_tempest_tests/tests/api/application_catalog/test_categories.py b/murano_tempest_tests/tests/api/application_catalog/test_categories.py
index 27b8477..cbd486a 100644
--- a/murano_tempest_tests/tests/api/application_catalog/test_categories.py
+++ b/murano_tempest_tests/tests/api/application_catalog/test_categories.py
@@ -42,11 +42,13 @@ class TestCategories(base.BaseApplicationCatalogIsolatedAdminTest):
42 super(TestCategories, cls).resource_cleanup() 42 super(TestCategories, cls).resource_cleanup()
43 43
44 @decorators.attr(type='smoke') 44 @decorators.attr(type='smoke')
45 @decorators.idempotent_id('4785781d-4bea-4559-939e-1c2fdf0dbec3')
45 def test_list_categories(self): 46 def test_list_categories(self):
46 categories_list = self.application_catalog_client.list_categories() 47 categories_list = self.application_catalog_client.list_categories()
47 self.assertIsInstance(categories_list, list) 48 self.assertIsInstance(categories_list, list)
48 49
49 @decorators.attr(type='smoke') 50 @decorators.attr(type='smoke')
51 @decorators.idempotent_id('c02841bc-3305-4e88-a733-696fb8690552')
50 def test_create_and_delete_category(self): 52 def test_create_and_delete_category(self):
51 name = utils.generate_name('create_and_delete_category') 53 name = utils.generate_name('create_and_delete_category')
52 categories_list = self.application_catalog_client.list_categories() 54 categories_list = self.application_catalog_client.list_categories()
@@ -65,12 +67,14 @@ class TestCategories(base.BaseApplicationCatalogIsolatedAdminTest):
65 category_names = [c['name'] for c in categories_list] 67 category_names = [c['name'] for c in categories_list]
66 self.assertNotIn(name, category_names) 68 self.assertNotIn(name, category_names)
67 69
70 @decorators.idempotent_id('c7931b7f-e811-4555-8ecc-84bea7885d96')
68 def test_get_category(self): 71 def test_get_category(self):
69 category = self.application_catalog_client.get_category( 72 category = self.application_catalog_client.get_category(
70 self.category['id']) 73 self.category['id'])
71 self.assertEqual(self.category['id'], category['id']) 74 self.assertEqual(self.category['id'], category['id'])
72 self.assertEqual(self.category['name'], category['name']) 75 self.assertEqual(self.category['name'], category['name'])
73 76
77 @decorators.idempotent_id('9b92705a-4203-4f02-9d6b-abc797c0eaac')
74 def test_add_package_to_new_category_and_remove_it_from_category(self): 78 def test_add_package_to_new_category_and_remove_it_from_category(self):
75 category = self.application_catalog_client.get_category( 79 category = self.application_catalog_client.get_category(
76 self.category['id']) 80 self.category['id'])
diff --git a/murano_tempest_tests/tests/api/application_catalog/test_categories_negative.py b/murano_tempest_tests/tests/api/application_catalog/test_categories_negative.py
index 87b61ca..4f5ecec 100644
--- a/murano_tempest_tests/tests/api/application_catalog/test_categories_negative.py
+++ b/murano_tempest_tests/tests/api/application_catalog/test_categories_negative.py
@@ -44,24 +44,28 @@ class TestCategoriesNegative(base.BaseApplicationCatalogIsolatedAdminTest):
44 super(TestCategoriesNegative, cls).resource_cleanup() 44 super(TestCategoriesNegative, cls).resource_cleanup()
45 45
46 @decorators.attr(type='negative') 46 @decorators.attr(type='negative')
47 @decorators.idempotent_id('20fe075f-7d07-462e-bfbc-3032b5367207')
47 def test_delete_category_by_incorrect_id(self): 48 def test_delete_category_by_incorrect_id(self):
48 self.assertRaises(exceptions.NotFound, 49 self.assertRaises(exceptions.NotFound,
49 self.application_catalog_client.delete_category, 50 self.application_catalog_client.delete_category,
50 utils.generate_uuid()) 51 utils.generate_uuid())
51 52
52 @decorators.attr(type='negative') 53 @decorators.attr(type='negative')
54 @decorators.idempotent_id('e655365b-ec8b-49da-8745-5c80b1f5e65b')
53 def test_get_category_by_incorrect_id(self): 55 def test_get_category_by_incorrect_id(self):
54 self.assertRaises(exceptions.NotFound, 56 self.assertRaises(exceptions.NotFound,
55 self.application_catalog_client.get_category, 57 self.application_catalog_client.get_category,
56 utils.generate_uuid()) 58 utils.generate_uuid())
57 59
58 @decorators.attr(type='negative') 60 @decorators.attr(type='negative')
61 @decorators.idempotent_id('c4948d0f-3530-419c-8017-1ee8bbc29dee')
59 def test_create_category_with_same_name(self): 62 def test_create_category_with_same_name(self):
60 self.assertRaises(exceptions.Conflict, 63 self.assertRaises(exceptions.Conflict,
61 self.application_catalog_client.create_category, 64 self.application_catalog_client.create_category,
62 self.category['name']) 65 self.category['name'])
63 66
64 @decorators.attr(type='negative') 67 @decorators.attr(type='negative')
68 @decorators.idempotent_id('2bdce780-96dc-46d6-a28e-cdcf768359ae')
65 def test_delete_category_with_package(self): 69 def test_delete_category_with_package(self):
66 self.assertRaises(exceptions.Forbidden, 70 self.assertRaises(exceptions.Forbidden,
67 self.application_catalog_client.delete_category, 71 self.application_catalog_client.delete_category,
diff --git a/murano_tempest_tests/tests/api/application_catalog/test_env_templates.py b/murano_tempest_tests/tests/api/application_catalog/test_env_templates.py
index 5c6947e..436747a 100644
--- a/murano_tempest_tests/tests/api/application_catalog/test_env_templates.py
+++ b/murano_tempest_tests/tests/api/application_catalog/test_env_templates.py
@@ -21,12 +21,14 @@ from murano_tempest_tests import utils
21 21
22class TestEnvironmentTemplatesSanity(base.BaseApplicationCatalogTest): 22class TestEnvironmentTemplatesSanity(base.BaseApplicationCatalogTest):
23 23
24 @decorators.idempotent_id('c13f9799-ed80-463f-8275-6bba62933226')
24 def test_list_empty_env_templates(self): 25 def test_list_empty_env_templates(self):
25 templates_list = self.application_catalog_client.\ 26 templates_list = self.application_catalog_client.\
26 get_env_templates_list() 27 get_env_templates_list()
27 self.assertIsInstance(templates_list, list) 28 self.assertIsInstance(templates_list, list)
28 29
29 @decorators.attr(type='smoke') 30 @decorators.attr(type='smoke')
31 @decorators.idempotent_id('15363b15-c350-40b9-a96b-de8d7a56a185')
30 def test_create_and_delete_env_template(self): 32 def test_create_and_delete_env_template(self):
31 name = utils.generate_name('create_and_delete_env_template') 33 name = utils.generate_name('create_and_delete_env_template')
32 env_template = self.application_catalog_client.\ 34 env_template = self.application_catalog_client.\
@@ -65,11 +67,13 @@ class TestEnvironmentTemplates(base.BaseApplicationCatalogTest):
65 delete_env_template(cls.env_template['id']) 67 delete_env_template(cls.env_template['id'])
66 super(TestEnvironmentTemplates, cls).resource_cleanup() 68 super(TestEnvironmentTemplates, cls).resource_cleanup()
67 69
70 @decorators.idempotent_id('3821a826-2d14-4287-b56b-4a022bca9044')
68 def test_get_env_template(self): 71 def test_get_env_template(self):
69 env_template = self.application_catalog_client.\ 72 env_template = self.application_catalog_client.\
70 get_env_template(self.env_template['id']) 73 get_env_template(self.env_template['id'])
71 self.assertEqual(self.env_template['name'], env_template['name']) 74 self.assertEqual(self.env_template['name'], env_template['name'])
72 75
76 @decorators.idempotent_id('c7f77fa4-cdc3-45b7-a013-668668da0c8e')
73 def test_create_env_template_with_a_service(self): 77 def test_create_env_template_with_a_service(self):
74 name = utils.generate_name('create_env_template_with_service') 78 name = utils.generate_name('create_env_template_with_service')
75 post_body = self._get_demo_app() 79 post_body = self._get_demo_app()
@@ -83,6 +87,7 @@ class TestEnvironmentTemplates(base.BaseApplicationCatalogTest):
83 self.assertIn(post_body, list_services) 87 self.assertIn(post_body, list_services)
84 88
85 @decorators.attr(type='smoke') 89 @decorators.attr(type='smoke')
90 @decorators.idempotent_id('be1be6c8-b882-4b17-9221-4b88c71d8d31')
86 def test_add_and_remove_service_in_env_templates(self): 91 def test_add_and_remove_service_in_env_templates(self):
87 env_template_services = self.application_catalog_client.\ 92 env_template_services = self.application_catalog_client.\
88 get_services_list_in_env_template(self.env_template['id']) 93 get_services_list_in_env_template(self.env_template['id'])
@@ -102,6 +107,7 @@ class TestEnvironmentTemplates(base.BaseApplicationCatalogTest):
102 self.assertNotIn(service, services) 107 self.assertNotIn(service, services)
103 108
104 @decorators.attr(type='smoke') 109 @decorators.attr(type='smoke')
110 @decorators.idempotent_id('4c409154-f848-42b5-99e4-3d1352d0cf3f')
105 def test_update_service_in_env_templates(self): 111 def test_update_service_in_env_templates(self):
106 env_template_services = self.application_catalog_client.\ 112 env_template_services = self.application_catalog_client.\
107 get_services_list_in_env_template(self.env_template['id']) 113 get_services_list_in_env_template(self.env_template['id'])
@@ -117,6 +123,7 @@ class TestEnvironmentTemplates(base.BaseApplicationCatalogTest):
117 post_body) 123 post_body)
118 self.assertEqual("updated_name", service['name']) 124 self.assertEqual("updated_name", service['name'])
119 125
126 @decorators.idempotent_id('1fe4b071-8c1f-434a-bb37-0712879df931')
120 def test_create_public_env_template(self): 127 def test_create_public_env_template(self):
121 name = utils.generate_name('create_public_env_template') 128 name = utils.generate_name('create_public_env_template')
122 env_template = self.application_catalog_client.\ 129 env_template = self.application_catalog_client.\
@@ -128,6 +135,7 @@ class TestEnvironmentTemplates(base.BaseApplicationCatalogTest):
128 get_env_template(env_template['id']) 135 get_env_template(env_template['id'])
129 self.assertTrue(env_temp['is_public']) 136 self.assertTrue(env_temp['is_public'])
130 137
138 @decorators.idempotent_id('1c79c1dc-c4ff-42d7-9382-6d523f2d9f5b')
131 def test_clone_env_template(self): 139 def test_clone_env_template(self):
132 name = utils.generate_name('clone_env_template') 140 name = utils.generate_name('clone_env_template')
133 cloned_template = self.alt_client.\ 141 cloned_template = self.alt_client.\
@@ -138,6 +146,7 @@ class TestEnvironmentTemplates(base.BaseApplicationCatalogTest):
138 template = self.alt_client.get_env_template(cloned_template['id']) 146 template = self.alt_client.get_env_template(cloned_template['id'])
139 self.assertEqual(name, template['name']) 147 self.assertEqual(name, template['name'])
140 148
149 @decorators.idempotent_id('98f889cf-de5e-4cda-a97e-f2eff3b471ce')
141 def test_get_public_private_both_env_templates(self): 150 def test_get_public_private_both_env_templates(self):
142 name = utils.generate_name('get_public_private_both') 151 name = utils.generate_name('get_public_private_both')
143 public_env_template = self.application_catalog_client.\ 152 public_env_template = self.application_catalog_client.\
@@ -225,6 +234,7 @@ class TestEnvironmentTemplates(base.BaseApplicationCatalogTest):
225 self.assertIn(private_alt_env_template, alt_env_templates) 234 self.assertIn(private_alt_env_template, alt_env_templates)
226 235
227 @decorators.attr(type='smoke') 236 @decorators.attr(type='smoke')
237 @decorators.idempotent_id('f7524a15-a4ad-43a5-bcb2-784fd515eb59')
228 def test_create_env_from_template(self): 238 def test_create_env_from_template(self):
229 name = utils.generate_name('create_env_from_template') 239 name = utils.generate_name('create_env_from_template')
230 env_template = self.application_catalog_client.\ 240 env_template = self.application_catalog_client.\
diff --git a/murano_tempest_tests/tests/api/application_catalog/test_env_templates_negative.py b/murano_tempest_tests/tests/api/application_catalog/test_env_templates_negative.py
index 6d4f854..85c6d00 100644
--- a/murano_tempest_tests/tests/api/application_catalog/test_env_templates_negative.py
+++ b/murano_tempest_tests/tests/api/application_catalog/test_env_templates_negative.py
@@ -41,24 +41,28 @@ class TestEnvironmentTemplatesNegative(base.BaseApplicationCatalogTest):
41 super(TestEnvironmentTemplatesNegative, cls).resource_cleanup() 41 super(TestEnvironmentTemplatesNegative, cls).resource_cleanup()
42 42
43 @decorators.attr(type='negative') 43 @decorators.attr(type='negative')
44 @decorators.idempotent_id('022d0889-c5b3-4853-934f-533b43dfa89f')
44 def test_clone_env_template_private(self): 45 def test_clone_env_template_private(self):
45 self.assertRaises(exceptions.Forbidden, 46 self.assertRaises(exceptions.Forbidden,
46 self.alt_client.clone_env_template, 47 self.alt_client.clone_env_template,
47 self.env_template['id'], 'cloned_template') 48 self.env_template['id'], 'cloned_template')
48 49
49 @decorators.attr(type='negative') 50 @decorators.attr(type='negative')
51 @decorators.idempotent_id('1132afa7-6965-4f48-a4ed-aeedba25ad8c')
50 def test_delete_environment_with_wrong_env_id(self): 52 def test_delete_environment_with_wrong_env_id(self):
51 self.assertRaises(exceptions.NotFound, 53 self.assertRaises(exceptions.NotFound,
52 self.application_catalog_client.delete_env_template, 54 self.application_catalog_client.delete_env_template,
53 None) 55 None)
54 56
55 @decorators.attr(type='negative') 57 @decorators.attr(type='negative')
58 @decorators.idempotent_id('a344b0be-d07d-4dfe-916d-900d93e44425')
56 def test_create_environment_with_wrong_payload(self): 59 def test_create_environment_with_wrong_payload(self):
57 self.assertRaises(exceptions.BadRequest, 60 self.assertRaises(exceptions.BadRequest,
58 self.application_catalog_client.create_env_template, 61 self.application_catalog_client.create_env_template,
59 ' ') 62 ' ')
60 63
61 @decorators.attr(type='negative') 64 @decorators.attr(type='negative')
65 @decorators.idempotent_id('fa2efa91-75c0-430f-942d-f52fe208cb16')
62 def test_double_delete_env_template(self): 66 def test_double_delete_env_template(self):
63 name = utils.generate_name('double_delete_env_template') 67 name = utils.generate_name('double_delete_env_template')
64 env_template = self.application_catalog_client.\ 68 env_template = self.application_catalog_client.\
@@ -70,6 +74,7 @@ class TestEnvironmentTemplatesNegative(base.BaseApplicationCatalogTest):
70 env_template['id']) 74 env_template['id'])
71 75
72 @decorators.attr(type='negative') 76 @decorators.attr(type='negative')
77 @decorators.idempotent_id('3641cfa9-e74e-4e74-af09-6d0c7d4634fc')
73 def test_get_deleted_env_template(self): 78 def test_get_deleted_env_template(self):
74 name = utils.generate_name('get_deleted_env_template') 79 name = utils.generate_name('get_deleted_env_template')
75 env_template = self.application_catalog_client.\ 80 env_template = self.application_catalog_client.\
@@ -81,12 +86,14 @@ class TestEnvironmentTemplatesNegative(base.BaseApplicationCatalogTest):
81 env_template['id']) 86 env_template['id'])
82 87
83 @decorators.attr(type='negative') 88 @decorators.attr(type='negative')
89 @decorators.idempotent_id('106fe373-8232-4fb4-870f-290ffa3b475b')
84 def test_create_environment_template_with_same_name(self): 90 def test_create_environment_template_with_same_name(self):
85 self.assertRaises(exceptions.Conflict, 91 self.assertRaises(exceptions.Conflict,
86 self.application_catalog_client.create_env_template, 92 self.application_catalog_client.create_env_template,
87 self.name) 93 self.name)
88 94
89 @decorators.attr(type='negative') 95 @decorators.attr(type='negative')
96 @decorators.idempotent_id('07f56f09-3ca4-4d2a-8713-6306f2c3c4f8')
90 def test_create_env_from_template_witch_existing_name(self): 97 def test_create_env_from_template_witch_existing_name(self):
91 self.assertRaises(exceptions.Conflict, 98 self.assertRaises(exceptions.Conflict,
92 self.application_catalog_client. 99 self.application_catalog_client.
@@ -112,12 +119,14 @@ class TestEnvTemplatesTenantIsolation(base.BaseApplicationCatalogTest):
112 super(TestEnvTemplatesTenantIsolation, cls).resource_cleanup() 119 super(TestEnvTemplatesTenantIsolation, cls).resource_cleanup()
113 120
114 @decorators.attr(type='negative') 121 @decorators.attr(type='negative')
122 @decorators.idempotent_id('bdf6febf-51aa-4b0a-b0e8-645e4df2531c')
115 def test_get_env_template_from_another_tenant(self): 123 def test_get_env_template_from_another_tenant(self):
116 self.assertRaises(exceptions.Forbidden, 124 self.assertRaises(exceptions.Forbidden,
117 self.alt_client.get_env_template, 125 self.alt_client.get_env_template,
118 self.env_template['id']) 126 self.env_template['id'])
119 127
120 @decorators.attr(type='negative') 128 @decorators.attr(type='negative')
129 @decorators.idempotent_id('b664b388-489f-4036-918a-18fa34a2a04e')
121 def test_delete_env_template_from_another_tenant(self): 130 def test_delete_env_template_from_another_tenant(self):
122 self.assertRaises(exceptions.Forbidden, 131 self.assertRaises(exceptions.Forbidden,
123 self.alt_client.delete_env_template, 132 self.alt_client.delete_env_template,
diff --git a/murano_tempest_tests/tests/api/application_catalog/test_environments.py b/murano_tempest_tests/tests/api/application_catalog/test_environments.py
index 50c5469..6aabcb7 100644
--- a/murano_tempest_tests/tests/api/application_catalog/test_environments.py
+++ b/murano_tempest_tests/tests/api/application_catalog/test_environments.py
@@ -34,12 +34,14 @@ class TestEnvironments(base.BaseApplicationCatalogTest):
34 super(TestEnvironments, cls).resource_cleanup() 34 super(TestEnvironments, cls).resource_cleanup()
35 35
36 @decorators.attr(type='smoke') 36 @decorators.attr(type='smoke')
37 @decorators.idempotent_id('32f26f2e-6c55-4e83-9d8c-023d86299d3e')
37 def test_list_environments(self): 38 def test_list_environments(self):
38 environments_list = self.application_catalog_client.\ 39 environments_list = self.application_catalog_client.\
39 get_environments_list() 40 get_environments_list()
40 self.assertIsInstance(environments_list, list) 41 self.assertIsInstance(environments_list, list)
41 42
42 @decorators.attr(type='smoke') 43 @decorators.attr(type='smoke')
44 @decorators.idempotent_id('a4c0b2fd-2c1b-473c-80cc-d433ceec4c80')
43 def test_create_and_delete_environment(self): 45 def test_create_and_delete_environment(self):
44 environments_list = self.application_catalog_client.\ 46 environments_list = self.application_catalog_client.\
45 get_environments_list() 47 get_environments_list()
@@ -56,6 +58,7 @@ class TestEnvironments(base.BaseApplicationCatalogTest):
56 self.assertEqual(len(environments_list), 58 self.assertEqual(len(environments_list),
57 len(upd_environments_list)) 59 len(upd_environments_list))
58 60
61 @decorators.idempotent_id('52a06d5f-69e4-4184-a127-1bb13ce6dc7c')
59 def test_create_and_delete_environment_with_unicode_name(self): 62 def test_create_and_delete_environment_with_unicode_name(self):
60 environments_list = self.application_catalog_client.\ 63 environments_list = self.application_catalog_client.\
61 get_environments_list() 64 get_environments_list()
@@ -72,17 +75,20 @@ class TestEnvironments(base.BaseApplicationCatalogTest):
72 self.assertEqual(len(environments_list), 75 self.assertEqual(len(environments_list),
73 len(upd_environments_list)) 76 len(upd_environments_list))
74 77
78 @decorators.idempotent_id('2b45d30b-3f1d-4482-805e-7cf15d19fe38')
75 def test_get_environment(self): 79 def test_get_environment(self):
76 environment = self.application_catalog_client.\ 80 environment = self.application_catalog_client.\
77 get_environment(self.environment['id']) 81 get_environment(self.environment['id'])
78 self.assertEqual(self.environment['name'], environment['name']) 82 self.assertEqual(self.environment['name'], environment['name'])
79 83
80 @decorators.attr(type='smoke') 84 @decorators.attr(type='smoke')
85 @decorators.idempotent_id('950f5bc1-3e5c-48d1-8b05-dc33303ce6f3')
81 def test_update_environment(self): 86 def test_update_environment(self):
82 environment = self.application_catalog_client.\ 87 environment = self.application_catalog_client.\
83 update_environment(self.environment['id']) 88 update_environment(self.environment['id'])
84 self.assertIsNot(self.environment['name'], environment['name']) 89 self.assertIsNot(self.environment['name'], environment['name'])
85 90
91 @decorators.idempotent_id('61001866-e885-4dda-9ac9-5b24c67a0e25')
86 def test_get_environment_model(self): 92 def test_get_environment_model(self):
87 model = self.application_catalog_client.\ 93 model = self.application_catalog_client.\
88 get_environment_model(self.environment['id']) 94 get_environment_model(self.environment['id'])
@@ -97,6 +103,7 @@ class TestEnvironments(base.BaseApplicationCatalogTest):
97 self.assertEqual("{0}-network".format(self.environment['name']), 103 self.assertEqual("{0}-network".format(self.environment['name']),
98 net_name) 104 net_name)
99 105
106 @decorators.idempotent_id('23416978-9701-49ff-9bb1-d312292a7f49')
100 def test_update_environment_model(self): 107 def test_update_environment_model(self):
101 session = self.application_catalog_client. \ 108 session = self.application_catalog_client. \
102 create_session(self.environment['id']) 109 create_session(self.environment['id'])
diff --git a/murano_tempest_tests/tests/api/application_catalog/test_environments_negative.py b/murano_tempest_tests/tests/api/application_catalog/test_environments_negative.py
index 624fcac..3f79a34 100644
--- a/murano_tempest_tests/tests/api/application_catalog/test_environments_negative.py
+++ b/murano_tempest_tests/tests/api/application_catalog/test_environments_negative.py
@@ -22,12 +22,14 @@ from murano_tempest_tests import utils
22class TestEnvironmentsNegative(base.BaseApplicationCatalogTest): 22class TestEnvironmentsNegative(base.BaseApplicationCatalogTest):
23 23
24 @decorators.attr(type='negative') 24 @decorators.attr(type='negative')
25 @decorators.idempotent_id('9e245625-ce24-4068-916e-20a5608f6d5a')
25 def test_delete_environment_with_wrong_env_id(self): 26 def test_delete_environment_with_wrong_env_id(self):
26 self.assertRaises(exceptions.NotFound, 27 self.assertRaises(exceptions.NotFound,
27 self.application_catalog_client.delete_environment, 28 self.application_catalog_client.delete_environment,
28 utils.generate_uuid()) 29 utils.generate_uuid())
29 30
30 @decorators.attr(type='negative') 31 @decorators.attr(type='negative')
32 @decorators.idempotent_id('1dae123c-27f4-4996-871e-31c66f76ee49')
31 def test_double_delete_environment(self): 33 def test_double_delete_environment(self):
32 name = utils.generate_name('double_del_negavive') 34 name = utils.generate_name('double_del_negavive')
33 environment = self.application_catalog_client.\ 35 environment = self.application_catalog_client.\
@@ -38,6 +40,7 @@ class TestEnvironmentsNegative(base.BaseApplicationCatalogTest):
38 environment['id']) 40 environment['id'])
39 41
40 @decorators.attr(type='negative') 42 @decorators.attr(type='negative')
43 @decorators.idempotent_id('a8032052-5a48-48f0-b333-d1cefcfcbf5f')
41 def test_get_deleted_environment(self): 44 def test_get_deleted_environment(self):
42 name = utils.generate_name('double_del_negavive') 45 name = utils.generate_name('double_del_negavive')
43 environment = self.application_catalog_client.\ 46 environment = self.application_catalog_client.\
@@ -66,18 +69,21 @@ class TestEnvironmentNegativeTenantIsolation(base.BaseApplicationCatalogTest):
66 super(TestEnvironmentNegativeTenantIsolation, cls).resource_cleanup() 69 super(TestEnvironmentNegativeTenantIsolation, cls).resource_cleanup()
67 70
68 @decorators.attr(type='negative') 71 @decorators.attr(type='negative')
72 @decorators.idempotent_id('0fc96a16-5df9-48b9-a681-ba5b3730e95b')
69 def test_get_environment_from_another_tenant(self): 73 def test_get_environment_from_another_tenant(self):
70 self.assertRaises(exceptions.Forbidden, 74 self.assertRaises(exceptions.Forbidden,
71 self.alt_client.get_environment, 75 self.alt_client.get_environment,
72 self.environment['id']) 76 self.environment['id'])
73 77
74 @decorators.attr(type='negative') 78 @decorators.attr(type='negative')
79 @decorators.idempotent_id('d3c6dc81-ed60-4346-869c-0a091c2fe5b8')
75 def test_update_environment_from_another_tenant(self): 80 def test_update_environment_from_another_tenant(self):
76 self.assertRaises(exceptions.Forbidden, 81 self.assertRaises(exceptions.Forbidden,
77 self.alt_client.update_environment, 82 self.alt_client.update_environment,
78 self.environment['id']) 83 self.environment['id'])
79 84
80 @decorators.attr(type='negative') 85 @decorators.attr(type='negative')
86 @decorators.idempotent_id('56aea1db-9314-4558-8b97-5fcd35fd6955')
81 def test_delete_environment_from_another_tenant(self): 87 def test_delete_environment_from_another_tenant(self):
82 self.assertRaises(exceptions.Forbidden, 88 self.assertRaises(exceptions.Forbidden,
83 self.alt_client.delete_environment, 89 self.alt_client.delete_environment,
diff --git a/murano_tempest_tests/tests/api/application_catalog/test_repository.py b/murano_tempest_tests/tests/api/application_catalog/test_repository.py
index 75a6afe..54ff7f7 100644
--- a/murano_tempest_tests/tests/api/application_catalog/test_repository.py
+++ b/murano_tempest_tests/tests/api/application_catalog/test_repository.py
@@ -34,11 +34,13 @@ class TestRepositorySanity(base.BaseApplicationCatalogTest):
34 super(TestRepositorySanity, cls).resource_setup() 34 super(TestRepositorySanity, cls).resource_setup()
35 35
36 @decorators.attr(type='smoke') 36 @decorators.attr(type='smoke')
37 @decorators.idempotent_id('d0f3ad6c-70b4-4ce0-90c5-e7afb20ace80')
37 def test_get_list_packages(self): 38 def test_get_list_packages(self):
38 package_list = self.application_catalog_client.get_list_packages() 39 package_list = self.application_catalog_client.get_list_packages()
39 self.assertIsInstance(package_list, list) 40 self.assertIsInstance(package_list, list)
40 41
41 @decorators.attr(type='smoke') 42 @decorators.attr(type='smoke')
43 @decorators.idempotent_id('53f679d9-955f-4dc1-8cdc-1fcdcfbb07a5')
42 def test_upload_and_delete_package(self): 44 def test_upload_and_delete_package(self):
43 application_name = utils.generate_name('package_test_upload') 45 application_name = utils.generate_name('package_test_upload')
44 abs_archive_path, dir_with_archive, archive_name = \ 46 abs_archive_path, dir_with_archive, archive_name = \
@@ -78,12 +80,14 @@ class TestRepository(base.BaseApplicationCatalogIsolatedAdminTest):
78 cls.application_catalog_client.delete_package(cls.package['id']) 80 cls.application_catalog_client.delete_package(cls.package['id'])
79 super(TestRepository, cls).resource_cleanup() 81 super(TestRepository, cls).resource_cleanup()
80 82
83 @decorators.idempotent_id('5ea58ef1-1a63-403d-a57a-ef4423202993')
81 def test_get_package(self): 84 def test_get_package(self):
82 package = self.application_catalog_client.get_package( 85 package = self.application_catalog_client.get_package(
83 self.package['id']) 86 self.package['id'])
84 self.assertEqual(self.package['tags'], package['tags']) 87 self.assertEqual(self.package['tags'], package['tags'])
85 88
86 @decorators.attr(type='smoke') 89 @decorators.attr(type='smoke')
90 @decorators.idempotent_id('daf5694d-abbf-4ab1-a6df-99540d0efc70')
87 def test_update_package(self): 91 def test_update_package(self):
88 post_body = [ 92 post_body = [
89 { 93 {
@@ -170,11 +174,14 @@ class TestRepository(base.BaseApplicationCatalogIsolatedAdminTest):
170 self.package['id'], post_body) 174 self.package['id'], post_body)
171 self.assertEqual("New name", result['name']) 175 self.assertEqual("New name", result['name'])
172 176
177 @decorators.idempotent_id('fe4711ba-d1ee-4291-8a48-f8efcbd480ab')
173 def test_download_package(self): 178 def test_download_package(self):
174 self.application_catalog_client.download_package(self.package['id']) 179 self.application_catalog_client.download_package(self.package['id'])
175 180
181 @decorators.idempotent_id('1c017c1b-9efc-4498-95ff-833a9ce565a0')
176 def test_get_ui_definitions(self): 182 def test_get_ui_definitions(self):
177 self.application_catalog_client.get_ui_definition(self.package['id']) 183 self.application_catalog_client.get_ui_definition(self.package['id'])
178 184
185 @decorators.idempotent_id('9f5ee28a-cec7-4d8b-a0fd-affbfceb0fc2')
179 def test_get_logo(self): 186 def test_get_logo(self):
180 self.application_catalog_client.get_logo(self.package['id']) 187 self.application_catalog_client.get_logo(self.package['id'])
diff --git a/murano_tempest_tests/tests/api/application_catalog/test_repository_negative.py b/murano_tempest_tests/tests/api/application_catalog/test_repository_negative.py
index 6919b68..98d5cdc 100644
--- a/murano_tempest_tests/tests/api/application_catalog/test_repository_negative.py
+++ b/murano_tempest_tests/tests/api/application_catalog/test_repository_negative.py
@@ -34,6 +34,7 @@ class TestRepositoryNegativeNotFound(base.BaseApplicationCatalogTest):
34 super(TestRepositoryNegativeNotFound, cls).resource_setup() 34 super(TestRepositoryNegativeNotFound, cls).resource_setup()
35 35
36 @decorators.attr(type='negative') 36 @decorators.attr(type='negative')
37 @decorators.idempotent_id('49c557f4-789c-4d9c-8f48-0ba6bea4f234')
37 def test_update_package_with_incorrect_id(self): 38 def test_update_package_with_incorrect_id(self):
38 39
39 post_body = [ 40 post_body = [
@@ -49,30 +50,35 @@ class TestRepositoryNegativeNotFound(base.BaseApplicationCatalogTest):
49 utils.generate_uuid(), post_body) 50 utils.generate_uuid(), post_body)
50 51
51 @decorators.attr(type='negative') 52 @decorators.attr(type='negative')
53 @decorators.idempotent_id('72590141-5046-424a-bed2-17e7b7aabd9a')
52 def test_get_package_with_incorrect_id(self): 54 def test_get_package_with_incorrect_id(self):
53 self.assertRaises(exceptions.NotFound, 55 self.assertRaises(exceptions.NotFound,
54 self.application_catalog_client.get_package, 56 self.application_catalog_client.get_package,
55 utils.generate_uuid()) 57 utils.generate_uuid())
56 58
57 @decorators.attr(type='negative') 59 @decorators.attr(type='negative')
60 @decorators.idempotent_id('09e3f9d9-40ae-4d5c-a488-4137e3abd7a2')
58 def test_delete_package_with_incorrect_id(self): 61 def test_delete_package_with_incorrect_id(self):
59 self.assertRaises(exceptions.NotFound, 62 self.assertRaises(exceptions.NotFound,
60 self.application_catalog_client.delete_package, 63 self.application_catalog_client.delete_package,
61 utils.generate_uuid()) 64 utils.generate_uuid())
62 65
63 @decorators.attr(type='negative') 66 @decorators.attr(type='negative')
67 @decorators.idempotent_id('a3cbcb58-7e46-47e9-a633-e3fc296681a9')
64 def test_download_package_with_incorrect_id(self): 68 def test_download_package_with_incorrect_id(self):
65 self.assertRaises(exceptions.NotFound, 69 self.assertRaises(exceptions.NotFound,
66 self.application_catalog_client.download_package, 70 self.application_catalog_client.download_package,
67 utils.generate_uuid()) 71 utils.generate_uuid())
68 72
69 @decorators.attr(type='negative') 73 @decorators.attr(type='negative')
74 @decorators.idempotent_id('46799c58-8fe1-4d30-91a9-6067af780b32')
70 def test_get_ui_definition_with_incorrect_id(self): 75 def test_get_ui_definition_with_incorrect_id(self):
71 self.assertRaises(exceptions.NotFound, 76 self.assertRaises(exceptions.NotFound,
72 self.application_catalog_client.get_ui_definition, 77 self.application_catalog_client.get_ui_definition,
73 utils.generate_uuid()) 78 utils.generate_uuid())
74 79
75 @decorators.attr(type='negative') 80 @decorators.attr(type='negative')
81 @decorators.idempotent_id('062ad8ab-6b5e-43ed-8331-b4bcd849b06e')
76 def test_get_logo_with_incorrect_id(self): 82 def test_get_logo_with_incorrect_id(self):
77 self.assertRaises(exceptions.NotFound, 83 self.assertRaises(exceptions.NotFound,
78 self.application_catalog_client.get_logo, 84 self.application_catalog_client.get_logo,
@@ -108,6 +114,7 @@ class TestRepositoryNegativeForbidden(base.BaseApplicationCatalogTest):
108 super(TestRepositoryNegativeForbidden, cls).resource_cleanup() 114 super(TestRepositoryNegativeForbidden, cls).resource_cleanup()
109 115
110 @decorators.attr(type='negative') 116 @decorators.attr(type='negative')
117 @decorators.idempotent_id('29f9b3f1-8e8a-4305-a593-e3055e098666')
111 def test_update_package_from_another_tenant(self): 118 def test_update_package_from_another_tenant(self):
112 post_body = [ 119 post_body = [
113 { 120 {
@@ -123,30 +130,35 @@ class TestRepositoryNegativeForbidden(base.BaseApplicationCatalogTest):
123 post_body) 130 post_body)
124 131
125 @decorators.attr(type='negative') 132 @decorators.attr(type='negative')
133 @decorators.idempotent_id('75b57ded-6077-436f-97f8-d3087f2f3b77')
126 def test_get_package_from_another_tenant(self): 134 def test_get_package_from_another_tenant(self):
127 self.assertRaises(exceptions.Forbidden, 135 self.assertRaises(exceptions.Forbidden,
128 self.alt_client.get_package, 136 self.alt_client.get_package,
129 self.package['id']) 137 self.package['id'])
130 138
131 @decorators.attr(type='negative') 139 @decorators.attr(type='negative')
140 @decorators.idempotent_id('1d9f8f74-8aca-4ee8-be0d-ac5b9d5a7dcd')
132 def test_delete_package_from_another_tenant(self): 141 def test_delete_package_from_another_tenant(self):
133 self.assertRaises(exceptions.Forbidden, 142 self.assertRaises(exceptions.Forbidden,
134 self.alt_client.delete_package, 143 self.alt_client.delete_package,
135 self.package['id']) 144 self.package['id'])
136 145
137 @decorators.attr(type='negative') 146 @decorators.attr(type='negative')
147 @decorators.idempotent_id('a1467fed-cd6f-44dd-b79c-ea0f91e082dc')
138 def test_download_package_from_another_tenant(self): 148 def test_download_package_from_another_tenant(self):
139 self.assertRaises(exceptions.Forbidden, 149 self.assertRaises(exceptions.Forbidden,
140 self.alt_client.download_package, 150 self.alt_client.download_package,
141 self.package['id']) 151 self.package['id'])
142 152
143 @decorators.attr(type='negative') 153 @decorators.attr(type='negative')
154 @decorators.idempotent_id('b6074261-f981-4c15-9cd6-5811bd75127a')
144 def test_get_ui_definition_from_another_tenant(self): 155 def test_get_ui_definition_from_another_tenant(self):
145 self.assertRaises(exceptions.Forbidden, 156 self.assertRaises(exceptions.Forbidden,
146 self.alt_client.get_ui_definition, 157 self.alt_client.get_ui_definition,
147 self.package['id']) 158 self.package['id'])
148 159
149 @decorators.attr(type='negative') 160 @decorators.attr(type='negative')
161 @decorators.idempotent_id('a5a3c2bb-3fde-49cb-ae4c-c454d7eb956b')
150 def test_get_logo_from_another_tenant(self): 162 def test_get_logo_from_another_tenant(self):
151 self.assertRaises(exceptions.Forbidden, 163 self.assertRaises(exceptions.Forbidden,
152 self.alt_client.get_logo, 164 self.alt_client.get_logo,
diff --git a/murano_tempest_tests/tests/api/application_catalog/test_services.py b/murano_tempest_tests/tests/api/application_catalog/test_services.py
index 71f88d2..f127f9a 100644
--- a/murano_tempest_tests/tests/api/application_catalog/test_services.py
+++ b/murano_tempest_tests/tests/api/application_catalog/test_services.py
@@ -34,6 +34,7 @@ class TestServices(base.BaseApplicationCatalogTest):
34 super(TestServices, cls).resource_cleanup() 34 super(TestServices, cls).resource_cleanup()
35 35
36 @decorators.attr(type='smoke') 36 @decorators.attr(type='smoke')
37 @decorators.idempotent_id('6cc9d2da-5aeb-4386-adf3-2ff0b737f363')
37 def test_get_services_list(self): 38 def test_get_services_list(self):
38 session = self.application_catalog_client.\ 39 session = self.application_catalog_client.\
39 create_session(self.environment['id']) 40 create_session(self.environment['id'])
@@ -44,6 +45,7 @@ class TestServices(base.BaseApplicationCatalogTest):
44 self.assertIsInstance(services_list, list) 45 self.assertIsInstance(services_list, list)
45 46
46 @decorators.attr(type='smoke') 47 @decorators.attr(type='smoke')
48 @decorators.idempotent_id('cbdbc025-d673-4fb5-914a-baa0dd896046')
47 def test_create_and_delete_demo_service(self): 49 def test_create_and_delete_demo_service(self):
48 session = self.application_catalog_client.\ 50 session = self.application_catalog_client.\
49 create_session(self.environment['id']) 51 create_session(self.environment['id'])
@@ -66,6 +68,7 @@ class TestServices(base.BaseApplicationCatalogTest):
66 self.assertEqual(len(services_list), len(services_list_)) 68 self.assertEqual(len(services_list), len(services_list_))
67 69
68 @decorators.attr(type='smoke') 70 @decorators.attr(type='smoke')
71 @decorators.idempotent_id('431d1842-b25d-4ecd-8837-d56b89c83343')
69 def test_update_services_via_put(self): 72 def test_update_services_via_put(self):
70 session = self.application_catalog_client.\ 73 session = self.application_catalog_client.\
71 create_session(self.environment['id']) 74 create_session(self.environment['id'])
@@ -78,6 +81,7 @@ class TestServices(base.BaseApplicationCatalogTest):
78 get_services_list(self.environment['id'], session['id']) 81 get_services_list(self.environment['id'], session['id'])
79 self.assertEqual(1, len(services_list)) 82 self.assertEqual(1, len(services_list))
80 83
84 @decorators.idempotent_id('fc9ef7c7-46e2-44ce-a309-bec2834c6adb')
81 def test_clear_services_via_put(self): 85 def test_clear_services_via_put(self):
82 session = self.application_catalog_client.\ 86 session = self.application_catalog_client.\
83 create_session(self.environment['id']) 87 create_session(self.environment['id'])
@@ -102,6 +106,7 @@ class TestServices(base.BaseApplicationCatalogTest):
102 get_services_list(self.environment['id'], session['id']) 106 get_services_list(self.environment['id'], session['id'])
103 self.assertEqual(1, len(services_list_)) 107 self.assertEqual(1, len(services_list_))
104 108
109 @decorators.idempotent_id('7df86a14-3359-47c2-992e-99eaedb50456')
105 def test_get_service(self): 110 def test_get_service(self):
106 session = self.application_catalog_client.\ 111 session = self.application_catalog_client.\
107 create_session(self.environment['id']) 112 create_session(self.environment['id'])
@@ -121,6 +126,7 @@ class TestServices(base.BaseApplicationCatalogTest):
121 session['id']) 126 session['id'])
122 self.assertEqual(service, service_) 127 self.assertEqual(service, service_)
123 128
129 @decorators.idempotent_id('d64da7cd-9fcd-42c5-9c37-766db902c801')
124 def test_get_services_without_sess_id(self): 130 def test_get_services_without_sess_id(self):
125 services = self.application_catalog_client.\ 131 services = self.application_catalog_client.\
126 get_services_list(self.environment['id'], None) 132 get_services_list(self.environment['id'], None)
diff --git a/murano_tempest_tests/tests/api/application_catalog/test_services_negative.py b/murano_tempest_tests/tests/api/application_catalog/test_services_negative.py
index c0ac87b..5b45728 100644
--- a/murano_tempest_tests/tests/api/application_catalog/test_services_negative.py
+++ b/murano_tempest_tests/tests/api/application_catalog/test_services_negative.py
@@ -35,6 +35,7 @@ class TestServicesNegative(base.BaseApplicationCatalogTest):
35 super(TestServicesNegative, cls).resource_cleanup() 35 super(TestServicesNegative, cls).resource_cleanup()
36 36
37 @decorators.attr(type='negative') 37 @decorators.attr(type='negative')
38 @decorators.idempotent_id('5f1dd3f4-170f-4020-bbf6-3d7c277957a8')
38 def test_get_services_list_without_env_id(self): 39 def test_get_services_list_without_env_id(self):
39 session = self.application_catalog_client.\ 40 session = self.application_catalog_client.\
40 create_session(self.environment['id']) 41 create_session(self.environment['id'])
@@ -46,6 +47,7 @@ class TestServicesNegative(base.BaseApplicationCatalogTest):
46 session['id']) 47 session['id'])
47 48
48 @decorators.attr(type='negative') 49 @decorators.attr(type='negative')
50 @decorators.idempotent_id('e17972e2-4c5c-4b25-a6cd-82eb2d64897a')
49 def test_get_services_list_after_delete_env(self): 51 def test_get_services_list_after_delete_env(self):
50 name = utils.generate_name("get_services_list_after_delete_env") 52 name = utils.generate_name("get_services_list_after_delete_env")
51 environment = self.application_catalog_client.create_environment(name) 53 environment = self.application_catalog_client.create_environment(name)
@@ -58,6 +60,7 @@ class TestServicesNegative(base.BaseApplicationCatalogTest):
58 session['id']) 60 session['id'])
59 61
60 @decorators.attr(type='negative') 62 @decorators.attr(type='negative')
63 @decorators.idempotent_id('e4ffe0b1-deb0-4f33-9790-6e6dc8bcdecb')
61 def test_get_services_list_after_delete_session(self): 64 def test_get_services_list_after_delete_session(self):
62 session = self.application_catalog_client.\ 65 session = self.application_catalog_client.\
63 create_session(self.environment['id']) 66 create_session(self.environment['id'])
@@ -69,6 +72,7 @@ class TestServicesNegative(base.BaseApplicationCatalogTest):
69 session['id']) 72 session['id'])
70 73
71 @decorators.attr(type='negative') 74 @decorators.attr(type='negative')
75 @decorators.idempotent_id('d88880e2-63de-47a0-b29b-a3810b5715e6')
72 def test_create_service_without_env_id(self): 76 def test_create_service_without_env_id(self):
73 session = self.application_catalog_client.\ 77 session = self.application_catalog_client.\
74 create_session(self.environment['id']) 78 create_session(self.environment['id'])
@@ -82,6 +86,7 @@ class TestServicesNegative(base.BaseApplicationCatalogTest):
82 post_body) 86 post_body)
83 87
84 @decorators.attr(type='negative') 88 @decorators.attr(type='negative')
89 @decorators.idempotent_id('1d9311af-917a-4a29-b42f-62377369d346')
85 def test_create_service_without_sess_id(self): 90 def test_create_service_without_sess_id(self):
86 session = self.application_catalog_client.\ 91 session = self.application_catalog_client.\
87 create_session(self.environment['id']) 92 create_session(self.environment['id'])
@@ -95,6 +100,7 @@ class TestServicesNegative(base.BaseApplicationCatalogTest):
95 post_body) 100 post_body)
96 101
97 @decorators.attr(type='negative') 102 @decorators.attr(type='negative')
103 @decorators.idempotent_id('b22f2232-a6d3-4770-b26e-a1e0ccf62d60')
98 def test_delete_service_without_env_id(self): 104 def test_delete_service_without_env_id(self):
99 session = self.application_catalog_client.\ 105 session = self.application_catalog_client.\
100 create_session(self.environment['id']) 106 create_session(self.environment['id'])
@@ -110,6 +116,7 @@ class TestServicesNegative(base.BaseApplicationCatalogTest):
110 service['?']['id']) 116 service['?']['id'])
111 117
112 @decorators.attr(type='negative') 118 @decorators.attr(type='negative')
119 @decorators.idempotent_id('04b4a8b7-3cf6-494a-8741-151305909893')
113 def test_delete_service_without_session_id(self): 120 def test_delete_service_without_session_id(self):
114 session = self.application_catalog_client.\ 121 session = self.application_catalog_client.\
115 create_session(self.environment['id']) 122 create_session(self.environment['id'])
@@ -125,6 +132,7 @@ class TestServicesNegative(base.BaseApplicationCatalogTest):
125 service['?']['id']) 132 service['?']['id'])
126 133
127 @decorators.attr(type='negative') 134 @decorators.attr(type='negative')
135 @decorators.idempotent_id('2d040e59-3af3-47a2-8d87-eef70920cd65')
128 def test_double_delete_service(self): 136 def test_double_delete_service(self):
129 session = self.application_catalog_client.\ 137 session = self.application_catalog_client.\
130 create_session(self.environment['id']) 138 create_session(self.environment['id'])
@@ -144,6 +152,7 @@ class TestServicesNegative(base.BaseApplicationCatalogTest):
144 service['?']['id']) 152 service['?']['id'])
145 153
146 @decorators.attr(type='negative') 154 @decorators.attr(type='negative')
155 @decorators.idempotent_id('a742e411-e572-4aed-ba91-dba8db694039')
147 def test_get_service_without_env_id(self): 156 def test_get_service_without_env_id(self):
148 session = self.application_catalog_client.\ 157 session = self.application_catalog_client.\
149 create_session(self.environment['id']) 158 create_session(self.environment['id'])
@@ -159,6 +168,7 @@ class TestServicesNegative(base.BaseApplicationCatalogTest):
159 service['?']['id']) 168 service['?']['id'])
160 169
161 @decorators.attr(type='negative') 170 @decorators.attr(type='negative')
171 @decorators.idempotent_id('ded0b813-c36e-4108-8be2-c4b1e061f4e9')
162 def test_put_services_without_env_id(self): 172 def test_put_services_without_env_id(self):
163 session = self.application_catalog_client.\ 173 session = self.application_catalog_client.\
164 create_session(self.environment['id']) 174 create_session(self.environment['id'])
@@ -172,6 +182,7 @@ class TestServicesNegative(base.BaseApplicationCatalogTest):
172 put_body) 182 put_body)
173 183
174 @decorators.attr(type='negative') 184 @decorators.attr(type='negative')
185 @decorators.idempotent_id('4ab7a7ac-1939-404a-8cb7-feaadc06ae3f')
175 def test_put_services_without_sess_id(self): 186 def test_put_services_without_sess_id(self):
176 session = self.application_catalog_client.\ 187 session = self.application_catalog_client.\
177 create_session(self.environment['id']) 188 create_session(self.environment['id'])
@@ -203,6 +214,7 @@ class TestServicesNegativeTenantIsolation(base.BaseApplicationCatalogTest):
203 super(TestServicesNegativeTenantIsolation, cls).resource_cleanup() 214 super(TestServicesNegativeTenantIsolation, cls).resource_cleanup()
204 215
205 @decorators.attr(type='negative') 216 @decorators.attr(type='negative')
217 @decorators.idempotent_id('014050a1-4f8d-4a9b-8332-3eb03d10ba64')
206 def test_get_list_services_in_env_from_another_tenant(self): 218 def test_get_list_services_in_env_from_another_tenant(self):
207 session = self.application_catalog_client.\ 219 session = self.application_catalog_client.\
208 create_session(self.environment['id']) 220 create_session(self.environment['id'])
@@ -214,6 +226,7 @@ class TestServicesNegativeTenantIsolation(base.BaseApplicationCatalogTest):
214 session['id']) 226 session['id'])
215 227
216 @decorators.attr(type='negative') 228 @decorators.attr(type='negative')
229 @decorators.idempotent_id('b2c70134-0537-4912-a6c7-23d477f62764')
217 def test_create_service_in_env_from_another_tenant(self): 230 def test_create_service_in_env_from_another_tenant(self):
218 session = self.application_catalog_client.\ 231 session = self.application_catalog_client.\
219 create_session(self.environment['id']) 232 create_session(self.environment['id'])
@@ -227,6 +240,7 @@ class TestServicesNegativeTenantIsolation(base.BaseApplicationCatalogTest):
227 post_body) 240 post_body)
228 241
229 @decorators.attr(type='negative') 242 @decorators.attr(type='negative')
243 @decorators.idempotent_id('264f5854-5fce-4186-987a-98d4fbb67093')
230 def test_delete_service_in_env_from_another_tenant(self): 244 def test_delete_service_in_env_from_another_tenant(self):
231 session = self.application_catalog_client.\ 245 session = self.application_catalog_client.\
232 create_session(self.environment['id']) 246 create_session(self.environment['id'])
@@ -242,6 +256,7 @@ class TestServicesNegativeTenantIsolation(base.BaseApplicationCatalogTest):
242 service['?']['id']) 256 service['?']['id'])
243 257
244 @decorators.attr(type='negative') 258 @decorators.attr(type='negative')
259 @decorators.idempotent_id('ff557e1f-a775-4a10-9265-2fa653179c4c')
245 def test_get_service_in_env_from_another_tenant(self): 260 def test_get_service_in_env_from_another_tenant(self):
246 session = self.application_catalog_client.\ 261 session = self.application_catalog_client.\
247 create_session(self.environment['id']) 262 create_session(self.environment['id'])
diff --git a/murano_tempest_tests/tests/api/application_catalog/test_sessions.py b/murano_tempest_tests/tests/api/application_catalog/test_sessions.py
index 4617089..6eb670d 100644
--- a/murano_tempest_tests/tests/api/application_catalog/test_sessions.py
+++ b/murano_tempest_tests/tests/api/application_catalog/test_sessions.py
@@ -34,6 +34,7 @@ class TestSessions(base.BaseApplicationCatalogTest):
34 super(TestSessions, cls).resource_cleanup() 34 super(TestSessions, cls).resource_cleanup()
35 35
36 @decorators.attr(type='smoke') 36 @decorators.attr(type='smoke')
37 @decorators.idempotent_id('9f8ca4dd-1159-4c12-bd97-84ee7f36775e')
37 def test_create_session(self): 38 def test_create_session(self):
38 session = self.application_catalog_client.\ 39 session = self.application_catalog_client.\
39 create_session(self.environment['id']) 40 create_session(self.environment['id'])
@@ -42,12 +43,14 @@ class TestSessions(base.BaseApplicationCatalogTest):
42 self.assertEqual(self.environment['id'], session['environment_id']) 43 self.assertEqual(self.environment['id'], session['environment_id'])
43 44
44 @decorators.attr(type='smoke') 45 @decorators.attr(type='smoke')
46 @decorators.idempotent_id('a2782f54-9f9a-443b-97be-edc17039aea5')
45 def test_delete_session(self): 47 def test_delete_session(self):
46 session = self.application_catalog_client.\ 48 session = self.application_catalog_client.\
47 create_session(self.environment['id']) 49 create_session(self.environment['id'])
48 self.application_catalog_client.delete_session(self.environment['id'], 50 self.application_catalog_client.delete_session(self.environment['id'],
49 session['id']) 51 session['id'])
50 52
53 @decorators.idempotent_id('0639a8ef-f527-4a5d-b34a-4e2d46f48b30')
51 def test_get_session(self): 54 def test_get_session(self):
52 session = self.application_catalog_client.\ 55 session = self.application_catalog_client.\
53 create_session(self.environment['id']) 56 create_session(self.environment['id'])
diff --git a/murano_tempest_tests/tests/api/application_catalog/test_sessions_negative.py b/murano_tempest_tests/tests/api/application_catalog/test_sessions_negative.py
index 0afb6da..6cc9a2b 100644
--- a/murano_tempest_tests/tests/api/application_catalog/test_sessions_negative.py
+++ b/murano_tempest_tests/tests/api/application_catalog/test_sessions_negative.py
@@ -36,12 +36,14 @@ class TestSessionsNegative(base.BaseApplicationCatalogTest):
36 super(TestSessionsNegative, cls).resource_cleanup() 36 super(TestSessionsNegative, cls).resource_cleanup()
37 37
38 @decorators.attr(type='negative') 38 @decorators.attr(type='negative')
39 @decorators.idempotent_id('eaf51e99-ff10-45ff-8c9f-416b6a125799')
39 def test_create_session_before_env(self): 40 def test_create_session_before_env(self):
40 self.assertRaises(exceptions.NotFound, 41 self.assertRaises(exceptions.NotFound,
41 self.application_catalog_client.create_session, 42 self.application_catalog_client.create_session,
42 utils.generate_uuid()) 43 utils.generate_uuid())
43 44
44 @decorators.attr(type='negative') 45 @decorators.attr(type='negative')
46 @decorators.idempotent_id('1269efdf-5586-4119-80e3-e88aa20d3111')
45 def test_delete_session_without_env_id(self): 47 def test_delete_session_without_env_id(self):
46 session = self.application_catalog_client.\ 48 session = self.application_catalog_client.\
47 create_session(self.environment['id']) 49 create_session(self.environment['id'])
@@ -52,6 +54,7 @@ class TestSessionsNegative(base.BaseApplicationCatalogTest):
52 None, session['id']) 54 None, session['id'])
53 55
54 @decorators.attr(type='negative') 56 @decorators.attr(type='negative')
57 @decorators.idempotent_id('a96f8e67-165c-4a43-92f1-05d28275d576')
55 def test_get_session_without_env_id(self): 58 def test_get_session_without_env_id(self):
56 session = self.application_catalog_client.\ 59 session = self.application_catalog_client.\
57 create_session(self.environment['id']) 60 create_session(self.environment['id'])
@@ -62,6 +65,7 @@ class TestSessionsNegative(base.BaseApplicationCatalogTest):
62 None, session['id']) 65 None, session['id'])
63 66
64 @decorators.attr(type='negative') 67 @decorators.attr(type='negative')
68 @decorators.idempotent_id('784486ca-9645-4edc-8b23-c7ef781a85ae')
65 def test_get_session_after_delete_env(self): 69 def test_get_session_after_delete_env(self):
66 name = utils.generate_name('get_session_after_delete_env') 70 name = utils.generate_name('get_session_after_delete_env')
67 environment = self.application_catalog_client.create_environment(name) 71 environment = self.application_catalog_client.create_environment(name)
@@ -73,6 +77,7 @@ class TestSessionsNegative(base.BaseApplicationCatalogTest):
73 environment['id'], session['id']) 77 environment['id'], session['id'])
74 78
75 @decorators.attr(type='negative') 79 @decorators.attr(type='negative')
80 @decorators.idempotent_id('8e5e1148-0a79-4c5a-bf93-2178ff7a92fe')
76 def test_double_delete_session(self): 81 def test_double_delete_session(self):
77 session = self.application_catalog_client.\ 82 session = self.application_catalog_client.\
78 create_session(self.environment['id']) 83 create_session(self.environment['id'])
@@ -101,12 +106,14 @@ class TestSessionsNegativeTenantIsolation(base.BaseApplicationCatalogTest):
101 super(TestSessionsNegativeTenantIsolation, cls).resource_cleanup() 106 super(TestSessionsNegativeTenantIsolation, cls).resource_cleanup()
102 107
103 @decorators.attr(type='negative') 108 @decorators.attr(type='negative')
109 @decorators.idempotent_id('72108505-3eb1-49b2-a757-a7340d18f52c')
104 def test_create_session_in_env_from_another_tenant(self): 110 def test_create_session_in_env_from_another_tenant(self):
105 self.assertRaises(exceptions.Forbidden, 111 self.assertRaises(exceptions.Forbidden,
106 self.alt_client.create_session, 112 self.alt_client.create_session,
107 self.environment['id']) 113 self.environment['id'])
108 114
109 @decorators.attr(type='negative') 115 @decorators.attr(type='negative')
116 @decorators.idempotent_id('35ada820-67f1-4a8b-852d-f1a02c11a110')
110 def test_delete_session_in_env_from_another_tenant(self): 117 def test_delete_session_in_env_from_another_tenant(self):
111 session = self.application_catalog_client.\ 118 session = self.application_catalog_client.\
112 create_session(self.environment['id']) 119 create_session(self.environment['id'])
@@ -117,6 +124,7 @@ class TestSessionsNegativeTenantIsolation(base.BaseApplicationCatalogTest):
117 self.environment['id'], session['id']) 124 self.environment['id'], session['id'])
118 125
119 @decorators.attr(type='negative') 126 @decorators.attr(type='negative')
127 @decorators.idempotent_id('62d469ac-2e91-4e50-bbe8-3f93ab79d903')
120 def test_get_session_in_env_from_another_tenant(self): 128 def test_get_session_in_env_from_another_tenant(self):
121 session = self.application_catalog_client.\ 129 session = self.application_catalog_client.\
122 create_session(self.environment['id']) 130 create_session(self.environment['id'])
@@ -127,6 +135,7 @@ class TestSessionsNegativeTenantIsolation(base.BaseApplicationCatalogTest):
127 self.environment['id'], session['id']) 135 self.environment['id'], session['id'])
128 136
129 @decorators.attr(type='negative') 137 @decorators.attr(type='negative')
138 @decorators.idempotent_id('d261f060-7189-4234-9ece-06ae46127591')
130 def test_deploy_session_in_env_from_another_tenant(self): 139 def test_deploy_session_in_env_from_another_tenant(self):
131 session = self.application_catalog_client.\ 140 session = self.application_catalog_client.\
132 create_session(self.environment['id']) 141 create_session(self.environment['id'])
diff --git a/murano_tempest_tests/tests/api/application_catalog/test_static_actions.py b/murano_tempest_tests/tests/api/application_catalog/test_static_actions.py
index bc9de69..3b714d9 100644
--- a/murano_tempest_tests/tests/api/application_catalog/test_static_actions.py
+++ b/murano_tempest_tests/tests/api/application_catalog/test_static_actions.py
@@ -52,6 +52,7 @@ class TestStaticActions(base.BaseApplicationCatalogTest):
52 client.delete_package(cls.package['id']) 52 client.delete_package(cls.package['id'])
53 super(TestStaticActions, cls).resource_cleanup() 53 super(TestStaticActions, cls).resource_cleanup()
54 54
55 @decorators.idempotent_id('ac3359e8-8762-417a-95c6-fb2d678850f7')
55 def test_call_static_action_basic(self): 56 def test_call_static_action_basic(self):
56 action_result = self.application_catalog_client.call_static_action( 57 action_result = self.application_catalog_client.call_static_action(
57 class_name=self.package['class_definitions'][0], 58 class_name=self.package['class_definitions'][0],
@@ -60,6 +61,7 @@ class TestStaticActions(base.BaseApplicationCatalogTest):
60 self.assertEqual('"Hello, John"', action_result) 61 self.assertEqual('"Hello, John"', action_result)
61 62
62 @decorators.attr(type='smoke') 63 @decorators.attr(type='smoke')
64 @decorators.idempotent_id('8b427735-bb73-41ab-8992-c81b3d8ebc42')
63 def test_call_static_action_full(self): 65 def test_call_static_action_full(self):
64 if CONF.application_catalog.glare_backend: 66 if CONF.application_catalog.glare_backend:
65 name_attr = 'name' 67 name_attr = 'name'
diff --git a/murano_tempest_tests/tests/api/application_catalog/test_static_actions_negative.py b/murano_tempest_tests/tests/api/application_catalog/test_static_actions_negative.py
index 4a63f30..adada5f 100644
--- a/murano_tempest_tests/tests/api/application_catalog/test_static_actions_negative.py
+++ b/murano_tempest_tests/tests/api/application_catalog/test_static_actions_negative.py
@@ -54,11 +54,13 @@ class TestStaticActionsNegative(base.BaseApplicationCatalogTest):
54 super(TestStaticActionsNegative, cls).resource_cleanup() 54 super(TestStaticActionsNegative, cls).resource_cleanup()
55 55
56 @decorators.attr(type='negative') 56 @decorators.attr(type='negative')
57 @decorators.idempotent_id('c6d05273-b6fe-4a33-8a87-c7110c171bc2')
57 def test_call_static_action_no_args(self): 58 def test_call_static_action_no_args(self):
58 self.assertRaises(exceptions.BadRequest, 59 self.assertRaises(exceptions.BadRequest,
59 self.application_catalog_client.call_static_action) 60 self.application_catalog_client.call_static_action)
60 61
61 @decorators.attr(type='negative') 62 @decorators.attr(type='negative')
63 @decorators.idempotent_id('35440618-6649-40cb-b878-b5cddd4ea0dd')
62 def test_call_static_action_wrong_class(self): 64 def test_call_static_action_wrong_class(self):
63 self.assertRaises(exceptions.NotFound, 65 self.assertRaises(exceptions.NotFound,
64 self.application_catalog_client.call_static_action, 66 self.application_catalog_client.call_static_action,
@@ -66,6 +68,7 @@ class TestStaticActionsNegative(base.BaseApplicationCatalogTest):
66 args={'myName': 'John'}) 68 args={'myName': 'John'})
67 69
68 @decorators.attr(type='negative') 70 @decorators.attr(type='negative')
71 @decorators.idempotent_id('75c6cc5e-0804-45d9-beb2-10c7ab409b70')
69 def test_call_static_action_wrong_method(self): 72 def test_call_static_action_wrong_method(self):
70 self.assertRaises(exceptions.NotFound, 73 self.assertRaises(exceptions.NotFound,
71 self.application_catalog_client.call_static_action, 74 self.application_catalog_client.call_static_action,
@@ -74,6 +77,7 @@ class TestStaticActionsNegative(base.BaseApplicationCatalogTest):
74 args={'myName': 'John'}) 77 args={'myName': 'John'})
75 78
76 @decorators.attr(type='negative') 79 @decorators.attr(type='negative')
80 @decorators.idempotent_id('334c828b-3f49-49e0-97a2-534f57596bfb')
77 def test_call_static_action_session_method(self): 81 def test_call_static_action_session_method(self):
78 self.assertRaises(exceptions.NotFound, 82 self.assertRaises(exceptions.NotFound,
79 self.application_catalog_client.call_static_action, 83 self.application_catalog_client.call_static_action,
@@ -82,6 +86,7 @@ class TestStaticActionsNegative(base.BaseApplicationCatalogTest):
82 args={'myName': 'John'}) 86 args={'myName': 'John'})
83 87
84 @decorators.attr(type='negative') 88 @decorators.attr(type='negative')
89 @decorators.idempotent_id('3ebb5009-2f61-4200-a34c-2bc506d94aed')
85 def test_call_static_action_wrong_args(self): 90 def test_call_static_action_wrong_args(self):
86 self.assertRaises(exceptions.BadRequest, 91 self.assertRaises(exceptions.BadRequest,
87 self.application_catalog_client.call_static_action, 92 self.application_catalog_client.call_static_action,
@@ -90,6 +95,7 @@ class TestStaticActionsNegative(base.BaseApplicationCatalogTest):
90 args={'myEmail': 'John'}) 95 args={'myEmail': 'John'})
91 96
92 @decorators.attr(type='negative') 97 @decorators.attr(type='negative')
98 @decorators.idempotent_id('5f4f6edc-2d66-4426-bb81-48e7570d93ef')
93 def test_call_static_action_wrong_package(self): 99 def test_call_static_action_wrong_package(self):
94 self.assertRaises(exceptions.NotFound, 100 self.assertRaises(exceptions.NotFound,
95 self.application_catalog_client.call_static_action, 101 self.application_catalog_client.call_static_action,
@@ -99,6 +105,7 @@ class TestStaticActionsNegative(base.BaseApplicationCatalogTest):
99 args={'myName': 'John'}) 105 args={'myName': 'John'})
100 106
101 @decorators.attr(type='negative') 107 @decorators.attr(type='negative')
108 @decorators.idempotent_id('c0854170-700f-4924-9cfe-3bff876b9e63')
102 def test_call_static_action_wrong_version_format(self): 109 def test_call_static_action_wrong_version_format(self):
103 self.assertRaises(exceptions.BadRequest, 110 self.assertRaises(exceptions.BadRequest,
104 self.application_catalog_client.call_static_action, 111 self.application_catalog_client.call_static_action,
diff --git a/murano_tempest_tests/tests/api/service_broker/test_service_broker_actions.py b/murano_tempest_tests/tests/api/service_broker/test_service_broker_actions.py
index 0bd0db5..6a22fe4 100644
--- a/murano_tempest_tests/tests/api/service_broker/test_service_broker_actions.py
+++ b/murano_tempest_tests/tests/api/service_broker/test_service_broker_actions.py
@@ -25,11 +25,13 @@ from murano_tempest_tests import utils
25class ServiceBrokerActionsTest(base.BaseServiceBrokerAdminTest): 25class ServiceBrokerActionsTest(base.BaseServiceBrokerAdminTest):
26 26
27 @decorators.attr(type='gate') 27 @decorators.attr(type='gate')
28 @decorators.idempotent_id('76cadf4b-7143-402c-975e-11d7464dd20e')
28 def test_applications_listing(self): 29 def test_applications_listing(self):
29 app_list = self.service_broker_client.get_applications_list() 30 app_list = self.service_broker_client.get_applications_list()
30 self.assertIsInstance(app_list, list) 31 self.assertIsInstance(app_list, list)
31 32
32 @decorators.attr(type=['smoke', 'gate']) 33 @decorators.attr(type=['smoke', 'gate'])
34 @decorators.idempotent_id('51ad86a2-b8e4-43d1-8099-75e4be293f79')
33 def test_provision_and_deprovision(self): 35 def test_provision_and_deprovision(self):
34 application_name = utils.generate_name('cfapi') 36 application_name = utils.generate_name('cfapi')
35 abs_archive_path, dir_with_archive, archive_name = \ 37 abs_archive_path, dir_with_archive, archive_name = \
@@ -54,6 +56,7 @@ class ServiceBrokerActionsTest(base.BaseServiceBrokerAdminTest):
54 self.assertIsInstance(json.loads(service), dict) 56 self.assertIsInstance(json.loads(service), dict)
55 57
56 @decorators.attr(type=['smoke', 'gate']) 58 @decorators.attr(type=['smoke', 'gate'])
59 @decorators.idempotent_id('d5bd537a-7912-4916-a137-d0601157fb9e')
57 def test_binding_instance(self): 60 def test_binding_instance(self):
58 application_name = utils.generate_name('cfapi') 61 application_name = utils.generate_name('cfapi')
59 abs_archive_path, dir_with_archive, archive_name = \ 62 abs_archive_path, dir_with_archive, archive_name = \
@@ -81,6 +84,7 @@ class ServiceBrokerActionsTest(base.BaseServiceBrokerAdminTest):
81 self.assertEqual({'uri': 'localhost'}, binding) 84 self.assertEqual({'uri': 'localhost'}, binding)
82 85
83 @decorators.attr(type=['smoke', 'gate']) 86 @decorators.attr(type=['smoke', 'gate'])
87 @decorators.idempotent_id('f738fdc2-a180-40e5-9aa6-d338d8660b88')
84 def test_provision_with_incorrect_input(self): 88 def test_provision_with_incorrect_input(self):
85 """Test provision with restricted items in object model 89 """Test provision with restricted items in object model
86 90
@@ -118,6 +122,7 @@ class ServiceBrokerActionsTest(base.BaseServiceBrokerAdminTest):
118 self.assertIsInstance(json.loads(service), dict) 122 self.assertIsInstance(json.loads(service), dict)
119 123
120 @decorators.attr(type=['smoke', 'gate']) 124 @decorators.attr(type=['smoke', 'gate'])
125 @decorators.idempotent_id('ef9bc7ca-21b7-480d-a3ba-32cb39b33909')
121 def test_double_provision_to_the_same_space(self): 126 def test_double_provision_to_the_same_space(self):
122 application_name = utils.generate_name('cfapi') 127 application_name = utils.generate_name('cfapi')
123 abs_archive_path, dir_with_archive, archive_name = \ 128 abs_archive_path, dir_with_archive, archive_name = \
diff --git a/murano_tempest_tests/tests/api/service_broker/test_service_broker_negative.py b/murano_tempest_tests/tests/api/service_broker/test_service_broker_negative.py
index 55871d0..bc8ffd9 100644
--- a/murano_tempest_tests/tests/api/service_broker/test_service_broker_negative.py
+++ b/murano_tempest_tests/tests/api/service_broker/test_service_broker_negative.py
@@ -23,6 +23,7 @@ from murano_tempest_tests import utils
23class ServiceBrokerNegativeTest(base.BaseServiceBrokerAdminTest): 23class ServiceBrokerNegativeTest(base.BaseServiceBrokerAdminTest):
24 24
25 @decorators.attr(type=['gate', 'negative']) 25 @decorators.attr(type=['gate', 'negative'])
26 @decorators.idempotent_id('3c9c14a2-1655-490a-90f0-6cb5dd6dba07')
26 def test_get_status_with_not_present_instance_id(self): 27 def test_get_status_with_not_present_instance_id(self):
27 not_present_instance_id = utils.generate_uuid() 28 not_present_instance_id = utils.generate_uuid()
28 self.assertRaises( 29 self.assertRaises(
diff --git a/murano_tempest_tests/tests/scenario/application_catalog/test_cinder_volumes.py b/murano_tempest_tests/tests/scenario/application_catalog/test_cinder_volumes.py
index e1eab97..e07c124 100644
--- a/murano_tempest_tests/tests/scenario/application_catalog/test_cinder_volumes.py
+++ b/murano_tempest_tests/tests/scenario/application_catalog/test_cinder_volumes.py
@@ -16,6 +16,7 @@ import os
16import testtools 16import testtools
17 17
18from tempest import config 18from tempest import config
19from tempest.lib import decorators
19 20
20from murano_tempest_tests.tests.scenario.application_catalog import base 21from murano_tempest_tests.tests.scenario.application_catalog import base
21from murano_tempest_tests import utils 22from murano_tempest_tests import utils
@@ -54,6 +55,7 @@ class TestCinderVolumes(base.BaseApplicationCatalogScenarioTest):
54 os.remove(cls.abs_archive_path) 55 os.remove(cls.abs_archive_path)
55 super(TestCinderVolumes, cls).resource_cleanup() 56 super(TestCinderVolumes, cls).resource_cleanup()
56 57
58 @decorators.idempotent_id('241ace7d-3b6e-413e-8936-a851ff1163f8')
57 @testtools.testcase.attr('smoke') 59 @testtools.testcase.attr('smoke')
58 @testtools.testcase.attr('scenario') 60 @testtools.testcase.attr('scenario')
59 def test_deploy_app_with_boot_volume_as_image(self): 61 def test_deploy_app_with_boot_volume_as_image(self):
@@ -122,6 +124,7 @@ class TestCinderVolumes(base.BaseApplicationCatalogScenarioTest):
122 self.assertFalse( 124 self.assertFalse(
123 self.servers_client.show_server(server)['server']['image']) 125 self.servers_client.show_server(server)['server']['image'])
124 126
127 @decorators.idempotent_id('e10d3bad-7145-46df-8118-4040842883f6')
125 @testtools.testcase.attr('smoke') 128 @testtools.testcase.attr('smoke')
126 @testtools.testcase.attr('scenario') 129 @testtools.testcase.attr('scenario')
127 def test_deploy_app_with_existing_volume(self): 130 def test_deploy_app_with_existing_volume(self):
@@ -159,6 +162,7 @@ class TestCinderVolumes(base.BaseApplicationCatalogScenarioTest):
159 162
160 self.check_volume_attached('testMurano', self.volume['id']) 163 self.check_volume_attached('testMurano', self.volume['id'])
161 164
165 @decorators.idempotent_id('6338a496-7415-42a9-a514-61f6f5cb1e65')
162 @testtools.testcase.attr('smoke') 166 @testtools.testcase.attr('smoke')
163 @testtools.testcase.attr('scenario') 167 @testtools.testcase.attr('scenario')
164 def test_deploy_app_with_volume_creation(self): 168 def test_deploy_app_with_volume_creation(self):
@@ -200,6 +204,7 @@ class TestCinderVolumes(base.BaseApplicationCatalogScenarioTest):
200 self.check_volume_attachments(environment['id']) 204 self.check_volume_attachments(environment['id'])
201 self.assertEqual(volume_data['size'], 1) 205 self.assertEqual(volume_data['size'], 1)
202 206
207 @decorators.idempotent_id('1eb9bbe4-9810-408e-86a0-78ff114aadae')
203 @testtools.testcase.attr('smoke') 208 @testtools.testcase.attr('smoke')
204 @testtools.testcase.attr('scenario') 209 @testtools.testcase.attr('scenario')
205 def test_deploy_app_with_volume_creation_from_image(self): 210 def test_deploy_app_with_volume_creation_from_image(self):
@@ -243,6 +248,7 @@ class TestCinderVolumes(base.BaseApplicationCatalogScenarioTest):
243 self.assertEqual(volume_data['volume_image_metadata']['image_name'], 248 self.assertEqual(volume_data['volume_image_metadata']['image_name'],
244 self.cirros_image) 249 self.cirros_image)
245 250
251 @decorators.idempotent_id('bd624a9b-10ae-4079-b515-7b6031d9e725')
246 @testtools.testcase.attr('smoke') 252 @testtools.testcase.attr('smoke')
247 @testtools.testcase.attr('scenario') 253 @testtools.testcase.attr('scenario')
248 def test_deploy_app_with_volume_creation_from_volume(self): 254 def test_deploy_app_with_volume_creation_from_volume(self):
@@ -291,6 +297,7 @@ class TestCinderVolumes(base.BaseApplicationCatalogScenarioTest):
291 self.assertEqual(volume_data['size'], 1) 297 self.assertEqual(volume_data['size'], 1)
292 self.assertEqual(volume_data['source_volid'], self.volume['id']) 298 self.assertEqual(volume_data['source_volid'], self.volume['id'])
293 299
300 @decorators.idempotent_id('7a671222-160d-4594-97bf-ea47f60ad965')
294 @testtools.testcase.attr('smoke') 301 @testtools.testcase.attr('smoke')
295 @testtools.testcase.attr('scenario') 302 @testtools.testcase.attr('scenario')
296 def test_deploy_app_with_volume_creation_from_snapshot(self): 303 def test_deploy_app_with_volume_creation_from_snapshot(self):
@@ -374,6 +381,7 @@ class TestCinderVolumeIsolatedAdmin(
374 os.remove(cls.abs_archive_path) 381 os.remove(cls.abs_archive_path)
375 super(TestCinderVolumeIsolatedAdmin, cls).resource_cleanup() 382 super(TestCinderVolumeIsolatedAdmin, cls).resource_cleanup()
376 383
384 @decorators.idempotent_id('4111eb94-2636-4d0b-af5c-776ed5a59b87')
377 @testtools.testcase.attr('smoke') 385 @testtools.testcase.attr('smoke')
378 @testtools.testcase.attr('scenario') 386 @testtools.testcase.attr('scenario')
379 def test_deploy_app_with_volume_creation_readonly(self): 387 def test_deploy_app_with_volume_creation_readonly(self):
@@ -417,6 +425,7 @@ class TestCinderVolumeIsolatedAdmin(
417 self.assertEqual(volume_data['size'], 1) 425 self.assertEqual(volume_data['size'], 1)
418 self.assertEqual(volume_data['metadata']['readonly'], 'True') 426 self.assertEqual(volume_data['metadata']['readonly'], 'True')
419 427
428 @decorators.idempotent_id('5c134343-11bc-4329-ac30-9b43f32c15e2')
420 @testtools.testcase.attr('smoke') 429 @testtools.testcase.attr('smoke')
421 @testtools.testcase.attr('scenario') 430 @testtools.testcase.attr('scenario')
422 def test_deploy_app_with_volume_creation_from_backup(self): 431 def test_deploy_app_with_volume_creation_from_backup(self):
diff --git a/murano_tempest_tests/tests/scenario/application_catalog/test_deployment.py b/murano_tempest_tests/tests/scenario/application_catalog/test_deployment.py
index 69c2510..3a3ec67 100644
--- a/murano_tempest_tests/tests/scenario/application_catalog/test_deployment.py
+++ b/murano_tempest_tests/tests/scenario/application_catalog/test_deployment.py
@@ -19,6 +19,7 @@ from murano_tempest_tests.tests.scenario.application_catalog import base
19from murano_tempest_tests import utils 19from murano_tempest_tests import utils
20 20
21from tempest import config 21from tempest import config
22from tempest.lib import decorators
22 23
23CONF = config.CONF 24CONF = config.CONF
24 25
@@ -83,6 +84,7 @@ class TestMuranoDeployment(base.BaseApplicationCatalogScenarioTest):
83 map(os.remove, cls.abs_archive_path) 84 map(os.remove, cls.abs_archive_path)
84 super(TestMuranoDeployment, cls).resource_cleanup() 85 super(TestMuranoDeployment, cls).resource_cleanup()
85 86
87 @decorators.idempotent_id('244c7f25-05bb-43f8-af81-563902979109')
86 @testtools.testcase.attr('smoke') 88 @testtools.testcase.attr('smoke')
87 @testtools.testcase.attr('scenario') 89 @testtools.testcase.attr('scenario')
88 def test_app_deployment(self): 90 def test_app_deployment(self):
@@ -112,6 +114,7 @@ class TestMuranoDeployment(base.BaseApplicationCatalogScenarioTest):
112 self.status_check(environment['id'], 114 self.status_check(environment['id'],
113 [[post_body['instance']['name'], 22, 80]]) 115 [[post_body['instance']['name'], 22, 80]])
114 116
117 @decorators.idempotent_id('f161ac2f-69b8-4c0b-89ee-225459e7f113')
115 @testtools.testcase.attr('smoke') 118 @testtools.testcase.attr('smoke')
116 @testtools.testcase.attr('scenario') 119 @testtools.testcase.attr('scenario')
117 def test_resources_deallocation(self): 120 def test_resources_deallocation(self):
@@ -173,6 +176,7 @@ class TestMuranoDeployment(base.BaseApplicationCatalogScenarioTest):
173 self.assertNotIn(floating_ip, template['outputs']) 176 self.assertNotIn(floating_ip, template['outputs'])
174 self.assertNotIn(instance_name, template['resources']) 177 self.assertNotIn(instance_name, template['resources'])
175 178
179 @decorators.idempotent_id('5f0f1326-83b4-4ebb-a80d-312a744851b1')
176 @testtools.testcase.attr('smoke') 180 @testtools.testcase.attr('smoke')
177 @testtools.testcase.attr('scenario') 181 @testtools.testcase.attr('scenario')
178 def test_dependent_app(self): 182 def test_dependent_app(self):
@@ -215,6 +219,7 @@ class TestMuranoDeployment(base.BaseApplicationCatalogScenarioTest):
215 self.status_check(environment['id'], 219 self.status_check(environment['id'],
216 [[updater['instance']['name'], 22, 80]]) 220 [[updater['instance']['name'], 22, 80]])
217 221
222 @decorators.idempotent_id('3a1fbca7-f5b3-4274-b4dd-3a66822bad77')
218 @testtools.testcase.attr('smoke') 223 @testtools.testcase.attr('smoke')
219 @testtools.testcase.attr('scenario') 224 @testtools.testcase.attr('scenario')
220 def test_simple_software_configuration(self): 225 def test_simple_software_configuration(self):
diff --git a/murano_tempest_tests/tests/scenario/application_catalog/test_security_groups.py b/murano_tempest_tests/tests/scenario/application_catalog/test_security_groups.py
index 730b29e..a2cb98d 100644
--- a/murano_tempest_tests/tests/scenario/application_catalog/test_security_groups.py
+++ b/murano_tempest_tests/tests/scenario/application_catalog/test_security_groups.py
@@ -15,6 +15,7 @@ import os
15import testtools 15import testtools
16 16
17from tempest import config 17from tempest import config
18from tempest.lib import decorators
18 19
19from murano_tempest_tests.tests.scenario.application_catalog import base 20from murano_tempest_tests.tests.scenario.application_catalog import base
20from murano_tempest_tests import utils 21from murano_tempest_tests import utils
@@ -48,6 +49,7 @@ class TestSecurityGroups(base.BaseApplicationCatalogScenarioTest):
48 os.remove(cls.abs_archive_path) 49 os.remove(cls.abs_archive_path)
49 super(TestSecurityGroups, cls).resource_cleanup() 50 super(TestSecurityGroups, cls).resource_cleanup()
50 51
52 @decorators.idempotent_id('1344f041-3f7a-4e75-acfc-36b050ccec82')
51 @testtools.testcase.attr('smoke') 53 @testtools.testcase.attr('smoke')
52 @testtools.testcase.attr('scenario') 54 @testtools.testcase.attr('scenario')
53 def test_deploy_app_with_murano_defined_security_group(self): 55 def test_deploy_app_with_murano_defined_security_group(self):
@@ -64,6 +66,7 @@ class TestSecurityGroups(base.BaseApplicationCatalogScenarioTest):
64 self.assertEqual(len(security_groups), 1) 66 self.assertEqual(len(security_groups), 1)
65 self.assertEqual(len(security_groups[0].get('rules')), 4) 67 self.assertEqual(len(security_groups[0].get('rules')), 4)
66 68
69 @decorators.idempotent_id('c52cb4a2-53dd-44c3-95d5-7e1606954caa')
67 @testtools.testcase.attr('smoke') 70 @testtools.testcase.attr('smoke')
68 @testtools.testcase.attr('scenario') 71 @testtools.testcase.attr('scenario')
69 def test_deploy_app_with_user_defined_security_group(self): 72 def test_deploy_app_with_user_defined_security_group(self):
diff --git a/tox.ini b/tox.ini
index d30325a..f4b43f1 100644
--- a/tox.ini
+++ b/tox.ini
@@ -17,6 +17,7 @@ commands = rm -f .testrepository/times.dbm
17whitelist_externals = bash 17whitelist_externals = bash
18 find 18 find
19 rm 19 rm
20 bandit
20 21
21[testenv:py27-ocata] 22[testenv:py27-ocata]
22install_command = pip install -chttps://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=stable/ocata {opts} {packages} 23install_command = pip install -chttps://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=stable/ocata {opts} {packages}