def test__vnf_up_post(self, ssh, *args): mock_ssh(ssh) prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, self.VNFD0) prox_approx_vnf.resource_helper = resource_helper = mock.Mock() prox_approx_vnf._vnf_up_post() resource_helper.up_post.assert_called_once()
def bad_test_instantiate(self, *args): prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, self.VNFD0) prox_approx_vnf.scenario_helper = mock.MagicMock() prox_approx_vnf.setup_helper = mock.MagicMock() # we can't mock super prox_approx_vnf.instantiate(self.SCENARIO_CFG, self.CONTEXT_CFG) prox_approx_vnf.setup_helper.build_config.assert_called_once()
def test_collect_kpi(self, ssh, *args): mock_ssh(ssh) resource_helper = mock.MagicMock() resource_helper.execute.return_value = [[0, 1, 2, 3, 4, 5], [1, 1, 2, 3, 4, 5], [2, 1, 2, 3, 4, 5], [3, 1, 2, 3, 4, 5]] resource_helper.collect_collectd_kpi.return_value = {'core': {'result': 234}} prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, self.VNFD0, 'task_id') prox_approx_vnf.scenario_helper.scenario_cfg = { 'nodes': {prox_approx_vnf.name: "mock"} } prox_approx_vnf.resource_helper = resource_helper expected = { 'physical_node': 'mock_node', 'packets_in': 4, 'packets_dropped': 4, 'packets_fwd': 8, 'collect_stats': {'core': {'result': 234}}, } result = prox_approx_vnf.collect_kpi() self.assertEqual(result['packets_in'], expected['packets_in']) self.assertEqual(result['packets_dropped'], expected['packets_dropped']) self.assertEqual(result['packets_fwd'], expected['packets_fwd']) self.assertNotEqual(result['packets_fwd'], 0) self.assertNotEqual(result['packets_fwd'], 0)
def test_wait_for_instantiate_panic(self, ssh, *args): mock_ssh(ssh, exec_result=(1, "", "")) prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, self.VNFD0, 'task_id') prox_approx_vnf._vnf_process = mock.MagicMock(**{"is_alive.return_value": True}) prox_approx_vnf._run_prox = mock.Mock(return_value=0) prox_approx_vnf.WAIT_TIME = 0 prox_approx_vnf.q_out.put("PANIC") with self.assertRaises(RuntimeError): prox_approx_vnf.wait_for_instantiate()
def test_terminate(self, ssh, *args): mock_ssh(ssh) prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, self.VNFD0) prox_approx_vnf._vnf_process = mock.MagicMock() prox_approx_vnf._vnf_process.terminate = mock.Mock() prox_approx_vnf.ssh_helper = mock.MagicMock() prox_approx_vnf.setup_helper = mock.Mock() prox_approx_vnf.resource_helper = mock.MagicMock() self.assertIsNone(prox_approx_vnf.terminate())
def test_vnf_execute_oserror(self, ssh, *args): mock_ssh(ssh) prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, self.VNFD0) prox_approx_vnf.resource_helper = resource_helper = mock.Mock() resource_helper.execute.side_effect = OSError(errno.EPIPE, "") prox_approx_vnf.vnf_execute("", _ignore_errors=True) resource_helper.execute.side_effect = OSError(errno.ESHUTDOWN, "") prox_approx_vnf.vnf_execute("", _ignore_errors=True) resource_helper.execute.side_effect = OSError(errno.EADDRINUSE, "") with self.assertRaises(OSError): prox_approx_vnf.vnf_execute("", _ignore_errors=True)
def test_run_prox(self, ssh, *_): mock_ssh(ssh) prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, self.VNFD0) prox_approx_vnf.scenario_helper.scenario_cfg = self.SCENARIO_CFG prox_approx_vnf.ssh_helper.join_bin_path.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)
def test_collect_kpi_error(self, ssh, *args): mock_ssh(ssh) resource_helper = mock.MagicMock() prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, deepcopy(self.VNFD0), 'task_id') prox_approx_vnf.scenario_helper.scenario_cfg = { 'nodes': {prox_approx_vnf.name: "mock"} } prox_approx_vnf.resource_helper = resource_helper prox_approx_vnf.vnfd_helper['vdu'][0]['external-interface'] = [] prox_approx_vnf.vnfd_helper.port_pairs.interfaces = [] with self.assertRaises(RuntimeError): prox_approx_vnf.collect_kpi()
def test_collect_kpi_no_client(self, ssh, *args): mock_ssh(ssh) prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, self.VNFD0, 'task_id') prox_approx_vnf.scenario_helper.scenario_cfg = { 'nodes': {prox_approx_vnf.name: "mock"} } prox_approx_vnf.resource_helper = None expected = { 'physical_node': 'mock_node', 'packets_in': 0, 'packets_dropped': 0, 'packets_fwd': 0, 'collect_stats': {'core': {}} } result = prox_approx_vnf.collect_kpi() self.assertEqual(result, expected)
def test_collect_kpi_bad_input2(self, ssh, *args): mock_ssh(ssh) resource_helper = mock.MagicMock() resource_helper.execute.return_value = (False, [[0, 'A', 'B', 'C', 'D', 'E'], ['F', 1, 2, 3, 4, 5]]) prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, self.VNFD0) prox_approx_vnf.scenario_helper.scenario_cfg = { 'nodes': { prox_approx_vnf.name: "mock" } } prox_approx_vnf.resource_helper = resource_helper result = prox_approx_vnf.collect_kpi() self.assertDictEqual(result, {})
def test___init__(self, ssh, *args): mock_ssh(ssh) prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, self.VNFD0) self.assertIsNone(prox_approx_vnf._vnf_process)