Beispiel #1
0
    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()
Beispiel #2
0
 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()
Beispiel #3
0
    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)
Beispiel #4
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()
Beispiel #5
0
    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())
Beispiel #6
0
    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)
Beispiel #7
0
    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)
Beispiel #8
0
    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()
Beispiel #9
0
    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)
Beispiel #10
0
    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, {})
Beispiel #11
0
 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)