From 5da5a09b87fb037e228b02a847de00f816b69c5b Mon Sep 17 00:00:00 2001 From: amitgandhinz Date: Fri, 2 Jan 2015 11:31:46 -0500 Subject: [PATCH] Make the flavor provider used in api tests configurable Closes-Bug: 1407130 Change-Id: I9be7a398384069ebf40b608375dbcc4c75314ef8 --- tests/api/base.py | 18 +++++++++++++ tests/api/flavors/test_flavors.py | 20 +------------- tests/api/services/test_services.py | 42 +++-------------------------- tests/api/utils/config.py | 5 ++++ tests/etc/api.conf | 3 ++- 5 files changed, 30 insertions(+), 58 deletions(-) diff --git a/tests/api/base.py b/tests/api/base.py index 3e1aa874..3d637024 100644 --- a/tests/api/base.py +++ b/tests/api/base.py @@ -13,6 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. +import uuid from cafe.drivers.unittest import fixtures import jsonschema @@ -64,6 +65,23 @@ class TestBase(fixtures.BaseTestFixture): except jsonschema.ValidationError as message: assert False, message + @property + def test_flavor(self): + if self.test_config.generate_flavors: + provider_name = self.test_config.generated_provider + # create the flavor + flavor_id = str(uuid.uuid1()) + self.client.create_flavor( + flavor_id=flavor_id, + provider_list=[{ + "provider": provider_name, + "links": [{"href": "www.{0}.com".format(provider_name), + "rel": "provider_url"}]}]) + else: + flavor_id = self.test_config.default_flavor + + return flavor_id + @classmethod def tearDownClass(cls): """Deletes the added resources.""" diff --git a/tests/api/flavors/test_flavors.py b/tests/api/flavors/test_flavors.py index 88143dcd..1cfdd784 100644 --- a/tests/api/flavors/test_flavors.py +++ b/tests/api/flavors/test_flavors.py @@ -86,25 +86,7 @@ class TestFlavorActions(base.TestBase): def setUp(self): super(TestFlavorActions, self).setUp() - if self.test_config.generate_flavors: - self.flavor_id = str(uuid.uuid1()) - self.provider_list = [ - { - "provider": "fastly", - "links": [ - { - "href": "www.fastly.com", - "rel": "provider_url" - } - ] - } - ] - - self.client.create_flavor( - flavor_id=self.flavor_id, - provider_list=self.provider_list) - else: - self.flavor_id = self.test_config.default_flavor + self.flavor_id = self.test_flavor @attrib.attr('smoke') def test_get_flavor(self): diff --git a/tests/api/services/test_services.py b/tests/api/services/test_services.py index 32c5064c..8e4d07c0 100644 --- a/tests/api/services/test_services.py +++ b/tests/api/services/test_services.py @@ -36,16 +36,7 @@ class TestCreateService(providers.TestProviderBase): super(TestCreateService, self).setUp() self.service_url = '' self.service_name = str(uuid.uuid1()) - self.flavor_id = self.test_config.default_flavor - - if self.test_config.generate_flavors: - # create the flavor - self.flavor_id = str(uuid.uuid1()) - self.client.create_flavor(flavor_id=self.flavor_id, - provider_list=[{ - "provider": "fastly", - "links": [{"href": "www.fastly.com", - "rel": "provider_url"}]}]) + self.flavor_id = self.test_flavor @attrib.attr('smoke') @ddt.file_data('data_create_service.json') @@ -246,15 +237,7 @@ class TestListServices(base.TestBase): def setUp(self): super(TestListServices, self).setUp() self.service_list = [] - if self.test_config.generate_flavors: - self.flavor_id = str(uuid.uuid1()) - self.client.create_flavor( - flavor_id=self.flavor_id, - provider_list=[{"provider": "fastly", - "links": [{"href": "www.fastly.com", - "rel": "provider_url"}]}]) - else: - self.flavor_id = self.test_config.default_flavor + self.flavor_id = self.test_flavor @attrib.attr('smoke') def test_list_single_service(self): @@ -338,16 +321,7 @@ class TestServiceActions(base.TestBase): def setUp(self): super(TestServiceActions, self).setUp() self.service_name = str(uuid.uuid1()) - self.flavor_id = str(uuid.uuid1()) - if self.test_config.generate_flavors: - self.flavor_id = str(uuid.uuid1()) - self.client.create_flavor( - flavor_id=self.flavor_id, - provider_list=[{"provider": "fastly", - "links": [{"href": "www.fastly.com", - "rel": "provider_url"}]}]) - else: - self.flavor_id = self.test_config.default_flavor + self.flavor_id = self.test_flavor domain = str(uuid.uuid1()) + u'.com' self.domain_list = [ @@ -473,15 +447,7 @@ class TestServicePatch(base.TestBase): def setUp(self): super(TestServicePatch, self).setUp() self.service_name = str(uuid.uuid1()) - if self.test_config.generate_flavors: - self.flavor_id = str(uuid.uuid1()) - self.client.create_flavor( - flavor_id=self.flavor_id, - provider_list=[{"provider": "fastly", - "links": [{"href": "www.fastly.com", - "rel": "provider_url"}]}]) - else: - self.flavor_id = self.test_config.default_flavor + self.flavor_id = self.test_flavor domain = str(uuid.uuid1()) + '.com' self.domain_list = [{"domain": domain}] diff --git a/tests/api/utils/config.py b/tests/api/utils/config.py index 52c17edb..114637db 100644 --- a/tests/api/utils/config.py +++ b/tests/api/utils/config.py @@ -62,6 +62,11 @@ class TestConfig(data_interfaces.ConfigSectionInterface): """String value to set the default flavor to use in tests.""" return self.get('default_flavor') + @property + def generated_provider(self): + """String value to set the provider to use with generated flavor.""" + return self.get('generated_provider') + @property def project_id_in_url(self): """Flag to indicate if project_id should be present in the url.""" diff --git a/tests/etc/api.conf b/tests/etc/api.conf index c426ba43..890d3bcd 100644 --- a/tests/etc/api.conf +++ b/tests/etc/api.conf @@ -18,7 +18,8 @@ status_check_retry_interval=2 status_check_retry_timeout=30 generate_flavors=False default_flavor=standard -project_id_in_url = False +generated_provider=fastly +project_id_in_url=False [provider_1] api_key=INSERT_YOUR_API_KEY