From 14615e286e67ca74a8c0ae55ffe043170e5ecbb6 Mon Sep 17 00:00:00 2001
From: Shobhi Jain <shobhi.jain@intel.com>
Date: Fri, 16 Mar 2018 13:07:55 +0000
Subject: Update neutron delete_neutron_net function.

Update the changes done in patch [1].

JIRA: YARDSTICK-890

[1] https://gerrit.opnfv.org/gerrit/#/c/52361/

Change-Id: Iccbf16d0a2e72919d5092366241ff41686f01a58
Signed-off-by: Shobhi Jain <shobhi.jain@intel.com>
---
 .../benchmark/scenarios/lib/delete_network.py      | 24 ++++++++++++----------
 yardstick/common/exceptions.py                     |  4 ++++
 .../benchmark/scenarios/lib/test_delete_network.py | 23 +++++++++++++--------
 .../tests/unit/common/test_openstack_utils.py      |  7 +++----
 4 files changed, 34 insertions(+), 24 deletions(-)

diff --git a/yardstick/benchmark/scenarios/lib/delete_network.py b/yardstick/benchmark/scenarios/lib/delete_network.py
index 2e8b595f9..8874e8b1e 100644
--- a/yardstick/benchmark/scenarios/lib/delete_network.py
+++ b/yardstick/benchmark/scenarios/lib/delete_network.py
@@ -10,7 +10,8 @@
 import logging
 
 from yardstick.benchmark.scenarios import base
-import yardstick.common.openstack_utils as op_utils
+from yardstick.common import openstack_utils
+from yardstick.common import exceptions
 
 
 LOG = logging.getLogger(__name__)
@@ -24,11 +25,11 @@ class DeleteNetwork(base.Scenario):
     def __init__(self, scenario_cfg, context_cfg):
         self.scenario_cfg = scenario_cfg
         self.context_cfg = context_cfg
-        self.options = self.scenario_cfg['options']
+        self.options = self.scenario_cfg["options"]
 
-        self.network_id = self.options.get("network_id", None)
+        self.network_name_or_id = self.options["network_name_or_id"]
 
-        self.shade_client = op_utils.get_shade_client()
+        self.shade_client = openstack_utils.get_shade_client()
 
         self.setup_done = False
 
@@ -43,12 +44,13 @@ class DeleteNetwork(base.Scenario):
         if not self.setup_done:
             self.setup()
 
-        status = op_utils.delete_neutron_net(self.shade_client,
-                                             network_id=self.network_id)
-        if status:
-            result.update({"delete_network": 1})
-            LOG.info("Delete network successful!")
-        else:
+        status = openstack_utils.delete_neutron_net(self.shade_client,
+                                                    self.network_name_or_id)
+
+        if not status:
             result.update({"delete_network": 0})
             LOG.error("Delete network failed!")
-        return status
+            raise exceptions.ScenarioDeleteNetworkError
+
+        result.update({"delete_network": 1})
+        LOG.info("Delete network successful!")
diff --git a/yardstick/common/exceptions.py b/yardstick/common/exceptions.py
index 0a08a66a6..6c722397a 100644
--- a/yardstick/common/exceptions.py
+++ b/yardstick/common/exceptions.py
@@ -170,3 +170,7 @@ class ScenarioDeleteFloatingIPError(YardstickException):
 
 class ScenarioCreateSecurityGroupError(YardstickException):
     message = 'Create Neutron Security Group Scenario failed'
+
+
+class ScenarioDeleteNetworkError(YardstickException):
+    message = 'Delete Neutron Network Scenario failed'
diff --git a/yardstick/tests/unit/benchmark/scenarios/lib/test_delete_network.py b/yardstick/tests/unit/benchmark/scenarios/lib/test_delete_network.py
index aef99ee94..b6dbf4791 100644
--- a/yardstick/tests/unit/benchmark/scenarios/lib/test_delete_network.py
+++ b/yardstick/tests/unit/benchmark/scenarios/lib/test_delete_network.py
@@ -11,7 +11,8 @@ from oslo_utils import uuidutils
 import unittest
 import mock
 
-import yardstick.common.openstack_utils as op_utils
+from yardstick.common import openstack_utils
+from yardstick.common import exceptions
 from yardstick.benchmark.scenarios.lib import delete_network
 
 
@@ -19,16 +20,17 @@ class DeleteNetworkTestCase(unittest.TestCase):
 
     def setUp(self):
         self._mock_delete_neutron_net = mock.patch.object(
-            op_utils, 'delete_neutron_net')
+            openstack_utils, "delete_neutron_net")
         self.mock_delete_neutron_net = self._mock_delete_neutron_net.start()
         self._mock_get_shade_client = mock.patch.object(
-            op_utils, 'get_shade_client')
+            openstack_utils, "get_shade_client")
         self.mock_get_shade_client = self._mock_get_shade_client.start()
-        self._mock_log = mock.patch.object(delete_network, 'LOG')
+        self._mock_log = mock.patch.object(delete_network, "LOG")
         self.mock_log = self._mock_log.start()
-        _uuid = uuidutils.generate_uuid()
-        self.args = {'options': {'network_id': _uuid}}
-        self._del_obj = delete_network.DeleteNetwork(self.args, mock.ANY)
+        self.args = {"options": {"network_name_or_id": (
+            uuidutils.generate_uuid())}}
+        self.result = {}
+        self.del_obj = delete_network.DeleteNetwork(self.args, mock.ANY)
 
         self.addCleanup(self._stop_mock)
 
@@ -39,11 +41,14 @@ class DeleteNetworkTestCase(unittest.TestCase):
 
     def test_run(self):
         self.mock_delete_neutron_net.return_value = True
-        self.assertTrue(self._del_obj.run({}))
+        self.assertIsNone(self.del_obj.run(self.result))
+        self.assertEqual({"delete_network": 1}, self.result)
         self.mock_log.info.assert_called_once_with(
             "Delete network successful!")
 
     def test_run_fail(self):
         self.mock_delete_neutron_net.return_value = False
-        self.assertFalse(self._del_obj.run({}))
+        with self.assertRaises(exceptions.ScenarioDeleteNetworkError):
+            self.del_obj.run(self.result)
+        self.assertEqual({"delete_network": 0}, self.result)
         self.mock_log.error.assert_called_once_with("Delete network failed!")
diff --git a/yardstick/tests/unit/common/test_openstack_utils.py b/yardstick/tests/unit/common/test_openstack_utils.py
index 3abd39668..f03f2516c 100644
--- a/yardstick/tests/unit/common/test_openstack_utils.py
+++ b/yardstick/tests/unit/common/test_openstack_utils.py
@@ -39,18 +39,17 @@ 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')
+                                                    'network_name_or_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')
+                                                    'network_name_or_id')
         self.assertFalse(output)
 
     @mock.patch.object(openstack_utils, 'log')
@@ -58,7 +57,7 @@ class DeleteNeutronNetTestCase(unittest.TestCase):
         self.mock_shade_client.delete_network.side_effect = (
             exc.OpenStackCloudException('error message'))
         output = openstack_utils.delete_neutron_net(self.mock_shade_client,
-                                                    'network_id')
+                                                    'network_name_or_id')
         self.assertFalse(output)
         mock_logger.error.assert_called_once()
 
-- 
cgit