aboutsummaryrefslogtreecommitdiffstats
path: root/tests/unit/network_services
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/network_services')
-rw-r--r--tests/unit/network_services/nfvi/test_resource.py26
-rw-r--r--tests/unit/network_services/vnf_generic/vnf/test_acl_vnf.py26
-rw-r--r--tests/unit/network_services/vnf_generic/vnf/test_base.py287
-rw-r--r--tests/unit/network_services/vnf_generic/vnf/test_cgnapt_vnf.py33
-rw-r--r--tests/unit/network_services/vnf_generic/vnf/test_prox_helpers.py130
-rw-r--r--tests/unit/network_services/vnf_generic/vnf/test_prox_vnf.py50
-rw-r--r--tests/unit/network_services/vnf_generic/vnf/test_router_vnf.py267
-rw-r--r--tests/unit/network_services/vnf_generic/vnf/test_sample_vnf.py64
-rw-r--r--tests/unit/network_services/vnf_generic/vnf/test_tg_ping.py16
-rw-r--r--tests/unit/network_services/vnf_generic/vnf/test_tg_prox.py29
-rw-r--r--tests/unit/network_services/vnf_generic/vnf/test_tg_rfc2544_ixia.py28
-rw-r--r--tests/unit/network_services/vnf_generic/vnf/test_tg_rfc2544_trex.py9
-rw-r--r--tests/unit/network_services/vnf_generic/vnf/test_tg_trex.py15
-rw-r--r--tests/unit/network_services/vnf_generic/vnf/test_udp_replay.py37
-rw-r--r--tests/unit/network_services/vnf_generic/vnf/test_vfw_vnf.py28
-rw-r--r--tests/unit/network_services/vnf_generic/vnf/test_vpe_vnf.py80
16 files changed, 624 insertions, 501 deletions
diff --git a/tests/unit/network_services/nfvi/test_resource.py b/tests/unit/network_services/nfvi/test_resource.py
index 5c2f890e8..4584b093d 100644
--- a/tests/unit/network_services/nfvi/test_resource.py
+++ b/tests/unit/network_services/nfvi/test_resource.py
@@ -12,11 +12,10 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-from __future__ import absolute_import
-import unittest
-
import errno
+
import mock
+import unittest
from yardstick.network_services.nfvi.resource import ResourceProfile
from yardstick.network_services.nfvi import resource, collectd
@@ -105,14 +104,16 @@ class TestResourceProfile(unittest.TestCase):
def test___init__(self):
self.assertEqual(True, self.resource_profile.enable)
- def test_check_if_sa_running(self):
- self.assertEqual(self.resource_profile.check_if_sa_running("collectd"),
+ def test_check_if_system_agent_running(self):
+ self.assertEqual(self.resource_profile.check_if_system_agent_running("collectd"),
(0, ""))
- def test_check_if_sa_running_excetion(self):
+ def test_check_if_system_agent_running_excetion(self):
with mock.patch.object(self.resource_profile.connection, "execute") as mock_execute:
mock_execute.side_effect = OSError(errno.ECONNRESET, "error")
- self.assertEqual(self.resource_profile.check_if_sa_running("collectd"), (1, None))
+ self.assertEqual(
+ self.resource_profile.check_if_system_agent_running("collectd"),
+ (1, None))
def test_get_cpu_data(self):
reskey = ["", "cpufreq", "cpufreq-0"]
@@ -139,8 +140,7 @@ class TestResourceProfile(unittest.TestCase):
self.resource_profile._setup_ovs_stats(self.ssh_mock))
@mock.patch("yardstick.network_services.nfvi.resource.open")
- @mock.patch("yardstick.network_services.nfvi.resource.os")
- def test__provide_config_file(self, mock_open, mock_os):
+ def test__provide_config_file(self, *args):
loadplugin = range(5)
port_names = range(5)
kwargs = {
@@ -152,13 +152,13 @@ class TestResourceProfile(unittest.TestCase):
self.ssh_mock.execute.assert_called_once()
@mock.patch("yardstick.network_services.nfvi.resource.open")
- def test_initiate_systemagent(self, mock_open):
+ def test_initiate_systemagent(self, *args):
self.resource_profile._start_collectd = mock.Mock()
self.assertIsNone(
self.resource_profile.initiate_systemagent("/opt/nsb_bin"))
@mock.patch("yardstick.network_services.nfvi.resource.open")
- def test_initiate_systemagent_raise(self, mock_open):
+ def test_initiate_systemagent_raise(self, *args):
self.resource_profile._start_collectd = mock.Mock(side_effect=RuntimeError)
with self.assertRaises(RuntimeError):
self.resource_profile.initiate_systemagent("/opt/nsb_bin")
@@ -267,8 +267,10 @@ class TestResourceProfile(unittest.TestCase):
def test_stop(self):
self.assertIsNone(self.resource_profile.stop())
- def test_stop(self):
+ def test_stop_amqp_not_running(self):
self.resource_profile.amqp_client = mock.MagicMock()
+ # TODO(efoley): Fix this incorrect test.
+ # Should check that we don't try to stop amqp when it's not running
self.assertIsNone(self.resource_profile.stop())
if __name__ == '__main__':
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_helpers.py b/tests/unit/network_services/vnf_generic/vnf/test_prox_helpers.py
index 84eb5dc0d..0ac46c632 100644
--- a/tests/unit/network_services/vnf_generic/vnf/test_prox_helpers.py
+++ b/tests/unit/network_services/vnf_generic/vnf/test_prox_helpers.py
@@ -15,17 +15,18 @@
# limitations under the License.
#
-from __future__ import absolute_import
-
+from itertools import repeat, chain
import os
import socket
-import unittest
-from itertools import repeat, chain
+import time
+
import mock
+import unittest
from tests.unit import STL_MOCKS
from yardstick.network_services.vnf_generic.vnf.base import VnfdHelper
+
STLClient = mock.MagicMock()
stl_patch = mock.patch.dict("sys.modules", STL_MOCKS)
stl_patch.start()
@@ -288,29 +289,32 @@ no data length value
"""
-@mock.patch('yardstick.network_services.vnf_generic.vnf.prox_helpers.time')
class TestProxSocketHelper(unittest.TestCase):
+
+ def setUp(self):
+ self.mock_time_sleep = mock.patch.object(time, 'sleep').start()
+
@mock.patch('yardstick.network_services.vnf_generic.vnf.prox_helpers.socket')
- def test___init__(self, mock_socket, mock_time):
+ def test___init__(self, mock_socket):
expected = mock_socket.socket()
prox = ProxSocketHelper()
result = prox._sock
self.assertEqual(result, expected)
- def test_connect(self, mock_time):
+ def test_connect(self):
mock_sock = mock.MagicMock()
prox = ProxSocketHelper(mock_sock)
prox.connect('10.20.30.40', 23456)
self.assertEqual(mock_sock.connect.call_count, 1)
- def test_get_sock(self, mock_time):
+ def test_get_sock(self):
mock_sock = mock.MagicMock()
prox = ProxSocketHelper(mock_sock)
result = prox.get_socket()
self.assertIs(result, mock_sock)
@mock.patch('yardstick.network_services.vnf_generic.vnf.prox_helpers.select')
- def test_get_data(self, mock_select, mock_time):
+ def test_get_data(self, mock_select):
mock_select.select.side_effect = [[1], [0]]
mock_socket = mock.MagicMock()
mock_recv = mock_socket.recv()
@@ -336,7 +340,7 @@ class TestProxSocketHelper(unittest.TestCase):
self.assertEqual(ret, 'jumped over')
self.assertEqual(len(prox._pkt_dumps), 3)
- def test__parse_socket_data_mixed_data(self, mock_time):
+ def test__parse_socket_data_mixed_data(self):
prox = ProxSocketHelper(mock.MagicMock())
ret = prox._parse_socket_data(PACKET_DUMP_NON_1, False)
self.assertEqual(ret, 'not_a_dump,1,2')
@@ -346,7 +350,7 @@ class TestProxSocketHelper(unittest.TestCase):
self.assertEqual(ret, 'not_a_dump,1,2')
self.assertEqual(len(prox._pkt_dumps), 1)
- def test__parse_socket_data_bad_data(self, mock_time):
+ def test__parse_socket_data_bad_data(self):
prox = ProxSocketHelper(mock.MagicMock())
with self.assertRaises(ValueError):
prox._parse_socket_data(PACKET_DUMP_BAD_1, False)
@@ -357,7 +361,7 @@ class TestProxSocketHelper(unittest.TestCase):
ret = prox._parse_socket_data(PACKET_DUMP_BAD_3, False)
self.assertEqual(ret, 'pktdump,3')
- def test__parse_socket_data_pkt_dump_only(self, mock_time):
+ def test__parse_socket_data_pkt_dump_only(self):
prox = ProxSocketHelper(mock.MagicMock())
ret = prox._parse_socket_data('', True)
self.assertFalse(ret)
@@ -368,20 +372,20 @@ class TestProxSocketHelper(unittest.TestCase):
ret = prox._parse_socket_data(PACKET_DUMP_2, True)
self.assertTrue(ret)
- def test_put_command(self, mock_time):
+ def test_put_command(self):
mock_socket = mock.MagicMock()
prox = ProxSocketHelper(mock_socket)
prox.put_command("data")
mock_socket.sendall.assert_called_once()
- def test_put_command_socket_error(self, mock_time):
+ def test_put_command_socket_error(self):
mock_socket = mock.MagicMock()
mock_socket.sendall.side_effect = OSError
prox = ProxSocketHelper(mock_socket)
prox.put_command("data")
mock_socket.sendall.assert_called_once()
- def test_get_packet_dump(self, mock_time):
+ def test_get_packet_dump(self):
mock_socket = mock.MagicMock()
prox = ProxSocketHelper(mock_socket)
prox._pkt_dumps = []
@@ -391,67 +395,67 @@ class TestProxSocketHelper(unittest.TestCase):
self.assertEqual(prox.get_packet_dump(), 234)
self.assertEqual(prox._pkt_dumps, [])
- def test_stop_all_reset(self, mock_time):
+ def test_stop_all_reset(self):
mock_socket = mock.MagicMock()
prox = ProxSocketHelper(mock_socket)
prox.stop_all_reset()
mock_socket.sendall.assert_called()
- def test_stop_all(self, mock_time):
+ def test_stop_all(self):
mock_socket = mock.MagicMock()
prox = ProxSocketHelper(mock_socket)
prox.stop_all()
mock_socket.sendall.assert_called()
- def test_stop(self, mock_time):
+ def test_stop(self):
mock_socket = mock.MagicMock()
prox = ProxSocketHelper(mock_socket)
prox.stop([3, 4, 5], 16)
mock_socket.sendall.assert_called()
- def test_start_all(self, mock_time):
+ def test_start_all(self):
mock_socket = mock.MagicMock()
prox = ProxSocketHelper(mock_socket)
prox.start_all()
mock_socket.sendall.assert_called()
- def test_start(self, mock_time):
+ def test_start(self):
mock_socket = mock.MagicMock()
prox = ProxSocketHelper(mock_socket)
prox.start([3, 4, 5])
mock_socket.sendall.assert_called()
- def test_reset_stats(self, mock_time):
+ def test_reset_stats(self):
mock_socket = mock.MagicMock()
prox = ProxSocketHelper(mock_socket)
prox.reset_stats()
mock_socket.sendall.assert_called()
- def test_set_pkt_size(self, mock_time):
+ def test_set_pkt_size(self):
mock_socket = mock.MagicMock()
prox = ProxSocketHelper(mock_socket)
prox.set_pkt_size([3, 4, 5], 1024)
self.assertEqual(mock_socket.sendall.call_count, 3)
- def test_set_value(self, mock_time):
+ def test_set_value(self):
mock_socket = mock.MagicMock()
prox = ProxSocketHelper(mock_socket)
prox.set_value([3, 4, 5], 10, 20, 30)
self.assertEqual(mock_socket.sendall.call_count, 3)
- def test_reset_values(self, mock_time):
+ def test_reset_values(self):
mock_socket = mock.MagicMock()
prox = ProxSocketHelper(mock_socket)
prox.reset_values([3, 4, 5])
self.assertEqual(mock_socket.sendall.call_count, 3)
- def test_set_speed(self, mock_time):
+ def test_set_speed(self):
mock_socket = mock.MagicMock()
prox = ProxSocketHelper(mock_socket)
prox.set_speed([3, 4, 5], 1000)
self.assertEqual(mock_socket.sendall.call_count, 3)
- def test_slope_speed(self, mock_time):
+ def test_slope_speed(self):
core_data = [
{
'cores': [3, 4, 5],
@@ -473,13 +477,13 @@ class TestProxSocketHelper(unittest.TestCase):
prox.slope_speed(core_data, 5, 5)
self.assertEqual(set_speed.call_count, 10)
- def test_set_pps(self, mock_time):
+ def test_set_pps(self):
mock_socket = mock.MagicMock()
prox = ProxSocketHelper(mock_socket)
prox.set_pps([3, 4, 5], 1000, 512)
self.assertEqual(mock_socket.sendall.call_count, 3)
- def test_lat_stats(self, mock_time):
+ def test_lat_stats(self):
latency_output = [
'1, 2 , 3', # has white space
'4,5', # too short
@@ -510,7 +514,7 @@ class TestProxSocketHelper(unittest.TestCase):
self.assertEqual(mock_socket.sendall.call_count, 5)
self.assertEqual(result, expected)
- def test_get_all_tot_stats_error(self, mock_time):
+ def test_get_all_tot_stats_error(self):
mock_socket = mock.MagicMock()
prox = ProxSocketHelper(mock_socket)
prox.get_data = mock.MagicMock(return_value='3,4,5')
@@ -518,7 +522,7 @@ class TestProxSocketHelper(unittest.TestCase):
result = prox.get_all_tot_stats()
self.assertEqual(result, expected)
- def test_get_all_tot_stats(self, mock_time):
+ def test_get_all_tot_stats(self):
mock_socket = mock.MagicMock()
prox = ProxSocketHelper(mock_socket)
prox.get_data = mock.MagicMock(return_value='3,4,5,6')
@@ -526,7 +530,7 @@ class TestProxSocketHelper(unittest.TestCase):
result = prox.get_all_tot_stats()
self.assertEqual(result, expected)
- def test_hz(self, mock_time):
+ def test_hz(self):
mock_socket = mock.MagicMock()
prox = ProxSocketHelper(mock_socket)
prox.get_data = mock.MagicMock(return_value='3,4,5,6')
@@ -534,7 +538,7 @@ class TestProxSocketHelper(unittest.TestCase):
result = prox.hz()
self.assertEqual(result, expected)
- def test_core_stats(self, mock_time):
+ def test_core_stats(self):
core_stats = [
'3,4,5,6',
'7,8,9,10,NaN',
@@ -548,7 +552,7 @@ class TestProxSocketHelper(unittest.TestCase):
result = prox.core_stats([3, 4, 5], 16)
self.assertEqual(result, expected)
- def test_port_stats(self, mock_time):
+ def test_port_stats(self):
port_stats = [
','.join(str(n) for n in range(3, 15)),
','.join(str(n) for n in range(8, 32, 2)),
@@ -562,7 +566,7 @@ class TestProxSocketHelper(unittest.TestCase):
result = prox.port_stats([3, 4, 5])
self.assertEqual(result, expected)
- def test_measure_tot_stats(self, mock_time):
+ def test_measure_tot_stats(self):
start_tot = 3, 4, 5, 6
end_tot = 7, 9, 11, 13
delta_tot = 4, 5, 6, 7
@@ -584,7 +588,7 @@ class TestProxSocketHelper(unittest.TestCase):
pass
self.assertEqual(result, expected)
- def test_tot_stats(self, mock_time):
+ def test_tot_stats(self):
mock_socket = mock.MagicMock()
prox = ProxSocketHelper(mock_socket)
prox.get_data = mock.MagicMock(return_value='3,4,5,6')
@@ -592,7 +596,7 @@ class TestProxSocketHelper(unittest.TestCase):
result = prox.tot_stats()
self.assertEqual(result, expected)
- def test_tot_ierrors(self, mock_time):
+ def test_tot_ierrors(self):
mock_socket = mock.MagicMock()
prox = ProxSocketHelper(mock_socket)
prox.get_data = mock.MagicMock(return_value='3,4,5,6')
@@ -600,25 +604,25 @@ class TestProxSocketHelper(unittest.TestCase):
result = prox.tot_ierrors()
self.assertEqual(result, expected)
- def test_set_count(self, mock_time):
+ def test_set_count(self):
mock_socket = mock.MagicMock()
prox = ProxSocketHelper(mock_socket)
prox.set_count(432, [3, 4, 5])
self.assertEqual(mock_socket.sendall.call_count, 3)
- def test_dump_rx(self, mock_time):
+ def test_dump_rx(self):
mock_socket = mock.MagicMock()
prox = ProxSocketHelper(mock_socket)
prox.dump_rx(3, 5, 8)
self.assertEqual(mock_socket.sendall.call_count, 1)
- def test_quit(self, mock_time):
+ def test_quit(self):
mock_socket = mock.MagicMock()
prox = ProxSocketHelper(mock_socket)
prox.quit()
mock_socket.sendall.assert_called()
- def test_force_quit(self, mock_time):
+ def test_force_quit(self):
mock_socket = mock.MagicMock()
prox = ProxSocketHelper(mock_socket)
prox.force_quit()
@@ -1062,8 +1066,7 @@ class TestProxDpdkVnfSetupEnvHelper(unittest.TestCase):
self.assertEqual(helper._prox_config_data, '44')
self.assertEqual(helper.remote_path, '55')
- @mock.patch('yardstick.network_services.vnf_generic.vnf.prox_helpers.find_relative_file')
- def test_build_config(self, mock_find_path):
+ def test_build_config(self):
vnf1 = {
'prox_args': {'-f': ""},
'prox_path': '/opt/nsb_bin/prox',
@@ -1075,10 +1078,9 @@ class TestProxDpdkVnfSetupEnvHelper(unittest.TestCase):
],
}
- mock_find_path.side_effect = ['1', '2']
- vnfd_helper = mock.MagicMock()
- ssh_helper = mock.MagicMock()
- ssh_helper.provision_tool.return_value = "/opt/nsb_bin/prox"
+ vnfd_helper = mock.Mock()
+ ssh_helper = mock.Mock()
+ ssh_helper.join_bin_path.return_value = '/opt/nsb_bin/prox'
scenario_helper = ScenarioHelper('vnf1')
scenario_helper.scenario_cfg = {
'task_path': 'a/b',
@@ -1087,12 +1089,16 @@ class TestProxDpdkVnfSetupEnvHelper(unittest.TestCase):
},
}
- helper = ProxDpdkVnfSetupEnvHelper(vnfd_helper, ssh_helper, scenario_helper)
- helper.remote_path = "/tmp/prox.cfg"
- expected = "sudo bash -c 'cd /opt/nsb_bin; /opt/nsb_bin/prox -o cli -f -f /tmp/prox.cfg '"
- with mock.patch.object(helper, "build_config_file") as mock_build_config:
+ expected = ("sudo bash -c 'cd /opt/nsb_bin; /opt/nsb_bin/prox -o cli "
+ "-f -f /tmp/prox.cfg '")
+
+ helper = ProxDpdkVnfSetupEnvHelper(vnfd_helper, ssh_helper,
+ scenario_helper)
+ with mock.patch.object(helper, 'build_config_file') as mock_cfg_file:
+ helper.remote_path = '/tmp/prox.cfg'
prox_cmd = helper.build_config()
self.assertEqual(prox_cmd, expected)
+ mock_cfg_file.assert_called_once()
def test__insert_additional_file(self):
vnfd_helper = mock.MagicMock()
@@ -1256,16 +1262,6 @@ class TestProxDpdkVnfSetupEnvHelper(unittest.TestCase):
result = helper.put_string_to_file('my long string', 'a/b')
self.assertEqual(result, expected)
- def test__build_pipeline_kwarags(self):
- vnfd_helper = mock.MagicMock()
- ssh_helper = mock.MagicMock()
- ssh_helper.provision_tool.return_value = "/tmp/nosuch"
- scenario_helper = mock.MagicMock()
-
- helper = ProxDpdkVnfSetupEnvHelper(vnfd_helper, ssh_helper, scenario_helper)
- helper._build_pipeline_kwargs()
- self.assertEqual(helper.pipeline_kwargs, {'tool_path': '/tmp/nosuch', 'tool_dir': '/tmp'})
-
def test_copy_to_target(self):
vnfd_helper = mock.MagicMock()
vnfd_helper.interfaces = []
@@ -1416,7 +1412,7 @@ class TestProxResourceHelper(unittest.TestCase):
@mock.patch('yardstick.network_services.vnf_generic.vnf.prox_helpers.RETRY_INTERVAL', 0)
@mock.patch('yardstick.network_services.vnf_generic.vnf.prox_helpers.ProxSocketHelper')
- def test_sut(self, mock_socket_helper):
+ def test_sut(self, *args):
helper = ProxResourceHelper(mock.MagicMock())
self.assertIsNone(helper.client)
result = helper.sut
@@ -1439,9 +1435,9 @@ class TestProxResourceHelper(unittest.TestCase):
helper = ProxResourceHelper(mock.MagicMock())
helper.resource = resource = mock.MagicMock()
- resource.check_if_sa_running.return_value = 0, '1234'
+ resource.check_if_system_agent_running.return_value = 0, '1234'
resource.amqp_collect_nfvi_kpi.return_value = 543
- resource.check_if_sa_running.return_value = (0, None)
+ resource.check_if_system_agent_running.return_value = (0, None)
expected = {'core': 543}
result = helper.collect_collectd_kpi()
@@ -1453,9 +1449,9 @@ class TestProxResourceHelper(unittest.TestCase):
helper._result = {'z': 123}
helper.resource = resource = mock.MagicMock()
- resource.check_if_sa_running.return_value = 0, '1234'
+ resource.check_if_system_agent_running.return_value = 0, '1234'
resource.amqp_collect_nfvi_kpi.return_value = 543
- resource.check_if_sa_running.return_value = (0, None)
+ resource.check_if_system_agent_running.return_value = (0, None)
queue.empty.return_value = False
queue.get.return_value = {'a': 789}
@@ -1466,7 +1462,7 @@ class TestProxResourceHelper(unittest.TestCase):
@mock.patch('yardstick.network_services.vnf_generic.vnf.prox_helpers.time')
@mock.patch('yardstick.network_services.vnf_generic.vnf.prox_helpers.ProxSocketHelper')
- def test__connect(self, mock_socket_helper_type, mock_time):
+ def test__connect(self, mock_socket_helper_type, *args):
client = mock_socket_helper_type()
client.connect.side_effect = chain(repeat(socket.error, 5), [None])
@@ -1869,7 +1865,7 @@ class TestProxProfileHelper(unittest.TestCase):
self.assertIs(result, expected)
@mock.patch('yardstick.network_services.vnf_generic.vnf.prox_helpers.time')
- def test_traffic_context(self, mock_time):
+ def test_traffic_context(self, *args):
setup_helper = mock.MagicMock()
setup_helper.vnfd_helper.interfaces = []
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..769279066 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,31 +368,13 @@ 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
- @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, *_):
- mock_ssh(ssh)
-
- prox_approx_vnf = ProxApproxVnf(NAME, self.VNFD0)
- prox_approx_vnf.scenario_helper.scenario_cfg = self.SCENARIO_CFG
- prox_approx_vnf.ssh_helper.provision_tool.return_value = '/tool_path12/tool_file34'
- prox_approx_vnf.setup_helper.remote_path = 'configs/file56.cfg'
-
- expected = "sudo bash -c 'cd /tool_path12; " \
- "/tool_path12/tool_file34 -o cli -t -f /tmp/l3-swap-2.cfg '"
-
- prox_approx_vnf._run()
- result = prox_approx_vnf.ssh_helper.run.call_args[0][0]
- 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 +383,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 +393,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 +407,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 +416,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 +430,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_router_vnf.py b/tests/unit/network_services/vnf_generic/vnf/test_router_vnf.py
new file mode 100644
index 000000000..9ed6fd5b3
--- /dev/null
+++ b/tests/unit/network_services/vnf_generic/vnf/test_router_vnf.py
@@ -0,0 +1,267 @@
+#!/usr/bin/env python
+
+# Copyright (c) 2016-2017 Intel Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+from __future__ import absolute_import
+
+import unittest
+import mock
+
+from tests.unit import STL_MOCKS
+from tests.unit.network_services.vnf_generic.vnf.test_base import mock_ssh
+
+
+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.router_vnf import RouterVNF
+
+
+TEST_FILE_YAML = 'nsb_test_case.yaml'
+SSH_HELPER = 'yardstick.network_services.vnf_generic.vnf.sample_vnf.VnfSshHelper'
+
+
+name = 'vnf__1'
+
+
+class TestRouterVNF(unittest.TestCase):
+ VNFD = {'vnfd:vnfd-catalog':
+ {'vnfd':
+ [{'short-name': 'RouterVNF',
+ 'vdu':
+ [{'routing_table': [],
+ 'description': 'RouterVNF',
+ 'name': 'router-baremetal',
+ 'nd_route_tbl': [],
+ 'id': 'router-baremetal',
+ 'external-interface':
+ [{'virtual-interface':
+ {'dst_mac': '00:00:00:00:00:04',
+ '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',
+ 'driver': "i40e",
+ 'dst_ip': '152.16.100.20',
+ 'local_iface_name': 'xe0',
+ 'local_mac': '00:00:00:00:00:02'},
+ 'vnfd-connection-point-ref': 'xe0',
+ 'name': 'xe0'},
+ {'virtual-interface':
+ {'dst_mac': '00:00:00:00:00:03',
+ 'vpci': '0000:05:00.1',
+ 'local_ip': '152.16.40.19',
+ 'type': 'PCI-PASSTHROUGH',
+ 'driver': "i40e",
+ 'netmask': '255.255.255.0',
+ 'dpdk_port_num': 1,
+ 'bandwidth': '10 Gbps',
+ 'dst_ip': '152.16.40.20',
+ 'local_iface_name': 'xe1',
+ 'local_mac': '00:00:00:00:00:01'},
+ 'vnfd-connection-point-ref': 'xe1',
+ 'name': 'xe1'}]}],
+ 'description': 'RouterVNF',
+ 'mgmt-interface':
+ {'vdu-id': 'router-baremetal',
+ 'host': '1.2.1.1',
+ 'password': 'r00t',
+ 'user': 'root',
+ 'ip': '1.2.1.1'},
+ 'benchmark':
+ {'kpi': ['packets_in', 'packets_fwd', 'packets_dropped']},
+ 'connection-point': [{'type': 'VPORT', 'name': 'xe0'},
+ {'type': 'VPORT', 'name': 'xe1'}],
+ 'id': 'RouterVNF', 'name': 'VPEVnfSsh'}]}}
+
+ scenario_cfg = {'nodes': {'cpt__0': 'compute_0.compute_nodes',
+ 'tg__0': 'trafficgen_1.baremetal',
+ 'vnf__0': 'vnf.yardstick'},
+ 'options': {'flow': {'count': 128000,
+ 'dst_ip': ['10.0.3.26-10.0.3.105'],
+ 'dst_port': ['2001-2004'],
+ 'src_ip': ['10.0.2.26-10.0.2.105'],
+ 'src_port': ['1234-1238']},
+ 'framesize': {'downlink': {'1024B': 100},
+ 'uplink': {'1024B': 100}},
+ 'rfc2544': {'allowed_drop_rate': '0.0001 - 0.1'},
+ 'tg__0': {'queues_per_port': 7},
+ 'traffic_type': 4,
+ 'vnf__0': {'nfvi_enable': True}},
+ 'runner': {'interval': 35,
+ 'iterations': 10,
+ 'type': 'Iteration'},
+ 'topology': 'router-tg-topology.yaml',
+ 'traffic_profile': '../../traffic_profiles/ipv4_throughput.yaml',
+ 'type': 'NSPerf'}
+
+ context_cfg = {'nodes': {'tg__1':
+ {'member-vnf-index': '1',
+ 'role': 'TrafficGen',
+ 'name': 'trafficgen_1.yardstick',
+ 'vnfd-id-ref': 'tg__1',
+ 'ip': '1.2.1.1',
+ 'interfaces':
+ {'xe0': {'local_iface_name': 'ens785f0',
+ 'vld_id': RouterVNF.UPLINK,
+ 'netmask': '255.255.255.0',
+ 'local_ip': '152.16.100.20',
+ 'dst_mac': '00:00:00:00:00:02',
+ 'local_mac': '00:00:00:00:00:04',
+ 'dst_ip': '152.16.100.19',
+ 'driver': 'i40e',
+ 'vpci': '0000:05:00.0',
+ 'dpdk_port_num': 0},
+ 'xe1': {'local_iface_name': 'ens785f1',
+ 'netmask': '255.255.255.0',
+ 'local_ip': '152.16.100.21',
+ 'local_mac': '00:00:00:00:00:01',
+ 'driver': 'i40e',
+ 'vpci': '0000:05:00.1',
+ 'dpdk_port_num': 1}},
+ 'password': 'r00t',
+ 'VNF model': 'tg_rfc2544_tpl.yaml',
+ 'user': 'root'},
+ 'vnf__1':
+ {'name': 'vnf.yardstick',
+ 'vnfd-id-ref': 'vnf__1',
+ 'ip': '1.2.1.1',
+ 'interfaces':
+ {'xe0': {'local_iface_name': 'ens786f0',
+ 'vld_id': RouterVNF.UPLINK,
+ 'netmask': '255.255.255.0',
+ 'local_ip': '152.16.100.19',
+ 'dst_mac': '00:00:00:00:00:04',
+ 'local_mac': '00:00:00:00:00:02',
+ 'dst_ip': '152.16.100.20',
+ 'driver': 'i40e',
+ 'vpci': '0000:05:00.0',
+ 'dpdk_port_num': 0},
+ 'xe1': {'local_iface_name': 'ens786f1',
+ 'vld_id': RouterVNF.DOWNLINK,
+ 'netmask': '255.255.255.0',
+ 'local_ip': '152.16.40.19',
+ 'dst_mac': '00:00:00:00:00:03',
+ 'local_mac': '00:00:00:00:00:01',
+ 'dst_ip': '152.16.40.20',
+ 'driver': 'i40e',
+ 'vpci': '0000:05:00.1',
+ 'dpdk_port_num': 1}},
+ 'routing_table': [],
+ 'member-vnf-index': '2',
+ 'host': '1.2.1.1',
+ 'role': 'vnf',
+ 'user': 'root',
+ 'nd_route_tbl': [],
+ 'password': 'r00t',
+ 'VNF model': 'router_vnf.yaml'}}}
+
+ IP_SHOW_STATS_OUTPUT = """\
+2: em1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
+ link/ether d4:c9:ef:52:7c:4d brd ff:ff:ff:ff:ff:ff
+ RX: bytes packets errors dropped overrun mcast
+ 2781945429 3202213 0 0 0 30131
+ RX errors: length crc frame fifo missed
+ 0 0 0 0 0
+ TX: bytes packets errors dropped carrier collsns
+ 646221183 2145799 0 0 0 0
+ TX errors: aborted fifo window heartbeat
+ 0 0 0 0
+"""
+ STATS = {
+ 'RX:bytes': '2781945429',
+ 'RX:dropped': '0',
+ 'RX:errors': '0',
+ 'RX:mcast': '30131',
+ 'RX:overrun': '0',
+ 'RX:packets': '3202213',
+ 'RX errors:length': '0',
+ 'RX errors:crc': '0',
+ 'RX errors:frame': '0',
+ 'RX errors:fifo': '0',
+ 'RX errors:missed': '0',
+ 'TX:bytes': '646221183',
+ 'TX:carrier': '0',
+ 'TX:collsns': '0',
+ 'TX:dropped': '0',
+ 'TX:errors': '0',
+ 'TX:packets': '2145799',
+ 'TX errors:aborted': '0',
+ 'TX errors:fifo': '0',
+ 'TX errors:window': '0',
+ 'TX errors:heartbeat': '0',
+ }
+
+ def test___init__(self):
+ vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
+ router_vnf = RouterVNF(name, vnfd)
+ self.assertIsNone(router_vnf._vnf_process)
+
+ def test_get_stats(self):
+ stats = RouterVNF.get_stats(self.IP_SHOW_STATS_OUTPUT)
+ self.assertDictEqual(stats, self.STATS)
+
+ @mock.patch("yardstick.network_services.vnf_generic.vnf.sample_vnf.time")
+ @mock.patch(SSH_HELPER)
+ def test_collect_kpi(self, ssh, _):
+ m = mock_ssh(ssh)
+
+ vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
+ router_vnf = RouterVNF(name, vnfd)
+ router_vnf.ssh_helper = m
+ result = {'packets_dropped': 0, 'packets_fwd': 0, 'packets_in': 0, 'link_stats': {}}
+ self.assertEqual(result, router_vnf.collect_kpi())
+
+ @mock.patch(SSH_HELPER)
+ def test_run_router(self, ssh):
+ mock_ssh(ssh)
+
+ vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
+ router_vnf = RouterVNF(name, vnfd)
+ router_vnf.scenario_helper.scenario_cfg = self.scenario_cfg
+ router_vnf._run()
+ router_vnf.ssh_helper.drop_connection.assert_called_once()
+
+ @mock.patch("yardstick.network_services.vnf_generic.vnf.router_vnf.Context")
+ @mock.patch(SSH_HELPER)
+ def test_instantiate(self, ssh, _):
+ mock_ssh(ssh)
+
+ vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
+ router_vnf = RouterVNF(name, vnfd)
+ router_vnf.WAIT_TIME = 0
+ router_vnf.INTERFACE_WAIT = 0
+ self.scenario_cfg.update({"nodes": {"vnf__1": ""}})
+ self.assertIsNone(router_vnf.instantiate(self.scenario_cfg,
+ self.context_cfg))
+
+ @mock.patch("yardstick.network_services.vnf_generic.vnf.sample_vnf.time")
+ @mock.patch(SSH_HELPER)
+ def test_terminate(self, ssh, _):
+ mock_ssh(ssh)
+
+ vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
+ router_vnf = RouterVNF(name, vnfd)
+ router_vnf._vnf_process = mock.MagicMock()
+ router_vnf._vnf_process.terminate = mock.Mock()
+ self.assertEqual(None, router_vnf.terminate())
+
+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..beb4f8f9f 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,29 @@ 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)
+
+ def test__run(self):
+ test_cmd = 'test cmd'
+ run_kwargs = {'arg1': 'val1', 'arg2': 'val2'}
+ vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
+ sample_vnf = SampleVNF('vnf1', vnfd)
+ sample_vnf.ssh_helper = mock.Mock()
+ sample_vnf.setup_helper = mock.Mock()
+ with mock.patch.object(sample_vnf, '_build_config',
+ return_value=test_cmd), \
+ mock.patch.object(sample_vnf, '_build_run_kwargs'):
+ sample_vnf.run_kwargs = run_kwargs
+ sample_vnf._run()
+ sample_vnf.ssh_helper.drop_connection.assert_called_once()
+ sample_vnf.ssh_helper.run.assert_called_once_with(test_cmd,
+ **run_kwargs)
+ sample_vnf.setup_helper.kill_vnf.assert_called_once()
+
class TestSampleVNFTrafficGen(unittest.TestCase):
@@ -2051,3 +2070,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 c1b2d27eb..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
@@ -228,7 +228,7 @@ class TestPingTrafficGen(unittest.TestCase):
CMD_KWARGS = {
'target_ip': u'152.16.100.20',
'local_ip': u'152.16.100.19',
- 'local_if_name': u'xe0',
+ 'local_if_name': u'xe0_fake',
}
@mock.patch("yardstick.ssh.SSH")
@@ -270,7 +270,7 @@ class TestPingTrafficGen(unittest.TestCase):
mock_ssh(ssh, spec=VnfSshHelper, exec_result=(0, "success", ""))
ping_traffic_gen = PingTrafficGen('vnf1', self.VNFD_0)
ping_traffic_gen.setup_helper.ssh_helper = mock.MagicMock(
- **{"execute.return_value": (0, "success", "")})
+ **{"execute.return_value": (0, "xe0_fake", "")})
self.assertIsInstance(ping_traffic_gen.ssh_helper, mock.Mock)
self.assertEqual(ping_traffic_gen._result, {})
@@ -278,24 +278,16 @@ class TestPingTrafficGen(unittest.TestCase):
self.assertEqual(
ping_traffic_gen.vnfd_helper.interfaces[0]['virtual-interface']['local_iface_name'],
- 'success')
+ 'xe0_fake')
self.assertEqual(self.CMD_KWARGS, ping_traffic_gen.resource_helper.cmd_kwargs)
self.assertIsNotNone(ping_traffic_gen._result)
@mock.patch("yardstick.ssh.SSH")
- def test_listen_traffic(self, ssh):
+ def test_listen_traffic(self, *args):
ping_traffic_gen = PingTrafficGen('vnf1', self.VNFD_0)
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..0104e7f63 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,26 +318,28 @@ 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)
prox_traffic_gen._vnf_wrapper.resource_helper.resource = mock.MagicMock(
- **{"check_if_sa_running.return_value": [False]})
+ **{"self.check_if_system_agent_running.return_value": [False]})
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..1abc53688 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,17 @@
# limitations under the License.
#
-from __future__ import absolute_import
-import six.moves.configparser as configparser
-
+from multiprocessing import Process, Queue
import os
-import unittest
+import time
+
import mock
-from multiprocessing import Process, Queue
+import six.moves.configparser as configparser
+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 +42,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 +226,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 +237,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,18 +532,21 @@ 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)
- resource.check_if_sa_running.return_value = 1, ''
+ resource.check_if_system_agent_running.return_value = 1, ''
resource.amqp_collect_nfvi_kpi.return_value = {'foo': 234}
- resource.check_if_sa_running.return_value = (1, None)
+ resource.check_if_system_agent_running.return_value = (1, None)
vpe_approx_vnf = VpeApproxVnf(NAME, self.VNFD_0)
vpe_approx_vnf.q_in = mock.MagicMock()
@@ -585,11 +564,11 @@ 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)
- resource.check_if_sa_running.return_value = 0, '1234'
+ resource.check_if_system_agent_running.return_value = 0, '1234'
resource.amqp_collect_nfvi_kpi.return_value = {'foo': 234}
vpe_approx_vnf = VpeApproxVnf(NAME, self.VNFD_0)
@@ -608,7 +587,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 +596,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 +630,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 +663,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 +686,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 +709,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 +728,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 +748,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 +772,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 +782,3 @@ class TestVpeApproxVnf(unittest.TestCase):
vpe_approx_vnf.resource_helper = mock.MagicMock()
self.assertIsNone(vpe_approx_vnf.terminate())
-
-
-if __name__ == '__main__':
- unittest.main()