def test_run_vfw(self, mock_open, eval, hex, mock_process): with mock.patch("yardstick.ssh.SSH") 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 vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] vfw_approx_vnf = FWApproxVnf(name, vnfd) vfw_approx_vnf._build_config = mock.MagicMock() vfw_approx_vnf.queue_wrapper = mock.MagicMock() vfw_approx_vnf.ssh_helper = mock.MagicMock() vfw_approx_vnf.ssh_helper.run = mock.MagicMock() vfw_approx_vnf.scenario_helper.scenario_cfg = self.scenario_cfg vfw_approx_vnf.vnf_cfg = { 'lb_config': 'SW', 'lb_count': 1, 'worker_config': '1C/1T', 'worker_threads': 1 } vfw_approx_vnf.all_options = { 'traffic_type': '4', 'topology': 'nsb_test_case.yaml' } vfw_approx_vnf._run() vfw_approx_vnf.ssh_helper.run.assert_called_once()
def test_collect_kpi(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] vfw_approx_vnf = FWApproxVnf(name, vnfd) vfw_approx_vnf.scenario_helper.scenario_cfg = { 'nodes': { vfw_approx_vnf.name: "mock" } } vfw_approx_vnf.q_in = mock.MagicMock() vfw_approx_vnf.q_out = mock.MagicMock() vfw_approx_vnf.q_out.qsize = mock.Mock(return_value=0) vfw_approx_vnf.resource = mock.Mock(autospec=ResourceProfile) vfw_approx_vnf.resource_helper = mock.MagicMock( **{'collect_kpi.return_value': { "core": {} }}) vfw_approx_vnf.vnf_execute = mock.Mock(return_value=self.STATS) result = { 'physical_node': 'mock_node', 'packets_dropped': 0, 'packets_fwd': 6007180, 'packets_in': 6007180, 'collect_stats': { 'core': {} }, } self.assertEqual(result, vfw_approx_vnf.collect_kpi())
def test_collect_kpi(self, mock_time, mock_process): 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] vfw_approx_vnf = FWApproxVnf(name, vnfd) vfw_approx_vnf.q_in = mock.MagicMock() vfw_approx_vnf.q_out = mock.MagicMock() vfw_approx_vnf.q_out.qsize = mock.Mock(return_value=0) vfw_approx_vnf.resource = mock.Mock(autospec=ResourceProfile) vfw_approx_vnf.resource_helper = mock.MagicMock( **{'collect_kpi.return_value': { "core": {} }}) vfw_approx_vnf.vnf_execute = mock.Mock(return_value=self.STATS) result = { 'packets_dropped': 0, 'packets_fwd': 6007180, 'packets_in': 6007180, 'collect_stats': { 'core': {} }, } self.assertEqual(result, vfw_approx_vnf.collect_kpi())
def test_get_stats(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] vfw_approx_vnf = FWApproxVnf(name, vnfd) vfw_approx_vnf.q_in = mock.MagicMock() vfw_approx_vnf.q_out = mock.MagicMock() vfw_approx_vnf.q_out.qsize = mock.Mock(return_value=0) vfw_approx_vnf.vnf_execute = mock.Mock(return_value=self.STATS) self.assertEqual(self.STATS, vfw_approx_vnf.get_stats())
def test_vnf_execute_command(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] vfw_approx_vnf = FWApproxVnf(name, vnfd) vfw_approx_vnf.q_in = mock.MagicMock() vfw_approx_vnf.q_out = mock.MagicMock() vfw_approx_vnf.q_out.qsize = mock.Mock(return_value=0) cmd = "quit" self.assertEqual(vfw_approx_vnf.vnf_execute(cmd), "")
def test_terminate(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] vfw_approx_vnf = FWApproxVnf(name, vnfd) vfw_approx_vnf._vnf_process = mock.MagicMock() vfw_approx_vnf.used_drivers = {"01:01.0": "i40e", "01:01.1": "i40e"} vfw_approx_vnf.vnf_execute = mock.Mock() vfw_approx_vnf.dpdk_nic_bind = "dpdk_nic_bind.py" vfw_approx_vnf._resource_collect_stop = mock.Mock() self.assertIsNone(vfw_approx_vnf.terminate())
def test_instantiate(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] vfw_approx_vnf = FWApproxVnf(name, vnfd) vfw_approx_vnf.ssh_helper = ssh vfw_approx_vnf.deploy_helper = mock.MagicMock() vfw_approx_vnf.resource_helper = mock.MagicMock() vfw_approx_vnf._build_config = mock.MagicMock() self.scenario_cfg['vnf_options'] = {'acl': {'cfg': "", 'rules': ""}} self.scenario_cfg.update({"nodes": {"vnf__1": ""}}) self.assertIsNone( vfw_approx_vnf.instantiate(self.scenario_cfg, self.context_cfg))
def test_get_stats(self, mock_process): 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] vfw_approx_vnf = FWApproxVnf(name, vnfd) vfw_approx_vnf.q_in = mock.MagicMock() vfw_approx_vnf.q_out = mock.MagicMock() vfw_approx_vnf.q_out.qsize = mock.Mock(return_value=0) vfw_approx_vnf.vnf_execute = mock.Mock(return_value=self.STATS) self.assertEqual(self.STATS, vfw_approx_vnf.get_stats())
def test_vnf_execute_command(self, mock_time, mock_process): 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] vfw_approx_vnf = FWApproxVnf(name, vnfd) vfw_approx_vnf.q_in = mock.MagicMock() vfw_approx_vnf.q_out = mock.MagicMock() vfw_approx_vnf.q_out.qsize = mock.Mock(return_value=0) cmd = "quit" self.assertEqual("", vfw_approx_vnf.vnf_execute(cmd))
def test_instantiate(self, Context, mock_yang, mock_find, mock_process): 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] vfw_approx_vnf = FWApproxVnf(name, vnfd) vfw_approx_vnf.ssh_helper = ssh vfw_approx_vnf.deploy_helper = mock.MagicMock() vfw_approx_vnf.resource_helper = mock.MagicMock() vfw_approx_vnf._build_config = mock.MagicMock() self.scenario_cfg['vnf_options'] = {'acl': {'cfg': "", 'rules': ""}} self.scenario_cfg.update({"nodes": {"vnf__1": ""}}) self.assertIsNone(vfw_approx_vnf.instantiate(self.scenario_cfg, self.context_cfg))
def test_terminate(self, mock_time, mock_process): 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] vfw_approx_vnf = FWApproxVnf(name, vnfd) vfw_approx_vnf._vnf_process = mock.MagicMock() vfw_approx_vnf._vnf_process.terminate = mock.Mock() vfw_approx_vnf.used_drivers = {"01:01.0": "i40e", "01:01.1": "i40e"} vfw_approx_vnf.vnf_execute = mock.Mock() vfw_approx_vnf.ssh_helper = ssh_mock vfw_approx_vnf.dpdk_nic_bind = "dpdk_nic_bind.py" vfw_approx_vnf._resource_collect_stop = mock.Mock() self.assertEqual(None, vfw_approx_vnf.terminate())
def test_run_vfw(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] vfw_approx_vnf = FWApproxVnf(name, vnfd) vfw_approx_vnf._build_config = mock.MagicMock() vfw_approx_vnf.queue_wrapper = mock.MagicMock() vfw_approx_vnf.ssh_helper = mock.MagicMock() vfw_approx_vnf.ssh_helper.run = mock.MagicMock() vfw_approx_vnf.scenario_helper.scenario_cfg = self.scenario_cfg vfw_approx_vnf.vnf_cfg = {'lb_config': 'SW', 'lb_count': 1, 'worker_config': '1C/1T', 'worker_threads': 1} vfw_approx_vnf.all_options = {'traffic_type': '4', 'topology': 'nsb_test_case.yaml'} vfw_approx_vnf._run() vfw_approx_vnf.ssh_helper.run.assert_called_once()
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)
def test_scale(self, mock_process): vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] vfw_approx_vnf = FWApproxVnf(name, vnfd) flavor = "" self.assertRaises(NotImplementedError, vfw_approx_vnf.scale, flavor)