From 942110bf69edd184c24c511b7177bd31e40a1b6b Mon Sep 17 00:00:00 2001 From: amitgandhinz Date: Wed, 23 Jul 2014 14:15:04 -0400 Subject: [PATCH] merging upstream commits plus merge issues --- tests/unit/manager/__init__.py | 0 tests/unit/manager/default/__init__.py | 0 .../manager/default/data_list_response.json | 4 ++ tests/unit/manager/default/test_driver.py | 38 +++++++++++++ tests/unit/manager/default/test_services.py | 56 +++++++++++++++++++ 5 files changed, 98 insertions(+) create mode 100644 tests/unit/manager/__init__.py create mode 100644 tests/unit/manager/default/__init__.py create mode 100644 tests/unit/manager/default/data_list_response.json create mode 100644 tests/unit/manager/default/test_driver.py create mode 100644 tests/unit/manager/default/test_services.py diff --git a/tests/unit/manager/__init__.py b/tests/unit/manager/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/tests/unit/manager/default/__init__.py b/tests/unit/manager/default/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/tests/unit/manager/default/data_list_response.json b/tests/unit/manager/default/data_list_response.json new file mode 100644 index 00000000..449bdb19 --- /dev/null +++ b/tests/unit/manager/default/data_list_response.json @@ -0,0 +1,4 @@ +{ + "using_all_fields": {}, + "using_optional_fields": {} +} \ No newline at end of file diff --git a/tests/unit/manager/default/test_driver.py b/tests/unit/manager/default/test_driver.py new file mode 100644 index 00000000..ae85cc3a --- /dev/null +++ b/tests/unit/manager/default/test_driver.py @@ -0,0 +1,38 @@ +# Copyright (c) 2014 Rackspace, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from cdn.manager.default import driver +from cdn.manager.default import services + +from mock import patch +from oslo.config import cfg +from unittest import TestCase + + +class DefaultManagerDriverTests(TestCase): + @patch('cdn.storage.base.driver.StorageDriverBase') + @patch('cdn.provider.base.driver.ProviderDriverBase') + def setUp(self, mock_storage, mock_provider): + conf = cfg.ConfigOpts() + self.driver = driver.DefaultManagerDriver(conf, + mock_storage, + mock_provider) + + def test_services_controller(self): + sc = self.driver.services_controller + + self.assertEquals( + isinstance(sc, services.DefaultServicesController), + True) diff --git a/tests/unit/manager/default/test_services.py b/tests/unit/manager/default/test_services.py new file mode 100644 index 00000000..20b2cf6c --- /dev/null +++ b/tests/unit/manager/default/test_services.py @@ -0,0 +1,56 @@ +# Copyright (c) 2014 Rackspace, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from cdn.manager.default import driver +from cdn.manager.default import services + +from ddt import ddt, file_data +from mock import patch +from oslo.config import cfg +from unittest import TestCase + + +@ddt +class DefaultManagerServiceTests(TestCase): + @patch('cdn.storage.base.driver.StorageDriverBase') + def setUp(self, mock_driver): + # create mocked config and driver + conf = cfg.ConfigOpts() + manager_driver = driver.DefaultManagerDriver(conf, mock_driver, None) + + # stubbed driver + self.sc = services.DefaultServicesController(manager_driver) + + @file_data('data_list_response.json') + def test_create(self, expected_response): + project_id = 'mock_id' + service_name = 'mock_service' + service_json = '' + + self.sc.create(project_id, service_name, service_json) + + # ensure the manager calls the storage driver with the appropriate data + # and that the providers are notified. + self.sc.services_controller.assert_called_once(service_json) + + def test_update(self): + # ensure that the storage driver is updated appropriately + # and the providers are notified + pass + + def test_delete(self): + # ensure that the storage driver record is deleted appropriately + # and the providers are notified + pass