diff options
author | Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com> | 2017-11-23 09:08:14 +0000 |
---|---|---|
committer | Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com> | 2018-01-03 23:48:31 +0000 |
commit | 67bd29933789e7f31c52290fdd43835e54f89eaf (patch) | |
tree | 409fad301d97e6b1f2588925cfd52cd2051cbb4e /tests/unit | |
parent | fa3a7b8d6cadbb2d5e9311cb2da040003f9b9140 (diff) |
Make GenericVNF an abstract class
GenericVNF class is now an abstract class. Only optional methods are
implemented. Mandatory methods:
- instantiate
- wait_for_instantiate
- terminate
- scale
- collect_kpi.
JIRA: YARDSTICK-866
Change-Id: Ia8766f9f98816e11894d1e72b0f3bd573d091d99
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
Diffstat (limited to 'tests/unit')
13 files changed, 255 insertions, 397 deletions
diff --git a/tests/unit/network_services/vnf_generic/vnf/test_acl_vnf.py b/tests/unit/network_services/vnf_generic/vnf/test_acl_vnf.py index e9444b493..2a2647a91 100644 --- a/tests/unit/network_services/vnf_generic/vnf/test_acl_vnf.py +++ b/tests/unit/network_services/vnf_generic/vnf/test_acl_vnf.py @@ -15,8 +15,6 @@ # limitations under the License. # -from __future__ import absolute_import - import unittest import mock import os @@ -241,14 +239,14 @@ class TestAclApproxVnf(unittest.TestCase): 'password': 'r00t', 'VNF model': 'acl_vnf.yaml'}}} - def test___init__(self, mock_process): + def test___init__(self, *args): vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] acl_approx_vnf = AclApproxVnf(name, vnfd) self.assertIsNone(acl_approx_vnf._vnf_process) @mock.patch("yardstick.network_services.vnf_generic.vnf.sample_vnf.time") @mock.patch(SSH_HELPER) - def test_collect_kpi(self, ssh, mock_time, mock_process): + def test_collect_kpi(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] @@ -263,7 +261,7 @@ class TestAclApproxVnf(unittest.TestCase): @mock.patch("yardstick.network_services.vnf_generic.vnf.sample_vnf.time") @mock.patch(SSH_HELPER) - def test_vnf_execute_command(self, ssh, mock_time, mock_process): + def test_vnf_execute_command(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] @@ -275,7 +273,7 @@ class TestAclApproxVnf(unittest.TestCase): self.assertEqual("", acl_approx_vnf.vnf_execute(cmd)) @mock.patch(SSH_HELPER) - def test_get_stats(self, ssh, mock_process): + def test_get_stats(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] @@ -296,7 +294,7 @@ class TestAclApproxVnf(unittest.TestCase): @mock.patch("yardstick.network_services.vnf_generic.vnf.acl_vnf.eval") @mock.patch('yardstick.network_services.vnf_generic.vnf.acl_vnf.open') @mock.patch(SSH_HELPER) - def test_run_acl(self, ssh, mock_open, mock_eval, mock_hex, mock_process): + def test_run_acl(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] @@ -317,7 +315,7 @@ class TestAclApproxVnf(unittest.TestCase): @mock.patch("yardstick.network_services.vnf_generic.vnf.acl_vnf.find_relative_file") @mock.patch("yardstick.network_services.vnf_generic.vnf.sample_vnf.Context") @mock.patch(SSH_HELPER) - def test_instantiate(self, ssh, mock_context, mock_yang, mock_find, mock_process): + def test_instantiate(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] @@ -333,16 +331,9 @@ class TestAclApproxVnf(unittest.TestCase): self.assertIsNone(acl_approx_vnf.instantiate(self.scenario_cfg, self.context_cfg)) - def test_scale(self, mock_process): - vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] - acl_approx_vnf = AclApproxVnf(name, vnfd) - flavor = "" - with self.assertRaises(NotImplementedError): - acl_approx_vnf.scale(flavor) - @mock.patch("yardstick.network_services.vnf_generic.vnf.sample_vnf.time") @mock.patch(SSH_HELPER) - def test_terminate(self, ssh, mock_time, mock_process): + def test_terminate(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] @@ -355,6 +346,3 @@ class TestAclApproxVnf(unittest.TestCase): acl_approx_vnf.dpdk_nic_bind = "dpdk_nic_bind.py" acl_approx_vnf._resource_collect_stop = mock.Mock() self.assertEqual(None, acl_approx_vnf.terminate()) - -if __name__ == '__main__': - unittest.main() diff --git a/tests/unit/network_services/vnf_generic/vnf/test_base.py b/tests/unit/network_services/vnf_generic/vnf/test_base.py index f812d67ef..e9488f76f 100644 --- a/tests/unit/network_services/vnf_generic/vnf/test_base.py +++ b/tests/unit/network_services/vnf_generic/vnf/test_base.py @@ -17,20 +17,20 @@ # Unittest for yardstick.network_services.vnf_generic.vnf.test_base -from __future__ import absolute_import -import unittest +import multiprocessing import os + import mock -from multiprocessing import Queue +import unittest -from yardstick.network_services.vnf_generic.vnf.base import \ - QueueFileWrapper, GenericVNF, GenericTrafficGen +from yardstick.network_services.vnf_generic.vnf import base from yardstick.ssh import SSH -IP_PIPELINE_CFG_FILE_TPL = """ -arp_route_tbl = ({port0_local_ip_hex},{port0_netmask_hex},1,""" -"""{port1_local_ip_hex}) ({port1_local_ip_hex},{port1_netmask_hex},0,""" -"""{port0_local_ip_hex})""" + +IP_PIPELINE_CFG_FILE_TPL = ("arp_route_tbl = ({port0_local_ip_hex}," + "{port0_netmask_hex},1,{port1_local_ip_hex}) " + "({port1_local_ip_hex},{port1_netmask_hex},0," + "{port0_local_ip_hex})") IP_PIPELINE_ND_CFG_FILE_TPL = """ nd_route_tbl = ({port1_dst_ip_hex6},""" @@ -38,6 +38,111 @@ nd_route_tbl = ({port1_dst_ip_hex6},""" _LOCAL_OBJECT = object() +VNFD_0 = { + 'short-name': 'VpeVnf', + 'vdu': [ + { + 'routing_table': [ + { + 'network': '152.16.100.20', + 'netmask': '255.255.255.0', + 'gateway': '152.16.100.20', + 'if': 'xe0' + }, + { + 'network': '152.16.40.20', + 'netmask': '255.255.255.0', + 'gateway': '152.16.40.20', + 'if': 'xe1' + }, + ], + 'description': 'VPE approximation using DPDK', + 'name': 'vpevnf-baremetal', + 'nd_route_tbl': [ + { + 'network': '0064:ff9b:0:0:0:0:9810:6414', + 'netmask': '112', + 'gateway': '0064:ff9b:0:0:0:0:9810:6414', + 'if': 'xe0' + }, + { + 'network': '0064:ff9b:0:0:0:0:9810:2814', + 'netmask': '112', + 'gateway': '0064:ff9b:0:0:0:0:9810:2814', + 'if': 'xe1' + }, + ], + 'id': 'vpevnf-baremetal', + 'external-interface': [ + { + 'virtual-interface': { + 'dst_mac': '00:00:00:00:00:03', + 'vpci': '0000:05:00.0', + 'local_ip': '152.16.100.19', + 'type': 'PCI-PASSTHROUGH', + 'netmask': '255.255.255.0', + 'dpdk_port_num': 0, + 'bandwidth': '10 Gbps', + 'dst_ip': '152.16.100.20', + 'local_mac': '00:00:00:00:00:01' + }, + 'vnfd-connection-point-ref': 'xe0', + 'name': 'xe0' + }, + { + 'virtual-interface': { + 'dst_mac': '00:00:00:00:00:04', + 'vpci': '0000:05:00.1', + 'local_ip': '152.16.40.19', + 'type': 'PCI-PASSTHROUGH', + 'netmask': '255.255.255.0', + 'dpdk_port_num': 1, + 'bandwidth': '10 Gbps', + 'dst_ip': '152.16.40.20', + 'local_mac': '00:00:00:00:00:02' + }, + 'vnfd-connection-point-ref': 'xe1', + 'name': 'xe1' + }, + ], + }, + ], + 'description': 'Vpe approximation using DPDK', + 'mgmt-interface': { + 'vdu-id': 'vpevnf-baremetal', + 'host': '1.1.1.1', + 'password': 'r00t', + 'user': 'root', + 'ip': '1.1.1.1' + }, + 'benchmark': { + 'kpi': [ + 'packets_in', + 'packets_fwd', + 'packets_dropped', + ], + }, + 'connection-point': [ + { + 'type': 'VPORT', + 'name': 'xe0', + }, + { + 'type': 'VPORT', + 'name': 'xe1', + }, + ], + 'id': 'VpeApproxVnf', 'name': 'VPEVnfSsh' +} + +VNFD = { + 'vnfd:vnfd-catalog': { + 'vnfd': [ + VNFD_0, + ] + } +} + class FileAbsPath(object): def __init__(self, module_file): @@ -70,17 +175,17 @@ def mock_ssh(mock_ssh_type, spec=None, exec_result=_LOCAL_OBJECT, run_result=_LO class TestQueueFileWrapper(unittest.TestCase): def setUp(self): self.prompt = "pipeline>" - self.q_in = Queue() - self.q_out = Queue() + self.q_in = multiprocessing.Queue() + self.q_out = multiprocessing.Queue() def test___init__(self): queue_file_wrapper = \ - QueueFileWrapper(self.q_in, self.q_out, self.prompt) + base.QueueFileWrapper(self.q_in, self.q_out, self.prompt) self.assertEqual(queue_file_wrapper.prompt, self.prompt) def test_clear(self): queue_file_wrapper = \ - QueueFileWrapper(self.q_in, self.q_out, self.prompt) + base.QueueFileWrapper(self.q_in, self.q_out, self.prompt) queue_file_wrapper.bufsize = 5 queue_file_wrapper.write("pipeline>") queue_file_wrapper.close() @@ -89,167 +194,45 @@ class TestQueueFileWrapper(unittest.TestCase): def test_close(self): queue_file_wrapper = \ - QueueFileWrapper(self.q_in, self.q_out, self.prompt) + base.QueueFileWrapper(self.q_in, self.q_out, self.prompt) self.assertEqual(None, queue_file_wrapper.close()) def test_read(self): queue_file_wrapper = \ - QueueFileWrapper(self.q_in, self.q_out, self.prompt) + base.QueueFileWrapper(self.q_in, self.q_out, self.prompt) queue_file_wrapper.q_in.put("pipeline>") self.assertEqual("pipeline>", queue_file_wrapper.read(20)) def test_write(self): queue_file_wrapper = \ - QueueFileWrapper(self.q_in, self.q_out, self.prompt) + base.QueueFileWrapper(self.q_in, self.q_out, self.prompt) queue_file_wrapper.write("pipeline>") self.assertIsNotNone(queue_file_wrapper.q_out.empty()) class TestGenericVNF(unittest.TestCase): - VNFD_0 = { - 'short-name': 'VpeVnf', - 'vdu': [ - { - 'routing_table': [ - { - 'network': '152.16.100.20', - 'netmask': '255.255.255.0', - 'gateway': '152.16.100.20', - 'if': 'xe0' - }, - { - 'network': '152.16.40.20', - 'netmask': '255.255.255.0', - 'gateway': '152.16.40.20', - 'if': 'xe1' - }, - ], - 'description': 'VPE approximation using DPDK', - 'name': 'vpevnf-baremetal', - 'nd_route_tbl': [ - { - 'network': '0064:ff9b:0:0:0:0:9810:6414', - 'netmask': '112', - 'gateway': '0064:ff9b:0:0:0:0:9810:6414', - 'if': 'xe0' - }, - { - 'network': '0064:ff9b:0:0:0:0:9810:2814', - 'netmask': '112', - 'gateway': '0064:ff9b:0:0:0:0:9810:2814', - 'if': 'xe1' - }, - ], - 'id': 'vpevnf-baremetal', - 'external-interface': [ - { - 'virtual-interface': { - 'dst_mac': '00:00:00:00:00:03', - 'vpci': '0000:05:00.0', - 'local_ip': '152.16.100.19', - 'type': 'PCI-PASSTHROUGH', - 'netmask': '255.255.255.0', - 'dpdk_port_num': 0, - 'bandwidth': '10 Gbps', - 'dst_ip': '152.16.100.20', - 'local_mac': '00:00:00:00:00:01' - }, - 'vnfd-connection-point-ref': 'xe0', - 'name': 'xe0' - }, - { - 'virtual-interface': { - 'dst_mac': '00:00:00:00:00:04', - 'vpci': '0000:05:00.1', - 'local_ip': '152.16.40.19', - 'type': 'PCI-PASSTHROUGH', - 'netmask': '255.255.255.0', - 'dpdk_port_num': 1, - 'bandwidth': '10 Gbps', - 'dst_ip': '152.16.40.20', - 'local_mac': '00:00:00:00:00:02' - }, - 'vnfd-connection-point-ref': 'xe1', - 'name': 'xe1' - }, - ], - }, - ], - 'description': 'Vpe approximation using DPDK', - 'mgmt-interface': { - 'vdu-id': 'vpevnf-baremetal', - 'host': '1.1.1.1', - 'password': 'r00t', - 'user': 'root', - 'ip': '1.1.1.1' - }, - 'benchmark': { - 'kpi': [ - 'packets_in', - 'packets_fwd', - 'packets_dropped', - ], - }, - 'connection-point': [ - { - 'type': 'VPORT', - 'name': 'xe0', - }, - { - 'type': 'VPORT', - 'name': 'xe1', - }, - ], - 'id': 'VpeApproxVnf', 'name': 'VPEVnfSsh' - } - - VNFD = { - 'vnfd:vnfd-catalog': { - 'vnfd': [ - VNFD_0, - ] - } - } - - def test___init__(self): - generic_vnf = GenericVNF('vnf1', self.VNFD_0) - assert generic_vnf.kpi - - def test_collect_kpi(self): - generic_vnf = GenericVNF('vnf1', self.VNFD_0) - self.assertRaises(NotImplementedError, generic_vnf.collect_kpi) - - def test__get_kpi_definition(self): - vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] - generic_vnf = GenericVNF('vnf1', vnfd) - kpi = generic_vnf._get_kpi_definition() - self.assertEqual(kpi, ['packets_in', 'packets_fwd', 'packets_dropped']) - - def test_instantiate(self): - generic_vnf = GenericVNF('vnf1', self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]) - with self.assertRaises(NotImplementedError): - generic_vnf.instantiate({}, {}) - - def test_scale(self): - generic_vnf = GenericVNF('vnf1', self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]) - with self.assertRaises(NotImplementedError): - generic_vnf.scale() - - def test_terminate(self): - generic_vnf = GenericVNF('vnf1', self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]) - with self.assertRaises(NotImplementedError): - generic_vnf.terminate() + def test_definition(self): + """Make sure that the abstract class cannot be instantiated""" + with self.assertRaises(TypeError) as exc: + # pylint: disable=abstract-class-instantiated + base.GenericVNF('vnf1', VNFD['vnfd:vnfd-catalog']['vnfd'][0]) + msg = ("Can't instantiate abstract class GenericVNF with abstract " + "methods collect_kpi, instantiate, scale, terminate, " + "wait_for_instantiate") + self.assertEqual(msg, str(exc.exception)) class TestGenericTrafficGen(unittest.TestCase): def test_definition(self): """Make sure that the abstract class cannot be instantiated""" - vnfd = TestGenericVNF.VNFD['vnfd:vnfd-catalog']['vnfd'][0] + vnfd = VNFD['vnfd:vnfd-catalog']['vnfd'][0] name = 'vnf1' with self.assertRaises(TypeError) as exc: - GenericTrafficGen(name, vnfd) + # pylint: disable=abstract-class-instantiated + base.GenericTrafficGen(name, vnfd) msg = ("Can't instantiate abstract class GenericTrafficGen with " - "abstract methods run_traffic, terminate") + "abstract methods collect_kpi, instantiate, run_traffic, " + "scale, terminate") self.assertEqual(msg, str(exc.exception)) diff --git a/tests/unit/network_services/vnf_generic/vnf/test_cgnapt_vnf.py b/tests/unit/network_services/vnf_generic/vnf/test_cgnapt_vnf.py index 832509ea7..f2ce18fb3 100644 --- a/tests/unit/network_services/vnf_generic/vnf/test_cgnapt_vnf.py +++ b/tests/unit/network_services/vnf_generic/vnf/test_cgnapt_vnf.py @@ -15,14 +15,11 @@ # limitations under the License. # -from __future__ import absolute_import - +from copy import deepcopy import os import unittest import mock -from copy import deepcopy - from tests.unit import STL_MOCKS from tests.unit.network_services.vnf_generic.vnf.test_base import mock_ssh @@ -305,14 +302,14 @@ class TestCgnaptApproxVnf(unittest.TestCase): def setUp(self): self.scenario_cfg = deepcopy(self.SCENARIO_CFG) - def test___init__(self, mock_process): + def test___init__(self, *args): vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] cgnapt_approx_vnf = CgnaptApproxVnf(name, vnfd) self.assertIsNone(cgnapt_approx_vnf._vnf_process) @mock.patch('yardstick.network_services.vnf_generic.vnf.sample_vnf.time') @mock.patch(SSH_HELPER) - def test_collect_kpi(self, ssh, mock_time, mock_process): + def test_collect_kpi(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] @@ -328,7 +325,7 @@ class TestCgnaptApproxVnf(unittest.TestCase): @mock.patch('yardstick.network_services.vnf_generic.vnf.sample_vnf.time') @mock.patch(SSH_HELPER) - def test_vnf_execute_command(self, ssh, mock_time, mock_process): + def test_vnf_execute_command(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] @@ -340,7 +337,7 @@ class TestCgnaptApproxVnf(unittest.TestCase): self.assertEqual("", cgnapt_approx_vnf.vnf_execute(cmd)) @mock.patch(SSH_HELPER) - def test_get_stats(self, ssh, mock_process): + def test_get_stats(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] @@ -362,7 +359,7 @@ class TestCgnaptApproxVnf(unittest.TestCase): @mock.patch("yardstick.network_services.vnf_generic.vnf.cgnapt_vnf.eval") @mock.patch('yardstick.network_services.vnf_generic.vnf.cgnapt_vnf.open') @mock.patch(SSH_HELPER) - def test_run_vcgnapt(self, ssh, mock_hex, mock_eval, mock_open, mock_process): + def test_run_vcgnapt(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] @@ -377,7 +374,7 @@ class TestCgnaptApproxVnf(unittest.TestCase): @mock.patch("yardstick.network_services.vnf_generic.vnf.sample_vnf.Context") @mock.patch(SSH_HELPER) - def test_instantiate(self, ssh, mock_context, mock_process): + def test_instantiate(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] @@ -393,15 +390,9 @@ class TestCgnaptApproxVnf(unittest.TestCase): self.assertIsNone(cgnapt_approx_vnf.instantiate(self.scenario_cfg, self.context_cfg)) - def test_scale(self, mock_process): - vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] - cgnapt_approx_vnf = CgnaptApproxVnf(name, vnfd) - flavor = "" - self.assertRaises(NotImplementedError, cgnapt_approx_vnf.scale, flavor) - @mock.patch("yardstick.network_services.vnf_generic.vnf.sample_vnf.time") @mock.patch(SSH_HELPER) - def test_terminate(self, ssh, mock_time, mock_process): + def test_terminate(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] @@ -417,7 +408,7 @@ class TestCgnaptApproxVnf(unittest.TestCase): @mock.patch("yardstick.network_services.vnf_generic.vnf.sample_vnf.time") @mock.patch(SSH_HELPER) - def test__vnf_up_post(self, ssh, mock_time, mock_process): + def test__vnf_up_post(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] @@ -433,7 +424,7 @@ class TestCgnaptApproxVnf(unittest.TestCase): @mock.patch("yardstick.network_services.vnf_generic.vnf.sample_vnf.time") @mock.patch(SSH_HELPER) - def test__vnf_up_post_short(self, ssh, mock_time, mock_process): + def test__vnf_up_post_short(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] @@ -444,7 +435,3 @@ class TestCgnaptApproxVnf(unittest.TestCase): cgnapt_approx_vnf.scenario_helper.scenario_cfg = self.scenario_cfg cgnapt_approx_vnf._resource_collect_stop = mock.Mock() cgnapt_approx_vnf._vnf_up_post() - - -if __name__ == '__main__': - unittest.main() diff --git a/tests/unit/network_services/vnf_generic/vnf/test_prox_vnf.py b/tests/unit/network_services/vnf_generic/vnf/test_prox_vnf.py index e29e8ddcd..ee6c67eb7 100644 --- a/tests/unit/network_services/vnf_generic/vnf/test_prox_vnf.py +++ b/tests/unit/network_services/vnf_generic/vnf/test_prox_vnf.py @@ -15,8 +15,6 @@ # limitations under the License. # -from __future__ import absolute_import - import errno import os import unittest @@ -316,13 +314,13 @@ class TestProxApproxVnf(unittest.TestCase): } @mock.patch(SSH_HELPER) - def test___init__(self, ssh, mock_time): + def test___init__(self, ssh, *args): mock_ssh(ssh) prox_approx_vnf = ProxApproxVnf(NAME, self.VNFD0) self.assertIsNone(prox_approx_vnf._vnf_process) @mock.patch(SSH_HELPER) - def test_collect_kpi_no_client(self, ssh, mock_time): + def test_collect_kpi_no_client(self, ssh, *args): mock_ssh(ssh) prox_approx_vnf = ProxApproxVnf(NAME, self.VNFD0) @@ -337,7 +335,7 @@ class TestProxApproxVnf(unittest.TestCase): self.assertEqual(result, expected) @mock.patch(SSH_HELPER) - def test_collect_kpi(self, ssh, mock_time): + def test_collect_kpi(self, ssh, *args): mock_ssh(ssh) resource_helper = mock.MagicMock() @@ -357,7 +355,7 @@ class TestProxApproxVnf(unittest.TestCase): self.assertEqual(result, expected) @mock.patch(SSH_HELPER) - def test_collect_kpi_error(self, ssh, mock_time): + def test_collect_kpi_error(self, ssh, *args): mock_ssh(ssh) resource_helper = mock.MagicMock() @@ -370,7 +368,7 @@ class TestProxApproxVnf(unittest.TestCase): with self.assertRaises(RuntimeError): prox_approx_vnf.collect_kpi() - def _get_file_abspath(self, filename, mock_time): + def _get_file_abspath(self, filename, *args): curr_path = os.path.dirname(os.path.abspath(__file__)) file_path = os.path.join(curr_path, filename) return file_path @@ -378,7 +376,7 @@ class TestProxApproxVnf(unittest.TestCase): @mock.patch('yardstick.benchmark.scenarios.networking.vnf_generic.open', create=True) @mock.patch('yardstick.network_services.helpers.iniparser.open', create=True) @mock.patch(SSH_HELPER) - def test_run_prox(self, ssh, *_): + def test_run_prox(self, ssh, *args): mock_ssh(ssh) prox_approx_vnf = ProxApproxVnf(NAME, self.VNFD0) @@ -394,7 +392,7 @@ class TestProxApproxVnf(unittest.TestCase): self.assertEqual(result, expected) @mock.patch(SSH_HELPER) - def bad_test_instantiate(self, ssh, mock_time): + def bad_test_instantiate(self, *args): prox_approx_vnf = ProxApproxVnf(NAME, self.VNFD0) prox_approx_vnf.scenario_helper = mock.MagicMock() prox_approx_vnf.setup_helper = mock.MagicMock() @@ -403,7 +401,7 @@ class TestProxApproxVnf(unittest.TestCase): prox_approx_vnf.setup_helper.build_config.assert_called_once() @mock.patch(SSH_HELPER) - def test_wait_for_instantiate_panic(self, ssh, mock_time): + def test_wait_for_instantiate_panic(self, ssh, *args): mock_ssh(ssh, exec_result=(1, "", "")) prox_approx_vnf = ProxApproxVnf(NAME, self.VNFD0) prox_approx_vnf._vnf_process = mock.MagicMock(**{"is_alive.return_value": True}) @@ -413,16 +411,9 @@ class TestProxApproxVnf(unittest.TestCase): with self.assertRaises(RuntimeError): prox_approx_vnf.wait_for_instantiate() - @mock.patch(SSH_HELPER) - def test_scale(self, ssh, mock_time): - mock_ssh(ssh) - prox_approx_vnf = ProxApproxVnf(NAME, self.VNFD0) - with self.assertRaises(NotImplementedError): - prox_approx_vnf.scale() - @mock.patch('yardstick.network_services.vnf_generic.vnf.prox_helpers.socket') @mock.patch(SSH_HELPER) - def test_terminate(self, ssh, mock_socket, mock_time): + def test_terminate(self, ssh, *args): mock_ssh(ssh) prox_approx_vnf = ProxApproxVnf(NAME, self.VNFD0) prox_approx_vnf._vnf_process = mock.MagicMock() @@ -434,7 +425,7 @@ class TestProxApproxVnf(unittest.TestCase): self.assertIsNone(prox_approx_vnf.terminate()) @mock.patch(SSH_HELPER) - def test__vnf_up_post(self, ssh, mock_time): + def test__vnf_up_post(self, ssh, *args): mock_ssh(ssh) prox_approx_vnf = ProxApproxVnf(NAME, self.VNFD0) prox_approx_vnf.resource_helper = resource_helper = mock.Mock() @@ -443,7 +434,7 @@ class TestProxApproxVnf(unittest.TestCase): self.assertEqual(resource_helper.up_post.call_count, 1) @mock.patch(SSH_HELPER) - def test_vnf_execute_oserror(self, ssh, mock_time): + def test_vnf_execute_oserror(self, ssh, *args): mock_ssh(ssh) prox_approx_vnf = ProxApproxVnf(NAME, self.VNFD0) prox_approx_vnf.resource_helper = resource_helper = mock.Mock() @@ -457,6 +448,3 @@ class TestProxApproxVnf(unittest.TestCase): resource_helper.execute.side_effect = OSError(errno.EADDRINUSE, "") with self.assertRaises(OSError): prox_approx_vnf.vnf_execute("", _ignore_errors=True) - -if __name__ == '__main__': - unittest.main() diff --git a/tests/unit/network_services/vnf_generic/vnf/test_sample_vnf.py b/tests/unit/network_services/vnf_generic/vnf/test_sample_vnf.py index 85b10c5a9..b4306ce61 100644 --- a/tests/unit/network_services/vnf_generic/vnf/test_sample_vnf.py +++ b/tests/unit/network_services/vnf_generic/vnf/test_sample_vnf.py @@ -15,10 +15,6 @@ # limitations under the License. # -# Unittest for yardstick.network_services.vnf_generic.vnf.sample_vnf - -from __future__ import absolute_import - import unittest import mock from copy import deepcopy @@ -26,8 +22,8 @@ from copy import deepcopy from tests.unit.network_services.vnf_generic.vnf.test_base import mock_ssh from tests.unit import STL_MOCKS from yardstick.benchmark.contexts.base import Context +from yardstick.common import exceptions as y_exceptions from yardstick.network_services.nfvi.resource import ResourceProfile -from yardstick.network_services.traffic_profile.base import TrafficProfile from yardstick.network_services.vnf_generic.vnf.base import VnfdHelper @@ -571,7 +567,7 @@ class TestDpdkVnfSetupEnvHelper(unittest.TestCase): @mock.patch('yardstick.network_services.vnf_generic.vnf.sample_vnf.open') @mock.patch('yardstick.network_services.vnf_generic.vnf.sample_vnf.find_relative_file') @mock.patch('yardstick.network_services.vnf_generic.vnf.sample_vnf.MultiPortConfig') - def test_build_config(self, mock_multi_port_config_class, mock_find, _): + def test_build_config(self, mock_multi_port_config_class, mock_find, *args): mock_multi_port_config = mock_multi_port_config_class() vnfd_helper = VnfdHelper(self.VNFD_0) ssh_helper = mock.Mock() @@ -610,8 +606,8 @@ class TestDpdkVnfSetupEnvHelper(unittest.TestCase): @mock.patch('yardstick.network_services.vnf_generic.vnf.sample_vnf.time') @mock.patch('yardstick.ssh.SSH') - def test_setup_vnf_environment(self, _, mock_time): - def execute(cmd, *args, **kwargs): + def test_setup_vnf_environment(self, *args): + def execute(cmd): if cmd.startswith('which '): return exec_failure return exec_success @@ -643,7 +639,7 @@ class TestDpdkVnfSetupEnvHelper(unittest.TestCase): @mock.patch('yardstick.ssh.SSH') def test__setup_dpdk_short(self, _): - def execute_side(cmd, *args, **kwargs): + def execute_side(cmd): if 'joined_path' in cmd: return 0, 'output', '' return 1, 'bad output', 'error output' @@ -691,7 +687,7 @@ class TestDpdkVnfSetupEnvHelper(unittest.TestCase): self.assertEqual(dpdk_setup_helper.socket, 1) @mock.patch('yardstick.network_services.vnf_generic.vnf.sample_vnf.time') - def test__detect_and_bind_drivers(self, mock_time): + def test__detect_and_bind_drivers(self, *args): vnfd_helper = VnfdHelper(deepcopy(self.VNFD_0)) ssh_helper = mock.Mock() # ssh_helper.execute = mock.Mock(return_value = (0, 'text', '')) @@ -1002,7 +998,7 @@ class TestClientResourceHelper(unittest.TestCase): @mock.patch('yardstick.network_services.vnf_generic.vnf.sample_vnf.LOG') @mock.patch('yardstick.network_services.vnf_generic.vnf.sample_vnf.STLError', new_callable=lambda: MockError) - def test_get_stats_not_connected(self, mock_state_error, mock_logger): + def test_get_stats_not_connected(self, mock_state_error, *args): vnfd_helper = VnfdHelper(self.VNFD_0) ssh_helper = mock.Mock() scenario_helper = mock.Mock() @@ -1221,7 +1217,7 @@ class TestClientResourceHelper(unittest.TestCase): @mock.patch('yardstick.network_services.vnf_generic.vnf.sample_vnf.LOG') @mock.patch('yardstick.network_services.vnf_generic.vnf.sample_vnf.STLError', new_callable=lambda: MockError) - def test__connect_with_failures(self, mock_error, mock_logger, mock_time): + def test__connect_with_failures(self, mock_error, *args): vnfd_helper = VnfdHelper(self.VNFD_0) ssh_helper = mock.Mock() scenario_helper = mock.Mock() @@ -1393,7 +1389,7 @@ class TestSampleVNFDeployHelper(unittest.TestCase): @mock.patch('yardstick.network_services.vnf_generic.vnf.sample_vnf.time') @mock.patch('subprocess.check_output') - def test_deploy_vnfs_disabled(self, mock_check_output, mock_time): + def test_deploy_vnfs_disabled(self, *args): vnfd_helper = mock.Mock() ssh_helper = mock.Mock() ssh_helper.join_bin_path.return_value = 'joined_path' @@ -1408,7 +1404,7 @@ class TestSampleVNFDeployHelper(unittest.TestCase): @mock.patch('yardstick.network_services.vnf_generic.vnf.sample_vnf.time') @mock.patch('subprocess.check_output') - def test_deploy_vnfs(self, mock_check_output, mock_time): + def test_deploy_vnfs(self, *args): vnfd_helper = mock.Mock() ssh_helper = mock.Mock() ssh_helper.join_bin_path.return_value = 'joined_path' @@ -1422,7 +1418,7 @@ class TestSampleVNFDeployHelper(unittest.TestCase): self.assertEqual(ssh_helper.put.call_count, 1) @mock.patch('subprocess.check_output') - def test_deploy_vnfs_early_success(self, mock_check_output): + def test_deploy_vnfs_early_success(self, *args): vnfd_helper = mock.Mock() ssh_helper = mock.Mock() ssh_helper.join_bin_path.return_value = 'joined_path' @@ -1700,7 +1696,7 @@ class TestSampleVnf(unittest.TestCase): self.assertEqual(result, expected) @mock.patch('yardstick.network_services.vnf_generic.vnf.sample_vnf.Process') - def test__start_vnf(self, mock_process_type): + def test__start_vnf(self, *args): vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] sample_vnf = SampleVNF('vnf1', vnfd) sample_vnf._run = mock.Mock() @@ -1754,7 +1750,7 @@ class TestSampleVnf(unittest.TestCase): @mock.patch("yardstick.network_services.vnf_generic.vnf.sample_vnf.time") @mock.patch("yardstick.ssh.SSH") - def test_wait_for_instantiate_empty_queue(self, ssh, mock_time): + def test_wait_for_instantiate_empty_queue(self, ssh, *args): mock_ssh(ssh, exec_result=(1, "", "")) queue_size_list = [ @@ -1798,7 +1794,7 @@ class TestSampleVnf(unittest.TestCase): self.assertIsNotNone(sample_vnf.my_ports) @mock.patch("yardstick.network_services.vnf_generic.vnf.sample_vnf.time") - def test_vnf_execute_with_queue_data(self, mock_time): + def test_vnf_execute_with_queue_data(self, *args): queue_size_list = [ 1, 1, @@ -1843,7 +1839,7 @@ class TestSampleVnf(unittest.TestCase): vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] sample_vnf = SampleVNF('vnf1', vnfd) sample_vnf.APP_NAME = 'sample1' - sample_vnf.COLLECT_KPI = '\s(\d+)\D*(\d+)\D*(\d+)' + sample_vnf.COLLECT_KPI = r'\s(\d+)\D*(\d+)\D*(\d+)' sample_vnf.COLLECT_MAP = { 'k1': 3, 'k2': 1, @@ -1866,7 +1862,7 @@ class TestSampleVnf(unittest.TestCase): vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] sample_vnf = SampleVNF('vnf1', vnfd) sample_vnf.APP_NAME = 'sample1' - sample_vnf.COLLECT_KPI = '\s(\d+)\D*(\d+)\D*(\d+)' + sample_vnf.COLLECT_KPI = r'\s(\d+)\D*(\d+)\D*(\d+)' sample_vnf.get_stats = mock.Mock(return_value='') expected = { @@ -1877,6 +1873,12 @@ class TestSampleVnf(unittest.TestCase): result = sample_vnf.collect_kpi() self.assertDictEqual(result, expected) + def test_scale(self): + vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] + sample_vnf = SampleVNF('vnf1', vnfd) + self.assertRaises(y_exceptions.FunctionNotImplemented, + sample_vnf.scale) + class TestSampleVNFTrafficGen(unittest.TestCase): @@ -2051,3 +2053,8 @@ class TestSampleVNFTrafficGen(unittest.TestCase): self.assertEqual(sample_vnf_tg._wait_for_process(), 234) mock_proc.is_alive.assert_has_calls([mock.call(), mock.call()]) mock_status.assert_has_calls([mock.call(), mock.call()]) + + def test_scale(self): + sample_vnf_tg = SampleVNFTrafficGen('tg1', self.VNFD_0) + self.assertRaises(y_exceptions.FunctionNotImplemented, + sample_vnf_tg.scale) diff --git a/tests/unit/network_services/vnf_generic/vnf/test_tg_ping.py b/tests/unit/network_services/vnf_generic/vnf/test_tg_ping.py index ab3570740..63b2ac4ab 100644 --- a/tests/unit/network_services/vnf_generic/vnf/test_tg_ping.py +++ b/tests/unit/network_services/vnf_generic/vnf/test_tg_ping.py @@ -288,14 +288,6 @@ class TestPingTrafficGen(unittest.TestCase): self.assertIsNone(ping_traffic_gen.listen_traffic({})) @mock.patch("yardstick.ssh.SSH") - def test_scale_negative(self, ssh): - ssh.from_node.return_value.execute.return_value = 0, "success", "" - ssh.from_node.return_value.run.return_value = 0, "success", "" - - ping_traffic_gen = PingTrafficGen('vnf1', self.VNFD_0) - ping_traffic_gen.scale() - - @mock.patch("yardstick.ssh.SSH") def test_terminate(self, ssh): ssh.from_node.return_value.execute.return_value = 0, "success", "" ssh.from_node.return_value.run.return_value = 0, "success", "" diff --git a/tests/unit/network_services/vnf_generic/vnf/test_tg_prox.py b/tests/unit/network_services/vnf_generic/vnf/test_tg_prox.py index 23d448c5e..7b4d79e02 100644 --- a/tests/unit/network_services/vnf_generic/vnf/test_tg_prox.py +++ b/tests/unit/network_services/vnf_generic/vnf/test_tg_prox.py @@ -13,14 +13,13 @@ # limitations under the License. # -from __future__ import absolute_import - import unittest import mock from tests.unit.network_services.vnf_generic.vnf.test_base import mock_ssh from tests.unit import STL_MOCKS + SSH_HELPER = 'yardstick.network_services.vnf_generic.vnf.sample_vnf.VnfSshHelper' NAME = 'vnf__1' @@ -319,14 +318,14 @@ class TestProxTrafficGen(unittest.TestCase): 'upper_bound': 100.0}} @mock.patch(SSH_HELPER) - def test___init__(self, ssh, mock_time): + def test___init__(self, ssh, *args): mock_ssh(ssh) prox_traffic_gen = ProxTrafficGen(NAME, self.VNFD0) self.assertIsNone(prox_traffic_gen._tg_process) self.assertIsNone(prox_traffic_gen._traffic_process) @mock.patch(SSH_HELPER) - def test_collect_kpi(self, ssh, mock_time): + def test_collect_kpi(self, ssh, *args): mock_ssh(ssh) prox_traffic_gen = ProxTrafficGen(NAME, self.VNFD0) @@ -335,10 +334,12 @@ class TestProxTrafficGen(unittest.TestCase): prox_traffic_gen._vnf_wrapper.vnf_execute = mock.Mock(return_value="") self.assertEqual({}, prox_traffic_gen.collect_kpi()) - @mock.patch('yardstick.network_services.vnf_generic.vnf.sample_vnf.CpuSysCores') + @mock.patch('yardstick.network_services.vnf_generic.vnf.prox_helpers.find_relative_file') + @mock.patch( + 'yardstick.network_services.vnf_generic.vnf.sample_vnf.CpuSysCores') @mock.patch(SSH_HELPER) - def bad_test_instantiate(self, ssh, mock_find, mock_cpu_sys_cores, mock_time): + def bad_test_instantiate(self, ssh, mock_cpu_sys_cores, *args): mock_ssh(ssh) mock_cpu_sys_cores.get_core_socket.return_value = {'0': '01234'} @@ -381,7 +382,7 @@ class TestProxTrafficGen(unittest.TestCase): prox_traffic_gen.instantiate(scenario_cfg, {}) @mock.patch(SSH_HELPER) - def test__traffic_runner(self, ssh, mock_time): + def test__traffic_runner(self, ssh, *args): mock_ssh(ssh) mock_traffic_profile = mock.Mock(autospec=TrafficProfile) @@ -399,17 +400,9 @@ class TestProxTrafficGen(unittest.TestCase): sut._connect_client.get_stats = mock.Mock(return_value="0") sut._traffic_runner(mock_traffic_profile) - @mock.patch(SSH_HELPER) - def test_scale(self, ssh, mock_time): - mock_ssh(ssh, exec_result=(1, "", "")) - vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] - prox_traffic_gen = ProxTrafficGen(NAME, vnfd) - with self.assertRaises(NotImplementedError): - prox_traffic_gen.scale('') - @mock.patch('yardstick.network_services.vnf_generic.vnf.prox_helpers.socket') @mock.patch(SSH_HELPER) - def test_listen_traffic(self, ssh, mock_socket, mock_time): + def test_listen_traffic(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] prox_traffic_gen = ProxTrafficGen(NAME, vnfd) @@ -417,7 +410,7 @@ class TestProxTrafficGen(unittest.TestCase): @mock.patch('yardstick.network_services.vnf_generic.vnf.prox_helpers.socket') @mock.patch(SSH_HELPER) - def test_terminate(self, ssh, mock_socket, mock_time): + def test_terminate(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] prox_traffic_gen = ProxTrafficGen(NAME, vnfd) diff --git a/tests/unit/network_services/vnf_generic/vnf/test_tg_rfc2544_ixia.py b/tests/unit/network_services/vnf_generic/vnf/test_tg_rfc2544_ixia.py index f62a0fb3b..e9f718cb7 100644 --- a/tests/unit/network_services/vnf_generic/vnf/test_tg_rfc2544_ixia.py +++ b/tests/unit/network_services/vnf_generic/vnf/test_tg_rfc2544_ixia.py @@ -15,8 +15,6 @@ # limitations under the License. # -from __future__ import absolute_import - import os import unittest import mock @@ -40,14 +38,14 @@ NAME = "tg__1" @mock.patch("yardstick.network_services.vnf_generic.vnf.tg_rfc2544_ixia.IxNextgen") class TestIxiaResourceHelper(unittest.TestCase): - def test___init___with_custom_rfc_helper(self, mock_ix_nextgen): + def test___init___with_custom_rfc_helper(self, *args): class MyRfcHelper(IxiaRfc2544Helper): pass ixia_resource_helper = IxiaResourceHelper(mock.Mock(), MyRfcHelper) self.assertIsInstance(ixia_resource_helper.rfc_helper, MyRfcHelper) - def test_stop_collect_with_client(self, mock_ix_nextgen): + def test_stop_collect_with_client(self, *args): mock_client = mock.Mock() ixia_resource_helper = IxiaResourceHelper(mock.Mock()) @@ -154,16 +152,17 @@ class TestIXIATrafficGen(unittest.TestCase): 'file': '/etc/yardstick/nodes/pod.yaml'}, 'schema': 'yardstick:task:0.1'} - def test___init__(self, mock_ixnextgen): + def test___init__(self, *args): with mock.patch("yardstick.ssh.SSH") as ssh: ssh_mock = mock.Mock(autospec=ssh.SSH) ssh_mock.execute = \ mock.Mock(return_value=(0, "", "")) ssh.from_node.return_value = ssh_mock vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] - ixnet_traffic_gen = IxiaTrafficGen(NAME, vnfd) + # NOTE(ralonsoh): check the object returned. + IxiaTrafficGen(NAME, vnfd) - def test_listen_traffic(self, mock_ixnextgen): + def test_listen_traffic(self, *args): with mock.patch("yardstick.ssh.SSH") as ssh: ssh_mock = mock.Mock(autospec=ssh.SSH) ssh_mock.execute = \ @@ -173,7 +172,7 @@ class TestIXIATrafficGen(unittest.TestCase): ixnet_traffic_gen = IxiaTrafficGen(NAME, vnfd) self.assertEqual(None, ixnet_traffic_gen.listen_traffic({})) - def test_instantiate(self, mock_ixnextgen): + def test_instantiate(self, *args): with mock.patch("yardstick.ssh.SSH") as ssh: ssh_mock = mock.Mock(autospec=ssh.SSH) ssh_mock.execute = \ @@ -203,7 +202,7 @@ class TestIXIATrafficGen(unittest.TestCase): IOError, ixnet_traffic_gen.instantiate(scenario_cfg, {})) - def test_collect_kpi(self, mock_ixnextgen): + def test_collect_kpi(self, *args): with mock.patch("yardstick.ssh.SSH") as ssh: ssh_mock = mock.Mock(autospec=ssh.SSH) ssh_mock.execute = \ @@ -215,7 +214,7 @@ class TestIXIATrafficGen(unittest.TestCase): restult = ixnet_traffic_gen.collect_kpi() self.assertEqual({}, restult) - def test_terminate(self, mock_ixnextgen): + def test_terminate(self, *args): with mock.patch("yardstick.ssh.SSH") as ssh: vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] ssh_mock = mock.Mock(autospec=ssh.SSH) @@ -236,19 +235,14 @@ class TestIXIATrafficGen(unittest.TestCase): file_path = os.path.join(curr_path, filename) return file_path - def test_scale(self, mock_ix_nextgen): - vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] - sut = IxiaTrafficGen('vnf1', vnfd) - sut.scale() - - def test__check_status(self, mock_ix_nextgen): + def test__check_status(self, *args): vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] sut = IxiaTrafficGen('vnf1', vnfd) sut._check_status() @mock.patch("yardstick.network_services.vnf_generic.vnf.tg_rfc2544_ixia.time") @mock.patch("yardstick.ssh.SSH") - def test_traffic_runner(self, mock_ixnextgen, mock_ssh, mock_time): + def test_traffic_runner(self, mock_ssh, *args): mock_traffic_profile = mock.Mock(autospec=TrafficProfile) mock_traffic_profile.get_traffic_definition.return_value = "64" mock_traffic_profile.params = self.TRAFFIC_PROFILE diff --git a/tests/unit/network_services/vnf_generic/vnf/test_tg_rfc2544_trex.py b/tests/unit/network_services/vnf_generic/vnf/test_tg_rfc2544_trex.py index 637706fb4..7342cfcdc 100644 --- a/tests/unit/network_services/vnf_generic/vnf/test_tg_rfc2544_trex.py +++ b/tests/unit/network_services/vnf_generic/vnf/test_tg_rfc2544_trex.py @@ -331,15 +331,6 @@ class TestTrexTrafficGenRFC(unittest.TestCase): trex_traffic_gen.resource_helper.ssh_helper = mock.MagicMock() self.assertIsNone(trex_traffic_gen.resource_helper.generate_cfg()) - def test_scale(self): - with mock.patch(SSH_HELPER) as ssh: - ssh_mock = mock.Mock(autospec=ssh.SSH) - ssh_mock.execute = mock.Mock(return_value=(0, "", "")) - ssh_mock.run = mock.Mock(return_value=(0, "", "")) - ssh.from_node.return_value = ssh_mock - trex_traffic_gen = TrexTrafficGenRFC('vnf1', self.VNFD_0) - trex_traffic_gen.scale('') - def test_terminate(self): with mock.patch(SSH_HELPER) as ssh: ssh_mock = mock.Mock(autospec=ssh.SSH) diff --git a/tests/unit/network_services/vnf_generic/vnf/test_tg_trex.py b/tests/unit/network_services/vnf_generic/vnf/test_tg_trex.py index a2a5058fc..618071507 100644 --- a/tests/unit/network_services/vnf_generic/vnf/test_tg_trex.py +++ b/tests/unit/network_services/vnf_generic/vnf/test_tg_trex.py @@ -15,18 +15,16 @@ # limitations under the License. # -from __future__ import absolute_import - -import unittest - import copy import mock -SSH_HELPER = 'yardstick.network_services.vnf_generic.vnf.sample_vnf.VnfSshHelper' +import unittest from tests.unit.network_services.vnf_generic.vnf.test_base import mock_ssh from tests.unit import STL_MOCKS + +SSH_HELPER = 'yardstick.network_services.vnf_generic.vnf.sample_vnf.VnfSshHelper' NAME = 'vnf_1' STLClient = mock.MagicMock() @@ -469,13 +467,6 @@ class TestTrexTrafficGen(unittest.TestCase): self.assertIsNotNone(result) @mock.patch(SSH_HELPER) - def test_scale(self, ssh): - mock_ssh(ssh, exec_result=(1, "", "")) - vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] - trex_traffic_gen = TrexTrafficGen(NAME, vnfd) - trex_traffic_gen.scale('') - - @mock.patch(SSH_HELPER) def test_terminate(self, ssh): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] diff --git a/tests/unit/network_services/vnf_generic/vnf/test_udp_replay.py b/tests/unit/network_services/vnf_generic/vnf/test_udp_replay.py index d4d3439f3..635ce2735 100644 --- a/tests/unit/network_services/vnf_generic/vnf/test_udp_replay.py +++ b/tests/unit/network_services/vnf_generic/vnf/test_udp_replay.py @@ -15,26 +15,24 @@ # limitations under the License. # -from __future__ import absolute_import - import unittest import mock import os from tests.unit import STL_MOCKS -SSH_HELPER = 'yardstick.network_services.vnf_generic.vnf.sample_vnf.VnfSshHelper' +from tests.unit.network_services.vnf_generic.vnf.test_base import mock_ssh +SSH_HELPER = 'yardstick.network_services.vnf_generic.vnf.sample_vnf.VnfSshHelper' + STLClient = mock.MagicMock() stl_patch = mock.patch.dict("sys.modules", STL_MOCKS) stl_patch.start() if stl_patch: from yardstick.network_services.vnf_generic.vnf.udp_replay import UdpReplayApproxVnf - from yardstick.network_services.nfvi.resource import ResourceProfile from yardstick.network_services.vnf_generic.vnf.sample_vnf import ScenarioHelper -from tests.unit.network_services.vnf_generic.vnf.test_base import mock_ssh TEST_FILE_YAML = 'nsb_test_case.yaml' @@ -329,13 +327,13 @@ class TestUdpReplayApproxVnf(unittest.TestCase): } } - def test___init__(self, _): + def test___init__(self, *args): udp_replay_approx_vnf = UdpReplayApproxVnf(NAME, self.VNFD_0) self.assertIsNone(udp_replay_approx_vnf._vnf_process) @mock.patch("yardstick.network_services.vnf_generic.vnf.sample_vnf.time") @mock.patch(SSH_HELPER) - def test_collect_kpi(self, ssh, mock_time, _): + def test_collect_kpi(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD_0 @@ -354,7 +352,7 @@ class TestUdpReplayApproxVnf(unittest.TestCase): self.assertEqual(result, udp_replay_approx_vnf.collect_kpi()) @mock.patch(SSH_HELPER) - def test_get_stats(self, ssh, _): + def test_get_stats(self, ssh, *args): mock_ssh(ssh) udp_replay_approx_vnf = UdpReplayApproxVnf(NAME, self.VNFD_0) @@ -376,7 +374,7 @@ class TestUdpReplayApproxVnf(unittest.TestCase): @mock.patch("yardstick.network_services.vnf_generic.vnf.sample_vnf.Context") @mock.patch(SSH_HELPER) - def test__build_config(self, ssh, mock_context, *_): + def test__build_config(self, ssh, mock_context, *args): mock_ssh(ssh) udp_replay_approx_vnf = UdpReplayApproxVnf(NAME, self.VNFD_0) @@ -397,7 +395,7 @@ class TestUdpReplayApproxVnf(unittest.TestCase): @mock.patch('yardstick.network_services.vnf_generic.vnf.udp_replay.open') @mock.patch("yardstick.network_services.vnf_generic.vnf.sample_vnf.Context") @mock.patch(SSH_HELPER) - def test__build_pipeline_kwargs(self, ssh, mock_context, *_): + def test__build_pipeline_kwargs(self, ssh, mock_context, *args): mock_ssh(ssh) udp_replay_approx_vnf = UdpReplayApproxVnf(NAME, self.VNFD_0) udp_replay_approx_vnf.nfvi_context = mock_context @@ -420,7 +418,7 @@ class TestUdpReplayApproxVnf(unittest.TestCase): }) @mock.patch(SSH_HELPER) - def test_run_udp_replay(self, ssh, _): + def test_run_udp_replay(self, ssh, *args): mock_ssh(ssh) udp_replay_approx_vnf = UdpReplayApproxVnf(NAME, self.VNFD_0) @@ -434,11 +432,9 @@ class TestUdpReplayApproxVnf(unittest.TestCase): @mock.patch("yardstick.network_services.vnf_generic.vnf.sample_vnf.Context") @mock.patch(SSH_HELPER) - def test_instantiate(self, ssh, *_): + def test_instantiate(self, ssh, *args): mock_ssh(ssh) - resource = mock.Mock(autospec=ResourceProfile) - udp_replay_approx_vnf = UdpReplayApproxVnf(NAME, self.VNFD_0) udp_replay_approx_vnf.q_out.put("Replay>") udp_replay_approx_vnf.WAIT_TIME = 0 @@ -456,7 +452,7 @@ class TestUdpReplayApproxVnf(unittest.TestCase): @mock.patch("yardstick.network_services.vnf_generic.vnf.sample_vnf.Context") @mock.patch('yardstick.ssh.SSH') @mock.patch(SSH_HELPER) - def test_instantiate_panic(self, ssh, resource_ssh, *_): + def test_instantiate_panic(self, *args): udp_replay_approx_vnf = UdpReplayApproxVnf(NAME, self.VNFD_0) udp_replay_approx_vnf.WAIT_TIME = 0 udp_replay_approx_vnf.q_out.put("some text PANIC some text") @@ -467,15 +463,9 @@ class TestUdpReplayApproxVnf(unittest.TestCase): with self.assertRaises(RuntimeError): udp_replay_approx_vnf.wait_for_instantiate() - def test_scale(self, _): - udp_replay_approx_vnf = UdpReplayApproxVnf(NAME, self.VNFD_0) - flavor = "" - - self.assertRaises(NotImplementedError, udp_replay_approx_vnf.scale, flavor) - @mock.patch("yardstick.network_services.vnf_generic.vnf.sample_vnf.time") @mock.patch(SSH_HELPER) - def test_terminate(self, ssh, mock_time, _): + def test_terminate(self, ssh, *args): mock_ssh(ssh) udp_replay_approx_vnf = UdpReplayApproxVnf(NAME, self.VNFD_0) @@ -484,6 +474,3 @@ class TestUdpReplayApproxVnf(unittest.TestCase): udp_replay_approx_vnf.used_drivers = {"01:01.0": "i40e", "01:01.1": "i40e"} udp_replay_approx_vnf.dpdk_nic_bind = "dpdk_nic_bind.py" self.assertEqual(None, udp_replay_approx_vnf.terminate()) - -if __name__ == '__main__': - unittest.main() diff --git a/tests/unit/network_services/vnf_generic/vnf/test_vfw_vnf.py b/tests/unit/network_services/vnf_generic/vnf/test_vfw_vnf.py index 958099a03..d128db0b4 100644 --- a/tests/unit/network_services/vnf_generic/vnf/test_vfw_vnf.py +++ b/tests/unit/network_services/vnf_generic/vnf/test_vfw_vnf.py @@ -15,8 +15,6 @@ # limitations under the License. # -from __future__ import absolute_import - import unittest import mock import os @@ -32,10 +30,10 @@ if stl_patch: from yardstick.network_services.vnf_generic.vnf.vfw_vnf import FWApproxVnf from yardstick.network_services.nfvi.resource import ResourceProfile + TEST_FILE_YAML = 'nsb_test_case.yaml' SSH_HELPER = 'yardstick.network_services.vnf_generic.vnf.sample_vnf.VnfSshHelper' - name = 'vnf__1' @@ -239,7 +237,7 @@ class TestFWApproxVnf(unittest.TestCase): 'password': 'r00t', 'VNF model': 'vfw_vnf.yaml'}}} - def test___init__(self, mock_process): + def test___init__(self, *args): vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] vfw_approx_vnf = FWApproxVnf(name, vnfd) self.assertIsNone(vfw_approx_vnf._vnf_process) @@ -260,7 +258,7 @@ pipeline> @mock.patch("yardstick.network_services.vnf_generic.vnf.sample_vnf.time") @mock.patch(SSH_HELPER) - def test_collect_kpi(self, ssh, mock_time, mock_process): + def test_collect_kpi(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] @@ -282,7 +280,7 @@ pipeline> @mock.patch("yardstick.network_services.vnf_generic.vnf.sample_vnf.time") @mock.patch(SSH_HELPER) - def test_vnf_execute_command(self, ssh, mock_time, mock_process): + def test_vnf_execute_command(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] @@ -294,7 +292,7 @@ pipeline> self.assertEqual(vfw_approx_vnf.vnf_execute(cmd), "") @mock.patch(SSH_HELPER) - def test_get_stats(self, ssh, mock_process): + def test_get_stats(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] @@ -314,7 +312,7 @@ pipeline> @mock.patch("yardstick.network_services.vnf_generic.vnf.vfw_vnf.eval") @mock.patch("yardstick.network_services.vnf_generic.vnf.vfw_vnf.open") @mock.patch(SSH_HELPER) - def test_run_vfw(self, ssh, mock_open, mock_eval, mock_hex, mock_process): + def test_run_vfw(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] @@ -337,7 +335,7 @@ pipeline> @mock.patch("yardstick.network_services.vnf_generic.vnf.vfw_vnf.YangModel") @mock.patch("yardstick.network_services.vnf_generic.vnf.sample_vnf.Context") @mock.patch(SSH_HELPER) - def test_instantiate(self, ssh, mock_context, mock_yang, mock_find, mock_process): + def test_instantiate(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] @@ -351,16 +349,9 @@ pipeline> self.scenario_cfg.update({"nodes": {"vnf__1": ""}}) self.assertIsNone(vfw_approx_vnf.instantiate(self.scenario_cfg, self.context_cfg)) - def test_scale(self, mock_process): - vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] - vfw_approx_vnf = FWApproxVnf(name, vnfd) - flavor = "" - with self.assertRaises(NotImplementedError): - vfw_approx_vnf.scale(flavor) - @mock.patch("yardstick.network_services.vnf_generic.vnf.sample_vnf.time") @mock.patch(SSH_HELPER) - def test_terminate(self, ssh, mock_time, mock_process): + def test_terminate(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] @@ -372,6 +363,3 @@ pipeline> vfw_approx_vnf.dpdk_nic_bind = "dpdk_nic_bind.py" vfw_approx_vnf._resource_collect_stop = mock.Mock() self.assertIsNone(vfw_approx_vnf.terminate()) - -if __name__ == '__main__': - unittest.main() diff --git a/tests/unit/network_services/vnf_generic/vnf/test_vpe_vnf.py b/tests/unit/network_services/vnf_generic/vnf/test_vpe_vnf.py index 4103d7825..55cd4d2e8 100644 --- a/tests/unit/network_services/vnf_generic/vnf/test_vpe_vnf.py +++ b/tests/unit/network_services/vnf_generic/vnf/test_vpe_vnf.py @@ -15,15 +15,16 @@ # limitations under the License. # -from __future__ import absolute_import -import six.moves.configparser as configparser - -import os -import unittest import mock from multiprocessing import Process, Queue +import os +import six.moves.configparser as configparser +import time +import unittest from tests.unit import STL_MOCKS +from tests.unit.network_services.vnf_generic.vnf.test_base import FileAbsPath +from tests.unit.network_services.vnf_generic.vnf.test_base import mock_ssh from yardstick.network_services.vnf_generic.vnf.base import QueueFileWrapper from yardstick.network_services.vnf_generic.vnf.base import VnfdHelper @@ -40,9 +41,6 @@ if stl_patch: from yardstick.network_services.vnf_generic.vnf.vpe_vnf import \ VpeApproxVnf, VpeApproxSetupEnvHelper -from tests.unit.network_services.vnf_generic.vnf.test_base import FileAbsPath -from tests.unit.network_services.vnf_generic.vnf.test_base import mock_ssh - TEST_FILE_YAML = 'nsb_test_case.yaml' @@ -227,28 +225,6 @@ class TestConfigCreate(unittest.TestCase): self.assertNotEqual(result, '') def test_create_vpe_config(self): - uplink_ports = [ - { - 'index': 0, - 'dpdk_port_num': 1, - 'peer_intf': { - 'dpdk_port_num': 2, - 'index': 3, - }, - }, - ] - - downlink_ports = [ - { - 'index': 2, - 'dpdk_port_num': 3, - 'peer_intf': { - 'dpdk_port_num': 0, - 'index': 1, - }, - }, - ] - vnfd_helper = VnfdHelper(self.VNFD_0) config_create = ConfigCreate(vnfd_helper, 23) config_create.downlink_ports = ['xe1'] @@ -260,7 +236,6 @@ class TestConfigCreate(unittest.TestCase): os.system("git checkout -- %s" % vnf_cfg) -@mock.patch('yardstick.network_services.vnf_generic.vnf.sample_vnf.time') class TestVpeApproxVnf(unittest.TestCase): VNFD_0 = { @@ -556,12 +531,15 @@ class TestVpeApproxVnf(unittest.TestCase): }, } - def test___init__(self, _): + def setUp(self): + self.mock_sleep = mock.patch.object(time, 'sleep').start() + + def test___init__(self): vpe_approx_vnf = VpeApproxVnf(NAME, self.VNFD_0) self.assertIsNone(vpe_approx_vnf._vnf_process) @mock.patch(SSH_HELPER) - def test_collect_kpi_sa_not_running(self, ssh, _): + def test_collect_kpi_sa_not_running(self, ssh): mock_ssh(ssh) resource = mock.Mock(autospec=ResourceProfile) @@ -585,7 +563,7 @@ class TestVpeApproxVnf(unittest.TestCase): self.assertEqual(vpe_approx_vnf.collect_kpi(), expected) @mock.patch(SSH_HELPER) - def test_collect_kpi_sa_running(self, ssh, _): + def test_collect_kpi_sa_running(self, ssh): mock_ssh(ssh) resource = mock.Mock(autospec=ResourceProfile) @@ -608,7 +586,7 @@ class TestVpeApproxVnf(unittest.TestCase): self.assertEqual(vpe_approx_vnf.collect_kpi(), expected) @mock.patch(SSH_HELPER) - def test_vnf_execute(self, ssh, _): + def test_vnf_execute(self, ssh): mock_ssh(ssh) vpe_approx_vnf = VpeApproxVnf(NAME, self.VNFD_0) vpe_approx_vnf.q_in = mock.MagicMock() @@ -617,7 +595,7 @@ class TestVpeApproxVnf(unittest.TestCase): self.assertEqual(vpe_approx_vnf.vnf_execute("quit", 0), '') @mock.patch(SSH_HELPER) - def test_run_vpe(self, ssh, _): + def test_run_vpe(self, ssh): mock_ssh(ssh) vpe_approx_vnf = VpeApproxVnf(NAME, self.VNFD_0) @@ -651,7 +629,7 @@ class TestVpeApproxVnf(unittest.TestCase): @mock.patch("yardstick.network_services.vnf_generic.vnf.vpe_vnf.ConfigCreate") @mock.patch("yardstick.network_services.vnf_generic.vnf.vpe_vnf.open") @mock.patch(SSH_HELPER) - def test_build_config(self, mock_mul, mock_context, mock_config, mock_open, ssh, _): + def test_build_config(self, ssh, *args): mock_ssh(ssh) vpe_approx_vnf = VpeApproxSetupEnvHelper(mock.MagicMock(), mock.MagicMock, mock.MagicMock) @@ -684,7 +662,7 @@ class TestVpeApproxVnf(unittest.TestCase): self.assertIsNotNone(vpe_approx_vnf.build_config()) @mock.patch(SSH_HELPER) - def test_wait_for_instantiate(self, ssh, _): + def test_wait_for_instantiate(self, ssh): mock_ssh(ssh) mock_process = mock.Mock(autospec=Process) @@ -707,7 +685,7 @@ class TestVpeApproxVnf(unittest.TestCase): self.assertEqual(vpe_approx_vnf.wait_for_instantiate(), 432) @mock.patch(SSH_HELPER) - def test_wait_for_instantiate_fragmented(self, ssh, _): + def test_wait_for_instantiate_fragmented(self, ssh): mock_ssh(ssh) mock_process = mock.Mock(autospec=Process) @@ -730,7 +708,7 @@ class TestVpeApproxVnf(unittest.TestCase): self.assertEqual(vpe_approx_vnf.wait_for_instantiate(), 432) @mock.patch(SSH_HELPER) - def test_wait_for_instantiate_crash(self, ssh, _): + def test_wait_for_instantiate_crash(self, ssh): mock_ssh(ssh, exec_result=(1, "", "")) mock_process = mock.Mock(autospec=Process) @@ -749,7 +727,7 @@ class TestVpeApproxVnf(unittest.TestCase): self.assertIn('VNF process died', str(raised.exception)) @mock.patch(SSH_HELPER) - def test_wait_for_instantiate_panic(self, ssh, _): + def test_wait_for_instantiate_panic(self, ssh): mock_ssh(ssh, exec_result=(1, "", "")) mock_process = mock.Mock(autospec=Process) @@ -769,7 +747,7 @@ class TestVpeApproxVnf(unittest.TestCase): self.assertIn('Error starting', str(raised.exception)) @mock.patch(SSH_HELPER) - def test_wait_for_instantiate_panic_fragmented(self, ssh, _): + def test_wait_for_instantiate_panic_fragmented(self, ssh): mock_ssh(ssh, exec_result=(1, "", "")) mock_process = mock.Mock(autospec=Process) @@ -793,13 +771,8 @@ class TestVpeApproxVnf(unittest.TestCase): self.assertIn('Error starting', str(raised.exception)) - def test_scale(self, _): - vpe_approx_vnf = VpeApproxVnf(NAME, self.VNFD_0) - with self.assertRaises(NotImplementedError): - vpe_approx_vnf.scale('') - @mock.patch(SSH_HELPER) - def test_terminate(self, ssh, _): + def test_terminate(self, ssh): mock_ssh(ssh) vpe_approx_vnf = VpeApproxVnf(NAME, self.VNFD_0) @@ -808,7 +781,3 @@ class TestVpeApproxVnf(unittest.TestCase): vpe_approx_vnf.resource_helper = mock.MagicMock() self.assertIsNone(vpe_approx_vnf.terminate()) - - -if __name__ == '__main__': - unittest.main() |