Merge "Replace neutron create security group rule with shade."
[yardstick.git] / yardstick / tests / unit / common / test_openstack_utils.py
index c6b0f46..3b7e8ea 100644 (file)
@@ -35,28 +35,6 @@ class GetHeatApiVersionTestCase(unittest.TestCase):
             self.assertEqual(api_version, expected_result)
 
 
-class GetNetworkIdTestCase(unittest.TestCase):
-
-    def test_get_network_id(self):
-        _uuid = uuidutils.generate_uuid()
-        mock_shade_client = mock.Mock()
-        mock_shade_client.list_networks = mock.Mock()
-        mock_shade_client.list_networks.return_value = [{'id': _uuid}]
-
-        output = openstack_utils.get_network_id(mock_shade_client,
-                                                'network_name')
-        self.assertEqual(_uuid, output)
-
-    def test_get_network_id_no_network(self):
-        mock_shade_client = mock.Mock()
-        mock_shade_client.list_networks = mock.Mock()
-        mock_shade_client.list_networks.return_value = None
-
-        output = openstack_utils.get_network_id(mock_shade_client,
-                                                'network_name')
-        self.assertIsNone(output)
-
-
 class DeleteNeutronNetTestCase(unittest.TestCase):
 
     def setUp(self):
@@ -161,3 +139,128 @@ 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)
+
+
+class RemoveRouterInterfaceTestCase(unittest.TestCase):
+
+    def setUp(self):
+        self.mock_shade_client = mock.Mock()
+        self.router = 'router'
+        self.mock_shade_client.remove_router_interface = mock.Mock()
+
+    def test_remove_router_interface(self):
+        self.mock_shade_client.remove_router_interface.return_value = True
+        output = openstack_utils.remove_router_interface(
+            self.mock_shade_client, self.router)
+        self.assertTrue(output)
+
+    @mock.patch.object(openstack_utils, 'log')
+    def test_remove_router_interface_exception(self, mock_logger):
+        self.mock_shade_client.remove_router_interface.side_effect = (
+            exc.OpenStackCloudException('error message'))
+        output = openstack_utils.remove_router_interface(
+            self.mock_shade_client, self.router)
+        mock_logger.error.assert_called_once()
+        self.assertFalse(output)
+
+
+class CreateFloatingIpTestCase(unittest.TestCase):
+
+    def setUp(self):
+        self.mock_shade_client = mock.Mock()
+        self.network_name_or_id = 'name'
+        self.mock_shade_client.create_floating_ip = mock.Mock()
+
+    def test_create_floating_ip(self):
+        self.mock_shade_client.create_floating_ip.return_value = \
+            {'floating_ip_address': 'value1', 'id': 'value2'}
+        output = openstack_utils.create_floating_ip(self.mock_shade_client,
+                                                    self.network_name_or_id)
+        self.assertEqual({'fip_addr': 'value1', 'fip_id': 'value2'}, output)
+
+    @mock.patch.object(openstack_utils, 'log')
+    def test_create_floating_ip_exception(self, mock_logger):
+        self.mock_shade_client.create_floating_ip.side_effect = (
+            exc.OpenStackCloudException('error message'))
+        output = openstack_utils.create_floating_ip(
+            self.mock_shade_client, self.network_name_or_id)
+        mock_logger.error.assert_called_once()
+        self.assertIsNone(output)
+
+
+class DeleteFloatingIpTestCase(unittest.TestCase):
+
+    def setUp(self):
+        self.mock_shade_client = mock.Mock()
+        self.floating_ip_id = 'floating_ip_id'
+        self.mock_shade_client.delete_floating_ip = mock.Mock()
+
+    def test_delete_floating_ip(self):
+        self.mock_shade_client.delete_floating_ip.return_value = True
+        output = openstack_utils.delete_floating_ip(self.mock_shade_client,
+                                                    'floating_ip_id')
+        self.assertTrue(output)
+
+    def test_delete_floating_ip_fail(self):
+        self.mock_shade_client.delete_floating_ip.return_value = False
+        output = openstack_utils.delete_floating_ip(self.mock_shade_client,
+                                                    'floating_ip_id')
+        self.assertFalse(output)
+
+    @mock.patch.object(openstack_utils, 'log')
+    def test_delete_floating_ip_exception(self, mock_logger):
+        self.mock_shade_client.delete_floating_ip.side_effect = (
+            exc.OpenStackCloudException('error message'))
+        output = openstack_utils.delete_floating_ip(self.mock_shade_client,
+                                                    'floating_ip_id')
+        mock_logger.error.assert_called_once()
+        self.assertFalse(output)
+
+
+class CreateSecurityGroupRuleTestCase(unittest.TestCase):
+
+    def setUp(self):
+        self.mock_shade_client = mock.Mock()
+        self.secgroup_name_or_id = 'sg_name_id'
+        self.mock_shade_client.create_security_group_rule = mock.Mock()
+
+    def test_create_security_group_rule(self):
+        self.mock_shade_client.create_security_group_rule.return_value = (
+            {'security_group_rule'})
+        output = openstack_utils.create_security_group_rule(
+            self.mock_shade_client, self.secgroup_name_or_id)
+        self.assertTrue(output)
+
+    @mock.patch.object(openstack_utils, 'log')
+    def test_create_security_group_rule_exception(self, mock_logger):
+        self.mock_shade_client.create_security_group_rule.side_effect = (
+            exc.OpenStackCloudException('error message'))
+
+        output = openstack_utils.create_security_group_rule(
+            self.mock_shade_client, self.secgroup_name_or_id)
+        mock_logger.error.assert_called_once()
+        self.assertFalse(output)