From c949223c06c3164f9caaf5ea73e05b78fb25e60a Mon Sep 17 00:00:00 2001 From: Isaac Mungai Date: Tue, 5 Jul 2016 13:26:33 -0400 Subject: [PATCH] Add unit tests for akamai services controller Change-Id: Ic2d50903593c523259369632e9f8b3a58e53dc6f --- tests/unit/provider/akamai/test_services.py | 51 +++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/tests/unit/provider/akamai/test_services.py b/tests/unit/provider/akamai/test_services.py index c128d386..8eb7a4af 100644 --- a/tests/unit/provider/akamai/test_services.py +++ b/tests/unit/provider/akamai/test_services.py @@ -86,6 +86,34 @@ class TestServices(base.TestCase): resp = self.controller.create(service_obj) self.assertIn('error', resp[self.driver.provider_name]) + @ddt.file_data('data_service.json') + def test_create_with_get_sub_customer_exception(self, service_json): + service_obj = service.load_from_json(service_json) + self.controller.subcustomer_api_client.get.return_value = \ + mock.Mock(status_code=400, + ok=False, + content=json.dumps({"geo": "US"})) + self.controller.policy_api_client.put.side_effect = ( + RuntimeError('Creating service failed.')) + resp = self.controller.create(service_obj) + self.assertIn('error', resp[self.driver.provider_name]) + + @ddt.file_data('data_service.json') + def test_create_with_put_sub_customer_exception(self, service_json): + # ASSERTIONS + # create_service + service_obj = service.load_from_json(service_json) + self.controller.subcustomer_api_client.get.return_value = \ + mock.Mock(status_code=400, + ok=False, + content=json.dumps({"geo": "US"})) + self.controller.subcustomer_api_client.put.return_value = \ + mock.Mock(status_code=400, + ok=False, + content=json.dumps({"geo": "US"})) + resp = self.controller.create(service_obj) + self.assertIn('error', resp[self.driver.provider_name]) + @ddt.file_data('data_service.json') def test_create_with_4xx_return(self, service_json): service_obj = service.load_from_json(service_json) @@ -731,3 +759,26 @@ class TestServices(base.TestCase): sorted(regions)) for timestamp_counter in formatted_results[metrictype].values(): self.assertEqual(timestamp_counter[0][timestamp], value) + + def test_get_provider_service_id(self): + controller = services.ServiceController(self.driver) + + expected_id = [] + + for service_domain in self.service_obj.domains: + dp_obj = {'policy_name': service_domain.domain, + 'protocol': service_domain.protocol, + 'certificate': service_domain.certificate} + expected_id.append(dp_obj) + + actual_id = controller.get_provider_service_id(self.service_obj) + + self.assertEqual(json.dumps(expected_id), actual_id) + + def test_get(self): + controller = services.ServiceController(self.driver) + self.assertIsNone(controller.get('service_name')) + + def test_current_customer(self): + controller = services.ServiceController(self.driver) + self.assertIsNone(controller.current_customer)