diff --git a/ranger_tempest_plugin/tests/api/fms_base.py b/ranger_tempest_plugin/tests/api/fms_base.py index e2e65f0..d3b0e89 100755 --- a/ranger_tempest_plugin/tests/api/fms_base.py +++ b/ranger_tempest_plugin/tests/api/fms_base.py @@ -41,7 +41,8 @@ class FmsBaseOrmTest(base.BaseOrmTest): cls.os_alt.credentials.project_name) @classmethod - def _get_flavor_params(cls, set_region=True, single_tenant=True): + def _get_flavor_params(cls, set_region=True, single_tenant=True, + public=False): post_body, region = {}, {} region["name"] = CONF.identity.region ram = random.randint(1, 4) * 1024 @@ -58,13 +59,17 @@ class FmsBaseOrmTest(base.BaseOrmTest): post_body["swap"] = str(swap) post_body["ephemeral"] = "1024" post_body["regions"] = [region] if set_region else [] - post_body["visibility"] = "private" + post_body["visibility"] = "private" if not public else "public" post_body['tag'] = {'a': 'b', 'c': 'd'} if single_tenant: post_body["tenants"] = [cls.tenant_id] else: post_body["tenants"] = [cls.tenant_id, cls.alt_tenant_id] + + if public: + post_body["tenants"] = [] + return post_body @classmethod diff --git a/ranger_tempest_plugin/tests/api/test_flavors.py b/ranger_tempest_plugin/tests/api/test_flavors.py index 6373cdf..abd7a63 100755 --- a/ranger_tempest_plugin/tests/api/test_flavors.py +++ b/ranger_tempest_plugin/tests/api/test_flavors.py @@ -127,6 +127,24 @@ class TestTempestFms(fms_base.FmsBaseOrmTest): es_expected.update(self.dflt_ex_specs) self.assertDictEqual(es_expected, extra_specs.get("os_extra_specs")) + def _assert_create_flavor(self, public=False): + post_body = self._get_flavor_params(public=public) + visibility = "private" if not public else "public" + # call client create_flavor and wait till status equals 'Success' + _, body = self.client.create_flavor(**post_body) + test_flvr_id = body["flavor"]['id'] + self._wait_for_flavor_status_on_dcp(test_flvr_id, 'Success') + + # do not forget to add this account to addCleanUp + self.addCleanup(self._del_flv_and_validate_deletion_on_dcp_and_lcp, + test_flvr_id) + + # verify flavor record created successfully + flavor = self._get_flavor_details(test_flvr_id) + self.assertEqual(flavor["visibility"], visibility) + self.assertEqual(flavor["regions"][0]["name"], CONF.identity.region) + self.assertEqual(flavor["status"], "Success") + @classmethod def resource_cleanup(cls): # cls.delete_role_to_admin() @@ -193,22 +211,12 @@ class TestTempestFms(fms_base.FmsBaseOrmTest): self.assertIn(self.flavor_id, flavor_ids) @decorators.idempotent_id('7b9d1f91-a8a4-458d-aaad-a98b5bf033b4') - def test_create_flavor(self): - post_body = self._get_flavor_params() - # call client create_flavor and wait till status equals 'Success' - _, body = self.client.create_flavor(**post_body) - test_flvr_id = body["flavor"]['id'] - self._wait_for_flavor_status_on_dcp(test_flvr_id, 'Success') + def test_create_private_flavor(self): + self._assert_create_flavor(public=False) - # do not forget to add this account to addCleanUp - self.addCleanup(self._del_flv_and_validate_deletion_on_dcp_and_lcp, - test_flvr_id) - - # verify flavor record created successfully - flavor = self._get_flavor_details(test_flvr_id) - self.assertEqual(flavor["visibility"], "private") - self.assertEqual(flavor["regions"][0]["name"], CONF.identity.region) - self.assertEqual(flavor["status"], "Success") + @decorators.idempotent_id('790d3417-54a1-4db1-aee9-7f3a7d1e0962') + def test_create_public_flavor(self): + self._assert_create_flavor(public=True) @decorators.idempotent_id('4cad10ce-67d2-4633-b347-2c16783a31b9') def test_add_flvr_tags(self):