Merge "Add ODL noHA testcase"
[yardstick.git] / yardstick / tests / unit / common / test_openstack_utils.py
index b685e63..c6b0f46 100644 (file)
@@ -11,6 +11,7 @@ from oslo_utils import uuidutils
 import unittest
 import mock
 
+from shade import exc
 from yardstick.common import openstack_utils
 
 
@@ -53,4 +54,110 @@ class GetNetworkIdTestCase(unittest.TestCase):
 
         output = openstack_utils.get_network_id(mock_shade_client,
                                                 'network_name')
-        self.assertEqual(None, output)
+        self.assertIsNone(output)
+
+
+class DeleteNeutronNetTestCase(unittest.TestCase):
+
+    def setUp(self):
+        self.mock_shade_client = mock.Mock()
+        self.mock_shade_client.delete_network = mock.Mock()
+
+    def test_delete_neutron_net(self):
+        self.mock_shade_client.delete_network.return_value = True
+        output = openstack_utils.delete_neutron_net(self.mock_shade_client,
+                                                    'network_id')
+        self.assertTrue(output)
+
+    def test_delete_neutron_net_fail(self):
+        self.mock_shade_client.delete_network.return_value = False
+        output = openstack_utils.delete_neutron_net(self.mock_shade_client,
+                                                    'network_id')
+        self.assertFalse(output)
+
+    @mock.patch.object(openstack_utils, 'log')
+    def test_delete_neutron_net_exception(self, mock_logger):
+        self.mock_shade_client.delete_network.side_effect = (
+            exc.OpenStackCloudException('error message'))
+        output = openstack_utils.delete_neutron_net(self.mock_shade_client,
+                                                    'network_id')
+        self.assertFalse(output)
+        mock_logger.error.assert_called_once()
+
+
+class CreateNeutronNetTestCase(unittest.TestCase):
+
+    def setUp(self):
+        self.mock_shade_client = mock.Mock()
+        self.network_name = 'name'
+        self.mock_shade_client.create_network = mock.Mock()
+
+    def test_create_neutron_net(self):
+        _uuid = uuidutils.generate_uuid()
+        self.mock_shade_client.create_network.return_value = {'id': _uuid}
+        output = openstack_utils.create_neutron_net(self.mock_shade_client,
+                                                    self.network_name)
+        self.assertEqual(_uuid, output)
+
+    @mock.patch.object(openstack_utils, 'log')
+    def test_create_neutron_net_exception(self, mock_logger):
+        self.mock_shade_client.create_network.side_effect = (
+            exc.OpenStackCloudException('error message'))
+
+        output = openstack_utils.create_neutron_net(self.mock_shade_client,
+                                                    self.network_name)
+        mock_logger.error.assert_called_once()
+        self.assertIsNone(output)
+
+
+class CreateNeutronSubnetTestCase(unittest.TestCase):
+
+    def setUp(self):
+        self.mock_shade_client = mock.Mock()
+        self.network_name_or_id = 'name_or_id'
+        self.mock_shade_client.create_subnet = mock.Mock()
+
+    def test_create_neutron_subnet(self):
+        _uuid = uuidutils.generate_uuid()
+        self.mock_shade_client.create_subnet.return_value = {'id': _uuid}
+        output = openstack_utils.create_neutron_subnet(
+            self.mock_shade_client, self.network_name_or_id)
+        self.assertEqual(_uuid, output)
+
+    @mock.patch.object(openstack_utils, 'log')
+    def test_create_neutron_subnet_exception(self, mock_logger):
+        self.mock_shade_client.create_subnet.side_effect = (
+            exc.OpenStackCloudException('error message'))
+
+        output = openstack_utils.create_neutron_subnet(
+            self.mock_shade_client, self.network_name_or_id)
+        mock_logger.error.assert_called_once()
+        self.assertIsNone(output)
+
+
+class DeleteNeutronRouterTestCase(unittest.TestCase):
+
+    def setUp(self):
+        self.mock_shade_client = mock.Mock()
+        self.mock_shade_client.delete_router = mock.Mock()
+
+    def test_delete_neutron_router(self):
+        self.mock_shade_client.delete_router.return_value = True
+        output = openstack_utils.delete_neutron_router(self.mock_shade_client,
+                                                       'router_id')
+        self.assertTrue(output)
+
+    def test_delete_neutron_router_fail(self):
+        self.mock_shade_client.delete_router.return_value = False
+        output = openstack_utils.delete_neutron_router(self.mock_shade_client,
+                                                       'router_id')
+        self.assertFalse(output)
+
+    @mock.patch.object(openstack_utils, 'log')
+    def test_delete_neutron_router_exception(self, mock_logger):
+        self.mock_shade_client.delete_router.side_effect = (
+            exc.OpenStackCloudException('error message'))
+        output = openstack_utils.delete_neutron_router(self.mock_shade_client,
+                                                       'router_id')
+        mock_logger.error.assert_called_once()
+        self.assertFalse(output)