Cleanup vPE VNF unit tests
[yardstick.git] / yardstick / tests / unit / network_services / vnf_generic / vnf / test_sample_vnf.py
index 7c22563..331e80d 100644 (file)
@@ -18,7 +18,6 @@ import unittest
 import mock
 import six
 
-from yardstick.benchmark.contexts.base import Context
 from yardstick.common import exceptions as y_exceptions
 from yardstick.common import utils
 from yardstick.network_services.nfvi.resource import ResourceProfile
@@ -35,6 +34,7 @@ from yardstick.network_services.vnf_generic.vnf.sample_vnf import SampleVNF
 from yardstick.network_services.vnf_generic.vnf.sample_vnf import SampleVNFTrafficGen
 from yardstick.network_services.vnf_generic.vnf.sample_vnf import DpdkVnfSetupEnvHelper
 from yardstick.tests.unit.network_services.vnf_generic.vnf import test_base
+from yardstick.benchmark.contexts import base as ctx_base
 
 
 class MockError(Exception):
@@ -563,6 +563,7 @@ class TestDpdkVnfSetupEnvHelper(unittest.TestCase):
         ssh_helper = mock.Mock()
         scenario_helper = mock.Mock()
         scenario_helper.vnf_cfg = {}
+        scenario_helper.options = {}
         scenario_helper.all_options = {}
         dpdk_setup_helper = DpdkVnfSetupEnvHelper(vnfd_helper, ssh_helper, scenario_helper)
 
@@ -574,6 +575,7 @@ class TestDpdkVnfSetupEnvHelper(unittest.TestCase):
         mock_multi_port_config.generate_config.assert_called()
         mock_multi_port_config.generate_script.assert_called()
 
+        scenario_helper.options = {'rules': 'fake_file'}
         scenario_helper.vnf_cfg = {'file': 'fake_file'}
         dpdk_setup_helper = DpdkVnfSetupEnvHelper(vnfd_helper, ssh_helper, scenario_helper)
         mock_open_rf.side_effect = mock.mock_open(read_data='fake_data')
@@ -581,7 +583,7 @@ class TestDpdkVnfSetupEnvHelper(unittest.TestCase):
 
         result = dpdk_setup_helper.build_config()
 
-        mock_open_rf.assert_called_once()
+        mock_open_rf.assert_called()
         self.assertEqual(result, expected)
         self.assertGreaterEqual(ssh_helper.upload_config_file.call_count, 2)
         mock_find.assert_called()
@@ -1531,33 +1533,20 @@ class TestSampleVnf(unittest.TestCase):
         self.assertIsNotNone(sample_vnf.queue_wrapper)
         self.assertIsNotNone(sample_vnf._vnf_process)
 
+    @mock.patch.object(ctx_base.Context, 'get_context_from_server', return_value='fake_context')
     @mock.patch("yardstick.ssh.SSH")
-    def test_instantiate(self, ssh):
+    def test_instantiate(self, ssh, *args):
         test_base.mock_ssh(ssh)
-
         nodes = {
             'vnf1': 'name1',
             'vnf2': 'name2',
         }
 
-        context1 = mock.Mock()
-        context1._get_server.return_value = None
-        context2 = mock.Mock()
-        context2._get_server.return_value = context2
-
-        try:
-            Context.list.clear()
-        except AttributeError:
-            # clear() but works in Py2.7
-            Context.list[:] = []
-
-        Context.list.extend([
-            context1,
-            context2,
-        ])
-
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
         sample_vnf = SampleVNF('vnf1', vnfd)
+        sample_vnf.scenario_helper.scenario_cfg = {
+            'nodes': {sample_vnf.name: 'mock'}
+        }
         sample_vnf.APP_NAME = 'sample1'
         sample_vnf._start_server = mock.Mock(return_value=0)
         sample_vnf._vnf_process = mock.MagicMock()
@@ -1570,7 +1559,6 @@ class TestSampleVnf(unittest.TestCase):
         }
 
         self.assertIsNone(sample_vnf.instantiate(scenario_cfg, {}))
-        self.assertEqual(sample_vnf.nfvi_context, context2)
 
     def test__update_collectd_options(self):
         scenario_cfg = {'options':
@@ -1707,9 +1695,13 @@ class TestSampleVnf(unittest.TestCase):
 
         self.assertEqual(sample_vnf.get_stats(), 'the stats')
 
-    def test_collect_kpi(self):
+    @mock.patch.object(ctx_base.Context, 'get_physical_node_from_server', return_value='mock_node')
+    def test_collect_kpi(self, *args):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
         sample_vnf = SampleVNF('vnf1', vnfd)
+        sample_vnf.scenario_helper.scenario_cfg = {
+            'nodes': {sample_vnf.name: "mock"}
+        }
         sample_vnf.APP_NAME = 'sample1'
         sample_vnf.COLLECT_KPI = r'\s(\d+)\D*(\d+)\D*(\d+)'
         sample_vnf.COLLECT_MAP = {
@@ -1726,18 +1718,24 @@ class TestSampleVnf(unittest.TestCase):
             'k2': 34,
             'k3': 91,
             'collect_stats': {},
+            'physical_node': 'mock_node'
         }
         result = sample_vnf.collect_kpi()
         self.assertDictEqual(result, expected)
 
-    def test_collect_kpi_default(self):
+    @mock.patch.object(ctx_base.Context, 'get_physical_node_from_server', return_value='mock_node')
+    def test_collect_kpi_default(self, *args):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
         sample_vnf = SampleVNF('vnf1', vnfd)
+        sample_vnf.scenario_helper.scenario_cfg = {
+            'nodes': {sample_vnf.name: "mock"}
+        }
         sample_vnf.APP_NAME = 'sample1'
         sample_vnf.COLLECT_KPI = r'\s(\d+)\D*(\d+)\D*(\d+)'
         sample_vnf.get_stats = mock.Mock(return_value='')
 
         expected = {
+            'physical_node': 'mock_node',
             'packets_in': 0,
             'packets_fwd': 0,
             'packets_dropped': 0,