diff options
Diffstat (limited to 'tests/unit')
-rw-r--r-- | tests/unit/benchmark/core/test_task.py | 23 | ||||
-rw-r--r-- | tests/unit/network_services/vnf_generic/vnf/test_prox_helpers.py | 169 |
2 files changed, 131 insertions, 61 deletions
diff --git a/tests/unit/benchmark/core/test_task.py b/tests/unit/benchmark/core/test_task.py index 737e7058b..bed0bb6d8 100644 --- a/tests/unit/benchmark/core/test_task.py +++ b/tests/unit/benchmark/core/test_task.py @@ -165,12 +165,12 @@ class TaskTestCase(unittest.TestCase): result = t._check_precondition(cfg) self.assertTrue(result) - @mock.patch('yardstick.benchmark.core.task.os.environ') - def test_parse_suite_no_constraint_no_args(self, mock_environ): + def test_parse_suite_no_constraint_no_args(self): SAMPLE_SCENARIO_PATH = "no_constraint_no_args_scenario_sample.yaml" t = task.TaskParser(self._get_file_abspath(SAMPLE_SCENARIO_PATH)) - mock_environ.get.side_effect = ['huawei-pod1', 'compass'] - task_files, task_args, task_args_fnames = t.parse_suite() + with mock.patch('yardstick.benchmark.core.task.os.environ', + new={'NODE_NAME': 'huawei-pod1', 'INSTALLER_TYPE': 'compass'}): + task_files, task_args, task_args_fnames = t.parse_suite() print("files=%s, args=%s, fnames=%s" % (task_files, task_args, task_args_fnames)) self.assertEqual(task_files[0], self.change_to_abspath( @@ -186,8 +186,9 @@ class TaskTestCase(unittest.TestCase): def test_parse_suite_no_constraint_with_args(self, mock_environ): SAMPLE_SCENARIO_PATH = "no_constraint_with_args_scenario_sample.yaml" t = task.TaskParser(self._get_file_abspath(SAMPLE_SCENARIO_PATH)) - mock_environ.get.side_effect = ['huawei-pod1', 'compass'] - task_files, task_args, task_args_fnames = t.parse_suite() + with mock.patch('yardstick.benchmark.core.task.os.environ', + new={'NODE_NAME': 'huawei-pod1', 'INSTALLER_TYPE': 'compass'}): + task_files, task_args, task_args_fnames = t.parse_suite() print("files=%s, args=%s, fnames=%s" % (task_files, task_args, task_args_fnames)) self.assertEqual(task_files[0], self.change_to_abspath( @@ -204,8 +205,9 @@ class TaskTestCase(unittest.TestCase): def test_parse_suite_with_constraint_no_args(self, mock_environ): SAMPLE_SCENARIO_PATH = "with_constraint_no_args_scenario_sample.yaml" t = task.TaskParser(self._get_file_abspath(SAMPLE_SCENARIO_PATH)) - mock_environ.get.side_effect = ['huawei-pod1', 'compass'] - task_files, task_args, task_args_fnames = t.parse_suite() + with mock.patch('yardstick.benchmark.core.task.os.environ', + new={'NODE_NAME': 'huawei-pod1', 'INSTALLER_TYPE': 'compass'}): + task_files, task_args, task_args_fnames = t.parse_suite() print("files=%s, args=%s, fnames=%s" % (task_files, task_args, task_args_fnames)) self.assertEqual(task_files[0], self.change_to_abspath( @@ -221,8 +223,9 @@ class TaskTestCase(unittest.TestCase): def test_parse_suite_with_constraint_with_args(self, mock_environ): SAMPLE_SCENARIO_PATH = "with_constraint_with_args_scenario_sample.yaml" t = task.TaskParser(self._get_file_abspath(SAMPLE_SCENARIO_PATH)) - mock_environ.get.side_effect = ['huawei-pod1', 'compass'] - task_files, task_args, task_args_fnames = t.parse_suite() + with mock.patch('yardstick.benchmark.core.task.os.environ', + new={'NODE_NAME': 'huawei-pod1', 'INSTALLER_TYPE': 'compass'}): + task_files, task_args, task_args_fnames = t.parse_suite() print("files=%s, args=%s, fnames=%s" % (task_files, task_args, task_args_fnames)) self.assertEqual(task_files[0], self.change_to_abspath( 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 54540ada1..3c073812c 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 @@ -43,6 +43,7 @@ if stl_patch: from yardstick.network_services.vnf_generic.vnf.prox_helpers import ProxProfileHelper from yardstick.network_services.vnf_generic.vnf.prox_helpers import ProxMplsProfileHelper from yardstick.network_services.vnf_generic.vnf.prox_helpers import ProxBngProfileHelper + from yardstick.network_services.vnf_generic.vnf.prox_helpers import ProxVpeProfileHelper class TestCoreTuple(unittest.TestCase): @@ -976,6 +977,7 @@ class TestProxDpdkVnfSetupEnvHelper(unittest.TestCase): 'prox_args': {'-c': ""}, 'prox_path': 'd', 'prox_config': 'e/f', + 'prox_generate_parameter': False, } mock_find_path.side_effect = ['1', '2'] @@ -1010,6 +1012,7 @@ class TestProxDpdkVnfSetupEnvHelper(unittest.TestCase): 'prox_path': 'd', 'prox_config': 'e/f', 'prox_files': 'g/h.i', + 'prox_generate_parameter': True, } mock_find_path.side_effect = ['1', '2'] @@ -1023,6 +1026,7 @@ class TestProxDpdkVnfSetupEnvHelper(unittest.TestCase): }, } + vnfd_helper.port_pairs.all_ports = ['xe0', 'xe1', 'xe2', 'xe3'] helper = ProxDpdkVnfSetupEnvHelper(vnfd_helper, ssh_helper, scenario_helper) helper.copy_to_target = mock.MagicMock(side_effect=['33', '34', '35']) helper.generate_prox_config_file = mock.MagicMock(return_value='44') @@ -1253,57 +1257,6 @@ class TestProxDpdkVnfSetupEnvHelper(unittest.TestCase): with self.assertRaises(Exception): helper.generate_prox_config_file('a/b') - def test_generate_prox_lua_file(self): - vnfd_helper = VnfdHelper(self.VNFD0) - ssh_helper = mock.MagicMock() - scenario_helper = mock.MagicMock() - - helper = ProxDpdkVnfSetupEnvHelper(vnfd_helper, ssh_helper, scenario_helper) - helper.LUA_PARAMETER_NAME = 'sut' - - expected = [ - 'sut_hex_ip_port_0:"98 10 64 13"', - 'sut_ip_port_0:"152.16.100.19"', - 'gen_hex_ip_port_0:"98 10 64 13"', - 'gen_ip_port_0:"152.16.100.19"', - - 'sut_hex_ip_port_1:"98 10 28 13"', - 'sut_ip_port_1:"152.16.40.19"', - 'gen_hex_ip_port_1:"98 10 28 14"', - 'gen_ip_port_1:"152.16.40.20"', - ] - result = helper.generate_prox_lua_file() - self.assertListEqual(result.splitlines(), expected) - - def test_upload_prox_lua(self): - def identity(*args): - return args - - vnfd_helper = mock.MagicMock() - vnfd_helper.interfaces = [] - ssh_helper = mock.MagicMock() - scenario_helper = mock.MagicMock() - - helper = ProxDpdkVnfSetupEnvHelper(vnfd_helper, ssh_helper, scenario_helper) - helper.generate_prox_lua_file = mock.MagicMock(return_value=234) - helper.put_string_to_file = identity - - expected = '' - result = helper.upload_prox_lua('my_dir', {}) - self.assertEqual(result, expected) - - input_data = { - 'lua': { - 'key1': 'value1 ("inside") tail', - 'key2': 'value2', - 'key3 ("key_side") head': 'value3', - }, - } - - expected = 234, 'my_dir/key_side' - result = helper.upload_prox_lua('my_dir', input_data) - self.assertEqual(result, expected) - def test_put_string_to_file(self): vnfd_helper = mock.MagicMock() vnfd_helper.interfaces = [] @@ -2148,3 +2101,117 @@ class TestProxBngProfileHelper(unittest.TestCase): helper.run_test(120, 5, 6.5) helper.run_test(-1000, 5, 6.5) # negative pkt_size is the only way to make ratio > 1 + + +class TestProxVpeProfileHelper(unittest.TestCase): + + def test_vpe_cores(self): + resource_helper = mock.MagicMock() + resource_helper.setup_helper.prox_config_data = [ + ('section1', []), + ('section2', [ + ('a', 'b'), + ('c', 'd'), + ]), + ('core 1', []), + ('core 2', [ + ('index', 8), + ('mode', ''), + ]), + ('core 3', [ + ('index', 5), + ('mode', 'gen'), + ('name', 'cpe'), + ]), + ('core 4', [ + ('index', 7), + ('mode', 'gen'), + ('name', 'inet'), + ]), + ] + + helper = ProxVpeProfileHelper(resource_helper) + helper._cpu_topology = { + 0: { + 1: { + 5: (5, 1, 0) + }, + 2: { + 6: (6, 2, 0) + }, + 3: { + 7: (7, 3, 0) + }, + 4: { + 8: (8, 3, 0) + }, + } + } + + expected_cpe = [7] + expected_inet = [8] + expected_combined = (expected_cpe, expected_inet) + + self.assertIsNone(helper._cores_tuple) + self.assertEqual(helper.cpe_cores, expected_cpe) + self.assertEqual(helper.inet_cores, expected_inet) + self.assertEqual(helper._cores_tuple, expected_combined) + + def test_vpe_ports(self): + resource_helper = mock.MagicMock() + resource_helper.setup_helper.prox_config_data = [ + ('section1', []), + ('section2', [ + ('a', 'b'), + ('c', 'd'), + ]), + ('port 3', [ + ('index', '5'), + ('name', 'cpe'), + ('mac', 'hardware'), + ]), + ('port 4', [ + ('index', '7'), + ('name', 'inet'), + ('mac', 'hardware'), + ]), + ] + + helper = ProxVpeProfileHelper(resource_helper) + helper._port_list = { + 0: { + 1: { + 5: 'cpe' + }, + 2: { + 6: 'inet' + }, + 3: { + 7: 'cpe' + }, + 4: { + 8: 'inet' + }, + } + } + + expected_cpe = [3] + expected_inet = [4] + expected_combined = (expected_cpe, expected_inet) + + self.assertIsNone(helper._ports_tuple) + self.assertEqual(helper.cpe_ports, expected_cpe) + self.assertEqual(helper.inet_ports, expected_inet) + self.assertEqual(helper._ports_tuple, expected_combined) + + @mock.patch('yardstick.network_services.vnf_generic.vnf.prox_helpers.time') + def test_run_test(self, _): + resource_helper = mock.MagicMock() + resource_helper.step_delta = 0.4 + resource_helper.vnfd_helper.port_pairs.all_ports = list(range(2)) + resource_helper.sut.port_stats.return_value = list(range(10)) + + helper = ProxVpeProfileHelper(resource_helper) + + helper.run_test(120, 5, 6.5) + helper.run_test(-1000, 5, 6.5) # negative pkt_size is the only way to make ratio > 1 |