From 383c438cda94a1004bc9552a5993fe3ff3e6da8f Mon Sep 17 00:00:00 2001 From: DanielMartinBuckley Date: Thu, 12 Jul 2018 13:11:00 +0100 Subject: Test case override of traffic profile settings. JIRA: YARDSTICK-1298 Allow the test case file e.g. "tc_prox_baremetal_l2fwd-4.yaml" settings to override the values in the traffic_profile file e.g. "prox_binsearch.yaml" This is done by adding the "traffic_config" section to the "options" section in the "test case file". See below :- options: interface_speed_gbps: 10 traffic_config: tolerated_loss: 0.001 test_precision: 0.1 packet_sizes: [64] duration: 30 lower_bound: 0.0 upper_bound: 100.0 vnf__0: prox_path: /opt/nsb_bin/prox prox_config: "configs/handle_l2fwd-4.cfg" prox_args: "-t": "" tg__0: prox_path: /opt/nsb_bin/prox prox_config: "configs/gen_l2fwd-4.cfg" prox_args: "-e": "" "-t": "" Precedence of the traffic settings. 1. Values provided in the "traffic_config" section, inside the "options" section, of the test case file 2. values provided in the "traffic_profile" section of the traffic_profile file Change-Id: I6b4e123e865c9dab548f9ad28647f95b53410e8f Signed-off-by: Daniel Martin Buckley --- .../benchmark/scenarios/networking/test_vnf_generic.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'yardstick/tests/unit/benchmark/scenarios/networking') diff --git a/yardstick/tests/unit/benchmark/scenarios/networking/test_vnf_generic.py b/yardstick/tests/unit/benchmark/scenarios/networking/test_vnf_generic.py index 6bf2f2c2f..90248d1bf 100644 --- a/yardstick/tests/unit/benchmark/scenarios/networking/test_vnf_generic.py +++ b/yardstick/tests/unit/benchmark/scenarios/networking/test_vnf_generic.py @@ -629,7 +629,7 @@ class TestNetworkServiceTestCase(unittest.TestCase): @mock.patch.object(vnfdgen, 'generate_vnfd') def test__fill_traffic_profile(self, mock_generate, mock_tprofile_get): fake_tprofile = mock.Mock() - fake_vnfd = mock.Mock() + fake_vnfd = mock.MagicMock() with mock.patch.object(self.s, '_get_traffic_profile', return_value=fake_tprofile) as mock_get_tp: mock_generate.return_value = fake_vnfd @@ -646,6 +646,22 @@ class TestNetworkServiceTestCase(unittest.TestCase): ) mock_tprofile_get.assert_called_once_with(fake_vnfd) + @mock.patch.object(base.TrafficProfile, 'get') + @mock.patch.object(vnfdgen, 'generate_vnfd') + def test__fill_traffic_profile2(self, mock_generate, mock_tprofile_get): + fake_tprofile = mock.Mock() + fake_vnfd = {} + with mock.patch.object(self.s, '_get_traffic_profile', + return_value=fake_tprofile) as mock_get_tp: + mock_generate.return_value = fake_vnfd + + self.s.scenario_cfg["options"] = {"traffic_config": {"duration": 99899}} + self.s._fill_traffic_profile() + mock_get_tp.assert_called_once() + self.assertIn("traffic_profile", fake_vnfd) + self.assertIn("duration", fake_vnfd["traffic_profile"]) + self.assertEqual(99899, fake_vnfd["traffic_profile"]["duration"]) + @mock.patch.object(utils, 'open_relative_file') def test__get_topology(self, mock_open_path): self.s.scenario_cfg['topology'] = 'fake_topology' -- cgit 1.2.3-korg