def test_vnf_execute_command(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] cgnapt_approx_vnf = CgnaptApproxVnf(name, vnfd) cgnapt_approx_vnf.q_in = mock.MagicMock() cgnapt_approx_vnf.q_out = mock.MagicMock() cgnapt_approx_vnf.q_out.qsize = mock.Mock(return_value=0) cmd = "quit" self.assertEqual("", cgnapt_approx_vnf.vnf_execute(cmd))
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] cgnapt_approx_vnf = CgnaptApproxVnf(name, vnfd) cgnapt_approx_vnf.q_in = mock.MagicMock() cgnapt_approx_vnf.q_out = mock.MagicMock() cgnapt_approx_vnf.q_out.qsize = mock.Mock(return_value=0) cmd = "quit" self.assertEqual("", cgnapt_approx_vnf.vnf_execute(cmd))
def test_terminate(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] cgnapt_approx_vnf = CgnaptApproxVnf(name, vnfd) cgnapt_approx_vnf._vnf_process = mock.MagicMock() cgnapt_approx_vnf._vnf_process.terminate = mock.Mock() cgnapt_approx_vnf.used_drivers = {"01:01.0": "i40e", "01:01.1": "i40e"} cgnapt_approx_vnf.vnf_execute = mock.MagicMock() cgnapt_approx_vnf.dpdk_nic_bind = "dpdk_nic_bind.py" cgnapt_approx_vnf._resource_collect_stop = mock.Mock() self.assertEqual(None, cgnapt_approx_vnf.terminate())
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] cgnapt_approx_vnf = CgnaptApproxVnf(name, vnfd) cgnapt_approx_vnf._vnf_process = mock.MagicMock() cgnapt_approx_vnf._vnf_process.terminate = mock.Mock() cgnapt_approx_vnf.used_drivers = {"01:01.0": "i40e", "01:01.1": "i40e"} cgnapt_approx_vnf.vnf_execute = mock.MagicMock() cgnapt_approx_vnf.ssh_helper = ssh_mock cgnapt_approx_vnf.dpdk_nic_bind = "dpdk_nic_bind.py" cgnapt_approx_vnf._resource_collect_stop = mock.Mock() self.assertEqual(None, cgnapt_approx_vnf.terminate())
def test__vnf_up_post_short(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] cgnapt_approx_vnf = CgnaptApproxVnf(name, vnfd) cgnapt_approx_vnf._vnf_process = mock.MagicMock() cgnapt_approx_vnf._vnf_process.terminate = mock.Mock() cgnapt_approx_vnf.vnf_execute = mock.MagicMock() cgnapt_approx_vnf.scenario_helper.scenario_cfg = self.scenario_cfg cgnapt_approx_vnf._resource_collect_stop = mock.Mock() cgnapt_approx_vnf._vnf_up_post()
def test_run_vcgnapt(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] cgnapt_approx_vnf = CgnaptApproxVnf(name, vnfd) cgnapt_approx_vnf._build_config = mock.MagicMock() cgnapt_approx_vnf.queue_wrapper = mock.MagicMock() cgnapt_approx_vnf.ssh_helper = mock.MagicMock() cgnapt_approx_vnf.ssh_helper.run = mock.MagicMock() cgnapt_approx_vnf.scenario_helper.scenario_cfg = self.scenario_cfg cgnapt_approx_vnf._run() cgnapt_approx_vnf.ssh_helper.run.assert_called_once()
def test__vnf_up_post(self, mock_time, mock_cgnapt_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] cgnapt_approx_vnf = CgnaptApproxVnf(name, vnfd) cgnapt_approx_vnf._vnf_process = mock.MagicMock() cgnapt_approx_vnf._vnf_process.terminate = mock.Mock() cgnapt_approx_vnf.vnf_execute = mock.MagicMock() cgnapt_approx_vnf.ssh_helper = ssh_mock cgnapt_approx_vnf.scenario_helper.scenario_cfg = self.scenario_cfg cgnapt_approx_vnf._resource_collect_stop = mock.Mock() cgnapt_approx_vnf._vnf_up_post() cgnapt_approx_vnf.vnf_execute.assert_called_once()
def test__vnf_up_post(self, ssh, mock_time, mock_process): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] self.scenario_cfg['options'][name]['napt'] = 'static' cgnapt_approx_vnf = CgnaptApproxVnf(name, vnfd) cgnapt_approx_vnf._vnf_process = mock.MagicMock() cgnapt_approx_vnf._vnf_process.terminate = mock.Mock() cgnapt_approx_vnf.vnf_execute = mock.MagicMock() cgnapt_approx_vnf.scenario_helper.scenario_cfg = self.scenario_cfg cgnapt_approx_vnf._resource_collect_stop = mock.Mock() cgnapt_approx_vnf._vnf_up_post()
def test_collect_kpi(self, ssh, mock_time, mock_process): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] cgnapt_approx_vnf = CgnaptApproxVnf(name, vnfd) cgnapt_approx_vnf._vnf_process = mock.MagicMock( **{"is_alive.return_value": True, "exitcode": None}) cgnapt_approx_vnf.q_in = mock.MagicMock() cgnapt_approx_vnf.q_out = mock.MagicMock() cgnapt_approx_vnf.q_out.qsize = mock.Mock(return_value=0) cgnapt_approx_vnf.resource = mock.Mock(autospec=ResourceProfile) result = {'packets_dropped': 0, 'packets_fwd': 0, 'packets_in': 0} self.assertEqual(result, cgnapt_approx_vnf.collect_kpi())
def test_get_stats(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] cgnapt_approx_vnf = CgnaptApproxVnf(name, vnfd) cgnapt_approx_vnf.q_in = mock.MagicMock() cgnapt_approx_vnf.q_out = mock.MagicMock() cgnapt_approx_vnf.q_out.qsize = mock.Mock(return_value=0) result = \ "CG-NAPT(.*\n)*Received 100, Missed 0, Dropped 0,Translated 100,ingress" cgnapt_approx_vnf.vnf_execute = mock.Mock(return_value=result) self.assertListEqual(list(result), list(cgnapt_approx_vnf.get_stats()))
def test_run_vcgnapt(self, hex, eval, mock_open, 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] cgnapt_approx_vnf = CgnaptApproxVnf(name, vnfd) cgnapt_approx_vnf._build_config = mock.MagicMock() cgnapt_approx_vnf.queue_wrapper = mock.MagicMock() cgnapt_approx_vnf.ssh_helper = mock.MagicMock() cgnapt_approx_vnf.ssh_helper.run = mock.MagicMock() cgnapt_approx_vnf.scenario_helper.scenario_cfg = self.scenario_cfg cgnapt_approx_vnf._run() cgnapt_approx_vnf.ssh_helper.run.assert_called_once()
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] cgnapt_approx_vnf = CgnaptApproxVnf(name, vnfd) cgnapt_approx_vnf.q_in = mock.MagicMock() cgnapt_approx_vnf.q_out = mock.MagicMock() cgnapt_approx_vnf.q_out.qsize = mock.Mock(return_value=0) cgnapt_approx_vnf.resource = mock.Mock(autospec=ResourceProfile) result = {'packets_dropped': 0, 'packets_fwd': 0, 'packets_in': 0} self.assertEqual(result, cgnapt_approx_vnf.collect_kpi())
def test_instantiate(self, ssh, *args): mock_ssh(ssh) vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] cgnapt_approx_vnf = CgnaptApproxVnf(name, vnfd) cgnapt_approx_vnf.deploy_helper = mock.MagicMock() cgnapt_approx_vnf.resource_helper = mock.MagicMock() cgnapt_approx_vnf._build_config = mock.MagicMock() self.scenario_cfg['vnf_options'] = {'acl': {'cfg': "", 'rules': ""}} cgnapt_approx_vnf.q_out.put("pipeline>") cgnapt_vnf.WAIT_TIME = 3 self.scenario_cfg.update({"nodes": {"vnf__0": ""}}) self.assertIsNone( cgnapt_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] cgnapt_approx_vnf = CgnaptApproxVnf(name, vnfd) cgnapt_approx_vnf.q_in = mock.MagicMock() cgnapt_approx_vnf.q_out = mock.MagicMock() cgnapt_approx_vnf.q_out.qsize = mock.Mock(return_value=0) mock_result = \ "CG-NAPT(.*\n)*Received 100, Missed 0, Dropped 0,Translated 100,ingress" cgnapt_approx_vnf.vnf_execute = mock.Mock(return_value=mock_result) self.assertListEqual(list(mock_result), list(cgnapt_approx_vnf.get_stats()))
def test_instantiate(self, mock_context, 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] cgnapt_approx_vnf = CgnaptApproxVnf(name, vnfd) cgnapt_approx_vnf.ssh_helper = ssh cgnapt_approx_vnf.deploy_helper = mock.MagicMock() cgnapt_approx_vnf.resource_helper = mock.MagicMock() cgnapt_approx_vnf._build_config = mock.MagicMock() self.scenario_cfg['vnf_options'] = {'acl': {'cfg': "", 'rules': ""}} cgnapt_approx_vnf.q_out.put("pipeline>") cgnapt_vnf.WAIT_TIME = 3 self.scenario_cfg.update({"nodes": {"vnf__1": ""}}) 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)
def test___init__(self, mock_process): vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0] cgnapt_approx_vnf = CgnaptApproxVnf(name, vnfd) self.assertIsNone(cgnapt_approx_vnf._vnf_process)