diff options
author | Rex Lee <limingjiang@huawei.com> | 2018-03-21 08:13:02 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@opnfv.org> | 2018-03-21 08:13:02 +0000 |
commit | a854a1dde960b630c0c0d854dee9232e4c4e9ac8 (patch) | |
tree | 731a85dbebaae7b8e5ece8559e58eec512b3d19d /yardstick/tests | |
parent | c4228f65829e86abadb7d93246d0b6de9dab2d51 (diff) | |
parent | 16aa0b60244b742c2b6478cea93b1eebce4c335f (diff) |
Merge "Replace neutron router creation with shade."
Diffstat (limited to 'yardstick/tests')
-rw-r--r-- | yardstick/tests/unit/benchmark/scenarios/lib/test_create_router.py | 57 | ||||
-rw-r--r-- | yardstick/tests/unit/common/test_openstack_utils.py | 24 |
2 files changed, 66 insertions, 15 deletions
diff --git a/yardstick/tests/unit/benchmark/scenarios/lib/test_create_router.py b/yardstick/tests/unit/benchmark/scenarios/lib/test_create_router.py index 3469a2a06..8d6f119ab 100644 --- a/yardstick/tests/unit/benchmark/scenarios/lib/test_create_router.py +++ b/yardstick/tests/unit/benchmark/scenarios/lib/test_create_router.py @@ -6,25 +6,52 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## + +from oslo_utils import uuidutils import unittest import mock -from yardstick.benchmark.scenarios.lib.create_router import CreateRouter +from yardstick.common import openstack_utils +from yardstick.common import exceptions +from yardstick.benchmark.scenarios.lib import create_router class CreateRouterTestCase(unittest.TestCase): - @mock.patch('yardstick.common.openstack_utils.get_neutron_client') - @mock.patch('yardstick.common.openstack_utils.create_neutron_router') - def test_create_router(self, mock_get_neutron_client, mock_create_neutron_router): - options = { - 'openstack_paras': { - 'admin_state_up': 'True', - 'name': 'yardstick_router' - } - } - args = {"options": options} - obj = CreateRouter(args, {}) - obj.run({}) - mock_get_neutron_client.assert_called_once() - mock_create_neutron_router.assert_called_once() + def setUp(self): + + self._mock_create_neutron_router = mock.patch.object( + openstack_utils, 'create_neutron_router') + self.mock_create_neutron_router = ( + self._mock_create_neutron_router.start()) + self._mock_get_shade_client = mock.patch.object( + openstack_utils, 'get_shade_client') + self.mock_get_shade_client = self._mock_get_shade_client.start() + self._mock_log = mock.patch.object(create_router, 'LOG') + self.mock_log = self._mock_log.start() + self.args = {'options': {'name': 'yardstick_net'}} + self.result = {} + + self.crouter_obj = create_router.CreateRouter(self.args, mock.ANY) + self.addCleanup(self._stop_mock) + + def _stop_mock(self): + self._mock_create_neutron_router.stop() + self._mock_get_shade_client.stop() + self._mock_log.stop() + + def test_run(self): + _uuid = uuidutils.generate_uuid() + self.crouter_obj.scenario_cfg = {'output': 'id'} + self.mock_create_neutron_router.return_value = _uuid + output = self.crouter_obj.run(self.result) + self.assertEqual({"router_create": 1}, self.result) + self.assertEqual({'id': _uuid}, output) + self.mock_log.info.asset_called_once_with('Create router successful!') + + def test_run_fail(self): + self.mock_create_neutron_router.return_value = None + with self.assertRaises(exceptions.ScenarioCreateRouterError): + self.crouter_obj.run(self.result) + self.assertEqual({"router_create": 0}, self.result) + self.mock_log.error.assert_called_once_with('Create router failed!') diff --git a/yardstick/tests/unit/common/test_openstack_utils.py b/yardstick/tests/unit/common/test_openstack_utils.py index c6b0f46b2..e39a13f1b 100644 --- a/yardstick/tests/unit/common/test_openstack_utils.py +++ b/yardstick/tests/unit/common/test_openstack_utils.py @@ -161,3 +161,27 @@ class DeleteNeutronRouterTestCase(unittest.TestCase): 'router_id') mock_logger.error.assert_called_once() self.assertFalse(output) + + +class CreateNeutronRouterTestCase(unittest.TestCase): + + def setUp(self): + self.mock_shade_client = mock.Mock() + self.mock_shade_client.create_subnet = mock.Mock() + + def test_create_neutron_router(self): + _uuid = uuidutils.generate_uuid() + self.mock_shade_client.create_router.return_value = {'id': _uuid} + output = openstack_utils.create_neutron_router( + self.mock_shade_client) + self.assertEqual(_uuid, output) + + @mock.patch.object(openstack_utils, 'log') + def test_create_neutron_subnet_exception(self, mock_logger): + self.mock_shade_client.create_router.side_effect = ( + exc.OpenStackCloudException('error message')) + + output = openstack_utils.create_neutron_router( + self.mock_shade_client) + mock_logger.error.assert_called_once() + self.assertIsNone(output) |