X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=yardstick%2Ftests%2Funit%2Fnetwork_services%2Ftraffic_profile%2Ftest_http_ixload.py;h=c9be200b2df4d9ee2bae9a102215fc5d1c9e4eb3;hb=623bdf1027b031a4ba8e26d1843d5148793d1112;hp=57de6602df73ca3457ed184c23f35e5f57c64c24;hpb=553ffefcdaa3d4a0ae61f9ce233b620d51b91d51;p=yardstick.git diff --git a/yardstick/tests/unit/network_services/traffic_profile/test_http_ixload.py b/yardstick/tests/unit/network_services/traffic_profile/test_http_ixload.py index 57de6602d..c9be200b2 100644 --- a/yardstick/tests/unit/network_services/traffic_profile/test_http_ixload.py +++ b/yardstick/tests/unit/network_services/traffic_profile/test_http_ixload.py @@ -17,6 +17,7 @@ import mock from oslo_serialization import jsonutils +from yardstick.common import exceptions from yardstick.network_services.traffic_profile import http_ixload from yardstick.network_services.traffic_profile.http_ixload import \ join_non_strings, validate_non_string_sequence @@ -45,6 +46,26 @@ class TestJoinNonStrings(unittest.TestCase): class TestIxLoadTrafficGen(unittest.TestCase): + def setUp(self): + ports = [1, 2, 3] + self.test_input = { + "remote_server": "REMOTE_SERVER", + "ixload_cfg": "IXLOAD_CFG", + "result_dir": "RESULT_DIR", + "ixia_chassis": "IXIA_CHASSIS", + "IXIA": { + "card": "CARD", + "ports": ports, + }, + 'links_param': { + "uplink_0": { + "ip": {"address": "address", + "gateway": "gateway", + "subnet_prefix": "subnet_prefix", + "mac": "mac" + }}} + } + def test_parse_run_test(self): ports = [1, 2, 3] test_input = { @@ -56,6 +77,7 @@ class TestIxLoadTrafficGen(unittest.TestCase): "card": "CARD", "ports": ports, }, + 'links_param': {} } j = jsonutils.dump_as_bytes(test_input) ixload = http_ixload.IXLOADHttpTest(j) @@ -66,6 +88,7 @@ class TestIxLoadTrafficGen(unittest.TestCase): ["IXIA_CHASSIS", "CARD", 2], ["IXIA_CHASSIS", "CARD", 3], ]) + self.assertEqual({}, ixload.links_param) def test_format_ports_for_reassignment(self): ports = [ @@ -91,6 +114,7 @@ class TestIxLoadTrafficGen(unittest.TestCase): "card": "CARD", "ports": ports, }, + 'links_param': {} } j = jsonutils.dump_as_bytes(test_input) ixload = http_ixload.IXLOADHttpTest(j) @@ -112,6 +136,7 @@ class TestIxLoadTrafficGen(unittest.TestCase): "card": "CARD", "ports": ports, }, + 'links_param': {} } j = jsonutils.dump_as_bytes(test_input) ixload = http_ixload.IXLOADHttpTest(j) @@ -160,6 +185,7 @@ class TestIxLoadTrafficGen(unittest.TestCase): "card": "CARD", "ports": ports, }, + 'links_param': {} } j = jsonutils.dump_as_bytes(test_input) ixload = http_ixload.IXLOADHttpTest(j) @@ -178,6 +204,7 @@ class TestIxLoadTrafficGen(unittest.TestCase): "card": "CARD", "ports": ports, }, + 'links_param': {} } j = jsonutils.dump_as_bytes(test_input) ixload = http_ixload.IXLOADHttpTest(j) @@ -198,6 +225,7 @@ class TestIxLoadTrafficGen(unittest.TestCase): "card": "CARD", "ports": ports, }, + 'links_param': {} } j = jsonutils.dump_as_bytes(test_input) @@ -211,6 +239,160 @@ class TestIxLoadTrafficGen(unittest.TestCase): with self.assertRaises(RuntimeError): ixload.start_http_test() + def test_update_config(self): + net_taraffic_0 = mock.Mock() + net_taraffic_0.name = "HTTP client@uplink_0" + net_taraffic_1 = mock.Mock() + net_taraffic_1.name = "HTTP client@uplink_1" + + community_list = [net_taraffic_0, net_taraffic_1, Exception] + ixload = http_ixload.IXLOADHttpTest( + jsonutils.dump_as_bytes(self.test_input)) + + ixload.links_param = {"uplink_0": {"ip": {}, + "http_client": {}}} + + ixload.test = mock.Mock() + ixload.test.communityList = community_list + + ixload.update_network_param = mock.Mock() + ixload.update_http_client_param = mock.Mock() + + ixload.update_config() + + ixload.update_network_param.assert_called_once_with(net_taraffic_0, {}) + ixload.update_http_client_param.assert_called_once_with(net_taraffic_0, + {}) + + def test_update_network_mac_address(self): + ethernet = mock.MagicMock() + net_traffic = mock.Mock() + net_traffic.network.getL1Plugin.return_value = ethernet + + ixload = http_ixload.IXLOADHttpTest( + jsonutils.dump_as_bytes(self.test_input)) + + ix_net_l2_ethernet_plugin = ethernet.childrenList[0] + ix_net_ip_v4_v6_plugin = ix_net_l2_ethernet_plugin.childrenList[0] + ix_net_ip_v4_v6_range = ix_net_ip_v4_v6_plugin.rangeList[0] + + ixload.update_network_mac_address(net_traffic, "auto") + ix_net_ip_v4_v6_range.config.assert_called_once_with( + autoMacGeneration=True) + + ixload.update_network_mac_address(net_traffic, "00:00:00:00:00:01") + ix_net_ip_v4_v6_range.config.assert_called_with( + autoMacGeneration=False) + mac_range = ix_net_ip_v4_v6_range.getLowerRelatedRange("MacRange") + mac_range.config.assert_called_once_with(mac="00:00:00:00:00:01") + + net_traffic.network.getL1Plugin.return_value = Exception + + with self.assertRaises(exceptions.InvalidRxfFile): + ixload.update_network_mac_address(net_traffic, "auto") + + def test_update_network_address(self): + ethernet = mock.MagicMock() + net_traffic = mock.Mock() + net_traffic.network.getL1Plugin.return_value = ethernet + + ixload = http_ixload.IXLOADHttpTest( + jsonutils.dump_as_bytes(self.test_input)) + + ix_net_l2_ethernet_plugin = ethernet.childrenList[0] + ix_net_ip_v4_v6_plugin = ix_net_l2_ethernet_plugin.childrenList[0] + ix_net_ip_v4_v6_range = ix_net_ip_v4_v6_plugin.rangeList[0] + + ixload.update_network_address(net_traffic, "address", "gateway", + "prefix") + ix_net_ip_v4_v6_range.config.assert_called_once_with( + prefix="prefix", + ipAddress="address", + gatewayAddress="gateway") + + net_traffic.network.getL1Plugin.return_value = Exception + + with self.assertRaises(exceptions.InvalidRxfFile): + ixload.update_network_address(net_traffic, "address", "gateway", + "prefix") + + def test_update_network_param(self): + net_traffic = mock.Mock() + + ixload = http_ixload.IXLOADHttpTest( + jsonutils.dump_as_bytes(self.test_input)) + + ixload.update_network_address = mock.Mock() + ixload.update_network_mac_address = mock.Mock() + + param = {"address": "address", + "gateway": "gateway", + "subnet_prefix": "subnet_prefix", + "mac": "mac" + } + + ixload.update_network_param(net_traffic, param) + + ixload.update_network_address.assert_called_once_with(net_traffic, + "address", + "gateway", + "subnet_prefix") + + ixload.update_network_mac_address.assert_called_once_with( + net_traffic, + "mac") + + def test_update_http_client_param(self): + net_traffic = mock.Mock() + + ixload = http_ixload.IXLOADHttpTest( + jsonutils.dump_as_bytes(self.test_input)) + + ixload.update_page_size = mock.Mock() + ixload.update_user_count = mock.Mock() + + param = {"page_object": "page_object", + "simulated_users": "simulated_users"} + + ixload.update_http_client_param(net_traffic, param) + + ixload.update_page_size.assert_called_once_with(net_traffic, + "page_object") + ixload.update_user_count.assert_called_once_with(net_traffic, + "simulated_users") + + def test_update_page_size(self): + activity = mock.MagicMock() + net_traffic = mock.Mock() + + ixload = http_ixload.IXLOADHttpTest( + jsonutils.dump_as_bytes(self.test_input)) + + net_traffic.activityList = [activity] + ix_http_command = activity.agent.actionList[0] + ixload.update_page_size(net_traffic, "page_object") + ix_http_command.config.assert_called_once_with( + pageObject="page_object") + + net_traffic.activityList = [] + with self.assertRaises(exceptions.InvalidRxfFile): + ixload.update_page_size(net_traffic, "page_object") + + def test_update_user_count(self): + activity = mock.MagicMock() + net_traffic = mock.Mock() + + ixload = http_ixload.IXLOADHttpTest( + jsonutils.dump_as_bytes(self.test_input)) + + net_traffic.activityList = [activity] + ixload.update_user_count(net_traffic, 123) + activity.config.assert_called_once_with(userObjectiveValue=123) + + net_traffic.activityList = [] + with self.assertRaises(exceptions.InvalidRxfFile): + ixload.update_user_count(net_traffic, 123) + @mock.patch('yardstick.network_services.traffic_profile.http_ixload.IxLoad') @mock.patch('yardstick.network_services.traffic_profile.http_ixload.StatCollectorUtils') def test_start_http_test(self, *args): @@ -224,6 +406,7 @@ class TestIxLoadTrafficGen(unittest.TestCase): "card": "CARD", "ports": ports, }, + 'links_param': {} } j = jsonutils.dump_as_bytes(test_input) @@ -248,6 +431,7 @@ class TestIxLoadTrafficGen(unittest.TestCase): "card": "CARD", "ports": ports, }, + 'links_param': {} } j = jsonutils.dump_as_bytes(test_input)