From 201e53bd23170a34fdad5139595aa9eebb9f7c52 Mon Sep 17 00:00:00 2001 From: KvSaiMahesh Date: Sun, 28 Nov 2021 16:41:35 +0530 Subject: [PATCH 01/24] added dynamic vlan test case Signed-off-by: KvSaiMahesh --- .../dynamic_vlan/__init__.py | 0 .../dynamic_vlan/wpa2_personal/__init__.py | 0 .../wpa2_personal/nat_mode/__init__.py | 0 .../nat_mode/test_dynamc_vlan_5710.py | 80 +++++++++++++++++++ 4 files changed, 80 insertions(+) create mode 100644 tests/e2e/basic/performance_tests/dynamic_vlan/__init__.py create mode 100644 tests/e2e/basic/performance_tests/dynamic_vlan/wpa2_personal/__init__.py create mode 100644 tests/e2e/basic/performance_tests/dynamic_vlan/wpa2_personal/nat_mode/__init__.py create mode 100644 tests/e2e/basic/performance_tests/dynamic_vlan/wpa2_personal/nat_mode/test_dynamc_vlan_5710.py diff --git a/tests/e2e/basic/performance_tests/dynamic_vlan/__init__.py b/tests/e2e/basic/performance_tests/dynamic_vlan/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/basic/performance_tests/dynamic_vlan/wpa2_personal/__init__.py b/tests/e2e/basic/performance_tests/dynamic_vlan/wpa2_personal/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/basic/performance_tests/dynamic_vlan/wpa2_personal/nat_mode/__init__.py b/tests/e2e/basic/performance_tests/dynamic_vlan/wpa2_personal/nat_mode/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/basic/performance_tests/dynamic_vlan/wpa2_personal/nat_mode/test_dynamc_vlan_5710.py b/tests/e2e/basic/performance_tests/dynamic_vlan/wpa2_personal/nat_mode/test_dynamc_vlan_5710.py new file mode 100644 index 000000000..7a34b60c8 --- /dev/null +++ b/tests/e2e/basic/performance_tests/dynamic_vlan/wpa2_personal/nat_mode/test_dynamc_vlan_5710.py @@ -0,0 +1,80 @@ +""" + + Dynamic_Vlan: Bridge Mode + pytest -m "dynamic_vlan and wpa2_personal and bridge" + +""" + +import os +import allure +import pytest + +pytestmark = [pytest.mark.regression, pytest.mark.dynamic_vlan, pytest.mark.wpa2_enterprise, pytest.mark.nat] + +setup_params_general = { + "mode": "NAT", + "ssid_modes": { + "wpa2_enterprise": [ + {"ssid_name": "ssid_wpa2e_2g", "appliedRadios": ["2G"], "security_key": "something"}]}, + "rf": {}, + "radius": True +} + + +@allure.suite("regression") +@allure.feature("NAT MODE wpa2_enterprise Dynamic Vlan") +@pytest.mark.parametrize( + 'setup_profiles', + [setup_params_general], + indirect=True, + scope="class" +) +@pytest.mark.usefixtures("setup_profiles") +class TestDynamicVlan(object): + + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @allure.testcase(name="test_dynamic_vlan_5710", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5710") + def test_dynamic_vlan_5710(self, get_vif_state, lf_tools, + create_lanforge_chamberview_dut, lf_test, get_configuration, station_names_twog): + """ + pytest -m "dynamic_vlan and wpa2_personal and bridge" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_2G = profile_data[0]["ssid_name"] + password_2G = profile_data[0]["security_key"] + security_2g = setup_params_general["ssid_modes"] + + dut_name = create_lanforge_chamberview_dut + mode = "NAT" + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + # for i in lf_tools.dut_idx_mapping: + # + # if lf_tools.dut_idx_mapping[i][3] == "2G": + # dut_2g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] + # print(dut_2g) + # if ssid_2G not in get_vif_state: + # allure.attach(name="retest,vif state ssid not available:", body=str(get_vif_state)) + # pytest.xfail("SSID NOT AVAILABLE IN VIF STATE") + + eap_obj = lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog", vlan_id=100, + station_name=station_names_twog, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordA", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="userA") + + station_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + "/" + + station_names_twog[0])["interface"]["ip"] + print(station_ip) + + print(eap_obj) + + # report_name = eap_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + # lf_tools.attach_report_graphs(report_name=report_name, pdf_name="Multi Station Throughput vs Packet Size Test") + assert True From 0a981c227f73fb31593d93b8230b1082aa792b01 Mon Sep 17 00:00:00 2001 From: KvSaiMahesh Date: Sat, 4 Dec 2021 01:21:07 +0530 Subject: [PATCH 02/24] added dynamic vlan testcase Signed-off-by: KvSaiMahesh --- .../nat_mode/test_dynamc_vlan_5710.py | 212 +++++++++++++++--- 1 file changed, 187 insertions(+), 25 deletions(-) diff --git a/tests/e2e/basic/performance_tests/dynamic_vlan/wpa2_personal/nat_mode/test_dynamc_vlan_5710.py b/tests/e2e/basic/performance_tests/dynamic_vlan/wpa2_personal/nat_mode/test_dynamc_vlan_5710.py index 7a34b60c8..f1245c50d 100644 --- a/tests/e2e/basic/performance_tests/dynamic_vlan/wpa2_personal/nat_mode/test_dynamc_vlan_5710.py +++ b/tests/e2e/basic/performance_tests/dynamic_vlan/wpa2_personal/nat_mode/test_dynamc_vlan_5710.py @@ -9,20 +9,21 @@ import os import allure import pytest -pytestmark = [pytest.mark.regression, pytest.mark.dynamic_vlan, pytest.mark.wpa2_enterprise, pytest.mark.nat] +pytestmark = [pytest.mark.regression, pytest.mark.dynamic_vlan, pytest.mark.wpa2_enterprise, pytest.mark.bridge] setup_params_general = { - "mode": "NAT", + "mode": "BRIDGE", "ssid_modes": { "wpa2_enterprise": [ - {"ssid_name": "ssid_wpa2e_2g", "appliedRadios": ["2G"], "security_key": "something"}]}, + {"ssid_name": "ssid_wpa2e_2g", "appliedRadios": ["2G"], + "security_key": "something","vlan":300}]}, "rf": {}, "radius": True } @allure.suite("regression") -@allure.feature("NAT MODE wpa2_enterprise Dynamic Vlan") +@allure.feature("BRIDGE MODE wpa2_enterprise Dynamic Vlan") @pytest.mark.parametrize( 'setup_profiles', [setup_params_general], @@ -32,11 +33,12 @@ setup_params_general = { @pytest.mark.usefixtures("setup_profiles") class TestDynamicVlan(object): + @pytest.mark.absenceofradiusvlanttidentifier @pytest.mark.wpa2_enterprise @pytest.mark.twog - @allure.testcase(name="test_dynamic_vlan_5710", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5710") - def test_dynamic_vlan_5710(self, get_vif_state, lf_tools, + @allure.testcase(name="test_dynamic_vlan_5704", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5704") + def test_dynamic_vlan_5704(self, get_vif_state, lf_tools, create_lanforge_chamberview_dut, lf_test, get_configuration, station_names_twog): """ pytest -m "dynamic_vlan and wpa2_personal and bridge" @@ -44,15 +46,13 @@ class TestDynamicVlan(object): profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] ssid_2G = profile_data[0]["ssid_name"] - password_2G = profile_data[0]["security_key"] - security_2g = setup_params_general["ssid_modes"] - - dut_name = create_lanforge_chamberview_dut - mode = "NAT" + mode = "BRIDGE" + vlan_id = profile_data[0]["vlan"] upstream_port = lf_tools.upstream_port print(upstream_port) port_resources = upstream_port.split(".") print(lf_tools.dut_idx_mapping) + lf_tools.add_vlan(vlan_ids=[vlan_id]) # for i in lf_tools.dut_idx_mapping: # # if lf_tools.dut_idx_mapping[i][3] == "2G": @@ -62,19 +62,181 @@ class TestDynamicVlan(object): # allure.attach(name="retest,vif state ssid not available:", body=str(get_vif_state)) # pytest.xfail("SSID NOT AVAILABLE IN VIF STATE") - eap_obj = lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="twog", vlan_id=100, - station_name=station_names_twog, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordA", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="userA") + lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog",vlan_id=vlan_id, + station_name=station_names_twog, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordvlannotsentuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="vlannotsentuser", d_vlan=True) - station_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + "/" + - station_names_twog[0])["interface"]["ip"] - print(station_ip) + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] - print(eap_obj) + sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') + print(sta_ip_1) + eth_vlan_ip_1 = eth_vlan_ip.split('.') + print("station ip...", lf_test.station_ip[station_names_twog[0]]) + print("vlan ip...", eth_vlan_ip) + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + allure.attach("vlan ip....", eth_vlan_ip) + allure.attach("station ip....", lf_test.station_ip[station_names_twog[0]]) + print("Station ip not assigned as per ssid vlan") + assert False + else: + assert True + allure.attach("vlan ip....", eth_vlan_ip) + allure.attach("station ip....", lf_test.station_ip[station_names_twog[0]]) + print("Station ip assigned as per ssid configured vlan") - # report_name = eap_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] - # lf_tools.attach_report_graphs(report_name=report_name, pdf_name="Multi Station Throughput vs Packet Size Test") - assert True + + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @allure.testcase(name="test_dynamic_vlan_5710", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5705") + def test_dynamic_vlan_5705(self, get_vif_state, lf_tools, + create_lanforge_chamberview_dut, lf_test, get_configuration, station_names_twog): + """ + pytest -m "dynamic_vlan and wpa2_personal and bridge" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_2G = profile_data[0]["ssid_name"] + mode = "BRIDGE" + vlan = "100" + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.add_vlan(vlan_ids=[vlan]) + # for i in lf_tools.dut_idx_mapping: + # + # if lf_tools.dut_idx_mapping[i][3] == "2G": + # dut_2g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] + # print(dut_2g) + # if ssid_2G not in get_vif_state: + # allure.attach(name="retest,vif state ssid not available:", body=str(get_vif_state)) + # pytest.xfail("SSID NOT AVAILABLE IN VIF STATE") + + lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog", vlan_id=100, + station_name=station_names_twog, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordA", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="userA", d_vlan=True) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + vlan)["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') + eth_vlan_ip_1 = eth_vlan_ip.split('.') + print("station ip...", lf_test.station_ip[station_names_twog[0]]) + print("vlan ip...", eth_vlan_ip) + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + allure.attach("vlan ip....", eth_vlan_ip) + allure.attach("station ip....", lf_test.station_ip[station_names_twog[0]]) + print("Station ip not assigned as per vlan") + assert False + else: + assert True + allure.attach("vlan ip....", eth_vlan_ip) + allure.attach("station ip....", lf_test.station_ip[station_names_twog[0]]) + print("Station ip assigned as per dynamic vlan") + + + + @pytest.mark.unsupported + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @allure.testcase(name="test_dynamic_unsupported_vlan_5710", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5710") + def test_dynamic_unsupported_vlan_5711(self, get_vif_state, lf_tools, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_twog): + """ + pytest -m "dynamic_vlan and wpa2_personal and bridge" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_2G = profile_data[0]["ssid_name"] + mode = "BRIDGE" + vlan = "ABC" + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.add_vlan(vlan_ids=[vlan]) + # for i in lf_tools.dut_idx_mapping: + # + # if lf_tools.dut_idx_mapping[i][3] == "2G": + # dut_2g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] + # print(dut_2g) + # if ssid_2G not in get_vif_state: + # allure.attach(name="retest,vif state ssid not available:", body=str(get_vif_state)) + # pytest.xfail("SSID NOT AVAILABLE IN VIF STATE") + + lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog", vlan_id="ABC", + station_name=station_names_twog, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordinvalidvlanuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="invalidvlanuser", d_vlan=True) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + vlan)["interface"]["ip"] + + if lf_test.station_ip[station_names_twog[0]] == "0.0.0.0": + print("station ip...", lf_test.station_ip[station_names_twog[0]]) + assert True + allure.attach("vlan ip....", eth_vlan_ip) + allure.attach("station ip....", lf_test.station_ip[station_names_twog[0]]) + allure.attach("Client Connection failed for unsupported vlan id..", vlan) + print("Test Passsed...Client Connection failed") + + @pytest.mark.outofboundvlanid + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @allure.testcase(name="test_dynamic_outofboundvlanid_vlan_5711", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5711") + def test_dynamic_outofboundvlanid_vlan_5711(self, get_vif_state, lf_tools, + create_lanforge_chamberview_dut, lf_test, get_configuration, station_names_twog): + """ + pytest -m "dynamic_vlan and wpa2_personal and bridge" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_2G = profile_data[0]["ssid_name"] + mode = "BRIDGE" + vlan = "7000" + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.add_vlan(vlan_ids=[vlan]) + # for i in lf_tools.dut_idx_mapping: + # + # if lf_tools.dut_idx_mapping[i][3] == "2G": + # dut_2g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] + # print(dut_2g) + # if ssid_2G not in get_vif_state: + # allure.attach(name="retest,vif state ssid not available:", body=str(get_vif_state)) + # pytest.xfail("SSID NOT AVAILABLE IN VIF STATE") + + lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog", vlan_id=7000, + station_name=station_names_twog, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordoutofboundvlanuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="outofboundvlanuser", d_vlan=True) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + vlan)["interface"]["ip"] + + if lf_test.station_ip[station_names_twog[0]] == "0.0.0.0": + print("station ip...", lf_test.station_ip[station_names_twog[0]]) + assert True + allure.attach("vlan ip....", eth_vlan_ip) + allure.attach("station ip....", lf_test.station_ip[station_names_twog[0]]) + allure.attach("Client Connection failed for out of bound vlan id..",vlan) + print("Test Passsed...Client Connection failed") From 1373eb9597b12f623da040bbb4abc89a76ad9c97 Mon Sep 17 00:00:00 2001 From: KvSaiMahesh Date: Sat, 4 Dec 2021 01:25:16 +0530 Subject: [PATCH 03/24] added dvlan paramter in EAP connect function Signed-off-by: KvSaiMahesh --- libs/lanforge/lf_tests.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libs/lanforge/lf_tests.py b/libs/lanforge/lf_tests.py index 78d994ae9..f14cf1e7b 100644 --- a/libs/lanforge/lf_tests.py +++ b/libs/lanforge/lf_tests.py @@ -164,7 +164,7 @@ class RunTest: station_name=[], key_mgmt="WPA-EAP", pairwise="NA", group="NA", wpa_psk="DEFAULT", ttls_passwd="nolastart", ieee80211w=1, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="nolaradius"): + wep_key="NA", ca_cert="NA", eap="TTLS", identity="nolaradius",d_vlan=False): self.eap_connect = TTLSTest(host=self.lanforge_ip, port=self.lanforge_port, sta_list=station_name, vap=False, _debug_on=self.debug) @@ -208,15 +208,21 @@ class RunTest: self.eap_connect.sta_list = station_name self.eap_connect.build(extra_securities=extra_securities) self.eap_connect.start(station_name, True, True) + if d_vlan: + self.station_ip = {} for sta_name in station_name: # try: station_data_str = "" # sta_url = self.eap_connect.get_station_url(sta_name) # station_info = self.eap_connect.json_get(sta_url) station_info = self.eap_connect.json_get("port/1/1/" + sta_name) + for i in station_info["interface"]: try: station_data_str = station_data_str + i + " : " + str(station_info["interface"][i]) + "\n" + if d_vlan: + if i == "ip": + self.station_ip[sta_name] = station_info["interface"][i] except Exception as e: print(e) allure.attach(name=str(sta_name), body=str(station_data_str)) From a50f1541695bd6fd6abee8a99e1d25d11536eec0 Mon Sep 17 00:00:00 2001 From: KvSaiMahesh Date: Fri, 10 Dec 2021 00:56:50 +0530 Subject: [PATCH 04/24] added dynamic vlan testcases Signed-off-by: KvSaiMahesh --- .../vlan_mode/dynamic_vlan/__init__.py | 0 .../dynamic_vlan/wpa2_enterprise/__init__.py | 0 .../wpa2_enterprise/bridge_mode/__init__.py | 0 .../bridge_mode/fiveg/__init__.py | 0 .../fiveg/test_dynamc_vlan_fiveg.py | 499 ++++++++++++++++++ .../fiveg/test_dynamic_over_ssid_fiveg.py | 97 ++++ .../bridge_mode/twog/__init__.py | 0 .../bridge_mode/twog/test_dynamc_vlan_twog.py | 492 +++++++++++++++++ .../twog/test_dynamic_over_ssid_twog.py | 97 ++++ 9 files changed, 1185 insertions(+) create mode 100644 tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/__init__.py create mode 100644 tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/__init__.py create mode 100644 tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/__init__.py create mode 100644 tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/fiveg/__init__.py create mode 100644 tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/fiveg/test_dynamc_vlan_fiveg.py create mode 100644 tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/fiveg/test_dynamic_over_ssid_fiveg.py create mode 100644 tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/twog/__init__.py create mode 100644 tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/twog/test_dynamc_vlan_twog.py create mode 100644 tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/twog/test_dynamic_over_ssid_twog.py diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/__init__.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/__init__.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/__init__.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/fiveg/__init__.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/fiveg/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/fiveg/test_dynamc_vlan_fiveg.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/fiveg/test_dynamc_vlan_fiveg.py new file mode 100644 index 000000000..ada0af030 --- /dev/null +++ b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/fiveg/test_dynamc_vlan_fiveg.py @@ -0,0 +1,499 @@ +""" + + Dynamic_Vlan: Bridge Mode + pytest -m "dynamic_vlan and wpa2_enterprise and bridge" + +""" + +import os +import allure +import pytest +import time +from configuration import DYNAMIC_VLAN_RADIUS_SERVER_DATA +from configuration import DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA + +pytestmark = [pytest.mark.regression, pytest.mark.dynamic_vlan, pytest.mark.wpa2_enterprise, pytest.mark.bridge,pytest.mark.] + +setup_params_general = { + "mode": "BRIDGE", + "ssid_modes": { + "wpa2_enterprise": [ + {"ssid_name": "ssid_wpa2e_5g", "appliedRadios": ["5G"], + "security_key": "something", + "radius_auth_data": DYNAMIC_VLAN_RADIUS_SERVER_DATA, + "radius_acc_data": DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA + }]}, + "rf": {}, + "radius": True +} + + +@allure.suite("regression") +@allure.feature("BRIDGE MODE wpa2_enterprise Dynamic Vlan") +@pytest.mark.parametrize( + 'setup_profiles', + [setup_params_general], + indirect=True, + scope="class" +) +@pytest.mark.usefixtures("setup_profiles") +class TestDynamicVlan(object): + + @pytest.mark.absenceofradiusvlanttidentifier + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @allure.testcase(name="test_dynamic_absence_of_radius_vlan_identifier", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5704") + def test_dynamic_absence_of_radius_vlan_identifier(self, get_vif_state, lf_tools, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_fiveg): + """ + pytest -m " absenceofradiusvlanttidentifier and wpa2_enterprise and bridge" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_5G = profile_data[0]["ssid_name"] + mode = "BRIDGE" + vlan_id = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan_id]) + lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="fiveg", + station_name=station_names_fiveg, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordvlannotsentuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="vlannotsentuser", d_vlan=True) + + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_fiveg[0]].split('.') + print(sta_ip_1) + eth_ip_1 = eth_ip.split('.') + print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) + print("bridge ip...", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_ip_1[0:2]): + if i != j: + allure.attach(name="bridge ip....", body=str(eth_ip)) + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) + print("Station ip not assigned as per ssid vlan") + assert False + else: + assert True + allure.attach(name="bridge ip....", body=str(eth_ip)) + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) + print("Station ip assigned as per ssid vlan") + + @pytest.mark.invalidradiusvlan + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @allure.testcase(name="test_dynamic_invalid_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5706") + def test_dynamic_invalid_vlan(self, get_vif_state, lf_tools, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_fiveg): + """ + pytest -m "test_dynamic_invalid_vlan and wpa2_enterprise and bridge" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_5G = profile_data[0]["ssid_name"] + mode = "BRIDGE" + vlan = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan]) + + lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="fiveg", vlan_id=vlan, + station_name=station_names_fiveg, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordinvalidvlanuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="invalidvlanuser", d_vlan=True) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_fiveg[0]].split('.') + eth_bridge_ip_1 = eth_ip.split('.') + print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) + print("vlan ip...", eth_vlan_ip) + print("eth_bridge_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_bridge_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + print("Station ip not assigned as per bridge") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + allure.attach(name="bridge ip....", body=str(eth_ip)) + print("Station ip assigned as per bridge") + + @pytest.mark.periodic_reauthentication + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @allure.testcase(name="test_dynamic_periodic_reauthentication_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5707") + def test_dynamic_periodic_reauthentication_vlan(self, get_vif_state, lf_tools, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_fiveg): + """ + pytest -m "periodic_reauthentication and wpa2_enterprise and bridge" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_5G = profile_data[0]["ssid_name"] + mode = "BRIDGE" + vlan = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + # lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan]) + + lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="fiveg", vlan_id=vlan, + station_name=station_names_fiveg, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordA", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="userA", d_vlan=True, cleanup=True) + + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + sta_ip = lf_test.station_ip[station_names_fiveg[0]] + + count = 0 + # print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) + # print("vlan ip...", eth_vlan_ip) + # print("eth_bridge_ip..", eth_ip) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] + eth_vlan_ip_1 = eth_vlan_ip.split('.') + sta_ip_1 = sta_ip.split('.') + print(sta_ip_1) + for k in range(0, 2): + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + break + else: + if count == 2: + break #allure.attach(name="station ip",body=str(sta_ip)) + continue + count = count + 1 + time.sleep(30) + lf_tools.admin_up_down([station_names_fiveg[0]], option="up") + + sta_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + station_names_fiveg[0])["interface"]["ip"] + sta_ip_1 = sta_ip.split('.') + print(sta_ip) + if count == 2: + print(count) + print("sta_ip..",sta_ip) + assert True + allure.attach(name="station ip....", body=str(sta_ip)) + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + allure.attach(name="bridge ip....", body=str(eth_ip)) + print("Station ip assigned as per bridge") + elif count == 0: + allure.attach(name="station ip....", body=str(sta_ip)) + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + print("Station ip not assigned as per bridge") + assert False + + @pytest.mark.absenceofvlanid + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @allure.testcase(name="test_dynamic_absence_of_vlanid", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5708") + def test_dynamic_absence_of_vlanid(self, get_vif_state, lf_tools, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_fiveg): + """ + pytest -m "absenceofvlanid and wpa2_enterprise and bridge" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_5G = profile_data[0]["ssid_name"] + mode = "BRIDGE" + vlan = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan]) + + lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="fiveg", vlan_id=vlan, + station_name=station_names_fiveg, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordvlannotsentuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="vlannotsentuser", d_vlan=True) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_fiveg[0]].split('.') + eth_bridge_ip_1 = eth_ip.split('.') + print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) + print("vlan ip...", eth_vlan_ip) + print("eth_bridge_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_bridge_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + print("Station ip not assigned as per bridge") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + allure.attach(name="bridge ip....", body=str(eth_ip)) + print("Station ip assigned as per bridge") + + @pytest.mark.unsupported + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @allure.testcase(name="test_dynamic_unsupported_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5710") + def test_dynamic_unsupported_vlan(self, get_vif_state, lf_tools, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_fiveg): + """ + pytest -m "unsupported and wpa2_enterprise and bridge" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_5G = profile_data[0]["ssid_name"] + mode = "BRIDGE" + vlan = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan]) + + lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="fiveg", vlan_id=100, + station_name=station_names_fiveg, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordinvalidvlanuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="invalidvlanuser", d_vlan=True) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_fiveg[0]].split('.') + eth_bridge_ip_1 = eth_ip.split('.') + print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) + print("vlan ip...", eth_vlan_ip) + print("eth_bridge_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_bridge_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + print("Station ip not assigned as per bridge") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + allure.attach(name="bridge ip....", body=str(eth_ip)) + print("Station ip assigned as per bridge") + + @pytest.mark.outofboundvlanid + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @allure.testcase(name="test_dynamic_outof_bound_vlanid", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5711") + def test_dynamic_outof_bound_vlanid(self, get_vif_state, lf_tools, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_fiveg): + """ + pytest -m "outofboundvlanid and wpa2_enterprise and bridge" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_5G = profile_data[0]["ssid_name"] + mode = "BRIDGE" + vlan = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan]) + + lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="fiveg", vlan_id=vlan, + station_name=station_names_fiveg, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordoutofboundvlanuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="outofboundvlanuser", d_vlan=True) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + if lf_test.station_ip[station_names_fiveg[0]] == "0.0.0.0": + print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) + assert True + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) + allure.attach(name="bridge ip....", body=str(eth_ip)) + print("Test Passsed...Client Connection failed") + + @pytest.mark.subsequent_user_for_same_user_account + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @allure.testcase(name="test_subsequent_user_for_same_user_account_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5705") + def test_subsequent_user_for_same_user_account_vlan(self, get_vif_state, lf_tools, + create_lanforge_chamberview_dut, lf_test, + get_configuration, + station_names_fiveg): + """ + pytest -m "subsequent_user_for_same_user_account and wpa2_enterprise and bridge" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_5G = profile_data[0]["ssid_name"] + mode = "BRIDGE" + vlan = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.add_vlan(vlan_ids=[vlan]) + lf_tools.reset_scenario() + station_list = [] + sta_ip = [] + for i in range(0, 2): + station_list.append(lf_tools.fiveg_prefix + str(i)) + print(station_list) + print([station_list[0]]) + + for m in range(0, len(station_list)): + lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="fiveg", vlan_id=100, + station_name=[station_list[m]], key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordA", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="userA", d_vlan=True, cleanup=True) + lf_tools.admin_up_down([station_list[m]], option="up") + sta_ip.append(lf_test.station_ip[station_list[m]]) + print(sta_ip) + time.sleep(30) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + eth_vlan_ip_1 = eth_vlan_ip.split('.') + for n in range(0, len(station_list)): + sta_ip_1 = sta_ip[n].split('.') + print("station ip...", sta_ip[n]) + print("vlan ip...", eth_vlan_ip) + print("eth_bridge_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(sta_ip[n])) + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + allure.attach(name="bridge ip....", body=str(eth_ip)) + print("Station ip not assigned as per vlan") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(sta_ip[n])) + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + allure.attach(name="bridge ip....", body=str(eth_ip)) + print("Station ip assigned as per dynamic vlan") + + @pytest.mark.subsequent_user_for_different_user_account + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @allure.testcase(name="test_subsequent_user_for_different_user_account_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5714") + def test_subsequent_user_for_different_user_account_vlan(self, get_vif_state, lf_tools, + create_lanforge_chamberview_dut, lf_test, + get_configuration, + station_names_fiveg): + """ + pytest -m "subsequent_user_for_different_user_account and wpa2_enterprise and bridge" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_5G = profile_data[0]["ssid_name"] + mode = "BRIDGE" + vlan = [100, 200] + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.add_vlan(vlan_ids=vlan) + lf_tools.reset_scenario() + station_list = [] + sta_ip = [] + dynamic_vlan_user = ["userA", "userB"] + dynamic_vlan_pass = ["passwordA", "passwordB"] + for i in range(0, 2): + station_list.append(lf_tools.fiveg_prefix + str(i)) + + for user_id, user_pass, sta in zip(dynamic_vlan_user, dynamic_vlan_pass, range(0, len(station_list))): + lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="fiveg", vlan_id=vlan[sta], + station_name=[station_list[sta]], key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd=user_pass, ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity=user_id, d_vlan=True, cleanup=True) + + sta_ip.append(lf_test.station_ip[station_list[sta]]) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan[sta]))["interface"]["ip"] + + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + eth_vlan_ip_1 = eth_vlan_ip.split('.') + print(sta_ip) + sta_ip_1 = sta_ip[sta].split('.') + print("station ip...", lf_test.station_ip[station_list[sta]]) + print("vlan ip...", eth_vlan_ip) + print("eth_bridge_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(sta_ip[sta])) + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + allure.attach(name="bridge ip....", body=str(eth_ip)) + print("Station ip not assigned as per vlan") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(sta_ip[sta])) + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + allure.attach(name="bridge ip....", body=str(eth_ip)) + print("Station ip assigned as per dynamic vlan") + lf_tools.admin_up_down([station_list[sta]], option="up") + + time.sleep(5) diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/fiveg/test_dynamic_over_ssid_fiveg.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/fiveg/test_dynamic_over_ssid_fiveg.py new file mode 100644 index 000000000..4f604dccf --- /dev/null +++ b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/fiveg/test_dynamic_over_ssid_fiveg.py @@ -0,0 +1,97 @@ +""" + + Dynamic_Vlan: Bridge Mode + pytest -m "dynamic_vlan and wpa2_personal and bridge" + +""" + +import os +import allure +import pytest +from configuration import DYNAMIC_VLAN_RADIUS_SERVER_DATA +from configuration import DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA + +pytestmark = [pytest.mark.regression, pytest.mark.dynamic_vlan, pytest.mark.wpa2_enterprise, pytest.mark.vlan] + +setup_params_general = { + "mode": "VLAN", + "ssid_modes": { + "wpa2_enterprise": [ + {"ssid_name": "ssid_wpa2e_5g", "appliedRadios": ["5G"], + "security_key": "something", + "radius_auth_data": DYNAMIC_VLAN_RADIUS_SERVER_DATA, + "radius_acc_data": DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA, + "vlan": 100 + }]}, + "rf": {}, + "radius": True +} + + +@allure.suite("regression") +@allure.feature("BRIDGE MODE wpa2_enterprise Dynamic Vlan") +@pytest.mark.parametrize( + 'setup_profiles', + [setup_params_general], + indirect=True, + scope="class" +) +@pytest.mark.usefixtures("setup_profiles") +class TestDynamicVlan(object): + + @pytest.mark.dynamic_precedence_over_ssid + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @allure.testcase(name="test_dynamic_precedence_over_ssid_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5705") + def test_dynamic_precedence_over_ssid_vlan(self, get_vif_state, lf_tools,get_ap_logs, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_fiveg): + """ + pytest -m "dynamic_precedence_over_ssid and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_5G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = [100,200] + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + #lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=vlan) + + lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="fiveg", vlan_id=vlan[0], + station_name=station_names_fiveg, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordB", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="userB", d_vlan=True) + + eth_ssid_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan[0]))["interface"]["ip"] + + eth_radius_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan[1]))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_fiveg[0]].split('.') + eth_vlan_ip_1 = eth_radius_vlan_ip.split('.') + print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) + print("vlan ip...", eth_radius_vlan_ip) + print("eth_bridge_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) + allure.attach(name="ssid vlan ip....", body=str(eth_ssid_vlan_ip)) + allure.attach(name="radius vlan ip....", body=str(eth_radius_vlan_ip)) + print("Station ip not assigned as per vlan") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) + allure.attach(name="radius vlan ip....", body=str(eth_radius_vlan_ip)) + allure.attach(name="ssid vlan ip....", body=str(eth_ssid_vlan_ip)) + print("Station ip assigned as per dynamic vlan") \ No newline at end of file diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/twog/__init__.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/twog/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/twog/test_dynamc_vlan_twog.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/twog/test_dynamc_vlan_twog.py new file mode 100644 index 000000000..102e905a7 --- /dev/null +++ b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/twog/test_dynamc_vlan_twog.py @@ -0,0 +1,492 @@ +""" + + Dynamic_Vlan: Bridge Mode + pytest -m "dynamic_vlan and wpa2_personal and bridge" + +""" + +import os +import allure +import pytest +import time +from configuration import DYNAMIC_VLAN_RADIUS_SERVER_DATA +from configuration import DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA + +pytestmark = [pytest.mark.regression, pytest.mark.dynamic_vlan, pytest.mark.wpa2_enterprise, pytest.mark.bridge] + +setup_params_general = { + "mode": "BRIDGE", + "ssid_modes": { + "wpa2_enterprise": [ + {"ssid_name": "ssid_wpa2e_2g", "appliedRadios": ["2G"], + "security_key": "something", + "radius_auth_data": DYNAMIC_VLAN_RADIUS_SERVER_DATA, + "radius_acc_data": DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA + }]}, + "rf": {}, + "radius": True +} + + +@allure.suite("regression") +@allure.feature("BRIDGE MODE wpa2_enterprise Dynamic Vlan") +@pytest.mark.parametrize( + 'setup_profiles', + [setup_params_general], + indirect=True, + scope="class" +) +@pytest.mark.usefixtures("setup_profiles") +class TestDynamicVlan(object): + + @pytest.mark.absenceofradiusvlanttidentifier + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @allure.testcase(name="test_dynamic_absence_of_radius_vlan_identifier", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5704") + def test_dynamic_absence_of_radius_vlan_identifier(self, get_vif_state, lf_tools,get_ap_logs, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_twog): + """ + pytest -m " absenceofradiusvlanttidentifier and wpa2_enterprise and bridge" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_2G = profile_data[0]["ssid_name"] + mode = "BRIDGE" + vlan_id = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan_id]) + lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog", + station_name=station_names_twog, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordvlannotsentuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="vlannotsentuser", d_vlan=True) + + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') + print(sta_ip_1) + eth_ip_1 = eth_ip.split('.') + print("station ip...", lf_test.station_ip[station_names_twog[0]]) + print("bridge ip...", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_ip_1[0:2]): + if i != j: + allure.attach(name="bridge ip....", body=str(eth_ip)) + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + print("Station ip not assigned as per ssid vlan") + assert False + else: + assert True + allure.attach(name="bridge ip....", body=str(eth_ip)) + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + print("Station ip assigned as per ssid vlan") + + @pytest.mark.invalidradiusvlan + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @allure.testcase(name="test_dynamic_invalid_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5706") + def test_dynamic_invalid_vlan(self, get_vif_state, lf_tools,get_ap_logs, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_twog): + """ + pytest -m "dynamic_vlan and wpa2_enterprise and bridge" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_2G = profile_data[0]["ssid_name"] + mode = "BRIDGE" + vlan = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan]) + + lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog", vlan_id=vlan, + station_name=station_names_twog, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordinvalidvlanuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="invalidvlanuser", d_vlan=True) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') + eth_bridge_ip_1 = eth_ip.split('.') + print("station ip...", lf_test.station_ip[station_names_twog[0]]) + print("vlan ip...", eth_vlan_ip) + print("eth_bridge_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_bridge_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + print("Station ip not assigned as per bridge") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + allure.attach(name="bridge ip....", body=str(eth_ip)) + print("Station ip assigned as per bridge") + + @pytest.mark.periodic_reauthentication + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @allure.testcase(name="test_dynamic_periodic_reauthentication_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5707") + def test_dynamic_periodic_reauthentication_vlan(self, get_vif_state, lf_tools,get_ap_logs, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_twog): + """ + pytest -m "dynamic_vlan and wpa2_enterprise and bridge" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_2G = profile_data[0]["ssid_name"] + mode = "BRIDGE" + vlan = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + # lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan]) + + lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog", vlan_id=vlan, + station_name=station_names_twog, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordA", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="userA", d_vlan=True, cleanup=True) + + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + sta_ip = lf_test.station_ip[station_names_twog[0]] + + count = 0 + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] + eth_vlan_ip_1 = eth_vlan_ip.split('.') + sta_ip_1 = sta_ip.split('.') + for k in range(0, 2): + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + break + else: + if count == 2: + break #allure.attach(name="station ip",body=str(sta_ip)) + continue + count = count + 1 + time.sleep(30) + lf_tools.admin_up_down([station_names_twog[0]], option="up") + + sta_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + station_names_twog[0])["interface"]["ip"] + sta_ip_1 = sta_ip.split('.') + print(sta_ip) + if count == 2: + assert True + allure.attach(name="station ip....", body=str(sta_ip)) + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + allure.attach(name="bridge ip....", body=str(eth_ip)) + print("Station ip assigned as per bridge") + elif count == 0: + allure.attach(name="station ip....", body=str(sta_ip)) + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + print("Station ip not assigned as per bridge") + assert False + + @pytest.mark.absenceofvlanid + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @allure.testcase(name="test_dynamic_absence_of_vlanid", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5708") + def test_dynamic_absence_of_vlanid(self, get_vif_state, lf_tools,get_ap_logs, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_twog): + """ + pytest -m "dynamic_vlan and wpa2_enterprise and bridge" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_2G = profile_data[0]["ssid_name"] + mode = "BRIDGE" + vlan = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan]) + + lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog", vlan_id=vlan, + station_name=station_names_twog, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordvlannotsentuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="vlannotsentuser", d_vlan=True) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') + eth_bridge_ip_1 = eth_ip.split('.') + print("station ip...", lf_test.station_ip[station_names_twog[0]]) + print("vlan ip...", eth_vlan_ip) + print("eth_bridge_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_bridge_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + print("Station ip not assigned as per bridge") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + allure.attach(name="bridge ip....", body=str(eth_ip)) + print("Station ip assigned as per bridge") + + @pytest.mark.unsupported + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @allure.testcase(name="test_dynamic_unsupported_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5710") + def test_dynamic_unsupported_vlan(self, get_vif_state, lf_tools,get_ap_logs, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_twog): + """ + pytest -m "dynamic_vlan and wpa2_enterprise and bridge" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_2G = profile_data[0]["ssid_name"] + mode = "BRIDGE" + vlan = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan]) + + lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog", vlan_id=100, + station_name=station_names_twog, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordinvalidvlanuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="invalidvlanuser", d_vlan=True) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') + eth_bridge_ip_1 = eth_ip.split('.') + print("station ip...", lf_test.station_ip[station_names_twog[0]]) + print("vlan ip...", eth_vlan_ip) + print("eth_bridge_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_bridge_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + print("Station ip not assigned as per bridge") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + allure.attach(name="bridge ip....", body=str(eth_ip)) + print("Station ip assigned as per bridge") + + @pytest.mark.outofboundvlanid + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @allure.testcase(name="test_dynamic_outof_bound_vlanid", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5711") + def test_dynamic_outof_bound_vlanid(self, get_vif_state, lf_tools,get_ap_logs, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_twog): + """ + pytest -m "dynamic_vlan and wpa2_enterprise and bridge" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_2G = profile_data[0]["ssid_name"] + mode = "BRIDGE" + vlan = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan]) + + lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog", vlan_id=vlan, + station_name=station_names_twog, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordoutofboundvlanuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="outofboundvlanuser", d_vlan=True) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + if lf_test.station_ip[station_names_twog[0]] == "0.0.0.0": + print("station ip...", lf_test.station_ip[station_names_twog[0]]) + assert True + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + allure.attach(name="bridge ip....", body=str(eth_ip)) + print("Test Passsed...Client Connection failed") + + @pytest.mark.subsequent_user_for_same_user_account + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @allure.testcase(name="test_subsequent_user_for_same_user_account_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5705") + def test_subsequent_user_for_same_user_account_vlan(self, get_vif_state, lf_tools,get_ap_logs, + create_lanforge_chamberview_dut, lf_test, + get_configuration, + station_names_twog): + """ + pytest -m "subsequent_user_for_same_user_account and wpa2_enterprise and bridge" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_2G = profile_data[0]["ssid_name"] + mode = "BRIDGE" + vlan = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.add_vlan(vlan_ids=[vlan]) + lf_tools.reset_scenario() + station_list = [] + sta_ip = [] + for i in range(0, 2): + station_list.append(lf_tools.twog_prefix + str(i)) + print(station_list) + print([station_list[0]]) + + for m in range(0, len(station_list)): + lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog", vlan_id=100, + station_name=[station_list[m]], key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordA", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="userA", d_vlan=True, cleanup=True) + lf_tools.admin_up_down([station_list[m]], option="up") + sta_ip.append(lf_test.station_ip[station_list[m]]) + print(sta_ip) + time.sleep(30) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + eth_vlan_ip_1 = eth_vlan_ip.split('.') + for n in range(0, len(station_list)): + sta_ip_1 = sta_ip[n].split('.') + print("station ip...", sta_ip[n]) + print("vlan ip...", eth_vlan_ip) + print("eth_bridge_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(sta_ip[n])) + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + allure.attach(name="bridge ip....", body=str(eth_ip)) + print("Station ip not assigned as per vlan") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(sta_ip[n])) + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + allure.attach(name="bridge ip....", body=str(eth_ip)) + print("Station ip assigned as per dynamic vlan") + + @pytest.mark.subsequent_user_for_different_user_account + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @allure.testcase(name="test_subsequent_user_for_different_user_account_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5714") + def test_subsequent_user_for_different_user_account_vlan(self, get_vif_state, lf_tools,get_ap_logs, + create_lanforge_chamberview_dut, lf_test, + get_configuration, + station_names_twog): + """ + pytest -m "subsequent_user_for_different_user_account and wpa2_enterprise and bridge" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_2G = profile_data[0]["ssid_name"] + mode = "BRIDGE" + vlan = [100, 200] + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.add_vlan(vlan_ids=vlan) + lf_tools.reset_scenario() + station_list = [] + sta_ip = [] + dynamic_vlan_user = ["userA", "userB"] + dynamic_vlan_pass = ["passwordA", "passwordB"] + for i in range(0, 2): + station_list.append(lf_tools.twog_prefix + str(i)) + + for user_id, user_pass, sta in zip(dynamic_vlan_user, dynamic_vlan_pass, range(0, len(station_list))): + lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog", vlan_id=vlan[sta], + station_name=[station_list[sta]], key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd=user_pass, ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity=user_id, d_vlan=True, cleanup=True) + + sta_ip.append(lf_test.station_ip[station_list[sta]]) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan[sta]))["interface"]["ip"] + + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + eth_vlan_ip_1 = eth_vlan_ip.split('.') + print(sta_ip) + sta_ip_1 = sta_ip[sta].split('.') + print("station ip...", lf_test.station_ip[station_list[sta]]) + print("vlan ip...", eth_vlan_ip) + print("eth_bridge_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(sta_ip[sta])) + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + allure.attach(name="bridge ip....", body=str(eth_ip)) + print("Station ip not assigned as per vlan") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(sta_ip[sta])) + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + allure.attach(name="bridge ip....", body=str(eth_ip)) + print("Station ip assigned as per dynamic vlan") + lf_tools.admin_up_down([station_list[sta]], option="up") + + time.sleep(5) diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/twog/test_dynamic_over_ssid_twog.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/twog/test_dynamic_over_ssid_twog.py new file mode 100644 index 000000000..230a7cad6 --- /dev/null +++ b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/twog/test_dynamic_over_ssid_twog.py @@ -0,0 +1,97 @@ +""" + + Dynamic_Vlan: Bridge Mode + pytest -m "dynamic_vlan and wpa2_personal and bridge" + +""" + +import os +import allure +import pytest +from configuration import DYNAMIC_VLAN_RADIUS_SERVER_DATA +from configuration import DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA + +pytestmark = [pytest.mark.regression, pytest.mark.dynamic_vlan, pytest.mark.wpa2_enterprise, pytest.mark.vlan] + +setup_params_general = { + "mode": "VLAN", + "ssid_modes": { + "wpa2_enterprise": [ + {"ssid_name": "ssid_wpa2e_2g", "appliedRadios": ["2G"], + "security_key": "something", + "radius_auth_data": DYNAMIC_VLAN_RADIUS_SERVER_DATA, + "radius_acc_data": DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA, + "vlan": 100 + }]}, + "rf": {}, + "radius": True +} + + +@allure.suite("regression") +@allure.feature("BRIDGE MODE wpa2_enterprise Dynamic Vlan") +@pytest.mark.parametrize( + 'setup_profiles', + [setup_params_general], + indirect=True, + scope="class" +) +@pytest.mark.usefixtures("setup_profiles") +class TestDynamicVlan(object): + + @pytest.mark.dynamic_precedence_over_ssid + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @allure.testcase(name="test_dynamic_precedence_over_ssid_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5705") + def test_dynamic_precedence_over_ssid_vlan(self, get_vif_state, lf_tools,get_ap_logs, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_twog): + """ + pytest -m "dynamic_precedence_over_ssid and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_2G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = [100,200] + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + #lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=vlan) + + lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog", vlan_id=vlan[0], + station_name=station_names_twog, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordB", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="userB", d_vlan=True) + + eth_ssid_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan[0]))["interface"]["ip"] + + eth_radius_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan[1]))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') + eth_vlan_ip_1 = eth_radius_vlan_ip.split('.') + print("station ip...", lf_test.station_ip[station_names_twog[0]]) + print("vlan ip...", eth_radius_vlan_ip) + print("eth_bridge_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + allure.attach(name="ssid vlan ip....", body=str(eth_ssid_vlan_ip)) + allure.attach(name="radius vlan ip....", body=str(eth_radius_vlan_ip)) + print("Station ip not assigned as per vlan") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + allure.attach(name="radius vlan ip....", body=str(eth_radius_vlan_ip)) + allure.attach(name="ssid vlan ip....", body=str(eth_ssid_vlan_ip)) + print("Station ip assigned as per dynamic vlan") \ No newline at end of file From 77d8ae9e1b498a935ea04feac1a6c7c65bc7378f Mon Sep 17 00:00:00 2001 From: KvSaiMahesh Date: Fri, 10 Dec 2021 01:02:29 +0530 Subject: [PATCH 05/24] deleted unwanted files Signed-off-by: KvSaiMahesh --- .../dynamic_vlan/__init__.py | 0 .../dynamic_vlan/wpa2_personal/__init__.py | 0 .../wpa2_personal/nat_mode/__init__.py | 0 .../nat_mode/test_dynamc_vlan_5710.py | 242 ------------------ 4 files changed, 242 deletions(-) delete mode 100644 tests/e2e/basic/performance_tests/dynamic_vlan/__init__.py delete mode 100644 tests/e2e/basic/performance_tests/dynamic_vlan/wpa2_personal/__init__.py delete mode 100644 tests/e2e/basic/performance_tests/dynamic_vlan/wpa2_personal/nat_mode/__init__.py delete mode 100644 tests/e2e/basic/performance_tests/dynamic_vlan/wpa2_personal/nat_mode/test_dynamc_vlan_5710.py diff --git a/tests/e2e/basic/performance_tests/dynamic_vlan/__init__.py b/tests/e2e/basic/performance_tests/dynamic_vlan/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/e2e/basic/performance_tests/dynamic_vlan/wpa2_personal/__init__.py b/tests/e2e/basic/performance_tests/dynamic_vlan/wpa2_personal/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/e2e/basic/performance_tests/dynamic_vlan/wpa2_personal/nat_mode/__init__.py b/tests/e2e/basic/performance_tests/dynamic_vlan/wpa2_personal/nat_mode/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/e2e/basic/performance_tests/dynamic_vlan/wpa2_personal/nat_mode/test_dynamc_vlan_5710.py b/tests/e2e/basic/performance_tests/dynamic_vlan/wpa2_personal/nat_mode/test_dynamc_vlan_5710.py deleted file mode 100644 index f1245c50d..000000000 --- a/tests/e2e/basic/performance_tests/dynamic_vlan/wpa2_personal/nat_mode/test_dynamc_vlan_5710.py +++ /dev/null @@ -1,242 +0,0 @@ -""" - - Dynamic_Vlan: Bridge Mode - pytest -m "dynamic_vlan and wpa2_personal and bridge" - -""" - -import os -import allure -import pytest - -pytestmark = [pytest.mark.regression, pytest.mark.dynamic_vlan, pytest.mark.wpa2_enterprise, pytest.mark.bridge] - -setup_params_general = { - "mode": "BRIDGE", - "ssid_modes": { - "wpa2_enterprise": [ - {"ssid_name": "ssid_wpa2e_2g", "appliedRadios": ["2G"], - "security_key": "something","vlan":300}]}, - "rf": {}, - "radius": True -} - - -@allure.suite("regression") -@allure.feature("BRIDGE MODE wpa2_enterprise Dynamic Vlan") -@pytest.mark.parametrize( - 'setup_profiles', - [setup_params_general], - indirect=True, - scope="class" -) -@pytest.mark.usefixtures("setup_profiles") -class TestDynamicVlan(object): - - @pytest.mark.absenceofradiusvlanttidentifier - @pytest.mark.wpa2_enterprise - @pytest.mark.twog - @allure.testcase(name="test_dynamic_vlan_5704", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5704") - def test_dynamic_vlan_5704(self, get_vif_state, lf_tools, - create_lanforge_chamberview_dut, lf_test, get_configuration, station_names_twog): - """ - pytest -m "dynamic_vlan and wpa2_personal and bridge" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_2G = profile_data[0]["ssid_name"] - mode = "BRIDGE" - vlan_id = profile_data[0]["vlan"] - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.add_vlan(vlan_ids=[vlan_id]) - # for i in lf_tools.dut_idx_mapping: - # - # if lf_tools.dut_idx_mapping[i][3] == "2G": - # dut_2g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] - # print(dut_2g) - # if ssid_2G not in get_vif_state: - # allure.attach(name="retest,vif state ssid not available:", body=str(get_vif_state)) - # pytest.xfail("SSID NOT AVAILABLE IN VIF STATE") - - lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="twog",vlan_id=vlan_id, - station_name=station_names_twog, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordvlannotsentuser", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="vlannotsentuser", d_vlan=True) - - eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - - sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') - print(sta_ip_1) - eth_vlan_ip_1 = eth_vlan_ip.split('.') - print("station ip...", lf_test.station_ip[station_names_twog[0]]) - print("vlan ip...", eth_vlan_ip) - for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): - if i != j: - allure.attach("vlan ip....", eth_vlan_ip) - allure.attach("station ip....", lf_test.station_ip[station_names_twog[0]]) - print("Station ip not assigned as per ssid vlan") - assert False - else: - assert True - allure.attach("vlan ip....", eth_vlan_ip) - allure.attach("station ip....", lf_test.station_ip[station_names_twog[0]]) - print("Station ip assigned as per ssid configured vlan") - - - @pytest.mark.wpa2_enterprise - @pytest.mark.twog - @allure.testcase(name="test_dynamic_vlan_5710", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5705") - def test_dynamic_vlan_5705(self, get_vif_state, lf_tools, - create_lanforge_chamberview_dut, lf_test, get_configuration, station_names_twog): - """ - pytest -m "dynamic_vlan and wpa2_personal and bridge" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_2G = profile_data[0]["ssid_name"] - mode = "BRIDGE" - vlan = "100" - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.add_vlan(vlan_ids=[vlan]) - # for i in lf_tools.dut_idx_mapping: - # - # if lf_tools.dut_idx_mapping[i][3] == "2G": - # dut_2g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] - # print(dut_2g) - # if ssid_2G not in get_vif_state: - # allure.attach(name="retest,vif state ssid not available:", body=str(get_vif_state)) - # pytest.xfail("SSID NOT AVAILABLE IN VIF STATE") - - lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="twog", vlan_id=100, - station_name=station_names_twog, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordA", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="userA", d_vlan=True) - - eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + vlan)["interface"]["ip"] - - sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') - eth_vlan_ip_1 = eth_vlan_ip.split('.') - print("station ip...", lf_test.station_ip[station_names_twog[0]]) - print("vlan ip...", eth_vlan_ip) - for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): - if i != j: - allure.attach("vlan ip....", eth_vlan_ip) - allure.attach("station ip....", lf_test.station_ip[station_names_twog[0]]) - print("Station ip not assigned as per vlan") - assert False - else: - assert True - allure.attach("vlan ip....", eth_vlan_ip) - allure.attach("station ip....", lf_test.station_ip[station_names_twog[0]]) - print("Station ip assigned as per dynamic vlan") - - - - @pytest.mark.unsupported - @pytest.mark.wpa2_enterprise - @pytest.mark.twog - @allure.testcase(name="test_dynamic_unsupported_vlan_5710", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5710") - def test_dynamic_unsupported_vlan_5711(self, get_vif_state, lf_tools, - create_lanforge_chamberview_dut, lf_test, get_configuration, - station_names_twog): - """ - pytest -m "dynamic_vlan and wpa2_personal and bridge" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_2G = profile_data[0]["ssid_name"] - mode = "BRIDGE" - vlan = "ABC" - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.add_vlan(vlan_ids=[vlan]) - # for i in lf_tools.dut_idx_mapping: - # - # if lf_tools.dut_idx_mapping[i][3] == "2G": - # dut_2g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] - # print(dut_2g) - # if ssid_2G not in get_vif_state: - # allure.attach(name="retest,vif state ssid not available:", body=str(get_vif_state)) - # pytest.xfail("SSID NOT AVAILABLE IN VIF STATE") - - lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="twog", vlan_id="ABC", - station_name=station_names_twog, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordinvalidvlanuser", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="invalidvlanuser", d_vlan=True) - - eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + vlan)["interface"]["ip"] - - if lf_test.station_ip[station_names_twog[0]] == "0.0.0.0": - print("station ip...", lf_test.station_ip[station_names_twog[0]]) - assert True - allure.attach("vlan ip....", eth_vlan_ip) - allure.attach("station ip....", lf_test.station_ip[station_names_twog[0]]) - allure.attach("Client Connection failed for unsupported vlan id..", vlan) - print("Test Passsed...Client Connection failed") - - @pytest.mark.outofboundvlanid - @pytest.mark.wpa2_enterprise - @pytest.mark.twog - @allure.testcase(name="test_dynamic_outofboundvlanid_vlan_5711", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5711") - def test_dynamic_outofboundvlanid_vlan_5711(self, get_vif_state, lf_tools, - create_lanforge_chamberview_dut, lf_test, get_configuration, station_names_twog): - """ - pytest -m "dynamic_vlan and wpa2_personal and bridge" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_2G = profile_data[0]["ssid_name"] - mode = "BRIDGE" - vlan = "7000" - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.add_vlan(vlan_ids=[vlan]) - # for i in lf_tools.dut_idx_mapping: - # - # if lf_tools.dut_idx_mapping[i][3] == "2G": - # dut_2g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] - # print(dut_2g) - # if ssid_2G not in get_vif_state: - # allure.attach(name="retest,vif state ssid not available:", body=str(get_vif_state)) - # pytest.xfail("SSID NOT AVAILABLE IN VIF STATE") - - lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="twog", vlan_id=7000, - station_name=station_names_twog, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordoutofboundvlanuser", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="outofboundvlanuser", d_vlan=True) - - eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + vlan)["interface"]["ip"] - - if lf_test.station_ip[station_names_twog[0]] == "0.0.0.0": - print("station ip...", lf_test.station_ip[station_names_twog[0]]) - assert True - allure.attach("vlan ip....", eth_vlan_ip) - allure.attach("station ip....", lf_test.station_ip[station_names_twog[0]]) - allure.attach("Client Connection failed for out of bound vlan id..",vlan) - print("Test Passsed...Client Connection failed") From 97a537f652ed816755a330a533df99d113ecb250 Mon Sep 17 00:00:00 2001 From: KvSaiMahesh Date: Fri, 10 Dec 2021 01:04:19 +0530 Subject: [PATCH 06/24] added new parameters in EAP connect function Signed-off-by: KvSaiMahesh --- libs/lanforge/lf_tests.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libs/lanforge/lf_tests.py b/libs/lanforge/lf_tests.py index f14cf1e7b..1ab978511 100644 --- a/libs/lanforge/lf_tests.py +++ b/libs/lanforge/lf_tests.py @@ -164,7 +164,7 @@ class RunTest: station_name=[], key_mgmt="WPA-EAP", pairwise="NA", group="NA", wpa_psk="DEFAULT", ttls_passwd="nolastart", ieee80211w=1, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="nolaradius",d_vlan=False): + wep_key="NA", ca_cert="NA", eap="TTLS", identity="nolaradius",d_vlan=False,cleanup=False): self.eap_connect = TTLSTest(host=self.lanforge_ip, port=self.lanforge_port, sta_list=station_name, vap=False, _debug_on=self.debug) @@ -250,7 +250,8 @@ class RunTest: cx_data = cx_data + str(j) + " : " + str(i[j]) + "\n" cx_data = cx_data + "\n" allure.attach(name="cx_data", body=str(cx_data)) - self.eap_connect.cleanup(station_name) + if cleanup == False: + self.eap_connect.cleanup(station_name) return self.eap_connect.passes() def wifi_capacity(self, mode="BRIDGE", vlan_id=100, batch_size="1,5,10,20,40,64,128", @@ -454,7 +455,7 @@ class RunTest: influx.glob() return self.dualbandptest_obj - + def apstabilitytest(self, ssid_5G="[BLANK]", ssid_2G="[BLANK]", mode="BRIDGE", vlan_id=100, dut_name="TIP", instance_name="test_demo", dut_5g="", dut_2g=""): instance_name = ''.join(random.choices(string.ascii_uppercase + string.digits, k=S)) From fea989623ccafe131362c07b6ba251a5d0b6e841 Mon Sep 17 00:00:00 2001 From: KvSaiMahesh Date: Mon, 13 Dec 2021 18:25:23 +0530 Subject: [PATCH 07/24] added admin_up_down function Signed-off-by: KvSaiMahesh --- libs/lanforge/lf_tools.py | 196 +++++++++++++++++++++----------------- 1 file changed, 106 insertions(+), 90 deletions(-) diff --git a/libs/lanforge/lf_tools.py b/libs/lanforge/lf_tools.py index 5db28ff61..1e6dc39a0 100644 --- a/libs/lanforge/lf_tools.py +++ b/libs/lanforge/lf_tools.py @@ -31,7 +31,7 @@ import pandas as pd class ChamberView: def __init__(self, lanforge_data=None, access_point_data=None, debug=True, testbed=None): - print("lanforge data",lanforge_data) + print("lanforge data", lanforge_data) print("access point data", access_point_data) self.access_point_data = access_point_data print("testbed", testbed) @@ -62,9 +62,12 @@ class ChamberView: self.testbed = "mesh" self.scenario_name = "TIP-" + self.testbed self.raw_line = [ - ["profile_link " + self.upstream_resource_1 + " upstream-dhcp 1 NA NA " + self.upstream_port_1.split(".")[2] + ",AUTO -1 NA"], - ["profile_link " + self.uplink_resource_1 + " uplink-nat 1 'DUT: upstream LAN " + self.upstream_subnet + "' NA " + self.uplink_port_1.split(".")[2] + "," + self.upstream_port_1.split(".")[2] + " -1 NA"] - ] + ["profile_link " + self.upstream_resource_1 + " upstream-dhcp 1 NA NA " + + self.upstream_port_1.split(".")[2] + ",AUTO -1 NA"], + [ + "profile_link " + self.uplink_resource_1 + " uplink-nat 1 'DUT: upstream LAN " + self.upstream_subnet + "' NA " + + self.uplink_port_1.split(".")[2] + "," + self.upstream_port_1.split(".")[2] + " -1 NA"] + ] self.CreateChamberview = CreateChamberview(self.lanforge_ip, self.lanforge_port) else: self.lanforge_ip = lanforge_data["ip"] @@ -90,10 +93,10 @@ class ChamberView: self.ssid_list = [] self.staConnect = StaConnect2(self.lanforge_ip, self.lanforge_port, debug_=self.debug) self.raw_line = [ - ["profile_link " + self.upstream_resources + " upstream-dhcp 1 NA NA " + self.upstream_port.split(".") - [2] + ",AUTO -1 NA"], - ["profile_link " + self.uplink_resources + " uplink-nat 1 'DUT: upstream LAN " + self.upstream_subnet - + "' NA " + self.uplink_port.split(".")[2] + "," + self.upstream_port.split(".")[2] + " -1 NA"] + ["profile_link " + self.upstream_resources + " upstream-dhcp 1 NA NA " + self.upstream_port.split(".") + [2] + ",AUTO -1 NA"], + ["profile_link " + self.uplink_resources + " uplink-nat 1 'DUT: upstream LAN " + self.upstream_subnet + + "' NA " + self.uplink_port.split(".")[2] + "," + self.upstream_port.split(".")[2] + " -1 NA"] ] # This is for rawline input | see create_chamberview_dut.py for more details @@ -315,7 +318,9 @@ class ChamberView: def read_csv_individual_station_throughput(self, dir_name, option): try: - df = pd.read_csv("../reports/" + str(dir_name) + "/csv-data/data-Combined_bps__60_second_running_average-1.csv", sep=r'\t', engine='python') + df = pd.read_csv( + "../reports/" + str(dir_name) + "/csv-data/data-Combined_bps__60_second_running_average-1.csv", + sep=r'\t', engine='python') print("csv file opened") except FileNotFoundError: print("csv file does not exist") @@ -367,7 +372,7 @@ class ChamberView: def create_mesh(self): upstream_list = [] - for data in range(0,len(self.access_point_data)): + for data in range(0, len(self.access_point_data)): self.CreateDut = DUT(lfmgr=self.lanforge_ip, port=self.lanforge_port, dut_name="upstream" + str(data)) @@ -376,14 +381,23 @@ class ChamberView: upstream_list.append(name) self.CreateDut.setup() - data = data + 1 + data = data + 1 self.raw_line = [ - ["profile_link " + self.upstream_resource_2 + " upstream-dhcp 1 NA NA " + self.upstream_port_2.split(".")[2] + ",AUTO -1 NA"], - ["profile_link " + self.uplink_resource_2 + " uplink-nat 1 'DUT: " + str(upstream_list[0]) + " LAN " + self.upstream_subnet + "' NA " + self.uplink_port_2.split(".")[2] + "," + self.upstream_port_2.split(".")[2] + " -1 NA"], - ["profile_link " + self.upstream_resource_3 + " upstream-dhcp 1 NA NA " + self.upstream_port_3.split(".")[2] + ",AUTO -1 NA"], - ["profile_link " + self.uplink_resource_3 + " uplink-nat 1 'DUT: " + str(upstream_list[1]) + " LAN " + self.upstream_subnet + "' NA " + self.uplink_port_3.split(".")[2] + "," + self.upstream_port_3.split(".")[2] + " -1 NA"], - ["profile_link " + self.upstream_resource_4 + " upstream-dhcp 1 NA NA " + self.upstream_port_4.split(".")[2] + ",AUTO -1 NA"], - ["profile_link " + self.uplink_resource_4 + " uplink-nat 1 'DUT: " + str(upstream_list[2]) + " LAN " + self.upstream_subnet + "' NA " + self.uplink_port_4.split(".")[2] + "," + self.upstream_port_4.split(".")[2] + " -1 NA"] + ["profile_link " + self.upstream_resource_2 + " upstream-dhcp 1 NA NA " + self.upstream_port_2.split(".")[ + 2] + ",AUTO -1 NA"], + ["profile_link " + self.uplink_resource_2 + " uplink-nat 1 'DUT: " + str( + upstream_list[0]) + " LAN " + self.upstream_subnet + "' NA " + self.uplink_port_2.split(".")[2] + "," + + self.upstream_port_2.split(".")[2] + " -1 NA"], + ["profile_link " + self.upstream_resource_3 + " upstream-dhcp 1 NA NA " + self.upstream_port_3.split(".")[ + 2] + ",AUTO -1 NA"], + ["profile_link " + self.uplink_resource_3 + " uplink-nat 1 'DUT: " + str( + upstream_list[1]) + " LAN " + self.upstream_subnet + "' NA " + self.uplink_port_3.split(".")[2] + "," + + self.upstream_port_3.split(".")[2] + " -1 NA"], + ["profile_link " + self.upstream_resource_4 + " upstream-dhcp 1 NA NA " + self.upstream_port_4.split(".")[ + 2] + ",AUTO -1 NA"], + ["profile_link " + self.uplink_resource_4 + " uplink-nat 1 'DUT: " + str( + upstream_list[2]) + " LAN " + self.upstream_subnet + "' NA " + self.uplink_port_4.split(".")[2] + "," + + self.upstream_port_4.split(".")[2] + " -1 NA"] ] print(self.raw_line) mesh = self.Chamber_View() @@ -406,87 +420,89 @@ class ChamberView: ) self.Create_Dut() + def main(): # lanforge_data = {'ip': 'localhost', 'port': 8802, 'ssh_port': 8804, '2.4G-Radio': ['1.1.wiphy0', '1.1.wiphy2'], '5G-Radio': ['1.1.wiphy1', '1.1.wiphy3'], 'AX-Radio': ['1.1.wiphy4', '1.1.wiphy5', '1.1.wiphy6', '1.1.wiphy7'], 'upstream': '1.1.eth2', 'upstream_subnet': '10.28.2.1/24', 'uplink': '1.1.eth1', '2.4G-Station-Name': 'sta00', '5G-Station-Name': 'sta10', 'AX-Station-Name': 'ax'} lanforge_data = { - "type": "mesh", - "ip": "localhost", # 10.28.3.14 - "port": 8802, # 8080 - "ssh_port": 8804, - "2.4G-Radio-mobile-sta": ["1.1.wiphy0", "1.1.wiphy2"], - "5G-Radio-mobile-sta": ["1.1.wiphy1", "1.1.wiphy3"], - "AX-Radio-mobile-sta": ["1.1.wiphy4", "1.1.wiphy5", "1.1.wiphy6", "1.1.wiphy7"], - "upstream-mobile-sta": "1.1.eth2", - "upstream_subnet-mobile-sta": "10.28.2.1/24", - "uplink-mobile-sta": "1.1.eth3", - "2.4G-Radio-root": ["1.2.wiphy0"], - "5G-Radio-root": ["1.2.wiphy1"], - "AX-Radio-root": [], - "upstream-root": "1.2.eth2", - "upstream_subnet-root": "10.28.2.1/24", - "uplink-root": "1.2.eth3", - "2.4G-Radio-node-1": ["1.3.wiphy0"], - "5G-Radio-node-1": ["1.3.wiphy1"], - "AX-Radio-node-1": [], - "upstream-node-1": "1.3.eth2", - "upstream_subnet-node-1": "10.28.2.1/24", - "uplink--node-1": "1.3.eth3", - "2.4G-Radio-node-2": ["1.4.wiphy0"], - "5G-Radio-node-2": ["1.4.wiphy1"], - "AX-Radio-node-2": [], - "upstream-node-2": "1.4.eth2", - "upstream_subnet-node-2": "10.28.2.1/24", - "uplink--node-2": "1.4.eth3", - "2.4G-Station-Name": "wlan0", - "5G-Station-Name": "wlan0", - "AX-Station-Name": "ax" - } + "type": "mesh", + "ip": "localhost", # 10.28.3.14 + "port": 8802, # 8080 + "ssh_port": 8804, + "2.4G-Radio-mobile-sta": ["1.1.wiphy0", "1.1.wiphy2"], + "5G-Radio-mobile-sta": ["1.1.wiphy1", "1.1.wiphy3"], + "AX-Radio-mobile-sta": ["1.1.wiphy4", "1.1.wiphy5", "1.1.wiphy6", "1.1.wiphy7"], + "upstream-mobile-sta": "1.1.eth2", + "upstream_subnet-mobile-sta": "10.28.2.1/24", + "uplink-mobile-sta": "1.1.eth3", + "2.4G-Radio-root": ["1.2.wiphy0"], + "5G-Radio-root": ["1.2.wiphy1"], + "AX-Radio-root": [], + "upstream-root": "1.2.eth2", + "upstream_subnet-root": "10.28.2.1/24", + "uplink-root": "1.2.eth3", + "2.4G-Radio-node-1": ["1.3.wiphy0"], + "5G-Radio-node-1": ["1.3.wiphy1"], + "AX-Radio-node-1": [], + "upstream-node-1": "1.3.eth2", + "upstream_subnet-node-1": "10.28.2.1/24", + "uplink--node-1": "1.3.eth3", + "2.4G-Radio-node-2": ["1.4.wiphy0"], + "5G-Radio-node-2": ["1.4.wiphy1"], + "AX-Radio-node-2": [], + "upstream-node-2": "1.4.eth2", + "upstream_subnet-node-2": "10.28.2.1/24", + "uplink--node-2": "1.4.eth3", + "2.4G-Station-Name": "wlan0", + "5G-Station-Name": "wlan0", + "AX-Station-Name": "ax" + } # ap_data = [{'model': 'wf188n', 'mode': 'wifi6', 'serial': '0000c1018812', 'jumphost': True, 'ip': 'localhost', 'username': 'lanforge', 'password': 'pumpkin77', 'port': 8803, 'jumphost_tty': '/dev/ttyAP1', 'version': 'https://tip.jfrog.io/artifactory/tip-wlan-ap-firmware/uCentral/cig_wf188/20210729-cig_wf188-v2.0.0-rc2-ec3662e-upgrade.bin'}] ap_data = [ - { - 'type' : 'root', - 'model': 'eap101', - 'mode': 'wifi6', - 'serial': '34efb6af4a7a', - 'jumphost': True, - 'ip': "localhost", # 10\.28\.3\.101 - 'username': "lanforge", - 'password': "pumpkin77", - 'port': 8803, # 22 - 'jumphost_tty': '/dev/ttyAP2', - 'version': "latest" - }, - { - 'type': 'node-1', - 'model': 'eap101', - 'mode': 'wifi6', - 'serial': '34efb6af4903', - 'jumphost': True, - 'ip': "localhost", #10\.28\.3\.101 - 'username': "lanforge", - 'password': "pumpkin77", - 'port': 8803, # 22 - 'jumphost_tty': '/dev/ttyAP3', - 'version': "latest" - }, - { - 'type' : 'node-2', - 'model': 'eap102', - 'mode': 'wifi6', - 'serial': '34efb6af4a7a', - 'jumphost': True, - 'ip': "localhost", # 10\.28\.3\.101 - 'username': "lanforge", - 'password': "pumpkin77", - 'port': 8803, # 22 - 'jumphost_tty': '/dev/ttyAP4', - 'version': "https://tip.jfrog.io/artifactory/tip-wlan-ap-firmware/eap101/trunk/eap101-1.1.0.tar.gz" - } - ] + { + 'type': 'root', + 'model': 'eap101', + 'mode': 'wifi6', + 'serial': '34efb6af4a7a', + 'jumphost': True, + 'ip': "localhost", # 10\.28\.3\.101 + 'username': "lanforge", + 'password': "pumpkin77", + 'port': 8803, # 22 + 'jumphost_tty': '/dev/ttyAP2', + 'version': "latest" + }, + { + 'type': 'node-1', + 'model': 'eap101', + 'mode': 'wifi6', + 'serial': '34efb6af4903', + 'jumphost': True, + 'ip': "localhost", # 10\.28\.3\.101 + 'username': "lanforge", + 'password': "pumpkin77", + 'port': 8803, # 22 + 'jumphost_tty': '/dev/ttyAP3', + 'version': "latest" + }, + { + 'type': 'node-2', + 'model': 'eap102', + 'mode': 'wifi6', + 'serial': '34efb6af4a7a', + 'jumphost': True, + 'ip': "localhost", # 10\.28\.3\.101 + 'username': "lanforge", + 'password': "pumpkin77", + 'port': 8803, # 22 + 'jumphost_tty': '/dev/ttyAP4', + 'version': "https://tip.jfrog.io/artifactory/tip-wlan-ap-firmware/eap101/trunk/eap101-1.1.0.tar.gz" + } + ] testbed = "mesh" obj = ChamberView(lanforge_data=lanforge_data, access_point_data=ap_data, testbed="mesh") obj.create_mesh_dut() obj.create_mesh() + if __name__ == '__main__': - main() \ No newline at end of file + main() From 1763446c2354d360f0e3d90e876b7e77a6671158 Mon Sep 17 00:00:00 2001 From: KvSaiMahesh Date: Fri, 10 Dec 2021 01:09:18 +0530 Subject: [PATCH 08/24] made changes setup_profiles function in wap2_enterprise Signed-off-by: KvSaiMahesh --- tests/fixtures_2x.py | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/tests/fixtures_2x.py b/tests/fixtures_2x.py index e5f0d7bb0..18e146ffc 100644 --- a/tests/fixtures_2x.py +++ b/tests/fixtures_2x.py @@ -485,6 +485,13 @@ class Fixtures_2x: test_cases["wpa2_personal"] = False # EAP SSID Modes if mode == "wpa2_enterprise": + for j in profile_data["ssid"][mode]: + if "radius_auth_data" in j: + print("yes") + var = True + else: + print("no") + var = False for j in profile_data["ssid"][mode]: if mode in get_markers.keys() and get_markers[mode]: try: @@ -494,12 +501,20 @@ class Fixtures_2x: lf_dut_data.append(j) j["appliedRadios"] = list(set(j["appliedRadios"])) j['security'] = 'wpa2' - RADIUS_SERVER_DATA = radius_info - RADIUS_ACCOUNTING_DATA = radius_accounting_info - creates_profile = instantiate_profile_obj.add_ssid(ssid_data=j, radius=True, - radius_auth_data=RADIUS_SERVER_DATA, - radius_accounting_data=RADIUS_ACCOUNTING_DATA) - test_cases["wpa_2g"] = True + if var: + RADIUS_SERVER_DATA = j["radius_auth_data"] + RADIUS_ACCOUNTING_DATA = j['radius_acc_data'] + creates_profile = instantiate_profile_obj.add_ssid(ssid_data=j, radius=True, + radius_auth_data=RADIUS_SERVER_DATA, + radius_accounting_data=RADIUS_ACCOUNTING_DATA) + test_cases["wpa_2g"] = True + else: + RADIUS_SERVER_DATA = radius_info + RADIUS_ACCOUNTING_DATA = radius_accounting_info + creates_profile = instantiate_profile_obj.add_ssid(ssid_data=j, radius=True, + radius_auth_data=RADIUS_SERVER_DATA, + radius_accounting_data=RADIUS_ACCOUNTING_DATA) + test_cases["wpa_2g"] = True except Exception as e: print(e) test_cases["wpa2_personal"] = False From 8257f9b45463889e3de556b2a63943cb2192ecfb Mon Sep 17 00:00:00 2001 From: KvSaiMahesh Date: Fri, 10 Dec 2021 01:20:42 +0530 Subject: [PATCH 09/24] added marker Signed-off-by: KvSaiMahesh --- .../bridge_mode/fiveg/test_dynamc_vlan_fiveg.py | 2 +- .../bridge_mode/fiveg/test_dynamic_over_ssid_fiveg.py | 10 +++++----- .../bridge_mode/twog/test_dynamc_vlan_twog.py | 4 ++-- .../bridge_mode/twog/test_dynamic_over_ssid_twog.py | 10 +++++----- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/fiveg/test_dynamc_vlan_fiveg.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/fiveg/test_dynamc_vlan_fiveg.py index ada0af030..13a5840f1 100644 --- a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/fiveg/test_dynamc_vlan_fiveg.py +++ b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/fiveg/test_dynamc_vlan_fiveg.py @@ -12,7 +12,7 @@ import time from configuration import DYNAMIC_VLAN_RADIUS_SERVER_DATA from configuration import DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA -pytestmark = [pytest.mark.regression, pytest.mark.dynamic_vlan, pytest.mark.wpa2_enterprise, pytest.mark.bridge,pytest.mark.] +pytestmark = [pytest.mark.regression, pytest.mark.dynamic_vlan, pytest.mark.wpa2_enterprise, pytest.mark.bridge,pytest.mark.fiveg] setup_params_general = { "mode": "BRIDGE", diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/fiveg/test_dynamic_over_ssid_fiveg.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/fiveg/test_dynamic_over_ssid_fiveg.py index 4f604dccf..b7a95fdf1 100644 --- a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/fiveg/test_dynamic_over_ssid_fiveg.py +++ b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/fiveg/test_dynamic_over_ssid_fiveg.py @@ -1,7 +1,7 @@ """ - Dynamic_Vlan: Bridge Mode - pytest -m "dynamic_vlan and wpa2_personal and bridge" + Dynamic_Vlan: VLAN Mode + pytest -m "dynamic_vlan and wpa2_enterprise and vlan" """ @@ -11,7 +11,7 @@ import pytest from configuration import DYNAMIC_VLAN_RADIUS_SERVER_DATA from configuration import DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA -pytestmark = [pytest.mark.regression, pytest.mark.dynamic_vlan, pytest.mark.wpa2_enterprise, pytest.mark.vlan] +pytestmark = [pytest.mark.regression, pytest.mark.dynamic_vlan, pytest.mark.wpa2_enterprise, pytest.mark.vlan,pytest.mark.fiveg] setup_params_general = { "mode": "VLAN", @@ -29,7 +29,7 @@ setup_params_general = { @allure.suite("regression") -@allure.feature("BRIDGE MODE wpa2_enterprise Dynamic Vlan") +@allure.feature("VLAN MODE wpa2_enterprise Dynamic Vlan") @pytest.mark.parametrize( 'setup_profiles', [setup_params_general], @@ -59,7 +59,7 @@ class TestDynamicVlan(object): print(upstream_port) port_resources = upstream_port.split(".") print(lf_tools.dut_idx_mapping) - #lf_tools.reset_scenario() + lf_tools.reset_scenario() lf_tools.add_vlan(vlan_ids=vlan) lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/twog/test_dynamc_vlan_twog.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/twog/test_dynamc_vlan_twog.py index 102e905a7..c33fb5c7b 100644 --- a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/twog/test_dynamc_vlan_twog.py +++ b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/twog/test_dynamc_vlan_twog.py @@ -1,7 +1,7 @@ """ Dynamic_Vlan: Bridge Mode - pytest -m "dynamic_vlan and wpa2_personal and bridge" + pytest -m "dynamic_vlan and wpa2_enterprise and bridge" """ @@ -12,7 +12,7 @@ import time from configuration import DYNAMIC_VLAN_RADIUS_SERVER_DATA from configuration import DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA -pytestmark = [pytest.mark.regression, pytest.mark.dynamic_vlan, pytest.mark.wpa2_enterprise, pytest.mark.bridge] +pytestmark = [pytest.mark.regression, pytest.mark.dynamic_vlan, pytest.mark.wpa2_enterprise, pytest.mark.bridge,pytest.mark.twog] setup_params_general = { "mode": "BRIDGE", diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/twog/test_dynamic_over_ssid_twog.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/twog/test_dynamic_over_ssid_twog.py index 230a7cad6..012e946ee 100644 --- a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/twog/test_dynamic_over_ssid_twog.py +++ b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/twog/test_dynamic_over_ssid_twog.py @@ -1,7 +1,7 @@ """ - Dynamic_Vlan: Bridge Mode - pytest -m "dynamic_vlan and wpa2_personal and bridge" + Dynamic_Vlan: VLAN Mode + pytest -m "dynamic_vlan and wpa2_enterprise and vlan" """ @@ -11,7 +11,7 @@ import pytest from configuration import DYNAMIC_VLAN_RADIUS_SERVER_DATA from configuration import DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA -pytestmark = [pytest.mark.regression, pytest.mark.dynamic_vlan, pytest.mark.wpa2_enterprise, pytest.mark.vlan] +pytestmark = [pytest.mark.regression, pytest.mark.dynamic_vlan, pytest.mark.wpa2_enterprise, pytest.mark.vlan,pytest.mark.twog] setup_params_general = { "mode": "VLAN", @@ -29,7 +29,7 @@ setup_params_general = { @allure.suite("regression") -@allure.feature("BRIDGE MODE wpa2_enterprise Dynamic Vlan") +@allure.feature("VLAN MODE wpa2_enterprise Dynamic Vlan") @pytest.mark.parametrize( 'setup_profiles', [setup_params_general], @@ -59,7 +59,7 @@ class TestDynamicVlan(object): print(upstream_port) port_resources = upstream_port.split(".") print(lf_tools.dut_idx_mapping) - #lf_tools.reset_scenario() + lf_tools.reset_scenario() lf_tools.add_vlan(vlan_ids=vlan) lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], From 14654e23257f04db84ee2b3b528795ed492cbd27 Mon Sep 17 00:00:00 2001 From: KvSaiMahesh Date: Sat, 11 Dec 2021 15:21:46 +0530 Subject: [PATCH 10/24] added dynamic vlan twog and fiveg testcases Signed-off-by: KvSaiMahesh --- .../wpa2_enterprise/fiveg/__init__.py | 0 .../fiveg/test_dynamc_vlan_fiveg.py | 596 ++++++++++++++++++ .../fiveg/test_dynamic_over_ssid_fiveg.py | 103 +++ .../wpa2_enterprise/twog/__init__.py | 0 .../twog/test_dynamc_vlan_twog.py | 586 +++++++++++++++++ .../twog/test_dynamic_over_ssid_twog.py | 104 +++ 6 files changed, 1389 insertions(+) create mode 100644 tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/__init__.py create mode 100644 tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamc_vlan_fiveg.py create mode 100644 tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamic_over_ssid_fiveg.py create mode 100644 tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/__init__.py create mode 100644 tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamc_vlan_twog.py create mode 100644 tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamic_over_ssid_twog.py diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/__init__.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamc_vlan_fiveg.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamc_vlan_fiveg.py new file mode 100644 index 000000000..0d9762bcd --- /dev/null +++ b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamc_vlan_fiveg.py @@ -0,0 +1,596 @@ +""" + + Dynamic_Vlan: Bridge Mode + pytest -m "dynamic_vlan and wpa2_enterprise and vlan" + +""" + +import os +import allure +import pytest +import time +from configuration import DYNAMIC_VLAN_RADIUS_SERVER_DATA +from configuration import DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA + +pytestmark = [pytest.mark.regression, pytest.mark.dynamic_vlan, pytest.mark.wpa2_enterprise, pytest.mark.vlan,pytest.mark.fiveg] + +setup_params_general = { + "mode": "VLAN", + "ssid_modes": { + "wpa2_enterprise": [ + {"ssid_name": "ssid_wpa2e_5g", "appliedRadios": ["5G"], + "security_key": "something", + "radius_auth_data": DYNAMIC_VLAN_RADIUS_SERVER_DATA, + "radius_acc_data": DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA, + "vlan":100 + }]}, + "rf": {}, + "radius": True +} + + +@allure.suite("regression") +@allure.feature("VLAN MODE wpa2_enterprise Dynamic Vlan") +@pytest.mark.parametrize( + 'setup_profiles', + [setup_params_general], + indirect=True, + scope="class" +) +@pytest.mark.usefixtures("setup_profiles") +class TestDynamicVlan(object): + + @pytest.mark.absence_of_radius_vlan_identifier + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @allure.testcase(name="test_dynamic_vlan_in_the_absence_of_radius_vlan_identifier", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5704") + def test_dynamic_vlan_in_the_absence_of_radius_vlan_identifier(self, get_vif_state, lf_tools,get_lf_logs,get_ap_logs, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_fiveg): + """ + pytest -m " absence_of_radius_vlan_identifier and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_5G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan_id = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan_id]) + lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="fiveg", + station_name=station_names_fiveg, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordvlannotsentuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="vlannotsentuser", d_vlan=True) + + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_fiveg[0]].split('.') + print(sta_ip_1) + eth_ip_1 = eth_ip.split('.') + print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) + print("upstream ip...", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan_id))) + allure.attach(name="ssid configured vlan ip..",body=str(vlan_id)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Station ip not assigned as per ssid vlan") + assert False + else: + assert True + + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan_id))) + allure.attach(name="ssid configured vlan ip..", body=str(vlan_id)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Station ip assigned as per ssid vlan") + + @pytest.mark.invalidradiusvlan + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @allure.testcase(name="test_dynamic_invalid_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5706") + def test_dynamic_invalid_vlan(self, get_vif_state, lf_tools,get_lf_logs,get_ap_logs, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_fiveg): + """ + pytest -m "invalidradiusvlan and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_5G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan_id = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan_id]) + + lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="fiveg", vlan_id=vlan_id, + station_name=station_names_fiveg, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordinvalidvlanuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="invalidvlanuser", d_vlan=True) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan_id))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_fiveg[0]].split('.') + eth_vlan_ip_1 = eth_ip.split('.') + print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) + print("upstream port ip...", eth_vlan_ip) + print("eth_vlan_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan_id))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Station ip not assigned as per vlan") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan_id))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Station ip assigned as per vlan") + + @pytest.mark.periodic_reauthentication + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @allure.testcase(name="test_dynamic_periodic_reauthentication_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5707") + def test_dynamic_periodic_reauthentication_vlan(self, get_vif_state, lf_tools,get_lf_logs,get_ap_logs, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_fiveg): + """ + pytest -m "periodic_reauthentication and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_5G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + # lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan]) + + lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="fiveg", vlan_id=vlan, + station_name=station_names_fiveg, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordA", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="userA", d_vlan=True, cleanup=True) + + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + sta_ip = lf_test.station_ip[station_names_fiveg[0]] + + count = 0 + # print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) + # print("vlan ip...", eth_vlan_ip) + # print("eth_vlan_ip..", eth_ip) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] + eth_vlan_ip_1 = eth_vlan_ip.split('.') + sta_ip_1 = sta_ip.split('.') + print(sta_ip_1) + for k in range(0, 2): + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + break + else: + if count == 2: + break #allure.attach(name="station ip",body=str(sta_ip)) + continue + count = count + 1 + time.sleep(30) + lf_tools.admin_up_down([station_names_fiveg[0]], option="up") + + sta_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + station_names_fiveg[0])["interface"]["ip"] + sta_ip_1 = sta_ip.split('.') + print(sta_ip) + if count == 2: + print(count) + print("sta_ip..",sta_ip) + assert True + allure.attach(name="station ip....", body=str(sta_ip)) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Station ip assigned as per dynamic vlan") + elif count == 0: + allure.attach(name="station ip....", body=str(sta_ip)) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Station ip not assigned as per dynamic vlan") + assert False + + @pytest.mark.absenceofvlanid + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @allure.testcase(name="test_dynamic_absence_of_vlanid", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5708") + def test_dynamic_absence_of_vlanid(self, get_vif_state, lf_tools,get_lf_logs,get_ap_logs, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_fiveg): + """ + pytest -m "absenceofvlanid and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_5G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan]) + + lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="fiveg", vlan_id=vlan, + station_name=station_names_fiveg, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordvlannotsentuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="vlannotsentuser", d_vlan=True) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_fiveg[0]].split('.') + eth_vlan_ip_1 = eth_ip.split('.') + print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) + print("vlan ip...", eth_vlan_ip) + print("eth_vlan_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Station ip not assigned as per vlan") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Station ip assigned as per dynamic vlan") + ''' + @pytest.mark.unsupported + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @allure.testcase(name="test_dynamic_unsupported_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5710") + def test_dynamic_unsupported_vlan(self, get_vif_state, lf_tools, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_fiveg): + """ + pytest -m "unsupported and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_5G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan]) + + lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="fiveg", vlan_id=100, + station_name=station_names_fiveg, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordinvalidvlanuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="invalidvlanuser", d_vlan=True) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_fiveg[0]].split('.') + eth_vlan_ip_1 = eth_ip.split('.') + print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) + print("vlan ip...", eth_vlan_ip) + print("eth_vlan_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + print("Station ip not assigned as per vlan") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + allure.attach(name="vlan ip....", body=str(eth_ip)) + print("Station ip assigned as per vlan") + ''' + @pytest.mark.outofboundvlanid + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @allure.testcase(name="test_dynamic_outof_bound_vlanid", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5711") + def test_dynamic_outof_bound_vlanid(self, get_vif_state, lf_tools,get_lf_logs,get_ap_logs, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_fiveg): + """ + pytest -m "outofboundvlanid and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_5G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan]) + + lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="fiveg", vlan_id=vlan, + station_name=station_names_fiveg, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordoutofboundvlanuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="outofboundvlanuser", d_vlan=True) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + if lf_test.station_ip[station_names_fiveg[0]] == "0.0.0.0": + print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) + assert True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Test Passsed...Client Connection failed") + + @pytest.mark.client_association_ap_with_dynamic_vlan + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @allure.testcase(name="test_client_association_ap_with_dynamic_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5712") + def test_client_association_ap_with_dynamic_vlan(self, get_vif_state, lf_tools, get_ap_logs,get_lf_logs, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_fiveg): + """ + pytest -m "client_association_ap_with_dynamic_vlan and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_5G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = [100, 200] + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=vlan) + + lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="fiveg", vlan_id=vlan[0], + station_name=station_names_fiveg, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordB", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="userB", d_vlan=True) + + eth_ssid_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan[0]))["interface"]["ip"] + + eth_radius_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan[1]))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_fiveg[0]].split('.') + eth_vlan_ip_1 = eth_radius_vlan_ip.split('.') + print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) + print("vlan ip...", eth_radius_vlan_ip) + print("eth_bridge_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan[0]))) + allure.attach(name="ssid configured vlan ip....", body=str(eth_ssid_vlan_ip)) + allure.attach(name="radius configured vlan..", body=str(port_resources[2] + "." + str(vlan[1]))) + allure.attach(name="radius configured vlan ip....", body=str(eth_radius_vlan_ip)) + allure.attach(name="bridge ip....", body=str(eth_ip)) + print("Station ip not assigned as per vlan") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan[0]))) + allure.attach(name="ssid configured vlan ip....", body=str(eth_ssid_vlan_ip)) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan[1]))) + allure.attach(name="radius configured vlan ip....", body=str(eth_radius_vlan_ip)) + allure.attach(name="bridge ip....", body=str(eth_ip)) + print("Station ip assigned as per dynamic vlan") + + @pytest.mark.subsequent_user_for_same_user_account + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @allure.testcase(name="test_subsequent_user_for_same_user_account_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5705") + def test_subsequent_user_for_same_user_account_vlan(self, get_vif_state, lf_tools,get_lf_logs, + get_ap_logs, + create_lanforge_chamberview_dut, lf_test, + get_configuration, + station_names_fiveg): + """ + pytest -m "subsequent_user_for_same_user_account and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_5G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.add_vlan(vlan_ids=[vlan]) + lf_tools.reset_scenario() + station_list = [] + sta_ip = [] + for i in range(0, 2): + station_list.append(lf_tools.fiveg_prefix + str(i)) + print(station_list) + print([station_list[0]]) + + for m in range(0, len(station_list)): + lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="fiveg", vlan_id=100, + station_name=[station_list[m]], key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordA", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="userA", d_vlan=True, cleanup=True) + lf_tools.admin_up_down([station_list[m]], option="up") + sta_ip.append(lf_test.station_ip[station_list[m]]) + print(sta_ip) + time.sleep(30) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + eth_vlan_ip_1 = eth_vlan_ip.split('.') + for n in range(0, len(station_list)): + sta_ip_1 = sta_ip[n].split('.') + print("station ip...", sta_ip[n]) + print("vlan ip...", eth_vlan_ip) + print("eth_vlan_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(sta_ip[n])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Station ip not assigned as per dynamic vlan") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(sta_ip[n])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Station ip assigned as per dynamic vlan") + + @pytest.mark.subsequent_user_for_different_user_account + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @allure.testcase(name="test_subsequent_user_for_different_user_account_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5714") + def test_subsequent_user_for_different_user_account(self, get_vif_state, lf_tools,get_lf_logs, + get_ap_logs, + create_lanforge_chamberview_dut, lf_test, + get_configuration, + station_names_fiveg): + """ + pytest -m "subsequent_user_for_different_user_account and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_5G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = [100, 200] + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.add_vlan(vlan_ids=vlan) + lf_tools.reset_scenario() + station_list = [] + sta_ip = [] + dynamic_vlan_user = ["userA", "userB"] + dynamic_vlan_pass = ["passwordA", "passwordB"] + for i in range(0, 2): + station_list.append(lf_tools.fiveg_prefix + str(i)) + + for user_id, user_pass, sta in zip(dynamic_vlan_user, dynamic_vlan_pass, range(0, len(station_list))): + lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="fiveg", vlan_id=vlan[sta], + station_name=[station_list[sta]], key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd=user_pass, ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity=user_id, d_vlan=True, cleanup=True) + + sta_ip.append(lf_test.station_ip[station_list[sta]]) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan[sta]))["interface"]["ip"] + + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + eth_vlan_ip_1 = eth_vlan_ip.split('.') + print(sta_ip) + sta_ip_1 = sta_ip[sta].split('.') + print("station ip...", lf_test.station_ip[station_list[sta]]) + print("vlan ip...", eth_vlan_ip) + print("eth_vlan_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(sta_ip[sta])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Station ip not assigned as per dynamic vlan") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(sta_ip[sta])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Station ip assigned as per dynamic vlan") + lf_tools.admin_up_down([station_list[sta]], option="up") + time.sleep(5) diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamic_over_ssid_fiveg.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamic_over_ssid_fiveg.py new file mode 100644 index 000000000..125597666 --- /dev/null +++ b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamic_over_ssid_fiveg.py @@ -0,0 +1,103 @@ +""" + + Dynamic_Vlan: VLAN Mode + pytest -m "dynamic_vlan and wpa2_enterprise and vlan" + +""" + +import os +import allure +import pytest +from configuration import DYNAMIC_VLAN_RADIUS_SERVER_DATA +from configuration import DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA + +pytestmark = [pytest.mark.regression, pytest.mark.dynamic_vlan, pytest.mark.wpa2_enterprise, pytest.mark.vlan,pytest.mark.fiveg] + +setup_params_general = { + "mode": "VLAN", + "ssid_modes": { + "wpa2_enterprise": [ + {"ssid_name": "ssid_wpa2e_5g", "appliedRadios": ["5G"], + "security_key": "something", + "radius_auth_data": DYNAMIC_VLAN_RADIUS_SERVER_DATA, + "radius_acc_data": DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA, + "vlan": 100 + }]}, + "rf": {}, + "radius": True +} + + +@allure.suite("regression") +@allure.feature("VLAN MODE wpa2_enterprise Dynamic Vlan") +@pytest.mark.parametrize( + 'setup_profiles', + [setup_params_general], + indirect=True, + scope="class" +) +@pytest.mark.usefixtures("setup_profiles") +class TestDynamicVlan(object): + + @pytest.mark.dynamic_precedence_over_ssid + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @allure.testcase(name="test_dynamic_precedence_over_ssid_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5705") + def test_dynamic_precedence_over_ssid_vlan(self, get_vif_state, lf_tools,get_ap_logs,get_lf_logs, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_fiveg): + """ + pytest -m "dynamic_precedence_over_ssid and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_5G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = [100,200] + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=vlan) + + lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="fiveg", vlan_id=vlan[0], + station_name=station_names_fiveg, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordB", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="userB", d_vlan=True) + + eth_ssid_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan[0]))["interface"]["ip"] + + eth_radius_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan[1]))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_fiveg[0]].split('.') + eth_vlan_ip_1 = eth_radius_vlan_ip.split('.') + print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) + print("vlan ip...", eth_radius_vlan_ip) + print("eth_bridge_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) + allure.attach(name="ssid configured vlan..",body=str(port_resources[2] + "." + str(vlan[0]))) + allure.attach(name="ssid configured vlan ip....", body=str(eth_ssid_vlan_ip)) + allure.attach(name="radius configured vlan..", body=str(port_resources[2] + "." + str(vlan[1]))) + allure.attach(name="radius configured vlan ip....", body=str(eth_radius_vlan_ip)) + allure.attach(name="bridge ip....", body=str(eth_ip)) + print("Station ip not assigned as per vlan") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan[0]))) + allure.attach(name="ssid configured vlan ip....", body=str(eth_ssid_vlan_ip)) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan[1]))) + allure.attach(name="radius configured vlan ip....", body=str(eth_radius_vlan_ip)) + allure.attach(name="bridge ip....", body=str(eth_ip)) + print("Station ip assigned as per dynamic vlan") \ No newline at end of file diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/__init__.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamc_vlan_twog.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamc_vlan_twog.py new file mode 100644 index 000000000..99bc38206 --- /dev/null +++ b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamc_vlan_twog.py @@ -0,0 +1,586 @@ +""" + + Dynamic_Vlan: Bridge Mode + pytest -m "dynamic_vlan and wpa2_enterprise and bridge" + +""" + +import os +import allure +import pytest +import time +from configuration import DYNAMIC_VLAN_RADIUS_SERVER_DATA +from configuration import DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA + +pytestmark = [pytest.mark.regression, pytest.mark.dynamic_vlan, pytest.mark.wpa2_enterprise, pytest.mark.vlan,pytest.mark.twog] + +setup_params_general = { + "mode": "VLAN", + "ssid_modes": { + "wpa2_enterprise": [ + {"ssid_name": "ssid_wpa2e_2g", "appliedRadios": ["2G"], + "security_key": "something", + "radius_auth_data": DYNAMIC_VLAN_RADIUS_SERVER_DATA, + "radius_acc_data": DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA, + "vlan":100 + }]}, + "rf": {}, + "radius": True +} + + +@allure.suite("regression") +@allure.feature("VLAN MODE wpa2_enterprise Dynamic Vlan") +@pytest.mark.parametrize( + 'setup_profiles', + [setup_params_general], + indirect=True, + scope="class" +) +@pytest.mark.usefixtures("setup_profiles") +class TestDynamicVlan(object): + + @pytest.mark.absence_of_radius_vlan_identifier + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @allure.testcase(name="test_dynamic_vlan_in_the_absence_of_radius_vlan_identifier", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5704") + def test_dynamic_vlan_in_the_absence_of_radius_vlan_identifier(self, get_vif_state, lf_tools,get_ap_logs, + get_lf_logs, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_twog): + """ + pytest -m " absence_of_radius_vlan_identifier and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_2G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan_id = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan_id]) + lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog", + station_name=station_names_twog, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordvlannotsentuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="vlannotsentuser", d_vlan=True) + + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + eth_ssid_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan_id))["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') + print(sta_ip_1) + eth_ip_1 = eth_ip.split('.') + print("station ip...", lf_test.station_ip[station_names_twog[0]]) + print("bridge ip...", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + allure.attach(name="ssid configured vlan ..", body=str(port_resources[2] + "." + str(vlan_id))) + allure.attach(name="ssid configured vlan ip....", body=str(eth_ssid_vlan_ip)) + print("Station ip not assigned as per ssid configured vlan") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + allure.attach(name="ssid configured vlan ..", body=str(port_resources[2] + "." + str(vlan_id))) + allure.attach(name="ssid configured vlan ip....", body=str(eth_ssid_vlan_ip)) + print("Station ip assigned as per ssid configured vlan") + + @pytest.mark.invalidradiusvlan + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @allure.testcase(name="test_dynamic_invalid_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5706") + def test_dynamic_invalid_vlan(self, get_vif_state, lf_tools,get_ap_logs,get_lf_logs, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_twog): + """ + pytest -m "invalidradiusvlan and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_2G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan]) + + lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog", vlan_id=vlan, + station_name=station_names_twog, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordinvalidvlanuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="invalidvlanuser", d_vlan=True) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') + eth_bridge_ip_1 = eth_ip.split('.') + print("station ip...", lf_test.station_ip[station_names_twog[0]]) + print("vlan ip...", eth_vlan_ip) + print("eth_bridge_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_bridge_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Station ip not assigned as per ssid vlan") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) + print("Station ip assigned as per ssid vlan ") + + @pytest.mark.periodic_reauthentication + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @allure.testcase(name="test_dynamic_periodic_reauthentication_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5707") + def test_dynamic_periodic_reauthentication_vlan(self, get_vif_state, lf_tools,get_ap_logs, + get_lf_logs, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_twog): + """ + pytest -m "dynamic_vlan and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_2G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + # lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan]) + + lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog", vlan_id=vlan, + station_name=station_names_twog, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordA", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="userA", d_vlan=True, cleanup=True) + + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + sta_ip = lf_test.station_ip[station_names_twog[0]] + + count = 0 + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] + eth_vlan_ip_1 = eth_vlan_ip.split('.') + sta_ip_1 = sta_ip.split('.') + for k in range(0, 2): + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + break + else: + if count == 2: + break #allure.attach(name="station ip",body=str(sta_ip)) + continue + count = count + 1 + time.sleep(30) + lf_tools.admin_up_down([station_names_twog[0]], option="up") + + sta_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + station_names_twog[0])["interface"]["ip"] + sta_ip_1 = sta_ip.split('.') + print(sta_ip) + if count == 2: + assert True + allure.attach(name="station ip....", body=str(sta_ip)) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Station ip assigned as per bridge") + elif count == 0: + allure.attach(name="station ip....", body=str(sta_ip)) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Station ip not assigned as per bridge") + assert False + + @pytest.mark.absenceofvlanid + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @allure.testcase(name="test_dynamic_absence_of_vlanid", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5708") + def test_dynamic_absence_of_vlanid(self, get_vif_state, lf_tools,get_ap_logs,get_lf_logs, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_twog): + """ + pytest -m "dynamic_vlan and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_2G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan]) + + lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog", vlan_id=vlan, + station_name=station_names_twog, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordvlannotsentuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="vlannotsentuser", d_vlan=True) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') + eth_bridge_ip_1 = eth_ip.split('.') + print("station ip...", lf_test.station_ip[station_names_twog[0]]) + print("vlan ip...", eth_vlan_ip) + print("eth_bridge_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_bridge_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Station ip not assigned as per ssid vlan") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Station ip assigned as per ssid vlan") + ''' + @pytest.mark.unsupported + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @allure.testcase(name="test_dynamic_unsupported_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5710") + def test_dynamic_unsupported_vlan(self, get_vif_state, lf_tools,get_ap_logs, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_twog): + """ + pytest -m "dynamic_vlan and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_2G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan]) + + lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog", vlan_id=100, + station_name=station_names_twog, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordinvalidvlanuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="invalidvlanuser", d_vlan=True) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') + eth_bridge_ip_1 = eth_ip.split('.') + print("station ip...", lf_test.station_ip[station_names_twog[0]]) + print("vlan ip...", eth_vlan_ip) + print("eth_bridge_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_bridge_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + print("Station ip not assigned as per bridge") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + allure.attach(name="bridge ip....", body=str(eth_ip)) + print("Station ip assigned as per bridge") + ''' + @pytest.mark.outofboundvlanid + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @allure.testcase(name="test_dynamic_outof_bound_vlanid", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5711") + def test_dynamic_outof_bound_vlanid(self, get_vif_state, lf_tools,get_ap_logs,get_lf_logs, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_twog): + """ + pytest -m "dynamic_vlan and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_2G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan]) + + lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog", vlan_id=vlan, + station_name=station_names_twog, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordoutofboundvlanuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="outofboundvlanuser", d_vlan=True) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + if lf_test.station_ip[station_names_twog[0]] == "0.0.0.0": + print("station ip...", lf_test.station_ip[station_names_twog[0]]) + assert True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Test Passsed...Client Connection failed") + + @pytest.mark.client_association_ap_with_dynamic_vlan + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @allure.testcase(name="test_client_association_ap_with_dynamic_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5712") + def test_client_association_ap_with_dynamic_vlan(self, get_vif_state, lf_tools, get_ap_logs,get_lf_logs, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_twog): + """ + pytest -m "client_association_ap_with_dynamic_vlan and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_5G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = [100,200] + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=vlan) + + lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog", vlan_id=vlan[0], + station_name=station_names_twog, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordA", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="userA", d_vlan=True) + + eth_ssid_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan[0]))["interface"]["ip"] + + eth_radius_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan[1]))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') + eth_vlan_ip_1 = eth_radius_vlan_ip.split('.') + print("station ip...", lf_test.station_ip[station_names_twog[0]]) + print("vlan ip...", eth_radius_vlan_ip) + print("eth_bridge_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan[0]))) + allure.attach(name="ssid configured vlan ip....", body=str(eth_ssid_vlan_ip)) + allure.attach(name="radius configured vlan..", body=str(port_resources[2] + "." + str(vlan[1]))) + allure.attach(name="radius configured vlan ip....", body=str(eth_radius_vlan_ip)) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Station ip not assigned as per vlan") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan[0]))) + allure.attach(name="ssid configured vlan ip....", body=str(eth_ssid_vlan_ip)) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan[1]))) + allure.attach(name="radius configured vlan ip....", body=str(eth_radius_vlan_ip)) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Station ip assigned as per dynamic vlan") + + @pytest.mark.subsequent_user_for_same_user_account + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @allure.testcase(name="test_subsequent_user_for_same_user_account_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5705") + def test_subsequent_user_for_same_user_account_vlan(self, get_vif_state, lf_tools,get_ap_logs,get_lf_logs, + create_lanforge_chamberview_dut, lf_test, + get_configuration, + station_names_twog): + """ + pytest -m "subsequent_user_for_same_user_account and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_2G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.add_vlan(vlan_ids=[vlan]) + lf_tools.reset_scenario() + station_list = [] + sta_ip = [] + for i in range(0, 2): + station_list.append(lf_tools.twog_prefix + str(i)) + print(station_list) + print([station_list[0]]) + + for m in range(0, len(station_list)): + lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog", vlan_id=100, + station_name=[station_list[m]], key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordA", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="userA", d_vlan=True, cleanup=True) + lf_tools.admin_up_down([station_list[m]], option="up") + sta_ip.append(lf_test.station_ip[station_list[m]]) + print(sta_ip) + time.sleep(30) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + eth_vlan_ip_1 = eth_vlan_ip.split('.') + for n in range(0, len(station_list)): + sta_ip_1 = sta_ip[n].split('.') + print("station ip...", sta_ip[n]) + print("vlan ip...", eth_vlan_ip) + print("eth_bridge_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(sta_ip[n])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Station ip not assigned as per vlan") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(sta_ip[n])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Station ip assigned as per dynamic vlan") + + @pytest.mark.subsequent_user_for_different_user_account + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @allure.testcase(name="test_subsequent_user_for_different_user_account_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5714") + def test_subsequent_user_for_different_user_account_vlan(self, get_vif_state, lf_tools,get_ap_logs,get_lf_logs, + create_lanforge_chamberview_dut, lf_test, + get_configuration, + station_names_twog): + """ + pytest -m "subsequent_user_for_different_user_account and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_2G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = [100, 200] + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.add_vlan(vlan_ids=vlan) + lf_tools.reset_scenario() + station_list = [] + sta_ip = [] + dynamic_vlan_user = ["userA", "userB"] + dynamic_vlan_pass = ["passwordA", "passwordB"] + for i in range(0, 2): + station_list.append(lf_tools.twog_prefix + str(i)) + + for user_id, user_pass, sta in zip(dynamic_vlan_user, dynamic_vlan_pass, range(0, len(station_list))): + lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog", vlan_id=vlan[sta], + station_name=[station_list[sta]], key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd=user_pass, ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity=user_id, d_vlan=True, cleanup=True) + + sta_ip.append(lf_test.station_ip[station_list[sta]]) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan[sta]))["interface"]["ip"] + + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + eth_vlan_ip_1 = eth_vlan_ip.split('.') + print(sta_ip) + sta_ip_1 = sta_ip[sta].split('.') + print("station ip...", lf_test.station_ip[station_list[sta]]) + print("vlan ip...", eth_vlan_ip) + print("eth_bridge_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(sta_ip[sta])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Station ip not assigned as per vlan") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(sta_ip[sta])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Station ip assigned as per dynamic vlan") + lf_tools.admin_up_down([station_list[sta]], option="up") + time.sleep(5) diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamic_over_ssid_twog.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamic_over_ssid_twog.py new file mode 100644 index 000000000..aa2e572eb --- /dev/null +++ b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamic_over_ssid_twog.py @@ -0,0 +1,104 @@ +""" + + Dynamic_Vlan: VLAN Mode + pytest -m "dynamic_vlan and wpa2_enterprise and vlan" + +""" + +import os +import allure +import pytest +from configuration import DYNAMIC_VLAN_RADIUS_SERVER_DATA +from configuration import DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA + +pytestmark = [pytest.mark.regression, pytest.mark.dynamic_vlan, pytest.mark.wpa2_enterprise, pytest.mark.vlan,pytest.mark.twog] + +setup_params_general = { + "mode": "VLAN", + "ssid_modes": { + "wpa2_enterprise": [ + {"ssid_name": "ssid_wpa2e_2g", "appliedRadios": ["2G"], + "security_key": "something", + "radius_auth_data": DYNAMIC_VLAN_RADIUS_SERVER_DATA, + "radius_acc_data": DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA, + "vlan": 100 + }]}, + "rf": {}, + "radius": True +} + + +@allure.suite("regression") +@allure.feature("VLAN MODE wpa2_enterprise Dynamic Vlan") +@pytest.mark.parametrize( + 'setup_profiles', + [setup_params_general], + indirect=True, + scope="class" +) +@pytest.mark.usefixtures("setup_profiles") +class TestDynamicVlan(object): + + @pytest.mark.dynamic_precedence_over_ssid + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @allure.testcase(name="test_dynamic_precedence_over_ssid_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5705") + def test_dynamic_precedence_over_ssid_vlan(self, get_vif_state, lf_tools,get_ap_logs, + get_lf_logs, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_twog): + """ + pytest -m "dynamic_precedence_over_ssid and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_2G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = [100,200] + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=vlan) + + lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog", vlan_id=vlan[0], + station_name=station_names_twog, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordB", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="userB", d_vlan=True) + + eth_ssid_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan[0]))["interface"]["ip"] + + eth_radius_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan[1]))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') + eth_vlan_ip_1 = eth_radius_vlan_ip.split('.') + print("station ip...", lf_test.station_ip[station_names_twog[0]]) + print("vlan ip...", eth_radius_vlan_ip) + print("eth_bridge_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + allure.attach(name="ssid configured vlan ..", body=str(port_resources[2] + "." + str(vlan[0]))) + allure.attach(name="ssid configured vlan ip....", body=str(eth_ssid_vlan_ip)) + allure.attach(name="radius configured vlan..", body=str(port_resources[2] + "." + str(vlan[1]))) + allure.attach(name="radius configured vlan ip....", body=str(eth_radius_vlan_ip)) + allure.attach(name="bridge ip....", body=str(eth_ip)) + print("Station ip not assigned as per vlan") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + allure.attach(name="ssid configured vlan ..", body=str(port_resources[2] + "." + str(vlan[0]))) + allure.attach(name="ssid configured vlan ip....", body=str(eth_ssid_vlan_ip)) + allure.attach(name="radius configured vlan..", body=str(port_resources[2] + "." + str(vlan[1]))) + allure.attach(name="radius configured vlan ip....", body=str(eth_radius_vlan_ip)) + allure.attach(name="bridge ip....", body=str(eth_ip)) + print("Station ip assigned as per dynamic vlan") \ No newline at end of file From e6a364f5db1e6afcf03281980fd882579b8f5d5a Mon Sep 17 00:00:00 2001 From: KvSaiMahesh Date: Sat, 11 Dec 2021 15:23:03 +0530 Subject: [PATCH 11/24] deleted unwanted files Signed-off-by: KvSaiMahesh --- .../wpa2_enterprise/bridge_mode/__init__.py | 0 .../bridge_mode/fiveg/__init__.py | 0 .../fiveg/test_dynamc_vlan_fiveg.py | 499 ------------------ .../fiveg/test_dynamic_over_ssid_fiveg.py | 97 ---- .../bridge_mode/twog/__init__.py | 0 .../bridge_mode/twog/test_dynamc_vlan_twog.py | 492 ----------------- .../twog/test_dynamic_over_ssid_twog.py | 97 ---- 7 files changed, 1185 deletions(-) delete mode 100644 tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/__init__.py delete mode 100644 tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/fiveg/__init__.py delete mode 100644 tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/fiveg/test_dynamc_vlan_fiveg.py delete mode 100644 tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/fiveg/test_dynamic_over_ssid_fiveg.py delete mode 100644 tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/twog/__init__.py delete mode 100644 tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/twog/test_dynamc_vlan_twog.py delete mode 100644 tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/twog/test_dynamic_over_ssid_twog.py diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/__init__.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/fiveg/__init__.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/fiveg/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/fiveg/test_dynamc_vlan_fiveg.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/fiveg/test_dynamc_vlan_fiveg.py deleted file mode 100644 index 13a5840f1..000000000 --- a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/fiveg/test_dynamc_vlan_fiveg.py +++ /dev/null @@ -1,499 +0,0 @@ -""" - - Dynamic_Vlan: Bridge Mode - pytest -m "dynamic_vlan and wpa2_enterprise and bridge" - -""" - -import os -import allure -import pytest -import time -from configuration import DYNAMIC_VLAN_RADIUS_SERVER_DATA -from configuration import DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA - -pytestmark = [pytest.mark.regression, pytest.mark.dynamic_vlan, pytest.mark.wpa2_enterprise, pytest.mark.bridge,pytest.mark.fiveg] - -setup_params_general = { - "mode": "BRIDGE", - "ssid_modes": { - "wpa2_enterprise": [ - {"ssid_name": "ssid_wpa2e_5g", "appliedRadios": ["5G"], - "security_key": "something", - "radius_auth_data": DYNAMIC_VLAN_RADIUS_SERVER_DATA, - "radius_acc_data": DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA - }]}, - "rf": {}, - "radius": True -} - - -@allure.suite("regression") -@allure.feature("BRIDGE MODE wpa2_enterprise Dynamic Vlan") -@pytest.mark.parametrize( - 'setup_profiles', - [setup_params_general], - indirect=True, - scope="class" -) -@pytest.mark.usefixtures("setup_profiles") -class TestDynamicVlan(object): - - @pytest.mark.absenceofradiusvlanttidentifier - @pytest.mark.wpa2_enterprise - @pytest.mark.fiveg - @allure.testcase(name="test_dynamic_absence_of_radius_vlan_identifier", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5704") - def test_dynamic_absence_of_radius_vlan_identifier(self, get_vif_state, lf_tools, - create_lanforge_chamberview_dut, lf_test, get_configuration, - station_names_fiveg): - """ - pytest -m " absenceofradiusvlanttidentifier and wpa2_enterprise and bridge" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_5G = profile_data[0]["ssid_name"] - mode = "BRIDGE" - vlan_id = 100 - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.reset_scenario() - lf_tools.add_vlan(vlan_ids=[vlan_id]) - lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="fiveg", - station_name=station_names_fiveg, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordvlannotsentuser", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="vlannotsentuser", d_vlan=True) - - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - - sta_ip_1 = lf_test.station_ip[station_names_fiveg[0]].split('.') - print(sta_ip_1) - eth_ip_1 = eth_ip.split('.') - print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) - print("bridge ip...", eth_ip) - for i, j in zip(sta_ip_1[0:2], eth_ip_1[0:2]): - if i != j: - allure.attach(name="bridge ip....", body=str(eth_ip)) - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) - print("Station ip not assigned as per ssid vlan") - assert False - else: - assert True - allure.attach(name="bridge ip....", body=str(eth_ip)) - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) - print("Station ip assigned as per ssid vlan") - - @pytest.mark.invalidradiusvlan - @pytest.mark.wpa2_enterprise - @pytest.mark.fiveg - @allure.testcase(name="test_dynamic_invalid_vlan", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5706") - def test_dynamic_invalid_vlan(self, get_vif_state, lf_tools, - create_lanforge_chamberview_dut, lf_test, get_configuration, - station_names_fiveg): - """ - pytest -m "test_dynamic_invalid_vlan and wpa2_enterprise and bridge" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_5G = profile_data[0]["ssid_name"] - mode = "BRIDGE" - vlan = 100 - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.reset_scenario() - lf_tools.add_vlan(vlan_ids=[vlan]) - - lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="fiveg", vlan_id=vlan, - station_name=station_names_fiveg, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordinvalidvlanuser", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="invalidvlanuser", d_vlan=True) - - eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - - sta_ip_1 = lf_test.station_ip[station_names_fiveg[0]].split('.') - eth_bridge_ip_1 = eth_ip.split('.') - print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) - print("vlan ip...", eth_vlan_ip) - print("eth_bridge_ip..", eth_ip) - for i, j in zip(sta_ip_1[0:2], eth_bridge_ip_1[0:2]): - if i != j: - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) - allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) - print("Station ip not assigned as per bridge") - assert False - else: - assert True - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) - allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) - allure.attach(name="bridge ip....", body=str(eth_ip)) - print("Station ip assigned as per bridge") - - @pytest.mark.periodic_reauthentication - @pytest.mark.wpa2_enterprise - @pytest.mark.fiveg - @allure.testcase(name="test_dynamic_periodic_reauthentication_vlan", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5707") - def test_dynamic_periodic_reauthentication_vlan(self, get_vif_state, lf_tools, - create_lanforge_chamberview_dut, lf_test, get_configuration, - station_names_fiveg): - """ - pytest -m "periodic_reauthentication and wpa2_enterprise and bridge" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_5G = profile_data[0]["ssid_name"] - mode = "BRIDGE" - vlan = 100 - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - # lf_tools.reset_scenario() - lf_tools.add_vlan(vlan_ids=[vlan]) - - lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="fiveg", vlan_id=vlan, - station_name=station_names_fiveg, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordA", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="userA", d_vlan=True, cleanup=True) - - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - sta_ip = lf_test.station_ip[station_names_fiveg[0]] - - count = 0 - # print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) - # print("vlan ip...", eth_vlan_ip) - # print("eth_bridge_ip..", eth_ip) - - eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] - eth_vlan_ip_1 = eth_vlan_ip.split('.') - sta_ip_1 = sta_ip.split('.') - print(sta_ip_1) - for k in range(0, 2): - for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): - if i != j: - break - else: - if count == 2: - break #allure.attach(name="station ip",body=str(sta_ip)) - continue - count = count + 1 - time.sleep(30) - lf_tools.admin_up_down([station_names_fiveg[0]], option="up") - - sta_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + station_names_fiveg[0])["interface"]["ip"] - sta_ip_1 = sta_ip.split('.') - print(sta_ip) - if count == 2: - print(count) - print("sta_ip..",sta_ip) - assert True - allure.attach(name="station ip....", body=str(sta_ip)) - allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) - allure.attach(name="bridge ip....", body=str(eth_ip)) - print("Station ip assigned as per bridge") - elif count == 0: - allure.attach(name="station ip....", body=str(sta_ip)) - allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) - print("Station ip not assigned as per bridge") - assert False - - @pytest.mark.absenceofvlanid - @pytest.mark.wpa2_enterprise - @pytest.mark.fiveg - @allure.testcase(name="test_dynamic_absence_of_vlanid", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5708") - def test_dynamic_absence_of_vlanid(self, get_vif_state, lf_tools, - create_lanforge_chamberview_dut, lf_test, get_configuration, - station_names_fiveg): - """ - pytest -m "absenceofvlanid and wpa2_enterprise and bridge" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_5G = profile_data[0]["ssid_name"] - mode = "BRIDGE" - vlan = 100 - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.reset_scenario() - lf_tools.add_vlan(vlan_ids=[vlan]) - - lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="fiveg", vlan_id=vlan, - station_name=station_names_fiveg, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordvlannotsentuser", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="vlannotsentuser", d_vlan=True) - - eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - - sta_ip_1 = lf_test.station_ip[station_names_fiveg[0]].split('.') - eth_bridge_ip_1 = eth_ip.split('.') - print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) - print("vlan ip...", eth_vlan_ip) - print("eth_bridge_ip..", eth_ip) - for i, j in zip(sta_ip_1[0:2], eth_bridge_ip_1[0:2]): - if i != j: - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) - allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) - print("Station ip not assigned as per bridge") - assert False - else: - assert True - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) - allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) - allure.attach(name="bridge ip....", body=str(eth_ip)) - print("Station ip assigned as per bridge") - - @pytest.mark.unsupported - @pytest.mark.wpa2_enterprise - @pytest.mark.fiveg - @allure.testcase(name="test_dynamic_unsupported_vlan", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5710") - def test_dynamic_unsupported_vlan(self, get_vif_state, lf_tools, - create_lanforge_chamberview_dut, lf_test, get_configuration, - station_names_fiveg): - """ - pytest -m "unsupported and wpa2_enterprise and bridge" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_5G = profile_data[0]["ssid_name"] - mode = "BRIDGE" - vlan = 100 - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.reset_scenario() - lf_tools.add_vlan(vlan_ids=[vlan]) - - lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="fiveg", vlan_id=100, - station_name=station_names_fiveg, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordinvalidvlanuser", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="invalidvlanuser", d_vlan=True) - - eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - - sta_ip_1 = lf_test.station_ip[station_names_fiveg[0]].split('.') - eth_bridge_ip_1 = eth_ip.split('.') - print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) - print("vlan ip...", eth_vlan_ip) - print("eth_bridge_ip..", eth_ip) - for i, j in zip(sta_ip_1[0:2], eth_bridge_ip_1[0:2]): - if i != j: - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) - allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) - print("Station ip not assigned as per bridge") - assert False - else: - assert True - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) - allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) - allure.attach(name="bridge ip....", body=str(eth_ip)) - print("Station ip assigned as per bridge") - - @pytest.mark.outofboundvlanid - @pytest.mark.wpa2_enterprise - @pytest.mark.fiveg - @allure.testcase(name="test_dynamic_outof_bound_vlanid", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5711") - def test_dynamic_outof_bound_vlanid(self, get_vif_state, lf_tools, - create_lanforge_chamberview_dut, lf_test, get_configuration, - station_names_fiveg): - """ - pytest -m "outofboundvlanid and wpa2_enterprise and bridge" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_5G = profile_data[0]["ssid_name"] - mode = "BRIDGE" - vlan = 100 - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.reset_scenario() - lf_tools.add_vlan(vlan_ids=[vlan]) - - lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="fiveg", vlan_id=vlan, - station_name=station_names_fiveg, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordoutofboundvlanuser", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="outofboundvlanuser", d_vlan=True) - - eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - - if lf_test.station_ip[station_names_fiveg[0]] == "0.0.0.0": - print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) - assert True - allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) - allure.attach(name="bridge ip....", body=str(eth_ip)) - print("Test Passsed...Client Connection failed") - - @pytest.mark.subsequent_user_for_same_user_account - @pytest.mark.wpa2_enterprise - @pytest.mark.fiveg - @allure.testcase(name="test_subsequent_user_for_same_user_account_vlan", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5705") - def test_subsequent_user_for_same_user_account_vlan(self, get_vif_state, lf_tools, - create_lanforge_chamberview_dut, lf_test, - get_configuration, - station_names_fiveg): - """ - pytest -m "subsequent_user_for_same_user_account and wpa2_enterprise and bridge" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_5G = profile_data[0]["ssid_name"] - mode = "BRIDGE" - vlan = 100 - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.add_vlan(vlan_ids=[vlan]) - lf_tools.reset_scenario() - station_list = [] - sta_ip = [] - for i in range(0, 2): - station_list.append(lf_tools.fiveg_prefix + str(i)) - print(station_list) - print([station_list[0]]) - - for m in range(0, len(station_list)): - lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="fiveg", vlan_id=100, - station_name=[station_list[m]], key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordA", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="userA", d_vlan=True, cleanup=True) - lf_tools.admin_up_down([station_list[m]], option="up") - sta_ip.append(lf_test.station_ip[station_list[m]]) - print(sta_ip) - time.sleep(30) - - eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - eth_vlan_ip_1 = eth_vlan_ip.split('.') - for n in range(0, len(station_list)): - sta_ip_1 = sta_ip[n].split('.') - print("station ip...", sta_ip[n]) - print("vlan ip...", eth_vlan_ip) - print("eth_bridge_ip..", eth_ip) - for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): - if i != j: - allure.attach(name="station ip....", body=str(sta_ip[n])) - allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) - allure.attach(name="bridge ip....", body=str(eth_ip)) - print("Station ip not assigned as per vlan") - assert False - else: - assert True - allure.attach(name="station ip....", body=str(sta_ip[n])) - allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) - allure.attach(name="bridge ip....", body=str(eth_ip)) - print("Station ip assigned as per dynamic vlan") - - @pytest.mark.subsequent_user_for_different_user_account - @pytest.mark.wpa2_enterprise - @pytest.mark.fiveg - @allure.testcase(name="test_subsequent_user_for_different_user_account_vlan", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5714") - def test_subsequent_user_for_different_user_account_vlan(self, get_vif_state, lf_tools, - create_lanforge_chamberview_dut, lf_test, - get_configuration, - station_names_fiveg): - """ - pytest -m "subsequent_user_for_different_user_account and wpa2_enterprise and bridge" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_5G = profile_data[0]["ssid_name"] - mode = "BRIDGE" - vlan = [100, 200] - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.add_vlan(vlan_ids=vlan) - lf_tools.reset_scenario() - station_list = [] - sta_ip = [] - dynamic_vlan_user = ["userA", "userB"] - dynamic_vlan_pass = ["passwordA", "passwordB"] - for i in range(0, 2): - station_list.append(lf_tools.fiveg_prefix + str(i)) - - for user_id, user_pass, sta in zip(dynamic_vlan_user, dynamic_vlan_pass, range(0, len(station_list))): - lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="fiveg", vlan_id=vlan[sta], - station_name=[station_list[sta]], key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd=user_pass, ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity=user_id, d_vlan=True, cleanup=True) - - sta_ip.append(lf_test.station_ip[station_list[sta]]) - - eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan[sta]))["interface"]["ip"] - - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - eth_vlan_ip_1 = eth_vlan_ip.split('.') - print(sta_ip) - sta_ip_1 = sta_ip[sta].split('.') - print("station ip...", lf_test.station_ip[station_list[sta]]) - print("vlan ip...", eth_vlan_ip) - print("eth_bridge_ip..", eth_ip) - for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): - if i != j: - allure.attach(name="station ip....", body=str(sta_ip[sta])) - allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) - allure.attach(name="bridge ip....", body=str(eth_ip)) - print("Station ip not assigned as per vlan") - assert False - else: - assert True - allure.attach(name="station ip....", body=str(sta_ip[sta])) - allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) - allure.attach(name="bridge ip....", body=str(eth_ip)) - print("Station ip assigned as per dynamic vlan") - lf_tools.admin_up_down([station_list[sta]], option="up") - - time.sleep(5) diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/fiveg/test_dynamic_over_ssid_fiveg.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/fiveg/test_dynamic_over_ssid_fiveg.py deleted file mode 100644 index b7a95fdf1..000000000 --- a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/fiveg/test_dynamic_over_ssid_fiveg.py +++ /dev/null @@ -1,97 +0,0 @@ -""" - - Dynamic_Vlan: VLAN Mode - pytest -m "dynamic_vlan and wpa2_enterprise and vlan" - -""" - -import os -import allure -import pytest -from configuration import DYNAMIC_VLAN_RADIUS_SERVER_DATA -from configuration import DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA - -pytestmark = [pytest.mark.regression, pytest.mark.dynamic_vlan, pytest.mark.wpa2_enterprise, pytest.mark.vlan,pytest.mark.fiveg] - -setup_params_general = { - "mode": "VLAN", - "ssid_modes": { - "wpa2_enterprise": [ - {"ssid_name": "ssid_wpa2e_5g", "appliedRadios": ["5G"], - "security_key": "something", - "radius_auth_data": DYNAMIC_VLAN_RADIUS_SERVER_DATA, - "radius_acc_data": DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA, - "vlan": 100 - }]}, - "rf": {}, - "radius": True -} - - -@allure.suite("regression") -@allure.feature("VLAN MODE wpa2_enterprise Dynamic Vlan") -@pytest.mark.parametrize( - 'setup_profiles', - [setup_params_general], - indirect=True, - scope="class" -) -@pytest.mark.usefixtures("setup_profiles") -class TestDynamicVlan(object): - - @pytest.mark.dynamic_precedence_over_ssid - @pytest.mark.wpa2_enterprise - @pytest.mark.fiveg - @allure.testcase(name="test_dynamic_precedence_over_ssid_vlan", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5705") - def test_dynamic_precedence_over_ssid_vlan(self, get_vif_state, lf_tools,get_ap_logs, - create_lanforge_chamberview_dut, lf_test, get_configuration, - station_names_fiveg): - """ - pytest -m "dynamic_precedence_over_ssid and wpa2_enterprise and vlan" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_5G = profile_data[0]["ssid_name"] - mode = "VLAN" - vlan = [100,200] - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.reset_scenario() - lf_tools.add_vlan(vlan_ids=vlan) - - lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="fiveg", vlan_id=vlan[0], - station_name=station_names_fiveg, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordB", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="userB", d_vlan=True) - - eth_ssid_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan[0]))["interface"]["ip"] - - eth_radius_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan[1]))["interface"]["ip"] - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - - sta_ip_1 = lf_test.station_ip[station_names_fiveg[0]].split('.') - eth_vlan_ip_1 = eth_radius_vlan_ip.split('.') - print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) - print("vlan ip...", eth_radius_vlan_ip) - print("eth_bridge_ip..", eth_ip) - for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): - if i != j: - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) - allure.attach(name="ssid vlan ip....", body=str(eth_ssid_vlan_ip)) - allure.attach(name="radius vlan ip....", body=str(eth_radius_vlan_ip)) - print("Station ip not assigned as per vlan") - assert False - else: - assert True - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) - allure.attach(name="radius vlan ip....", body=str(eth_radius_vlan_ip)) - allure.attach(name="ssid vlan ip....", body=str(eth_ssid_vlan_ip)) - print("Station ip assigned as per dynamic vlan") \ No newline at end of file diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/twog/__init__.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/twog/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/twog/test_dynamc_vlan_twog.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/twog/test_dynamc_vlan_twog.py deleted file mode 100644 index c33fb5c7b..000000000 --- a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/twog/test_dynamc_vlan_twog.py +++ /dev/null @@ -1,492 +0,0 @@ -""" - - Dynamic_Vlan: Bridge Mode - pytest -m "dynamic_vlan and wpa2_enterprise and bridge" - -""" - -import os -import allure -import pytest -import time -from configuration import DYNAMIC_VLAN_RADIUS_SERVER_DATA -from configuration import DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA - -pytestmark = [pytest.mark.regression, pytest.mark.dynamic_vlan, pytest.mark.wpa2_enterprise, pytest.mark.bridge,pytest.mark.twog] - -setup_params_general = { - "mode": "BRIDGE", - "ssid_modes": { - "wpa2_enterprise": [ - {"ssid_name": "ssid_wpa2e_2g", "appliedRadios": ["2G"], - "security_key": "something", - "radius_auth_data": DYNAMIC_VLAN_RADIUS_SERVER_DATA, - "radius_acc_data": DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA - }]}, - "rf": {}, - "radius": True -} - - -@allure.suite("regression") -@allure.feature("BRIDGE MODE wpa2_enterprise Dynamic Vlan") -@pytest.mark.parametrize( - 'setup_profiles', - [setup_params_general], - indirect=True, - scope="class" -) -@pytest.mark.usefixtures("setup_profiles") -class TestDynamicVlan(object): - - @pytest.mark.absenceofradiusvlanttidentifier - @pytest.mark.wpa2_enterprise - @pytest.mark.twog - @allure.testcase(name="test_dynamic_absence_of_radius_vlan_identifier", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5704") - def test_dynamic_absence_of_radius_vlan_identifier(self, get_vif_state, lf_tools,get_ap_logs, - create_lanforge_chamberview_dut, lf_test, get_configuration, - station_names_twog): - """ - pytest -m " absenceofradiusvlanttidentifier and wpa2_enterprise and bridge" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_2G = profile_data[0]["ssid_name"] - mode = "BRIDGE" - vlan_id = 100 - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.reset_scenario() - lf_tools.add_vlan(vlan_ids=[vlan_id]) - lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="twog", - station_name=station_names_twog, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordvlannotsentuser", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="vlannotsentuser", d_vlan=True) - - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - - sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') - print(sta_ip_1) - eth_ip_1 = eth_ip.split('.') - print("station ip...", lf_test.station_ip[station_names_twog[0]]) - print("bridge ip...", eth_ip) - for i, j in zip(sta_ip_1[0:2], eth_ip_1[0:2]): - if i != j: - allure.attach(name="bridge ip....", body=str(eth_ip)) - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) - print("Station ip not assigned as per ssid vlan") - assert False - else: - assert True - allure.attach(name="bridge ip....", body=str(eth_ip)) - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) - print("Station ip assigned as per ssid vlan") - - @pytest.mark.invalidradiusvlan - @pytest.mark.wpa2_enterprise - @pytest.mark.twog - @allure.testcase(name="test_dynamic_invalid_vlan", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5706") - def test_dynamic_invalid_vlan(self, get_vif_state, lf_tools,get_ap_logs, - create_lanforge_chamberview_dut, lf_test, get_configuration, - station_names_twog): - """ - pytest -m "dynamic_vlan and wpa2_enterprise and bridge" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_2G = profile_data[0]["ssid_name"] - mode = "BRIDGE" - vlan = 100 - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.reset_scenario() - lf_tools.add_vlan(vlan_ids=[vlan]) - - lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="twog", vlan_id=vlan, - station_name=station_names_twog, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordinvalidvlanuser", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="invalidvlanuser", d_vlan=True) - - eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - - sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') - eth_bridge_ip_1 = eth_ip.split('.') - print("station ip...", lf_test.station_ip[station_names_twog[0]]) - print("vlan ip...", eth_vlan_ip) - print("eth_bridge_ip..", eth_ip) - for i, j in zip(sta_ip_1[0:2], eth_bridge_ip_1[0:2]): - if i != j: - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) - allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) - print("Station ip not assigned as per bridge") - assert False - else: - assert True - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) - allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) - allure.attach(name="bridge ip....", body=str(eth_ip)) - print("Station ip assigned as per bridge") - - @pytest.mark.periodic_reauthentication - @pytest.mark.wpa2_enterprise - @pytest.mark.twog - @allure.testcase(name="test_dynamic_periodic_reauthentication_vlan", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5707") - def test_dynamic_periodic_reauthentication_vlan(self, get_vif_state, lf_tools,get_ap_logs, - create_lanforge_chamberview_dut, lf_test, get_configuration, - station_names_twog): - """ - pytest -m "dynamic_vlan and wpa2_enterprise and bridge" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_2G = profile_data[0]["ssid_name"] - mode = "BRIDGE" - vlan = 100 - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - # lf_tools.reset_scenario() - lf_tools.add_vlan(vlan_ids=[vlan]) - - lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="twog", vlan_id=vlan, - station_name=station_names_twog, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordA", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="userA", d_vlan=True, cleanup=True) - - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - sta_ip = lf_test.station_ip[station_names_twog[0]] - - count = 0 - eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] - eth_vlan_ip_1 = eth_vlan_ip.split('.') - sta_ip_1 = sta_ip.split('.') - for k in range(0, 2): - for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): - if i != j: - break - else: - if count == 2: - break #allure.attach(name="station ip",body=str(sta_ip)) - continue - count = count + 1 - time.sleep(30) - lf_tools.admin_up_down([station_names_twog[0]], option="up") - - sta_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + station_names_twog[0])["interface"]["ip"] - sta_ip_1 = sta_ip.split('.') - print(sta_ip) - if count == 2: - assert True - allure.attach(name="station ip....", body=str(sta_ip)) - allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) - allure.attach(name="bridge ip....", body=str(eth_ip)) - print("Station ip assigned as per bridge") - elif count == 0: - allure.attach(name="station ip....", body=str(sta_ip)) - allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) - print("Station ip not assigned as per bridge") - assert False - - @pytest.mark.absenceofvlanid - @pytest.mark.wpa2_enterprise - @pytest.mark.twog - @allure.testcase(name="test_dynamic_absence_of_vlanid", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5708") - def test_dynamic_absence_of_vlanid(self, get_vif_state, lf_tools,get_ap_logs, - create_lanforge_chamberview_dut, lf_test, get_configuration, - station_names_twog): - """ - pytest -m "dynamic_vlan and wpa2_enterprise and bridge" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_2G = profile_data[0]["ssid_name"] - mode = "BRIDGE" - vlan = 100 - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.reset_scenario() - lf_tools.add_vlan(vlan_ids=[vlan]) - - lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="twog", vlan_id=vlan, - station_name=station_names_twog, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordvlannotsentuser", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="vlannotsentuser", d_vlan=True) - - eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - - sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') - eth_bridge_ip_1 = eth_ip.split('.') - print("station ip...", lf_test.station_ip[station_names_twog[0]]) - print("vlan ip...", eth_vlan_ip) - print("eth_bridge_ip..", eth_ip) - for i, j in zip(sta_ip_1[0:2], eth_bridge_ip_1[0:2]): - if i != j: - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) - allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) - print("Station ip not assigned as per bridge") - assert False - else: - assert True - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) - allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) - allure.attach(name="bridge ip....", body=str(eth_ip)) - print("Station ip assigned as per bridge") - - @pytest.mark.unsupported - @pytest.mark.wpa2_enterprise - @pytest.mark.twog - @allure.testcase(name="test_dynamic_unsupported_vlan", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5710") - def test_dynamic_unsupported_vlan(self, get_vif_state, lf_tools,get_ap_logs, - create_lanforge_chamberview_dut, lf_test, get_configuration, - station_names_twog): - """ - pytest -m "dynamic_vlan and wpa2_enterprise and bridge" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_2G = profile_data[0]["ssid_name"] - mode = "BRIDGE" - vlan = 100 - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.reset_scenario() - lf_tools.add_vlan(vlan_ids=[vlan]) - - lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="twog", vlan_id=100, - station_name=station_names_twog, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordinvalidvlanuser", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="invalidvlanuser", d_vlan=True) - - eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - - sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') - eth_bridge_ip_1 = eth_ip.split('.') - print("station ip...", lf_test.station_ip[station_names_twog[0]]) - print("vlan ip...", eth_vlan_ip) - print("eth_bridge_ip..", eth_ip) - for i, j in zip(sta_ip_1[0:2], eth_bridge_ip_1[0:2]): - if i != j: - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) - allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) - print("Station ip not assigned as per bridge") - assert False - else: - assert True - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) - allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) - allure.attach(name="bridge ip....", body=str(eth_ip)) - print("Station ip assigned as per bridge") - - @pytest.mark.outofboundvlanid - @pytest.mark.wpa2_enterprise - @pytest.mark.twog - @allure.testcase(name="test_dynamic_outof_bound_vlanid", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5711") - def test_dynamic_outof_bound_vlanid(self, get_vif_state, lf_tools,get_ap_logs, - create_lanforge_chamberview_dut, lf_test, get_configuration, - station_names_twog): - """ - pytest -m "dynamic_vlan and wpa2_enterprise and bridge" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_2G = profile_data[0]["ssid_name"] - mode = "BRIDGE" - vlan = 100 - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.reset_scenario() - lf_tools.add_vlan(vlan_ids=[vlan]) - - lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="twog", vlan_id=vlan, - station_name=station_names_twog, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordoutofboundvlanuser", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="outofboundvlanuser", d_vlan=True) - - eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - - if lf_test.station_ip[station_names_twog[0]] == "0.0.0.0": - print("station ip...", lf_test.station_ip[station_names_twog[0]]) - assert True - allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) - allure.attach(name="bridge ip....", body=str(eth_ip)) - print("Test Passsed...Client Connection failed") - - @pytest.mark.subsequent_user_for_same_user_account - @pytest.mark.wpa2_enterprise - @pytest.mark.twog - @allure.testcase(name="test_subsequent_user_for_same_user_account_vlan", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5705") - def test_subsequent_user_for_same_user_account_vlan(self, get_vif_state, lf_tools,get_ap_logs, - create_lanforge_chamberview_dut, lf_test, - get_configuration, - station_names_twog): - """ - pytest -m "subsequent_user_for_same_user_account and wpa2_enterprise and bridge" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_2G = profile_data[0]["ssid_name"] - mode = "BRIDGE" - vlan = 100 - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.add_vlan(vlan_ids=[vlan]) - lf_tools.reset_scenario() - station_list = [] - sta_ip = [] - for i in range(0, 2): - station_list.append(lf_tools.twog_prefix + str(i)) - print(station_list) - print([station_list[0]]) - - for m in range(0, len(station_list)): - lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="twog", vlan_id=100, - station_name=[station_list[m]], key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordA", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="userA", d_vlan=True, cleanup=True) - lf_tools.admin_up_down([station_list[m]], option="up") - sta_ip.append(lf_test.station_ip[station_list[m]]) - print(sta_ip) - time.sleep(30) - - eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - eth_vlan_ip_1 = eth_vlan_ip.split('.') - for n in range(0, len(station_list)): - sta_ip_1 = sta_ip[n].split('.') - print("station ip...", sta_ip[n]) - print("vlan ip...", eth_vlan_ip) - print("eth_bridge_ip..", eth_ip) - for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): - if i != j: - allure.attach(name="station ip....", body=str(sta_ip[n])) - allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) - allure.attach(name="bridge ip....", body=str(eth_ip)) - print("Station ip not assigned as per vlan") - assert False - else: - assert True - allure.attach(name="station ip....", body=str(sta_ip[n])) - allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) - allure.attach(name="bridge ip....", body=str(eth_ip)) - print("Station ip assigned as per dynamic vlan") - - @pytest.mark.subsequent_user_for_different_user_account - @pytest.mark.wpa2_enterprise - @pytest.mark.twog - @allure.testcase(name="test_subsequent_user_for_different_user_account_vlan", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5714") - def test_subsequent_user_for_different_user_account_vlan(self, get_vif_state, lf_tools,get_ap_logs, - create_lanforge_chamberview_dut, lf_test, - get_configuration, - station_names_twog): - """ - pytest -m "subsequent_user_for_different_user_account and wpa2_enterprise and bridge" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_2G = profile_data[0]["ssid_name"] - mode = "BRIDGE" - vlan = [100, 200] - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.add_vlan(vlan_ids=vlan) - lf_tools.reset_scenario() - station_list = [] - sta_ip = [] - dynamic_vlan_user = ["userA", "userB"] - dynamic_vlan_pass = ["passwordA", "passwordB"] - for i in range(0, 2): - station_list.append(lf_tools.twog_prefix + str(i)) - - for user_id, user_pass, sta in zip(dynamic_vlan_user, dynamic_vlan_pass, range(0, len(station_list))): - lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="twog", vlan_id=vlan[sta], - station_name=[station_list[sta]], key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd=user_pass, ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity=user_id, d_vlan=True, cleanup=True) - - sta_ip.append(lf_test.station_ip[station_list[sta]]) - - eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan[sta]))["interface"]["ip"] - - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - eth_vlan_ip_1 = eth_vlan_ip.split('.') - print(sta_ip) - sta_ip_1 = sta_ip[sta].split('.') - print("station ip...", lf_test.station_ip[station_list[sta]]) - print("vlan ip...", eth_vlan_ip) - print("eth_bridge_ip..", eth_ip) - for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): - if i != j: - allure.attach(name="station ip....", body=str(sta_ip[sta])) - allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) - allure.attach(name="bridge ip....", body=str(eth_ip)) - print("Station ip not assigned as per vlan") - assert False - else: - assert True - allure.attach(name="station ip....", body=str(sta_ip[sta])) - allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) - allure.attach(name="bridge ip....", body=str(eth_ip)) - print("Station ip assigned as per dynamic vlan") - lf_tools.admin_up_down([station_list[sta]], option="up") - - time.sleep(5) diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/twog/test_dynamic_over_ssid_twog.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/twog/test_dynamic_over_ssid_twog.py deleted file mode 100644 index 012e946ee..000000000 --- a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/bridge_mode/twog/test_dynamic_over_ssid_twog.py +++ /dev/null @@ -1,97 +0,0 @@ -""" - - Dynamic_Vlan: VLAN Mode - pytest -m "dynamic_vlan and wpa2_enterprise and vlan" - -""" - -import os -import allure -import pytest -from configuration import DYNAMIC_VLAN_RADIUS_SERVER_DATA -from configuration import DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA - -pytestmark = [pytest.mark.regression, pytest.mark.dynamic_vlan, pytest.mark.wpa2_enterprise, pytest.mark.vlan,pytest.mark.twog] - -setup_params_general = { - "mode": "VLAN", - "ssid_modes": { - "wpa2_enterprise": [ - {"ssid_name": "ssid_wpa2e_2g", "appliedRadios": ["2G"], - "security_key": "something", - "radius_auth_data": DYNAMIC_VLAN_RADIUS_SERVER_DATA, - "radius_acc_data": DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA, - "vlan": 100 - }]}, - "rf": {}, - "radius": True -} - - -@allure.suite("regression") -@allure.feature("VLAN MODE wpa2_enterprise Dynamic Vlan") -@pytest.mark.parametrize( - 'setup_profiles', - [setup_params_general], - indirect=True, - scope="class" -) -@pytest.mark.usefixtures("setup_profiles") -class TestDynamicVlan(object): - - @pytest.mark.dynamic_precedence_over_ssid - @pytest.mark.wpa2_enterprise - @pytest.mark.twog - @allure.testcase(name="test_dynamic_precedence_over_ssid_vlan", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5705") - def test_dynamic_precedence_over_ssid_vlan(self, get_vif_state, lf_tools,get_ap_logs, - create_lanforge_chamberview_dut, lf_test, get_configuration, - station_names_twog): - """ - pytest -m "dynamic_precedence_over_ssid and wpa2_enterprise and vlan" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_2G = profile_data[0]["ssid_name"] - mode = "VLAN" - vlan = [100,200] - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.reset_scenario() - lf_tools.add_vlan(vlan_ids=vlan) - - lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="twog", vlan_id=vlan[0], - station_name=station_names_twog, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordB", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="userB", d_vlan=True) - - eth_ssid_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan[0]))["interface"]["ip"] - - eth_radius_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan[1]))["interface"]["ip"] - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - - sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') - eth_vlan_ip_1 = eth_radius_vlan_ip.split('.') - print("station ip...", lf_test.station_ip[station_names_twog[0]]) - print("vlan ip...", eth_radius_vlan_ip) - print("eth_bridge_ip..", eth_ip) - for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): - if i != j: - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) - allure.attach(name="ssid vlan ip....", body=str(eth_ssid_vlan_ip)) - allure.attach(name="radius vlan ip....", body=str(eth_radius_vlan_ip)) - print("Station ip not assigned as per vlan") - assert False - else: - assert True - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) - allure.attach(name="radius vlan ip....", body=str(eth_radius_vlan_ip)) - allure.attach(name="ssid vlan ip....", body=str(eth_ssid_vlan_ip)) - print("Station ip assigned as per dynamic vlan") \ No newline at end of file From 8ceee8a93abcf29a4b66d2efdc1d2cdff28851bc Mon Sep 17 00:00:00 2001 From: KvSaiMahesh Date: Sat, 11 Dec 2021 15:30:54 +0530 Subject: [PATCH 12/24] added dynamic vlan wap2e twog and fiveg testcases Signed-off-by: KvSaiMahesh --- .../fiveg/test_dynamc_vlan_fiveg.py | 6 +-- .../fiveg/test_dynamic_over_ssid_fiveg.py | 6 +-- .../twog/test_dynamc_vlan_twog.py | 38 +++++++++---------- .../twog/test_dynamic_over_ssid_twog.py | 6 +-- 4 files changed, 28 insertions(+), 28 deletions(-) diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamc_vlan_fiveg.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamc_vlan_fiveg.py index 0d9762bcd..8c098da3a 100644 --- a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamc_vlan_fiveg.py +++ b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamc_vlan_fiveg.py @@ -431,7 +431,7 @@ class TestDynamicVlan(object): eth_vlan_ip_1 = eth_radius_vlan_ip.split('.') print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) print("vlan ip...", eth_radius_vlan_ip) - print("eth_bridge_ip..", eth_ip) + print("eth__ip..", eth_ip) for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): if i != j: allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) @@ -439,7 +439,7 @@ class TestDynamicVlan(object): allure.attach(name="ssid configured vlan ip....", body=str(eth_ssid_vlan_ip)) allure.attach(name="radius configured vlan..", body=str(port_resources[2] + "." + str(vlan[1]))) allure.attach(name="radius configured vlan ip....", body=str(eth_radius_vlan_ip)) - allure.attach(name="bridge ip....", body=str(eth_ip)) + allure.attach(name=" ip....", body=str(eth_ip)) print("Station ip not assigned as per vlan") assert False else: @@ -449,7 +449,7 @@ class TestDynamicVlan(object): allure.attach(name="ssid configured vlan ip....", body=str(eth_ssid_vlan_ip)) allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan[1]))) allure.attach(name="radius configured vlan ip....", body=str(eth_radius_vlan_ip)) - allure.attach(name="bridge ip....", body=str(eth_ip)) + allure.attach(name=" ip....", body=str(eth_ip)) print("Station ip assigned as per dynamic vlan") @pytest.mark.subsequent_user_for_same_user_account diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamic_over_ssid_fiveg.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamic_over_ssid_fiveg.py index 125597666..2e56f36f7 100644 --- a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamic_over_ssid_fiveg.py +++ b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamic_over_ssid_fiveg.py @@ -81,7 +81,7 @@ class TestDynamicVlan(object): eth_vlan_ip_1 = eth_radius_vlan_ip.split('.') print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) print("vlan ip...", eth_radius_vlan_ip) - print("eth_bridge_ip..", eth_ip) + print("eth_upstream_ip..", eth_ip) for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): if i != j: allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) @@ -89,7 +89,7 @@ class TestDynamicVlan(object): allure.attach(name="ssid configured vlan ip....", body=str(eth_ssid_vlan_ip)) allure.attach(name="radius configured vlan..", body=str(port_resources[2] + "." + str(vlan[1]))) allure.attach(name="radius configured vlan ip....", body=str(eth_radius_vlan_ip)) - allure.attach(name="bridge ip....", body=str(eth_ip)) + allure.attach(name="upstream ip....", body=str(eth_ip)) print("Station ip not assigned as per vlan") assert False else: @@ -99,5 +99,5 @@ class TestDynamicVlan(object): allure.attach(name="ssid configured vlan ip....", body=str(eth_ssid_vlan_ip)) allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan[1]))) allure.attach(name="radius configured vlan ip....", body=str(eth_radius_vlan_ip)) - allure.attach(name="bridge ip....", body=str(eth_ip)) + allure.attach(name="upstream ip....", body=str(eth_ip)) print("Station ip assigned as per dynamic vlan") \ No newline at end of file diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamc_vlan_twog.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamc_vlan_twog.py index 99bc38206..c0158c976 100644 --- a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamc_vlan_twog.py +++ b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamc_vlan_twog.py @@ -1,7 +1,7 @@ """ Dynamic_Vlan: Bridge Mode - pytest -m "dynamic_vlan and wpa2_enterprise and bridge" + pytest -m "dynamic_vlan and wpa2_enterprise and vlan" """ @@ -79,7 +79,7 @@ class TestDynamicVlan(object): print(sta_ip_1) eth_ip_1 = eth_ip.split('.') print("station ip...", lf_test.station_ip[station_names_twog[0]]) - print("bridge ip...", eth_ip) + print("upstream ip...", eth_ip) for i, j in zip(sta_ip_1[0:2], eth_ip_1[0:2]): if i != j: allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) @@ -134,11 +134,11 @@ class TestDynamicVlan(object): "/" + port_resources[2])["interface"]["ip"] sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') - eth_bridge_ip_1 = eth_ip.split('.') + eth_upstream_ip_1 = eth_ip.split('.') print("station ip...", lf_test.station_ip[station_names_twog[0]]) print("vlan ip...", eth_vlan_ip) - print("eth_bridge_ip..", eth_ip) - for i, j in zip(sta_ip_1[0:2], eth_bridge_ip_1[0:2]): + print("eth_upstream_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_upstream_ip_1[0:2]): if i != j: allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) @@ -219,14 +219,14 @@ class TestDynamicVlan(object): allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) allure.attach(name="upstream port....", body=str(port_resources[2])) allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip assigned as per bridge") + print("Station ip assigned as per upstream") elif count == 0: allure.attach(name="station ip....", body=str(sta_ip)) allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) allure.attach(name="upstream port....", body=str(port_resources[2])) allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip not assigned as per bridge") + print("Station ip not assigned as per upstream") assert False @pytest.mark.absenceofvlanid @@ -265,11 +265,11 @@ class TestDynamicVlan(object): "/" + port_resources[2])["interface"]["ip"] sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') - eth_bridge_ip_1 = eth_ip.split('.') + eth_upstream_ip_1 = eth_ip.split('.') print("station ip...", lf_test.station_ip[station_names_twog[0]]) print("vlan ip...", eth_vlan_ip) - print("eth_bridge_ip..", eth_ip) - for i, j in zip(sta_ip_1[0:2], eth_bridge_ip_1[0:2]): + print("eth_upstream_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_upstream_ip_1[0:2]): if i != j: allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) allure.attach(name="upstream port....", body=str(port_resources[2])) @@ -319,22 +319,22 @@ class TestDynamicVlan(object): "/" + port_resources[2])["interface"]["ip"] sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') - eth_bridge_ip_1 = eth_ip.split('.') + eth_upstream_ip_1 = eth_ip.split('.') print("station ip...", lf_test.station_ip[station_names_twog[0]]) print("vlan ip...", eth_vlan_ip) - print("eth_bridge_ip..", eth_ip) - for i, j in zip(sta_ip_1[0:2], eth_bridge_ip_1[0:2]): + print("eth_upstream_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_upstream_ip_1[0:2]): if i != j: allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) - print("Station ip not assigned as per bridge") + print("Station ip not assigned as per upstream") assert False else: assert True allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) - allure.attach(name="bridge ip....", body=str(eth_ip)) - print("Station ip assigned as per bridge") + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Station ip assigned as per upstream") ''' @pytest.mark.outofboundvlanid @pytest.mark.wpa2_enterprise @@ -423,7 +423,7 @@ class TestDynamicVlan(object): eth_vlan_ip_1 = eth_radius_vlan_ip.split('.') print("station ip...", lf_test.station_ip[station_names_twog[0]]) print("vlan ip...", eth_radius_vlan_ip) - print("eth_bridge_ip..", eth_ip) + print("eth_upstream_ip..", eth_ip) for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): if i != j: allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) @@ -495,7 +495,7 @@ class TestDynamicVlan(object): sta_ip_1 = sta_ip[n].split('.') print("station ip...", sta_ip[n]) print("vlan ip...", eth_vlan_ip) - print("eth_bridge_ip..", eth_ip) + print("eth_upstream_ip..", eth_ip) for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): if i != j: allure.attach(name="station ip....", body=str(sta_ip[n])) @@ -564,7 +564,7 @@ class TestDynamicVlan(object): sta_ip_1 = sta_ip[sta].split('.') print("station ip...", lf_test.station_ip[station_list[sta]]) print("vlan ip...", eth_vlan_ip) - print("eth_bridge_ip..", eth_ip) + print("eth_upstream_ip..", eth_ip) for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): if i != j: allure.attach(name="station ip....", body=str(sta_ip[sta])) diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamic_over_ssid_twog.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamic_over_ssid_twog.py index aa2e572eb..5b1f576ed 100644 --- a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamic_over_ssid_twog.py +++ b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamic_over_ssid_twog.py @@ -82,7 +82,7 @@ class TestDynamicVlan(object): eth_vlan_ip_1 = eth_radius_vlan_ip.split('.') print("station ip...", lf_test.station_ip[station_names_twog[0]]) print("vlan ip...", eth_radius_vlan_ip) - print("eth_bridge_ip..", eth_ip) + print("eth_upstream_ip..", eth_ip) for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): if i != j: allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) @@ -90,7 +90,7 @@ class TestDynamicVlan(object): allure.attach(name="ssid configured vlan ip....", body=str(eth_ssid_vlan_ip)) allure.attach(name="radius configured vlan..", body=str(port_resources[2] + "." + str(vlan[1]))) allure.attach(name="radius configured vlan ip....", body=str(eth_radius_vlan_ip)) - allure.attach(name="bridge ip....", body=str(eth_ip)) + allure.attach(name="upstream ip....", body=str(eth_ip)) print("Station ip not assigned as per vlan") assert False else: @@ -100,5 +100,5 @@ class TestDynamicVlan(object): allure.attach(name="ssid configured vlan ip....", body=str(eth_ssid_vlan_ip)) allure.attach(name="radius configured vlan..", body=str(port_resources[2] + "." + str(vlan[1]))) allure.attach(name="radius configured vlan ip....", body=str(eth_radius_vlan_ip)) - allure.attach(name="bridge ip....", body=str(eth_ip)) + allure.attach(name="upstream ip....", body=str(eth_ip)) print("Station ip assigned as per dynamic vlan") \ No newline at end of file From fd2e4a289a131175dab3f02528cac878bb877506 Mon Sep 17 00:00:00 2001 From: KvSaiMahesh Date: Sun, 12 Dec 2021 01:20:56 +0530 Subject: [PATCH 13/24] made changes in test cases Signed-off-by: KvSaiMahesh --- .../fiveg/test_dynamc_vlan_fiveg.py | 23 +++++++++++-------- .../twog/test_dynamc_vlan_twog.py | 12 +++++++--- 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamc_vlan_fiveg.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamc_vlan_fiveg.py index 8c098da3a..38db2e847 100644 --- a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamc_vlan_fiveg.py +++ b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamc_vlan_fiveg.py @@ -152,7 +152,7 @@ class TestDynamicVlan(object): allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) allure.attach(name="upstream port....", body=str(port_resources[2])) allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip assigned as per vlan") + print("Station ip assigned as per vlan") @pytest.mark.periodic_reauthentication @pytest.mark.wpa2_enterprise @@ -174,7 +174,7 @@ class TestDynamicVlan(object): print(upstream_port) port_resources = upstream_port.split(".") print(lf_tools.dut_idx_mapping) - # lf_tools.reset_scenario() + lf_tools.reset_scenario() lf_tools.add_vlan(vlan_ids=[vlan]) lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], @@ -271,8 +271,8 @@ class TestDynamicVlan(object): sta_ip_1 = lf_test.station_ip[station_names_fiveg[0]].split('.') eth_vlan_ip_1 = eth_ip.split('.') print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) - print("vlan ip...", eth_vlan_ip) - print("eth_vlan_ip..", eth_ip) + print("ssid configured vlan ip...", eth_vlan_ip) + print("upstream ip..", eth_ip) for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): if i != j: allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) @@ -289,7 +289,7 @@ class TestDynamicVlan(object): allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) allure.attach(name="upstream port....", body=str(port_resources[2])) allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip assigned as per dynamic vlan") + print("Station ip assigned as per ssid configured vlan") ''' @pytest.mark.unsupported @pytest.mark.wpa2_enterprise @@ -430,8 +430,8 @@ class TestDynamicVlan(object): sta_ip_1 = lf_test.station_ip[station_names_fiveg[0]].split('.') eth_vlan_ip_1 = eth_radius_vlan_ip.split('.') print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) - print("vlan ip...", eth_radius_vlan_ip) - print("eth__ip..", eth_ip) + print("radius vlan ip...", eth_radius_vlan_ip) + print("eth_upstream_ip..", eth_ip) for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): if i != j: allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) @@ -474,8 +474,9 @@ class TestDynamicVlan(object): print(upstream_port) port_resources = upstream_port.split(".") print(lf_tools.dut_idx_mapping) - lf_tools.add_vlan(vlan_ids=[vlan]) lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan]) + station_list = [] sta_ip = [] for i in range(0, 2): @@ -492,6 +493,9 @@ class TestDynamicVlan(object): wep_key="NA", ca_cert="NA", eap="TTLS", identity="userA", d_vlan=True, cleanup=True) lf_tools.admin_up_down([station_list[m]], option="up") sta_ip.append(lf_test.station_ip[station_list[m]]) + if sta_ip[m]=="0.0.0.0": + allure.attach("station didnt recieved ip..") + assert False print(sta_ip) time.sleep(30) @@ -545,8 +549,9 @@ class TestDynamicVlan(object): print(upstream_port) port_resources = upstream_port.split(".") print(lf_tools.dut_idx_mapping) - lf_tools.add_vlan(vlan_ids=vlan) lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=vlan) + station_list = [] sta_ip = [] dynamic_vlan_user = ["userA", "userB"] diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamc_vlan_twog.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamc_vlan_twog.py index c0158c976..17b62ab8a 100644 --- a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamc_vlan_twog.py +++ b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamc_vlan_twog.py @@ -177,7 +177,7 @@ class TestDynamicVlan(object): print(upstream_port) port_resources = upstream_port.split(".") print(lf_tools.dut_idx_mapping) - # lf_tools.reset_scenario() + lf_tools.reset_scenario() lf_tools.add_vlan(vlan_ids=[vlan]) lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], @@ -272,6 +272,8 @@ class TestDynamicVlan(object): for i, j in zip(sta_ip_1[0:2], eth_upstream_ip_1[0:2]): if i != j: allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) allure.attach(name="upstream port....", body=str(port_resources[2])) allure.attach(name="upstream ip....", body=str(eth_ip)) print("Station ip not assigned as per ssid vlan") @@ -279,6 +281,8 @@ class TestDynamicVlan(object): else: assert True allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) allure.attach(name="upstream port....", body=str(port_resources[2])) allure.attach(name="upstream ip....", body=str(eth_ip)) print("Station ip assigned as per ssid vlan") @@ -465,8 +469,9 @@ class TestDynamicVlan(object): print(upstream_port) port_resources = upstream_port.split(".") print(lf_tools.dut_idx_mapping) - lf_tools.add_vlan(vlan_ids=[vlan]) lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan]) + station_list = [] sta_ip = [] for i in range(0, 2): @@ -535,8 +540,9 @@ class TestDynamicVlan(object): print(upstream_port) port_resources = upstream_port.split(".") print(lf_tools.dut_idx_mapping) - lf_tools.add_vlan(vlan_ids=vlan) lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=vlan) + station_list = [] sta_ip = [] dynamic_vlan_user = ["userA", "userB"] From 57cb0f0d73385b25daf804f5d7a154f0336c50dc Mon Sep 17 00:00:00 2001 From: KvSaiMahesh Date: Mon, 13 Dec 2021 01:50:18 +0530 Subject: [PATCH 14/24] added twog and fiveg testcases Signed-off-by: KvSaiMahesh --- .../fiveg/test_dynamic_vlan_fiveg.py | 647 ++++++++++++++++++ .../twog/test_dynamic_vlan_twog.py | 647 ++++++++++++++++++ 2 files changed, 1294 insertions(+) create mode 100644 tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamic_vlan_fiveg.py create mode 100644 tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamic_vlan_twog.py diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamic_vlan_fiveg.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamic_vlan_fiveg.py new file mode 100644 index 000000000..65663ec79 --- /dev/null +++ b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamic_vlan_fiveg.py @@ -0,0 +1,647 @@ +""" + + Dynamic_Vlan: VLAN Mode + pytest -m "dynamic_vlan and wpa2_enterprise and vlan" + +""" + +import os +import allure +import pytest +import time +from configuration import DYNAMIC_VLAN_RADIUS_SERVER_DATA +from configuration import DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA + +pytestmark = [pytest.mark.regression, pytest.mark.dynamic_vlan, pytest.mark.wpa2_enterprise, pytest.mark.vlan, + pytest.mark.fiveg] + +setup_params_general = { + "mode": "VLAN", + "ssid_modes": { + "wpa2_enterprise": [ + {"ssid_name": "ssid_wpa2e_5g", "appliedRadios": ["5G"], + "security_key": "something", + "radius_auth_data": DYNAMIC_VLAN_RADIUS_SERVER_DATA, + "radius_acc_data": DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA, + "vlan": 100 + }]}, + "rf": {}, + "radius": True +} + + +@allure.suite("regression") +@allure.feature("VLAN MODE wpa2_enterprise Dynamic Vlan") +@pytest.mark.parametrize( + 'setup_profiles', + [setup_params_general], + indirect=True, + scope="class" +) +@pytest.mark.usefixtures("setup_profiles") +class TestDynamicVlan(object): + + @pytest.mark.absence_of_radius_vlan_identifier + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @allure.testcase(name="test_ssid_vlan_in_the_absence_of_radius_vlan_identifier", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5704") + def test_ssid_vlan_in_the_absence_of_radius_vlan_identifier(self, get_vif_state, lf_tools, get_lf_logs, get_ap_logs, + create_lanforge_chamberview_dut, lf_test, + get_configuration, + station_names_fiveg): + """ + pytest -m " absence_of_radius_vlan_identifier and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_5G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan_id = 100 + val = "" + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan_id]) + lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="fiveg", + station_name=station_names_fiveg, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordvlannotsentuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="vlannotsentuser", d_vlan=True) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan_id))["interface"]["ip"] + + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_fiveg[0]].split('.') + print(sta_ip_1) + eth_vlan_ip_1 = eth_vlan_ip.split('.') + # eth_ip_1 = eth_ip.split('.') + if sta_ip_1[0] == "0": + print("station didnt received any ip") + allure.attach("station didnt recieved ip..") + assert False + elif eth_vlan_ip[0] == "0": + print("ssid configured vlan didnt recieved ip") + assert False + print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) + print("upstream ip...", eth_ip) + print("ssid configured vlan ip", eth_vlan_ip) + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + val = False + elif i == j: + val = True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan_id))) + allure.attach(name="ssid configured vlan ip..", body=str(vlan_id)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + if val: + assert True + print("Station ip assigned as per ssid vlan") + elif not val: + print("Station ip not assigned as per ssid vlan") + assert False + + @pytest.mark.invalidradiusvlan + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @allure.testcase(name="test_dynamic_invalid_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5706") + def test_dynamic_invalid_vlan(self, get_vif_state, lf_tools, get_lf_logs, get_ap_logs, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_fiveg): + """ + pytest -m "invalidradiusvlan and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_5G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan_id = 100 + val = "" + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan_id]) + + lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="fiveg", vlan_id=vlan_id, + station_name=station_names_fiveg, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordinvalidvlanuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="invalidvlanuser", d_vlan=True) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan_id))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_fiveg[0]].split('.') + eth_vlan_ip_1 = eth_vlan_ip.split('.') + if sta_ip_1[0] == "0": + print("station didnt received any ip") + allure.attach("station didnt recieved ip..") + assert False + elif eth_vlan_ip[0] == "0": + print("ssid configured vlan didnt recieved ip") + assert False + print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) + print("ssid vlan ip...", eth_vlan_ip) + print("upstream ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + val = False + else: + val = True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan_id))) + allure.attach(name="ssid configured vlan ip..", body=str(vlan_id)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + if val: + assert True + print("Station ip assigned as per ssid vlan") + elif not val: + print("Station ip not assigned as per ssid vlan") + assert False + + @pytest.mark.periodic_reauthentication + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @allure.testcase(name="test_radius_vlan_info_retained_after_periodic_reauthentication", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5707") + def test_radius_vlan_info_retained_after_periodic_reauthentication(self, get_vif_state, lf_tools, get_lf_logs, + get_ap_logs, + create_lanforge_chamberview_dut, lf_test, + get_configuration, + station_names_fiveg): + """ + pytest -m "periodic_reauthentication and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_5G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = [100, 200] + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=vlan) + + lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="fiveg", vlan_id=vlan[1], + station_name=station_names_fiveg, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordB", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="userB", d_vlan=True, cleanup=True) + + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + sta_ip = lf_test.station_ip[station_names_fiveg[0]] + + count = 0 + # print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) + # print("vlan ip...", eth_vlan_ip) + # print("eth_vlan_ip..", eth_ip) + eth_ssid_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan[0]))["interface"]["ip"] + eth_rad_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan[1]))["interface"]["ip"] + eth_vlan_ip_1 = eth_rad_vlan_ip.split('.') + sta_ip_1 = sta_ip.split('.') + if sta_ip_1[0] == "0": + print("station didnt received any ip") + allure.attach("station didnt recieved ip..") + assert False + elif eth_vlan_ip_1[0] == "0": + print("radius configured vlan didnt recieved ip") + assert False + print(sta_ip_1) + for k in range(0, 2): + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + break + else: + if count == 2: + break # allure.attach(name="station ip",body=str(sta_ip)) + continue + count = count + 1 + time.sleep(30) + lf_tools.admin_up_down([station_names_fiveg[0]], option="up") + + sta_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + station_names_fiveg[0])["interface"]["ip"] + sta_ip_1 = sta_ip.split('.') + print(sta_ip) + allure.attach(name="station ip....", body=str(sta_ip)) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan[0]))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_ssid_vlan_ip)) + allure.attach(name="radius configured vlan..", body=str(port_resources[2] + "." + str(vlan[1]))) + allure.attach(name="radius configured vlan ip....", body=str(eth_rad_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + if count == 2: + assert True + print("Station ip assigned as per dynamic vlan") + elif count == 0: + print("Station ip not assigned as per dynamic vlan") + assert False + + @pytest.mark.absenceofvlanid + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @allure.testcase(name="test_ssid_vlan_used_in_absence_of_radius_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5708") + def test_ssid_vlan_used_in_absence_of_radius_vlan(self, get_vif_state, lf_tools, get_lf_logs, get_ap_logs, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_fiveg): + """ + pytest -m "absenceofvlanid and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_5G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = 100 + val = "" + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan]) + + lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="fiveg", vlan_id=vlan, + station_name=station_names_fiveg, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordvlannotsentuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="vlannotsentuser", d_vlan=True) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_fiveg[0]].split('.') + eth_vlan_ip_1 = eth_vlan_ip.split('.') + print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) + print("ssid configured vlan ip...", eth_vlan_ip) + print("upstream ip..", eth_ip) + if sta_ip_1[0] == "0": + print("station didnt received any ip") + allure.attach("station didnt recieved ip..") + assert False + elif eth_vlan_ip[0] == "0": + print("ssid configured vlan didnt recieved ip") + assert False + + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + val = False + else: + val = True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="ssid configured vlan ip..", body=str(vlan)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + if val: + assert True + print("Station ip assigned as per ssid configured vlan") + elif not val: + print("Station ip not assigned as per ssid configured vlan") + assert False + + ''' + @pytest.mark.unsupported + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @allure.testcase(name="test_dynamic_unsupported_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5710") + def test_dynamic_unsupported_vlan(self, get_vif_state, lf_tools, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_fiveg): + """ + pytest -m "unsupported and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_5G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan]) + + lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="fiveg", vlan_id=100, + station_name=station_names_fiveg, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordinvalidvlanuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="invalidvlanuser", d_vlan=True) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_fiveg[0]].split('.') + eth_vlan_ip_1 = eth_ip.split('.') + print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) + print("vlan ip...", eth_vlan_ip) + print("eth_vlan_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + print("Station ip not assigned as per vlan") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + allure.attach(name="vlan ip....", body=str(eth_ip)) + print("Station ip assigned as per vlan") + ''' + + @pytest.mark.outofboundvlanid + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @allure.testcase(name="test_outof_bound_vlanid", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5711") + def test_outof_bound_vlanid(self, get_vif_state, lf_tools, get_lf_logs, get_ap_logs, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_fiveg): + """ + pytest -m "outofboundvlanid and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_5G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan]) + + lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="fiveg", vlan_id=vlan, + station_name=station_names_fiveg, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordoutofboundvlanuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="outofboundvlanuser", d_vlan=True) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + if lf_test.station_ip[station_names_fiveg[0]] == "0.0.0.0": + print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) + assert True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + allure.attach(name="out of bound vlan id..", body=str(7000)) + print("Test Passsed...Client Connection failed") + + @pytest.mark.client_association_ap_with_dynamic_vlan + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @allure.testcase(name="test_client_association_ap_with_dynamic_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5712") + def test_client_association_ap_with_dynamic_vlan(self, get_vif_state, lf_tools, get_ap_logs, get_lf_logs, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_fiveg): + """ + pytest -m "client_association_ap_with_dynamic_vlan and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_5G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = [100, 200] + val = "" + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=vlan) + + lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="fiveg", vlan_id=vlan[0], + station_name=station_names_fiveg, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordB", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="userB", d_vlan=True) + + eth_ssid_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan[0]))["interface"]["ip"] + + eth_radius_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan[1]))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_fiveg[0]].split('.') + eth_radius_vlan_ip_1 = eth_radius_vlan_ip.split('.') + print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) + print("radius vlan ip...", eth_radius_vlan_ip) + print("eth_upstream_ip..", eth_ip) + if sta_ip_1[0] == "0": + print("station didnt received any ip") + allure.attach("station didnt recieved ip..") + assert False + elif eth_radius_vlan_ip_1[0] == "0": + print("ssid configured vlan didnt recieved ip") + assert False + + for i, j in zip(sta_ip_1[0:2], eth_radius_vlan_ip_1[0:2]): + if i != j: + val = False + else: + val = True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan[0]))) + allure.attach(name="ssid configured vlan ip....", body=str(eth_ssid_vlan_ip)) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan[1]))) + allure.attach(name="radius configured vlan ip....", body=str(eth_radius_vlan_ip)) + allure.attach(name="Upstream ip....", body=str(eth_ip)) + if val: + assert True + print("Station ip assigned as per radius vlan") + elif not val: + print("Station ip not assigned as per radius vlan") + assert False + + @pytest.mark.subsequent_user_for_same_user_account + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @allure.testcase(name="test_subsequent_user_for_same_user_account", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5705") + def test_subsequent_user_for_same_user_account(self, get_vif_state, lf_tools, get_lf_logs, + get_ap_logs, + create_lanforge_chamberview_dut, lf_test, + get_configuration, + station_names_fiveg): + """ + pytest -m "subsequent_user_for_same_user_account and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_5G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan]) + + station_list = [] + sta_ip = [] + for i in range(0, 2): + station_list.append(lf_tools.fiveg_prefix + str(i)) + print(station_list) + print([station_list[0]]) + + for m in range(0, len(station_list)): + lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="fiveg", vlan_id=100, + station_name=[station_list[m]], key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordA", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="userA", d_vlan=True, cleanup=True) + lf_tools.admin_up_down([station_list[m]], option="up") + sta_ip.append(lf_test.station_ip[station_list[m]]) + if sta_ip[m] == "0.0.0.0": + allure.attach("station didnt recieved ip..") + assert False + print(sta_ip) + time.sleep(30) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + eth_vlan_ip_1 = eth_vlan_ip.split('.') + for n in range(0, len(station_list)): + sta_ip_1 = sta_ip[n].split('.') + print("station ip...", sta_ip[n]) + print("vlan ip...", eth_vlan_ip) + print("eth_vlan_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(sta_ip[n])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Station ip not assigned as per dynamic vlan") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(sta_ip[n])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Station ip assigned as per dynamic vlan") + + @pytest.mark.subsequent_user_for_different_user_account + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @allure.testcase(name="test_subsequent_user_for_different_user_account_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5714") + def test_subsequent_user_for_different_user_account(self, get_vif_state, lf_tools, get_lf_logs, + get_ap_logs, + create_lanforge_chamberview_dut, lf_test, + get_configuration, + station_names_fiveg): + """ + pytest -m "subsequent_user_for_different_user_account and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_5G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = [100, 200] + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=vlan) + + station_list = [] + sta_ip = [] + dynamic_vlan_user = ["userA", "userB"] + dynamic_vlan_pass = ["passwordA", "passwordB"] + for i in range(0, 2): + station_list.append(lf_tools.fiveg_prefix + str(i)) + + for user_id, user_pass, sta in zip(dynamic_vlan_user, dynamic_vlan_pass, range(0, len(station_list))): + lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="fiveg", vlan_id=vlan[sta], + station_name=[station_list[sta]], key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd=user_pass, ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity=user_id, d_vlan=True, cleanup=True) + + sta_ip.append(lf_test.station_ip[station_list[sta]]) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan[sta]))["interface"]["ip"] + + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + eth_vlan_ip_1 = eth_vlan_ip.split('.') + print(sta_ip) + sta_ip_1 = sta_ip[sta].split('.') + if sta_ip_1 == "0.0.0.0": + allure.attach("station didn't received ip..") + assert False + print("station ip...", lf_test.station_ip[station_list[sta]]) + print("vlan ip...", eth_vlan_ip) + print("eth_vlan_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(sta_ip[sta])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Station ip not assigned as per dynamic vlan") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(sta_ip[sta])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Station ip assigned as per dynamic vlan") + lf_tools.admin_up_down([station_list[sta]], option="up") + time.sleep(5) diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamic_vlan_twog.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamic_vlan_twog.py new file mode 100644 index 000000000..e3e0c439a --- /dev/null +++ b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamic_vlan_twog.py @@ -0,0 +1,647 @@ +""" + + Dynamic_Vlan: VLAN Mode + pytest -m "dynamic_vlan and wpa2_enterprise and vlan" + +""" + +import os +import allure +import pytest +import time +from configuration import DYNAMIC_VLAN_RADIUS_SERVER_DATA +from configuration import DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA + +pytestmark = [pytest.mark.regression, pytest.mark.dynamic_vlan, pytest.mark.wpa2_enterprise, pytest.mark.vlan, + pytest.mark.twog] + +setup_params_general = { + "mode": "VLAN", + "ssid_modes": { + "wpa2_enterprise": [ + {"ssid_name": "ssid_wpa2e_2g", "appliedRadios": ["2G"], + "security_key": "something", + "radius_auth_data": DYNAMIC_VLAN_RADIUS_SERVER_DATA, + "radius_acc_data": DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA, + "vlan": 100 + }]}, + "rf": {}, + "radius": True +} + + +@allure.suite("regression") +@allure.feature("VLAN MODE wpa2_enterprise Dynamic Vlan") +@pytest.mark.parametrize( + 'setup_profiles', + [setup_params_general], + indirect=True, + scope="class" +) +@pytest.mark.usefixtures("setup_profiles") +class TestDynamicVlan(object): + + @pytest.mark.absence_of_radius_vlan_identifier + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @allure.testcase(name="test_ssid_vlan_in_the_absence_of_radius_vlan_identifier", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5704") + def test_ssid_vlan_in_the_absence_of_radius_vlan_identifier(self, get_vif_state, lf_tools, get_lf_logs, get_ap_logs, + create_lanforge_chamberview_dut, lf_test, + get_configuration, + station_names_twog): + """ + pytest -m " absence_of_radius_vlan_identifier and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_2G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan_id = 100 + val = "" + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan_id]) + lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog", + station_name=station_names_twog, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordvlannotsentuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="vlannotsentuser", d_vlan=True) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan_id))["interface"]["ip"] + + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') + print(sta_ip_1) + eth_vlan_ip_1 = eth_vlan_ip.split('.') + # eth_ip_1 = eth_ip.split('.') + if sta_ip_1[0] == "0": + print("station didnt received any ip") + allure.attach("station didnt recieved ip..") + assert False + elif eth_vlan_ip[0] == "0": + print("ssid configured vlan didnt recieved ip") + assert False + print("station ip...", lf_test.station_ip[station_names_twog[0]]) + print("upstream ip...", eth_ip) + print("ssid configured vlan ip", eth_vlan_ip) + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + val = False + elif i == j: + val = True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan_id))) + allure.attach(name="ssid configured vlan ip..", body=str(vlan_id)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + if val: + assert True + print("Station ip assigned as per ssid vlan") + elif not val: + print("Station ip not assigned as per ssid vlan") + assert False + + @pytest.mark.invalidradiusvlan + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @allure.testcase(name="test_dynamic_invalid_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5706") + def test_dynamic_invalid_vlan(self, get_vif_state, lf_tools, get_lf_logs, get_ap_logs, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_twog): + """ + pytest -m "invalidradiusvlan and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_2G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan_id = 100 + val = "" + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan_id]) + + lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog", vlan_id=vlan_id, + station_name=station_names_twog, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordinvalidvlanuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="invalidvlanuser", d_vlan=True) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan_id))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') + eth_vlan_ip_1 = eth_vlan_ip.split('.') + if sta_ip_1[0] == "0": + print("station didnt received any ip") + allure.attach("station didnt recieved ip..") + assert False + elif eth_vlan_ip[0] == "0": + print("ssid configured vlan didnt recieved ip") + assert False + print("station ip...", lf_test.station_ip[station_names_twog[0]]) + print("ssid vlan ip...", eth_vlan_ip) + print("upstream ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + val = False + else: + val = True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan_id))) + allure.attach(name="ssid configured vlan ip..", body=str(vlan_id)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + if val: + assert True + print("Station ip assigned as per ssid vlan") + elif not val: + print("Station ip not assigned as per ssid vlan") + assert False + + @pytest.mark.periodic_reauthentication + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @allure.testcase(name="test_radius_vlan_info_retained_after_periodic_reauthentication", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5707") + def test_radius_vlan_info_retained_after_periodic_reauthentication(self, get_vif_state, lf_tools, get_lf_logs, + get_ap_logs, + create_lanforge_chamberview_dut, lf_test, + get_configuration, + station_names_twog): + """ + pytest -m "periodic_reauthentication and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_2G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = [100, 200] + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=vlan) + + lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog", vlan_id=vlan[1], + station_name=station_names_twog, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordB", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="userB", d_vlan=True, cleanup=True) + + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + sta_ip = lf_test.station_ip[station_names_twog[0]] + + count = 0 + # print("station ip...", lf_test.station_ip[station_names_twog[0]]) + # print("vlan ip...", eth_vlan_ip) + # print("eth_vlan_ip..", eth_ip) + eth_ssid_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan[0]))["interface"]["ip"] + eth_rad_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan[1]))["interface"]["ip"] + eth_vlan_ip_1 = eth_rad_vlan_ip.split('.') + sta_ip_1 = sta_ip.split('.') + if sta_ip_1[0] == "0": + print("station didnt received any ip") + allure.attach("station didnt recieved ip..") + assert False + elif eth_vlan_ip_1[0] == "0": + print("radius configured vlan didnt recieved ip") + assert False + print(sta_ip_1) + for k in range(0, 2): + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + break + else: + if count == 2: + break # allure.attach(name="station ip",body=str(sta_ip)) + continue + count = count + 1 + time.sleep(30) + lf_tools.admin_up_down([station_names_twog[0]], option="up") + + sta_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + station_names_twog[0])["interface"]["ip"] + sta_ip_1 = sta_ip.split('.') + print(sta_ip) + allure.attach(name="station ip....", body=str(sta_ip)) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan[0]))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_ssid_vlan_ip)) + allure.attach(name="radius configured vlan..", body=str(port_resources[2] + "." + str(vlan[1]))) + allure.attach(name="radius configured vlan ip....", body=str(eth_rad_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + if count == 2: + assert True + print("Station ip assigned as per dynamic vlan") + elif count == 0: + print("Station ip not assigned as per dynamic vlan") + assert False + + @pytest.mark.absenceofvlanid + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @allure.testcase(name="test_ssid_vlan_used_in_absence_of_radius_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5708") + def test_ssid_vlan_used_in_absence_of_radius_vlan(self, get_vif_state, lf_tools, get_lf_logs, get_ap_logs, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_twog): + """ + pytest -m "absenceofvlanid and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_2G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = 100 + val = "" + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan]) + + lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog", vlan_id=vlan, + station_name=station_names_twog, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordvlannotsentuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="vlannotsentuser", d_vlan=True) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') + eth_vlan_ip_1 = eth_vlan_ip.split('.') + print("station ip...", lf_test.station_ip[station_names_twog[0]]) + print("ssid configured vlan ip...", eth_vlan_ip) + print("upstream ip..", eth_ip) + if sta_ip_1[0] == "0": + print("station didnt received any ip") + allure.attach("station didnt recieved ip..") + assert False + elif eth_vlan_ip[0] == "0": + print("ssid configured vlan didnt recieved ip") + assert False + + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + val = False + else: + val = True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="ssid configured vlan ip..", body=str(vlan)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + if val: + assert True + print("Station ip assigned as per ssid configured vlan") + elif not val: + print("Station ip not assigned as per ssid configured vlan") + assert False + + ''' + @pytest.mark.unsupported + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @allure.testcase(name="test_dynamic_unsupported_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5710") + def test_dynamic_unsupported_vlan(self, get_vif_state, lf_tools, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_twog): + """ + pytest -m "unsupported and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_2G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan]) + + lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog", vlan_id=100, + station_name=station_names_twog, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordinvalidvlanuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="invalidvlanuser", d_vlan=True) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') + eth_vlan_ip_1 = eth_ip.split('.') + print("station ip...", lf_test.station_ip[station_names_twog[0]]) + print("vlan ip...", eth_vlan_ip) + print("eth_vlan_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + print("Station ip not assigned as per vlan") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) + allure.attach(name="vlan ip....", body=str(eth_ip)) + print("Station ip assigned as per vlan") + ''' + + @pytest.mark.outofboundvlanid + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @allure.testcase(name="test_outof_bound_vlanid", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5711") + def test_outof_bound_vlanid(self, get_vif_state, lf_tools, get_lf_logs, get_ap_logs, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_twog): + """ + pytest -m "outofboundvlanid and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_2G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan]) + + lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog", vlan_id=vlan, + station_name=station_names_twog, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordoutofboundvlanuser", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="outofboundvlanuser", d_vlan=True) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + if lf_test.station_ip[station_names_twog[0]] == "0.0.0.0": + print("station ip...", lf_test.station_ip[station_names_twog[0]]) + assert True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + allure.attach(name="out of bound vlan id..", body=str(7000)) + print("Test Passsed...Client Connection failed") + + @pytest.mark.client_association_ap_with_dynamic_vlan + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @allure.testcase(name="test_client_association_ap_with_dynamic_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5712") + def test_client_association_ap_with_dynamic_vlan(self, get_vif_state, lf_tools, get_ap_logs, get_lf_logs, + create_lanforge_chamberview_dut, lf_test, get_configuration, + station_names_twog): + """ + pytest -m "client_association_ap_with_dynamic_vlan and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_2G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = [100, 200] + val = "" + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=vlan) + + lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog", vlan_id=vlan[0], + station_name=station_names_twog, key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordB", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="userB", d_vlan=True) + + eth_ssid_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan[0]))["interface"]["ip"] + + eth_radius_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan[1]))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + + sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') + eth_radius_vlan_ip_1 = eth_radius_vlan_ip.split('.') + print("station ip...", lf_test.station_ip[station_names_twog[0]]) + print("radius vlan ip...", eth_radius_vlan_ip) + print("eth_upstream_ip..", eth_ip) + if sta_ip_1[0] == "0": + print("station didnt received any ip") + allure.attach("station didnt recieved ip..") + assert False + elif eth_radius_vlan_ip_1[0] == "0": + print("ssid configured vlan didnt recieved ip") + assert False + + for i, j in zip(sta_ip_1[0:2], eth_radius_vlan_ip_1[0:2]): + if i != j: + val = False + else: + val = True + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan[0]))) + allure.attach(name="ssid configured vlan ip....", body=str(eth_ssid_vlan_ip)) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan[1]))) + allure.attach(name="radius configured vlan ip....", body=str(eth_radius_vlan_ip)) + allure.attach(name="Upstream ip....", body=str(eth_ip)) + if val: + assert True + print("Station ip assigned as per radius vlan") + elif not val: + print("Station ip not assigned as per radius vlan") + assert False + + @pytest.mark.subsequent_user_for_same_user_account + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @allure.testcase(name="test_subsequent_user_for_same_user_account", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5705") + def test_subsequent_user_for_same_user_account(self, get_vif_state, lf_tools, get_lf_logs, + get_ap_logs, + create_lanforge_chamberview_dut, lf_test, + get_configuration, + station_names_twog): + """ + pytest -m "subsequent_user_for_same_user_account and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_2G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = 100 + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=[vlan]) + + station_list = [] + sta_ip = [] + for i in range(0, 2): + station_list.append(lf_tools.twog_prefix + str(i)) + print(station_list) + print([station_list[0]]) + + for m in range(0, len(station_list)): + lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog", vlan_id=100, + station_name=[station_list[m]], key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd="passwordA", ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity="userA", d_vlan=True, cleanup=True) + lf_tools.admin_up_down([station_list[m]], option="up") + sta_ip.append(lf_test.station_ip[station_list[m]]) + if sta_ip[m] == "0.0.0.0": + allure.attach("station didnt recieved ip..") + assert False + print(sta_ip) + time.sleep(30) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + eth_vlan_ip_1 = eth_vlan_ip.split('.') + for n in range(0, len(station_list)): + sta_ip_1 = sta_ip[n].split('.') + print("station ip...", sta_ip[n]) + print("vlan ip...", eth_vlan_ip) + print("eth_vlan_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(sta_ip[n])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Station ip not assigned as per dynamic vlan") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(sta_ip[n])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Station ip assigned as per dynamic vlan") + + @pytest.mark.subsequent_user_for_different_user_account + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @allure.testcase(name="test_subsequent_user_for_different_user_account_vlan", + url="https://telecominfraproject.atlassian.net/browse/WIFI-5714") + def test_subsequent_user_for_different_user_account(self, get_vif_state, lf_tools, get_lf_logs, + get_ap_logs, + create_lanforge_chamberview_dut, lf_test, + get_configuration, + station_names_twog): + """ + pytest -m "subsequent_user_for_different_user_account and wpa2_enterprise and vlan" + """ + + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] + ssid_2G = profile_data[0]["ssid_name"] + mode = "VLAN" + vlan = [100, 200] + upstream_port = lf_tools.upstream_port + print(upstream_port) + port_resources = upstream_port.split(".") + print(lf_tools.dut_idx_mapping) + lf_tools.reset_scenario() + lf_tools.add_vlan(vlan_ids=vlan) + + station_list = [] + sta_ip = [] + dynamic_vlan_user = ["userA", "userB"] + dynamic_vlan_pass = ["passwordA", "passwordB"] + for i in range(0, 2): + station_list.append(lf_tools.twog_prefix + str(i)) + + for user_id, user_pass, sta in zip(dynamic_vlan_user, dynamic_vlan_pass, range(0, len(station_list))): + lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], + mode=mode, band="twog", vlan_id=vlan[sta], + station_name=[station_list[sta]], key_mgmt="WPA-EAP", + pairwise="NA", group="NA", wpa_psk="DEFAULT", + ttls_passwd=user_pass, ieee80211w=0, + wep_key="NA", ca_cert="NA", eap="TTLS", identity=user_id, d_vlan=True, cleanup=True) + + sta_ip.append(lf_test.station_ip[station_list[sta]]) + + eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2] + "." + str(vlan[sta]))["interface"]["ip"] + + eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + + "/" + port_resources[2])["interface"]["ip"] + eth_vlan_ip_1 = eth_vlan_ip.split('.') + print(sta_ip) + sta_ip_1 = sta_ip[sta].split('.') + if sta_ip_1 == "0.0.0.0": + allure.attach("station didn't received ip..") + assert False + print("station ip...", lf_test.station_ip[station_list[sta]]) + print("vlan ip...", eth_vlan_ip) + print("eth_vlan_ip..", eth_ip) + for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): + if i != j: + allure.attach(name="station ip....", body=str(sta_ip[sta])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Station ip not assigned as per dynamic vlan") + assert False + else: + assert True + allure.attach(name="station ip....", body=str(sta_ip[sta])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + print("Station ip assigned as per dynamic vlan") + lf_tools.admin_up_down([station_list[sta]], option="up") + time.sleep(5) From 2ca06324f5de444b40ccedcddf00e5faf30b5626 Mon Sep 17 00:00:00 2001 From: KvSaiMahesh Date: Mon, 13 Dec 2021 01:51:21 +0530 Subject: [PATCH 15/24] deleted unwanted testcases Signed-off-by: KvSaiMahesh --- .../fiveg/test_dynamc_vlan_fiveg.py | 601 ------------------ .../twog/test_dynamc_vlan_twog.py | 592 ----------------- 2 files changed, 1193 deletions(-) delete mode 100644 tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamc_vlan_fiveg.py delete mode 100644 tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamc_vlan_twog.py diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamc_vlan_fiveg.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamc_vlan_fiveg.py deleted file mode 100644 index 38db2e847..000000000 --- a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamc_vlan_fiveg.py +++ /dev/null @@ -1,601 +0,0 @@ -""" - - Dynamic_Vlan: Bridge Mode - pytest -m "dynamic_vlan and wpa2_enterprise and vlan" - -""" - -import os -import allure -import pytest -import time -from configuration import DYNAMIC_VLAN_RADIUS_SERVER_DATA -from configuration import DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA - -pytestmark = [pytest.mark.regression, pytest.mark.dynamic_vlan, pytest.mark.wpa2_enterprise, pytest.mark.vlan,pytest.mark.fiveg] - -setup_params_general = { - "mode": "VLAN", - "ssid_modes": { - "wpa2_enterprise": [ - {"ssid_name": "ssid_wpa2e_5g", "appliedRadios": ["5G"], - "security_key": "something", - "radius_auth_data": DYNAMIC_VLAN_RADIUS_SERVER_DATA, - "radius_acc_data": DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA, - "vlan":100 - }]}, - "rf": {}, - "radius": True -} - - -@allure.suite("regression") -@allure.feature("VLAN MODE wpa2_enterprise Dynamic Vlan") -@pytest.mark.parametrize( - 'setup_profiles', - [setup_params_general], - indirect=True, - scope="class" -) -@pytest.mark.usefixtures("setup_profiles") -class TestDynamicVlan(object): - - @pytest.mark.absence_of_radius_vlan_identifier - @pytest.mark.wpa2_enterprise - @pytest.mark.fiveg - @allure.testcase(name="test_dynamic_vlan_in_the_absence_of_radius_vlan_identifier", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5704") - def test_dynamic_vlan_in_the_absence_of_radius_vlan_identifier(self, get_vif_state, lf_tools,get_lf_logs,get_ap_logs, - create_lanforge_chamberview_dut, lf_test, get_configuration, - station_names_fiveg): - """ - pytest -m " absence_of_radius_vlan_identifier and wpa2_enterprise and vlan" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_5G = profile_data[0]["ssid_name"] - mode = "VLAN" - vlan_id = 100 - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.reset_scenario() - lf_tools.add_vlan(vlan_ids=[vlan_id]) - lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="fiveg", - station_name=station_names_fiveg, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordvlannotsentuser", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="vlannotsentuser", d_vlan=True) - - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - - sta_ip_1 = lf_test.station_ip[station_names_fiveg[0]].split('.') - print(sta_ip_1) - eth_ip_1 = eth_ip.split('.') - print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) - print("upstream ip...", eth_ip) - for i, j in zip(sta_ip_1[0:2], eth_ip_1[0:2]): - if i != j: - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan_id))) - allure.attach(name="ssid configured vlan ip..",body=str(vlan_id)) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip not assigned as per ssid vlan") - assert False - else: - assert True - - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan_id))) - allure.attach(name="ssid configured vlan ip..", body=str(vlan_id)) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip assigned as per ssid vlan") - - @pytest.mark.invalidradiusvlan - @pytest.mark.wpa2_enterprise - @pytest.mark.fiveg - @allure.testcase(name="test_dynamic_invalid_vlan", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5706") - def test_dynamic_invalid_vlan(self, get_vif_state, lf_tools,get_lf_logs,get_ap_logs, - create_lanforge_chamberview_dut, lf_test, get_configuration, - station_names_fiveg): - """ - pytest -m "invalidradiusvlan and wpa2_enterprise and vlan" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_5G = profile_data[0]["ssid_name"] - mode = "VLAN" - vlan_id = 100 - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.reset_scenario() - lf_tools.add_vlan(vlan_ids=[vlan_id]) - - lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="fiveg", vlan_id=vlan_id, - station_name=station_names_fiveg, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordinvalidvlanuser", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="invalidvlanuser", d_vlan=True) - - eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan_id))["interface"]["ip"] - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - - sta_ip_1 = lf_test.station_ip[station_names_fiveg[0]].split('.') - eth_vlan_ip_1 = eth_ip.split('.') - print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) - print("upstream port ip...", eth_vlan_ip) - print("eth_vlan_ip..", eth_ip) - for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): - if i != j: - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan_id))) - allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip not assigned as per vlan") - assert False - else: - assert True - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan_id))) - allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip assigned as per vlan") - - @pytest.mark.periodic_reauthentication - @pytest.mark.wpa2_enterprise - @pytest.mark.fiveg - @allure.testcase(name="test_dynamic_periodic_reauthentication_vlan", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5707") - def test_dynamic_periodic_reauthentication_vlan(self, get_vif_state, lf_tools,get_lf_logs,get_ap_logs, - create_lanforge_chamberview_dut, lf_test, get_configuration, - station_names_fiveg): - """ - pytest -m "periodic_reauthentication and wpa2_enterprise and vlan" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_5G = profile_data[0]["ssid_name"] - mode = "VLAN" - vlan = 100 - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.reset_scenario() - lf_tools.add_vlan(vlan_ids=[vlan]) - - lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="fiveg", vlan_id=vlan, - station_name=station_names_fiveg, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordA", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="userA", d_vlan=True, cleanup=True) - - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - sta_ip = lf_test.station_ip[station_names_fiveg[0]] - - count = 0 - # print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) - # print("vlan ip...", eth_vlan_ip) - # print("eth_vlan_ip..", eth_ip) - - eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] - eth_vlan_ip_1 = eth_vlan_ip.split('.') - sta_ip_1 = sta_ip.split('.') - print(sta_ip_1) - for k in range(0, 2): - for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): - if i != j: - break - else: - if count == 2: - break #allure.attach(name="station ip",body=str(sta_ip)) - continue - count = count + 1 - time.sleep(30) - lf_tools.admin_up_down([station_names_fiveg[0]], option="up") - - sta_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + station_names_fiveg[0])["interface"]["ip"] - sta_ip_1 = sta_ip.split('.') - print(sta_ip) - if count == 2: - print(count) - print("sta_ip..",sta_ip) - assert True - allure.attach(name="station ip....", body=str(sta_ip)) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) - allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip assigned as per dynamic vlan") - elif count == 0: - allure.attach(name="station ip....", body=str(sta_ip)) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) - allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip not assigned as per dynamic vlan") - assert False - - @pytest.mark.absenceofvlanid - @pytest.mark.wpa2_enterprise - @pytest.mark.fiveg - @allure.testcase(name="test_dynamic_absence_of_vlanid", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5708") - def test_dynamic_absence_of_vlanid(self, get_vif_state, lf_tools,get_lf_logs,get_ap_logs, - create_lanforge_chamberview_dut, lf_test, get_configuration, - station_names_fiveg): - """ - pytest -m "absenceofvlanid and wpa2_enterprise and vlan" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_5G = profile_data[0]["ssid_name"] - mode = "VLAN" - vlan = 100 - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.reset_scenario() - lf_tools.add_vlan(vlan_ids=[vlan]) - - lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="fiveg", vlan_id=vlan, - station_name=station_names_fiveg, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordvlannotsentuser", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="vlannotsentuser", d_vlan=True) - - eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - - sta_ip_1 = lf_test.station_ip[station_names_fiveg[0]].split('.') - eth_vlan_ip_1 = eth_ip.split('.') - print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) - print("ssid configured vlan ip...", eth_vlan_ip) - print("upstream ip..", eth_ip) - for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): - if i != j: - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) - allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip not assigned as per vlan") - assert False - else: - assert True - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) - allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip assigned as per ssid configured vlan") - ''' - @pytest.mark.unsupported - @pytest.mark.wpa2_enterprise - @pytest.mark.fiveg - @allure.testcase(name="test_dynamic_unsupported_vlan", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5710") - def test_dynamic_unsupported_vlan(self, get_vif_state, lf_tools, - create_lanforge_chamberview_dut, lf_test, get_configuration, - station_names_fiveg): - """ - pytest -m "unsupported and wpa2_enterprise and vlan" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_5G = profile_data[0]["ssid_name"] - mode = "VLAN" - vlan = 100 - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.reset_scenario() - lf_tools.add_vlan(vlan_ids=[vlan]) - - lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="fiveg", vlan_id=100, - station_name=station_names_fiveg, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordinvalidvlanuser", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="invalidvlanuser", d_vlan=True) - - eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - - sta_ip_1 = lf_test.station_ip[station_names_fiveg[0]].split('.') - eth_vlan_ip_1 = eth_ip.split('.') - print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) - print("vlan ip...", eth_vlan_ip) - print("eth_vlan_ip..", eth_ip) - for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): - if i != j: - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) - allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) - print("Station ip not assigned as per vlan") - assert False - else: - assert True - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) - allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) - allure.attach(name="vlan ip....", body=str(eth_ip)) - print("Station ip assigned as per vlan") - ''' - @pytest.mark.outofboundvlanid - @pytest.mark.wpa2_enterprise - @pytest.mark.fiveg - @allure.testcase(name="test_dynamic_outof_bound_vlanid", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5711") - def test_dynamic_outof_bound_vlanid(self, get_vif_state, lf_tools,get_lf_logs,get_ap_logs, - create_lanforge_chamberview_dut, lf_test, get_configuration, - station_names_fiveg): - """ - pytest -m "outofboundvlanid and wpa2_enterprise and vlan" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_5G = profile_data[0]["ssid_name"] - mode = "VLAN" - vlan = 100 - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.reset_scenario() - lf_tools.add_vlan(vlan_ids=[vlan]) - - lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="fiveg", vlan_id=vlan, - station_name=station_names_fiveg, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordoutofboundvlanuser", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="outofboundvlanuser", d_vlan=True) - - eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - - if lf_test.station_ip[station_names_fiveg[0]] == "0.0.0.0": - print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) - assert True - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) - allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Test Passsed...Client Connection failed") - - @pytest.mark.client_association_ap_with_dynamic_vlan - @pytest.mark.wpa2_enterprise - @pytest.mark.fiveg - @allure.testcase(name="test_client_association_ap_with_dynamic_vlan", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5712") - def test_client_association_ap_with_dynamic_vlan(self, get_vif_state, lf_tools, get_ap_logs,get_lf_logs, - create_lanforge_chamberview_dut, lf_test, get_configuration, - station_names_fiveg): - """ - pytest -m "client_association_ap_with_dynamic_vlan and wpa2_enterprise and vlan" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_5G = profile_data[0]["ssid_name"] - mode = "VLAN" - vlan = [100, 200] - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.reset_scenario() - lf_tools.add_vlan(vlan_ids=vlan) - - lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="fiveg", vlan_id=vlan[0], - station_name=station_names_fiveg, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordB", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="userB", d_vlan=True) - - eth_ssid_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan[0]))["interface"]["ip"] - - eth_radius_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan[1]))["interface"]["ip"] - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - - sta_ip_1 = lf_test.station_ip[station_names_fiveg[0]].split('.') - eth_vlan_ip_1 = eth_radius_vlan_ip.split('.') - print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) - print("radius vlan ip...", eth_radius_vlan_ip) - print("eth_upstream_ip..", eth_ip) - for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): - if i != j: - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan[0]))) - allure.attach(name="ssid configured vlan ip....", body=str(eth_ssid_vlan_ip)) - allure.attach(name="radius configured vlan..", body=str(port_resources[2] + "." + str(vlan[1]))) - allure.attach(name="radius configured vlan ip....", body=str(eth_radius_vlan_ip)) - allure.attach(name=" ip....", body=str(eth_ip)) - print("Station ip not assigned as per vlan") - assert False - else: - assert True - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan[0]))) - allure.attach(name="ssid configured vlan ip....", body=str(eth_ssid_vlan_ip)) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan[1]))) - allure.attach(name="radius configured vlan ip....", body=str(eth_radius_vlan_ip)) - allure.attach(name=" ip....", body=str(eth_ip)) - print("Station ip assigned as per dynamic vlan") - - @pytest.mark.subsequent_user_for_same_user_account - @pytest.mark.wpa2_enterprise - @pytest.mark.fiveg - @allure.testcase(name="test_subsequent_user_for_same_user_account_vlan", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5705") - def test_subsequent_user_for_same_user_account_vlan(self, get_vif_state, lf_tools,get_lf_logs, - get_ap_logs, - create_lanforge_chamberview_dut, lf_test, - get_configuration, - station_names_fiveg): - """ - pytest -m "subsequent_user_for_same_user_account and wpa2_enterprise and vlan" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_5G = profile_data[0]["ssid_name"] - mode = "VLAN" - vlan = 100 - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.reset_scenario() - lf_tools.add_vlan(vlan_ids=[vlan]) - - station_list = [] - sta_ip = [] - for i in range(0, 2): - station_list.append(lf_tools.fiveg_prefix + str(i)) - print(station_list) - print([station_list[0]]) - - for m in range(0, len(station_list)): - lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="fiveg", vlan_id=100, - station_name=[station_list[m]], key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordA", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="userA", d_vlan=True, cleanup=True) - lf_tools.admin_up_down([station_list[m]], option="up") - sta_ip.append(lf_test.station_ip[station_list[m]]) - if sta_ip[m]=="0.0.0.0": - allure.attach("station didnt recieved ip..") - assert False - print(sta_ip) - time.sleep(30) - - eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - eth_vlan_ip_1 = eth_vlan_ip.split('.') - for n in range(0, len(station_list)): - sta_ip_1 = sta_ip[n].split('.') - print("station ip...", sta_ip[n]) - print("vlan ip...", eth_vlan_ip) - print("eth_vlan_ip..", eth_ip) - for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): - if i != j: - allure.attach(name="station ip....", body=str(sta_ip[n])) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) - allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip not assigned as per dynamic vlan") - assert False - else: - assert True - allure.attach(name="station ip....", body=str(sta_ip[n])) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) - allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip assigned as per dynamic vlan") - - @pytest.mark.subsequent_user_for_different_user_account - @pytest.mark.wpa2_enterprise - @pytest.mark.fiveg - @allure.testcase(name="test_subsequent_user_for_different_user_account_vlan", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5714") - def test_subsequent_user_for_different_user_account(self, get_vif_state, lf_tools,get_lf_logs, - get_ap_logs, - create_lanforge_chamberview_dut, lf_test, - get_configuration, - station_names_fiveg): - """ - pytest -m "subsequent_user_for_different_user_account and wpa2_enterprise and vlan" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_5G = profile_data[0]["ssid_name"] - mode = "VLAN" - vlan = [100, 200] - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.reset_scenario() - lf_tools.add_vlan(vlan_ids=vlan) - - station_list = [] - sta_ip = [] - dynamic_vlan_user = ["userA", "userB"] - dynamic_vlan_pass = ["passwordA", "passwordB"] - for i in range(0, 2): - station_list.append(lf_tools.fiveg_prefix + str(i)) - - for user_id, user_pass, sta in zip(dynamic_vlan_user, dynamic_vlan_pass, range(0, len(station_list))): - lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="fiveg", vlan_id=vlan[sta], - station_name=[station_list[sta]], key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd=user_pass, ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity=user_id, d_vlan=True, cleanup=True) - - sta_ip.append(lf_test.station_ip[station_list[sta]]) - - eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan[sta]))["interface"]["ip"] - - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - eth_vlan_ip_1 = eth_vlan_ip.split('.') - print(sta_ip) - sta_ip_1 = sta_ip[sta].split('.') - print("station ip...", lf_test.station_ip[station_list[sta]]) - print("vlan ip...", eth_vlan_ip) - print("eth_vlan_ip..", eth_ip) - for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): - if i != j: - allure.attach(name="station ip....", body=str(sta_ip[sta])) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) - allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip not assigned as per dynamic vlan") - assert False - else: - assert True - allure.attach(name="station ip....", body=str(sta_ip[sta])) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) - allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip assigned as per dynamic vlan") - lf_tools.admin_up_down([station_list[sta]], option="up") - time.sleep(5) diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamc_vlan_twog.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamc_vlan_twog.py deleted file mode 100644 index 17b62ab8a..000000000 --- a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamc_vlan_twog.py +++ /dev/null @@ -1,592 +0,0 @@ -""" - - Dynamic_Vlan: Bridge Mode - pytest -m "dynamic_vlan and wpa2_enterprise and vlan" - -""" - -import os -import allure -import pytest -import time -from configuration import DYNAMIC_VLAN_RADIUS_SERVER_DATA -from configuration import DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA - -pytestmark = [pytest.mark.regression, pytest.mark.dynamic_vlan, pytest.mark.wpa2_enterprise, pytest.mark.vlan,pytest.mark.twog] - -setup_params_general = { - "mode": "VLAN", - "ssid_modes": { - "wpa2_enterprise": [ - {"ssid_name": "ssid_wpa2e_2g", "appliedRadios": ["2G"], - "security_key": "something", - "radius_auth_data": DYNAMIC_VLAN_RADIUS_SERVER_DATA, - "radius_acc_data": DYNAMIC_VLAN_RADIUS_ACCOUNTING_DATA, - "vlan":100 - }]}, - "rf": {}, - "radius": True -} - - -@allure.suite("regression") -@allure.feature("VLAN MODE wpa2_enterprise Dynamic Vlan") -@pytest.mark.parametrize( - 'setup_profiles', - [setup_params_general], - indirect=True, - scope="class" -) -@pytest.mark.usefixtures("setup_profiles") -class TestDynamicVlan(object): - - @pytest.mark.absence_of_radius_vlan_identifier - @pytest.mark.wpa2_enterprise - @pytest.mark.twog - @allure.testcase(name="test_dynamic_vlan_in_the_absence_of_radius_vlan_identifier", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5704") - def test_dynamic_vlan_in_the_absence_of_radius_vlan_identifier(self, get_vif_state, lf_tools,get_ap_logs, - get_lf_logs, - create_lanforge_chamberview_dut, lf_test, get_configuration, - station_names_twog): - """ - pytest -m " absence_of_radius_vlan_identifier and wpa2_enterprise and vlan" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_2G = profile_data[0]["ssid_name"] - mode = "VLAN" - vlan_id = 100 - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.reset_scenario() - lf_tools.add_vlan(vlan_ids=[vlan_id]) - lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="twog", - station_name=station_names_twog, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordvlannotsentuser", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="vlannotsentuser", d_vlan=True) - - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - eth_ssid_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan_id))["interface"]["ip"] - - sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') - print(sta_ip_1) - eth_ip_1 = eth_ip.split('.') - print("station ip...", lf_test.station_ip[station_names_twog[0]]) - print("upstream ip...", eth_ip) - for i, j in zip(sta_ip_1[0:2], eth_ip_1[0:2]): - if i != j: - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - allure.attach(name="ssid configured vlan ..", body=str(port_resources[2] + "." + str(vlan_id))) - allure.attach(name="ssid configured vlan ip....", body=str(eth_ssid_vlan_ip)) - print("Station ip not assigned as per ssid configured vlan") - assert False - else: - assert True - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - allure.attach(name="ssid configured vlan ..", body=str(port_resources[2] + "." + str(vlan_id))) - allure.attach(name="ssid configured vlan ip....", body=str(eth_ssid_vlan_ip)) - print("Station ip assigned as per ssid configured vlan") - - @pytest.mark.invalidradiusvlan - @pytest.mark.wpa2_enterprise - @pytest.mark.twog - @allure.testcase(name="test_dynamic_invalid_vlan", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5706") - def test_dynamic_invalid_vlan(self, get_vif_state, lf_tools,get_ap_logs,get_lf_logs, - create_lanforge_chamberview_dut, lf_test, get_configuration, - station_names_twog): - """ - pytest -m "invalidradiusvlan and wpa2_enterprise and vlan" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_2G = profile_data[0]["ssid_name"] - mode = "VLAN" - vlan = 100 - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.reset_scenario() - lf_tools.add_vlan(vlan_ids=[vlan]) - - lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="twog", vlan_id=vlan, - station_name=station_names_twog, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordinvalidvlanuser", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="invalidvlanuser", d_vlan=True) - - eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - - sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') - eth_upstream_ip_1 = eth_ip.split('.') - print("station ip...", lf_test.station_ip[station_names_twog[0]]) - print("vlan ip...", eth_vlan_ip) - print("eth_upstream_ip..", eth_ip) - for i, j in zip(sta_ip_1[0:2], eth_upstream_ip_1[0:2]): - if i != j: - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) - allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip not assigned as per ssid vlan") - assert False - else: - assert True - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) - allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) - print("Station ip assigned as per ssid vlan ") - - @pytest.mark.periodic_reauthentication - @pytest.mark.wpa2_enterprise - @pytest.mark.twog - @allure.testcase(name="test_dynamic_periodic_reauthentication_vlan", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5707") - def test_dynamic_periodic_reauthentication_vlan(self, get_vif_state, lf_tools,get_ap_logs, - get_lf_logs, - create_lanforge_chamberview_dut, lf_test, get_configuration, - station_names_twog): - """ - pytest -m "dynamic_vlan and wpa2_enterprise and vlan" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_2G = profile_data[0]["ssid_name"] - mode = "VLAN" - vlan = 100 - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.reset_scenario() - lf_tools.add_vlan(vlan_ids=[vlan]) - - lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="twog", vlan_id=vlan, - station_name=station_names_twog, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordA", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="userA", d_vlan=True, cleanup=True) - - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - sta_ip = lf_test.station_ip[station_names_twog[0]] - - count = 0 - eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] - eth_vlan_ip_1 = eth_vlan_ip.split('.') - sta_ip_1 = sta_ip.split('.') - for k in range(0, 2): - for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): - if i != j: - break - else: - if count == 2: - break #allure.attach(name="station ip",body=str(sta_ip)) - continue - count = count + 1 - time.sleep(30) - lf_tools.admin_up_down([station_names_twog[0]], option="up") - - sta_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + station_names_twog[0])["interface"]["ip"] - sta_ip_1 = sta_ip.split('.') - print(sta_ip) - if count == 2: - assert True - allure.attach(name="station ip....", body=str(sta_ip)) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) - allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip assigned as per upstream") - elif count == 0: - allure.attach(name="station ip....", body=str(sta_ip)) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) - allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip not assigned as per upstream") - assert False - - @pytest.mark.absenceofvlanid - @pytest.mark.wpa2_enterprise - @pytest.mark.twog - @allure.testcase(name="test_dynamic_absence_of_vlanid", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5708") - def test_dynamic_absence_of_vlanid(self, get_vif_state, lf_tools,get_ap_logs,get_lf_logs, - create_lanforge_chamberview_dut, lf_test, get_configuration, - station_names_twog): - """ - pytest -m "dynamic_vlan and wpa2_enterprise and vlan" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_2G = profile_data[0]["ssid_name"] - mode = "VLAN" - vlan = 100 - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.reset_scenario() - lf_tools.add_vlan(vlan_ids=[vlan]) - - lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="twog", vlan_id=vlan, - station_name=station_names_twog, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordvlannotsentuser", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="vlannotsentuser", d_vlan=True) - - eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - - sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') - eth_upstream_ip_1 = eth_ip.split('.') - print("station ip...", lf_test.station_ip[station_names_twog[0]]) - print("vlan ip...", eth_vlan_ip) - print("eth_upstream_ip..", eth_ip) - for i, j in zip(sta_ip_1[0:2], eth_upstream_ip_1[0:2]): - if i != j: - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) - allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip not assigned as per ssid vlan") - assert False - else: - assert True - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) - allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip assigned as per ssid vlan") - ''' - @pytest.mark.unsupported - @pytest.mark.wpa2_enterprise - @pytest.mark.twog - @allure.testcase(name="test_dynamic_unsupported_vlan", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5710") - def test_dynamic_unsupported_vlan(self, get_vif_state, lf_tools,get_ap_logs, - create_lanforge_chamberview_dut, lf_test, get_configuration, - station_names_twog): - """ - pytest -m "dynamic_vlan and wpa2_enterprise and vlan" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_2G = profile_data[0]["ssid_name"] - mode = "VLAN" - vlan = 100 - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.reset_scenario() - lf_tools.add_vlan(vlan_ids=[vlan]) - - lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="twog", vlan_id=100, - station_name=station_names_twog, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordinvalidvlanuser", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="invalidvlanuser", d_vlan=True) - - eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - - sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') - eth_upstream_ip_1 = eth_ip.split('.') - print("station ip...", lf_test.station_ip[station_names_twog[0]]) - print("vlan ip...", eth_vlan_ip) - print("eth_upstream_ip..", eth_ip) - for i, j in zip(sta_ip_1[0:2], eth_upstream_ip_1[0:2]): - if i != j: - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) - allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) - print("Station ip not assigned as per upstream") - assert False - else: - assert True - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) - allure.attach(name="vlan ip....", body=str(eth_vlan_ip)) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip assigned as per upstream") - ''' - @pytest.mark.outofboundvlanid - @pytest.mark.wpa2_enterprise - @pytest.mark.twog - @allure.testcase(name="test_dynamic_outof_bound_vlanid", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5711") - def test_dynamic_outof_bound_vlanid(self, get_vif_state, lf_tools,get_ap_logs,get_lf_logs, - create_lanforge_chamberview_dut, lf_test, get_configuration, - station_names_twog): - """ - pytest -m "dynamic_vlan and wpa2_enterprise and vlan" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_2G = profile_data[0]["ssid_name"] - mode = "VLAN" - vlan = 100 - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.reset_scenario() - lf_tools.add_vlan(vlan_ids=[vlan]) - - lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="twog", vlan_id=vlan, - station_name=station_names_twog, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordoutofboundvlanuser", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="outofboundvlanuser", d_vlan=True) - - eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - - if lf_test.station_ip[station_names_twog[0]] == "0.0.0.0": - print("station ip...", lf_test.station_ip[station_names_twog[0]]) - assert True - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) - allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Test Passsed...Client Connection failed") - - @pytest.mark.client_association_ap_with_dynamic_vlan - @pytest.mark.wpa2_enterprise - @pytest.mark.twog - @allure.testcase(name="test_client_association_ap_with_dynamic_vlan", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5712") - def test_client_association_ap_with_dynamic_vlan(self, get_vif_state, lf_tools, get_ap_logs,get_lf_logs, - create_lanforge_chamberview_dut, lf_test, get_configuration, - station_names_twog): - """ - pytest -m "client_association_ap_with_dynamic_vlan and wpa2_enterprise and vlan" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_5G = profile_data[0]["ssid_name"] - mode = "VLAN" - vlan = [100,200] - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.reset_scenario() - lf_tools.add_vlan(vlan_ids=vlan) - - lf_test.EAP_Connect(ssid=ssid_5G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="twog", vlan_id=vlan[0], - station_name=station_names_twog, key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordA", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="userA", d_vlan=True) - - eth_ssid_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan[0]))["interface"]["ip"] - - eth_radius_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan[1]))["interface"]["ip"] - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - - sta_ip_1 = lf_test.station_ip[station_names_twog[0]].split('.') - eth_vlan_ip_1 = eth_radius_vlan_ip.split('.') - print("station ip...", lf_test.station_ip[station_names_twog[0]]) - print("vlan ip...", eth_radius_vlan_ip) - print("eth_upstream_ip..", eth_ip) - for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): - if i != j: - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan[0]))) - allure.attach(name="ssid configured vlan ip....", body=str(eth_ssid_vlan_ip)) - allure.attach(name="radius configured vlan..", body=str(port_resources[2] + "." + str(vlan[1]))) - allure.attach(name="radius configured vlan ip....", body=str(eth_radius_vlan_ip)) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip not assigned as per vlan") - assert False - else: - assert True - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan[0]))) - allure.attach(name="ssid configured vlan ip....", body=str(eth_ssid_vlan_ip)) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan[1]))) - allure.attach(name="radius configured vlan ip....", body=str(eth_radius_vlan_ip)) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip assigned as per dynamic vlan") - - @pytest.mark.subsequent_user_for_same_user_account - @pytest.mark.wpa2_enterprise - @pytest.mark.twog - @allure.testcase(name="test_subsequent_user_for_same_user_account_vlan", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5705") - def test_subsequent_user_for_same_user_account_vlan(self, get_vif_state, lf_tools,get_ap_logs,get_lf_logs, - create_lanforge_chamberview_dut, lf_test, - get_configuration, - station_names_twog): - """ - pytest -m "subsequent_user_for_same_user_account and wpa2_enterprise and vlan" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_2G = profile_data[0]["ssid_name"] - mode = "VLAN" - vlan = 100 - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.reset_scenario() - lf_tools.add_vlan(vlan_ids=[vlan]) - - station_list = [] - sta_ip = [] - for i in range(0, 2): - station_list.append(lf_tools.twog_prefix + str(i)) - print(station_list) - print([station_list[0]]) - - for m in range(0, len(station_list)): - lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="twog", vlan_id=100, - station_name=[station_list[m]], key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd="passwordA", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="userA", d_vlan=True, cleanup=True) - lf_tools.admin_up_down([station_list[m]], option="up") - sta_ip.append(lf_test.station_ip[station_list[m]]) - print(sta_ip) - time.sleep(30) - - eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan))["interface"]["ip"] - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - eth_vlan_ip_1 = eth_vlan_ip.split('.') - for n in range(0, len(station_list)): - sta_ip_1 = sta_ip[n].split('.') - print("station ip...", sta_ip[n]) - print("vlan ip...", eth_vlan_ip) - print("eth_upstream_ip..", eth_ip) - for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): - if i != j: - allure.attach(name="station ip....", body=str(sta_ip[n])) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) - allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip not assigned as per vlan") - assert False - else: - assert True - allure.attach(name="station ip....", body=str(sta_ip[n])) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) - allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip assigned as per dynamic vlan") - - @pytest.mark.subsequent_user_for_different_user_account - @pytest.mark.wpa2_enterprise - @pytest.mark.twog - @allure.testcase(name="test_subsequent_user_for_different_user_account_vlan", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5714") - def test_subsequent_user_for_different_user_account_vlan(self, get_vif_state, lf_tools,get_ap_logs,get_lf_logs, - create_lanforge_chamberview_dut, lf_test, - get_configuration, - station_names_twog): - """ - pytest -m "subsequent_user_for_different_user_account and wpa2_enterprise and vlan" - """ - - profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] - ssid_2G = profile_data[0]["ssid_name"] - mode = "VLAN" - vlan = [100, 200] - upstream_port = lf_tools.upstream_port - print(upstream_port) - port_resources = upstream_port.split(".") - print(lf_tools.dut_idx_mapping) - lf_tools.reset_scenario() - lf_tools.add_vlan(vlan_ids=vlan) - - station_list = [] - sta_ip = [] - dynamic_vlan_user = ["userA", "userB"] - dynamic_vlan_pass = ["passwordA", "passwordB"] - for i in range(0, 2): - station_list.append(lf_tools.twog_prefix + str(i)) - - for user_id, user_pass, sta in zip(dynamic_vlan_user, dynamic_vlan_pass, range(0, len(station_list))): - lf_test.EAP_Connect(ssid=ssid_2G, passkey="[BLANK]", security="wpa2", extra_securities=[], - mode=mode, band="twog", vlan_id=vlan[sta], - station_name=[station_list[sta]], key_mgmt="WPA-EAP", - pairwise="NA", group="NA", wpa_psk="DEFAULT", - ttls_passwd=user_pass, ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity=user_id, d_vlan=True, cleanup=True) - - sta_ip.append(lf_test.station_ip[station_list[sta]]) - - eth_vlan_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2] + "." + str(vlan[sta]))["interface"]["ip"] - - eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + - "/" + port_resources[2])["interface"]["ip"] - eth_vlan_ip_1 = eth_vlan_ip.split('.') - print(sta_ip) - sta_ip_1 = sta_ip[sta].split('.') - print("station ip...", lf_test.station_ip[station_list[sta]]) - print("vlan ip...", eth_vlan_ip) - print("eth_upstream_ip..", eth_ip) - for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): - if i != j: - allure.attach(name="station ip....", body=str(sta_ip[sta])) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) - allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip not assigned as per vlan") - assert False - else: - assert True - allure.attach(name="station ip....", body=str(sta_ip[sta])) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) - allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip assigned as per dynamic vlan") - lf_tools.admin_up_down([station_list[sta]], option="up") - time.sleep(5) From cf4b939a48b0e8f6e1dd32ce690d524b0920eb48 Mon Sep 17 00:00:00 2001 From: KvSaiMahesh Date: Mon, 13 Dec 2021 01:52:05 +0530 Subject: [PATCH 16/24] changes in the testcase Signed-off-by: KvSaiMahesh --- .../fiveg/test_dynamic_over_ssid_fiveg.py | 39 ++++++++++------- .../twog/test_dynamic_over_ssid_twog.py | 42 +++++++++++-------- 2 files changed, 47 insertions(+), 34 deletions(-) diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamic_over_ssid_fiveg.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamic_over_ssid_fiveg.py index 2e56f36f7..d00ff93f4 100644 --- a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamic_over_ssid_fiveg.py +++ b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamic_over_ssid_fiveg.py @@ -55,6 +55,7 @@ class TestDynamicVlan(object): ssid_5G = profile_data[0]["ssid_name"] mode = "VLAN" vlan = [100,200] + val = "" upstream_port = lf_tools.upstream_port print(upstream_port) port_resources = upstream_port.split(".") @@ -82,22 +83,28 @@ class TestDynamicVlan(object): print("station ip...", lf_test.station_ip[station_names_fiveg[0]]) print("vlan ip...", eth_radius_vlan_ip) print("eth_upstream_ip..", eth_ip) + if sta_ip_1[0] == "0": + print("station didnt received any ip") + allure.attach("station didnt recieved ip..") + assert False + elif eth_vlan_ip_1[0] == "0": + print("radius configured vlan didnt recieved ip") + assert False for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): if i != j: - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) - allure.attach(name="ssid configured vlan..",body=str(port_resources[2] + "." + str(vlan[0]))) - allure.attach(name="ssid configured vlan ip....", body=str(eth_ssid_vlan_ip)) - allure.attach(name="radius configured vlan..", body=str(port_resources[2] + "." + str(vlan[1]))) - allure.attach(name="radius configured vlan ip....", body=str(eth_radius_vlan_ip)) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip not assigned as per vlan") - assert False + val = False else: - assert True - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan[0]))) - allure.attach(name="ssid configured vlan ip....", body=str(eth_ssid_vlan_ip)) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan[1]))) - allure.attach(name="radius configured vlan ip....", body=str(eth_radius_vlan_ip)) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip assigned as per dynamic vlan") \ No newline at end of file + val = True + + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan[0]))) + allure.attach(name="ssid configured vlan ip....", body=str(eth_ssid_vlan_ip)) + allure.attach(name="radius configured vlan..", body=str(port_resources[2] + "." + str(vlan[1]))) + allure.attach(name="radius configured vlan ip....", body=str(eth_radius_vlan_ip)) + allure.attach(name="upstream ip....", body=str(eth_ip)) + if val: + assert True + print("Station ip assigned as per dynamic vlan") + elif not val: + print("Station ip not assigned as per dynamic vlan") + assert False \ No newline at end of file diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamic_over_ssid_twog.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamic_over_ssid_twog.py index 5b1f576ed..59f98c100 100644 --- a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamic_over_ssid_twog.py +++ b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamic_over_ssid_twog.py @@ -44,8 +44,7 @@ class TestDynamicVlan(object): @pytest.mark.twog @allure.testcase(name="test_dynamic_precedence_over_ssid_vlan", url="https://telecominfraproject.atlassian.net/browse/WIFI-5705") - def test_dynamic_precedence_over_ssid_vlan(self, get_vif_state, lf_tools,get_ap_logs, - get_lf_logs, + def test_dynamic_precedence_over_ssid_vlan(self, get_vif_state, lf_tools,get_ap_logs,get_lf_logs, create_lanforge_chamberview_dut, lf_test, get_configuration, station_names_twog): """ @@ -56,6 +55,7 @@ class TestDynamicVlan(object): ssid_2G = profile_data[0]["ssid_name"] mode = "VLAN" vlan = [100,200] + val = "" upstream_port = lf_tools.upstream_port print(upstream_port) port_resources = upstream_port.split(".") @@ -83,22 +83,28 @@ class TestDynamicVlan(object): print("station ip...", lf_test.station_ip[station_names_twog[0]]) print("vlan ip...", eth_radius_vlan_ip) print("eth_upstream_ip..", eth_ip) + if sta_ip_1[0] == "0": + print("station didnt received any ip") + allure.attach("station didnt recieved ip..") + assert False + elif eth_vlan_ip_1[0] == "0": + print("radius configured vlan didnt recieved ip") + assert False for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): if i != j: - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) - allure.attach(name="ssid configured vlan ..", body=str(port_resources[2] + "." + str(vlan[0]))) - allure.attach(name="ssid configured vlan ip....", body=str(eth_ssid_vlan_ip)) - allure.attach(name="radius configured vlan..", body=str(port_resources[2] + "." + str(vlan[1]))) - allure.attach(name="radius configured vlan ip....", body=str(eth_radius_vlan_ip)) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip not assigned as per vlan") - assert False + val = False else: - assert True - allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) - allure.attach(name="ssid configured vlan ..", body=str(port_resources[2] + "." + str(vlan[0]))) - allure.attach(name="ssid configured vlan ip....", body=str(eth_ssid_vlan_ip)) - allure.attach(name="radius configured vlan..", body=str(port_resources[2] + "." + str(vlan[1]))) - allure.attach(name="radius configured vlan ip....", body=str(eth_radius_vlan_ip)) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip assigned as per dynamic vlan") \ No newline at end of file + val = True + + allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) + allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan[0]))) + allure.attach(name="ssid configured vlan ip....", body=str(eth_ssid_vlan_ip)) + allure.attach(name="radius configured vlan..", body=str(port_resources[2] + "." + str(vlan[1]))) + allure.attach(name="radius configured vlan ip....", body=str(eth_radius_vlan_ip)) + allure.attach(name="upstream ip....", body=str(eth_ip)) + if val: + assert True + print("Station ip assigned as per dynamic vlan") + elif not val: + print("Station ip not assigned as per dynamic vlan") + assert False \ No newline at end of file From c4f70734bae7dcd919f2573bd8d9b95c171d9a75 Mon Sep 17 00:00:00 2001 From: KvSaiMahesh Date: Mon, 13 Dec 2021 18:56:22 +0530 Subject: [PATCH 17/24] changes in test cases Signed-off-by: KvSaiMahesh --- .../fiveg/test_dynamic_vlan_fiveg.py | 77 ++++++++++--------- .../twog/test_dynamic_vlan_twog.py | 69 +++++++++-------- 2 files changed, 74 insertions(+), 72 deletions(-) diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamic_vlan_fiveg.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamic_vlan_fiveg.py index 65663ec79..41e01a472 100644 --- a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamic_vlan_fiveg.py +++ b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamic_vlan_fiveg.py @@ -99,7 +99,7 @@ class TestDynamicVlan(object): val = True allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan_id))) - allure.attach(name="ssid configured vlan ip..", body=str(vlan_id)) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) allure.attach(name="upstream port....", body=str(port_resources[2])) allure.attach(name="upstream ip....", body=str(eth_ip)) if val: @@ -164,7 +164,7 @@ class TestDynamicVlan(object): val = True allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan_id))) - allure.attach(name="ssid configured vlan ip..", body=str(vlan_id)) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) allure.attach(name="upstream port....", body=str(port_resources[2])) allure.attach(name="upstream ip....", body=str(eth_ip)) if val: @@ -314,7 +314,7 @@ class TestDynamicVlan(object): val = True allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) - allure.attach(name="ssid configured vlan ip..", body=str(vlan)) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) allure.attach(name="upstream port....", body=str(port_resources[2])) allure.attach(name="upstream ip....", body=str(eth_ip)) if val: @@ -384,7 +384,7 @@ class TestDynamicVlan(object): @pytest.mark.fiveg @allure.testcase(name="test_outof_bound_vlanid", url="https://telecominfraproject.atlassian.net/browse/WIFI-5711") - def test_outof_bound_vlanid(self, get_vif_state, lf_tools, get_lf_logs, get_ap_logs, + def test_out_of_bound_vlanid(self, get_vif_state, lf_tools, get_lf_logs, get_ap_logs, create_lanforge_chamberview_dut, lf_test, get_configuration, station_names_fiveg): """ @@ -485,7 +485,7 @@ class TestDynamicVlan(object): allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_fiveg[0]])) allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan[0]))) allure.attach(name="ssid configured vlan ip....", body=str(eth_ssid_vlan_ip)) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan[1]))) + allure.attach(name="radius configured vlan..", body=str(port_resources[2] + "." + str(vlan[1]))) allure.attach(name="radius configured vlan ip....", body=str(eth_radius_vlan_ip)) allure.attach(name="Upstream ip....", body=str(eth_ip)) if val: @@ -499,12 +499,12 @@ class TestDynamicVlan(object): @pytest.mark.wpa2_enterprise @pytest.mark.fiveg @allure.testcase(name="test_subsequent_user_for_same_user_account", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5705") + url="https://telecominfraproject.atlassian.net/browse/WIFI-5713") def test_subsequent_user_for_same_user_account(self, get_vif_state, lf_tools, get_lf_logs, - get_ap_logs, - create_lanforge_chamberview_dut, lf_test, - get_configuration, - station_names_fiveg): + get_ap_logs, + create_lanforge_chamberview_dut, lf_test, + get_configuration, + station_names_fiveg): """ pytest -m "subsequent_user_for_same_user_account and wpa2_enterprise and vlan" """ @@ -513,6 +513,7 @@ class TestDynamicVlan(object): ssid_5G = profile_data[0]["ssid_name"] mode = "VLAN" vlan = 100 + val = "" upstream_port = lf_tools.upstream_port print(upstream_port) port_resources = upstream_port.split(".") @@ -554,21 +555,20 @@ class TestDynamicVlan(object): print("eth_vlan_ip..", eth_ip) for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): if i != j: - allure.attach(name="station ip....", body=str(sta_ip[n])) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) - allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip not assigned as per dynamic vlan") - assert False + val = False else: - assert True - allure.attach(name="station ip....", body=str(sta_ip[n])) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) - allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip assigned as per dynamic vlan") + val = True + allure.attach(name="station ip....", body=str(sta_ip[n])) + allure.attach(name="radius configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="radius configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + if val: + assert True + print("Station ip assigned as per radius vlan") + elif not val: + print("Station ip not assigned as per radius vlan") + assert False @pytest.mark.subsequent_user_for_different_user_account @pytest.mark.wpa2_enterprise @@ -588,6 +588,7 @@ class TestDynamicVlan(object): ssid_5G = profile_data[0]["ssid_name"] mode = "VLAN" vlan = [100, 200] + val = "" upstream_port = lf_tools.upstream_port print(upstream_port) port_resources = upstream_port.split(".") @@ -628,20 +629,20 @@ class TestDynamicVlan(object): print("eth_vlan_ip..", eth_ip) for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): if i != j: - allure.attach(name="station ip....", body=str(sta_ip[sta])) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) - allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip not assigned as per dynamic vlan") - assert False + val = False else: - assert True - allure.attach(name="station ip....", body=str(sta_ip[sta])) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) - allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip assigned as per dynamic vlan") + val = True + allure.attach(name="station ip....", body=str(sta_ip[sta])) + allure.attach(name="radius configured vlan..", body=str(port_resources[2] + "." + str(vlan[sta]))) + allure.attach(name="radius configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + if val: + assert True + print(f"{station_list[sta]} ip assigned as per radius vlan") + elif not val: + print(f"{station_list[sta]} ip not assigned as per radius vlan") + assert False lf_tools.admin_up_down([station_list[sta]], option="up") time.sleep(5) + diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamic_vlan_twog.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamic_vlan_twog.py index e3e0c439a..4980cf4db 100644 --- a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamic_vlan_twog.py +++ b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamic_vlan_twog.py @@ -99,7 +99,7 @@ class TestDynamicVlan(object): val = True allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan_id))) - allure.attach(name="ssid configured vlan ip..", body=str(vlan_id)) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) allure.attach(name="upstream port....", body=str(port_resources[2])) allure.attach(name="upstream ip....", body=str(eth_ip)) if val: @@ -164,7 +164,7 @@ class TestDynamicVlan(object): val = True allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan_id))) - allure.attach(name="ssid configured vlan ip..", body=str(vlan_id)) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) allure.attach(name="upstream port....", body=str(port_resources[2])) allure.attach(name="upstream ip....", body=str(eth_ip)) if val: @@ -314,7 +314,7 @@ class TestDynamicVlan(object): val = True allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) - allure.attach(name="ssid configured vlan ip..", body=str(vlan)) + allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) allure.attach(name="upstream port....", body=str(port_resources[2])) allure.attach(name="upstream ip....", body=str(eth_ip)) if val: @@ -384,7 +384,7 @@ class TestDynamicVlan(object): @pytest.mark.twog @allure.testcase(name="test_outof_bound_vlanid", url="https://telecominfraproject.atlassian.net/browse/WIFI-5711") - def test_outof_bound_vlanid(self, get_vif_state, lf_tools, get_lf_logs, get_ap_logs, + def test_out_of_bound_vlanid(self, get_vif_state, lf_tools, get_lf_logs, get_ap_logs, create_lanforge_chamberview_dut, lf_test, get_configuration, station_names_twog): """ @@ -485,7 +485,7 @@ class TestDynamicVlan(object): allure.attach(name="station ip....", body=str(lf_test.station_ip[station_names_twog[0]])) allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan[0]))) allure.attach(name="ssid configured vlan ip....", body=str(eth_ssid_vlan_ip)) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan[1]))) + allure.attach(name="radius configured vlan..", body=str(port_resources[2] + "." + str(vlan[1]))) allure.attach(name="radius configured vlan ip....", body=str(eth_radius_vlan_ip)) allure.attach(name="Upstream ip....", body=str(eth_ip)) if val: @@ -499,7 +499,7 @@ class TestDynamicVlan(object): @pytest.mark.wpa2_enterprise @pytest.mark.twog @allure.testcase(name="test_subsequent_user_for_same_user_account", - url="https://telecominfraproject.atlassian.net/browse/WIFI-5705") + url="https://telecominfraproject.atlassian.net/browse/WIFI-5713") def test_subsequent_user_for_same_user_account(self, get_vif_state, lf_tools, get_lf_logs, get_ap_logs, create_lanforge_chamberview_dut, lf_test, @@ -513,6 +513,7 @@ class TestDynamicVlan(object): ssid_2G = profile_data[0]["ssid_name"] mode = "VLAN" vlan = 100 + val = "" upstream_port = lf_tools.upstream_port print(upstream_port) port_resources = upstream_port.split(".") @@ -554,21 +555,20 @@ class TestDynamicVlan(object): print("eth_vlan_ip..", eth_ip) for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): if i != j: - allure.attach(name="station ip....", body=str(sta_ip[n])) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) - allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip not assigned as per dynamic vlan") - assert False + val = False else: - assert True - allure.attach(name="station ip....", body=str(sta_ip[n])) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) - allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip assigned as per dynamic vlan") + val = True + allure.attach(name="station ip....", body=str(sta_ip[n])) + allure.attach(name="radius configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="radius configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + if val: + assert True + print("Station ip assigned as per radius vlan") + elif not val: + print("Station ip not assigned as per radius vlan") + assert False @pytest.mark.subsequent_user_for_different_user_account @pytest.mark.wpa2_enterprise @@ -587,6 +587,7 @@ class TestDynamicVlan(object): profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"] ssid_2G = profile_data[0]["ssid_name"] mode = "VLAN" + val = "" vlan = [100, 200] upstream_port = lf_tools.upstream_port print(upstream_port) @@ -628,20 +629,20 @@ class TestDynamicVlan(object): print("eth_vlan_ip..", eth_ip) for i, j in zip(sta_ip_1[0:2], eth_vlan_ip_1[0:2]): if i != j: - allure.attach(name="station ip....", body=str(sta_ip[sta])) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) - allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip not assigned as per dynamic vlan") - assert False + val = False else: - assert True - allure.attach(name="station ip....", body=str(sta_ip[sta])) - allure.attach(name="ssid configured vlan..", body=str(port_resources[2] + "." + str(vlan))) - allure.attach(name="ssid configured vlan ip..", body=str(eth_vlan_ip)) - allure.attach(name="upstream port....", body=str(port_resources[2])) - allure.attach(name="upstream ip....", body=str(eth_ip)) - print("Station ip assigned as per dynamic vlan") + val = True + allure.attach(name="station ip....", body=str(sta_ip[sta])) + allure.attach(name="radius configured vlan..", body=str(port_resources[2] + "." + str(vlan))) + allure.attach(name="radius configured vlan ip..", body=str(eth_vlan_ip)) + allure.attach(name="upstream port....", body=str(port_resources[2])) + allure.attach(name="upstream ip....", body=str(eth_ip)) + if val: + assert True + print(f"{station_list[sta]} ip assigned as per radius vlan") + elif not val: + print(f"{station_list[sta]} ip not assigned as per radius vlan") + assert False lf_tools.admin_up_down([station_list[sta]], option="up") time.sleep(5) + From 91e1e17d8839290a309879c6cf844193ce488e93 Mon Sep 17 00:00:00 2001 From: KvSaiMahesh Date: Tue, 14 Dec 2021 14:10:06 +0530 Subject: [PATCH 18/24] changed cleanup parameter Signed-off-by: KvSaiMahesh --- libs/lanforge/lf_tests.py | 4 ++-- .../wpa2_enterprise/fiveg/test_dynamic_vlan_fiveg.py | 6 +++--- .../wpa2_enterprise/twog/test_dynamic_vlan_twog.py | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/libs/lanforge/lf_tests.py b/libs/lanforge/lf_tests.py index 1ab978511..a4a8bf924 100644 --- a/libs/lanforge/lf_tests.py +++ b/libs/lanforge/lf_tests.py @@ -164,7 +164,7 @@ class RunTest: station_name=[], key_mgmt="WPA-EAP", pairwise="NA", group="NA", wpa_psk="DEFAULT", ttls_passwd="nolastart", ieee80211w=1, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="nolaradius",d_vlan=False,cleanup=False): + wep_key="NA", ca_cert="NA", eap="TTLS", identity="nolaradius",d_vlan=False,cleanup=True): self.eap_connect = TTLSTest(host=self.lanforge_ip, port=self.lanforge_port, sta_list=station_name, vap=False, _debug_on=self.debug) @@ -250,7 +250,7 @@ class RunTest: cx_data = cx_data + str(j) + " : " + str(i[j]) + "\n" cx_data = cx_data + "\n" allure.attach(name="cx_data", body=str(cx_data)) - if cleanup == False: + if cleanup: self.eap_connect.cleanup(station_name) return self.eap_connect.passes() diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamic_vlan_fiveg.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamic_vlan_fiveg.py index 41e01a472..e0c12528e 100644 --- a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamic_vlan_fiveg.py +++ b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/fiveg/test_dynamic_vlan_fiveg.py @@ -204,7 +204,7 @@ class TestDynamicVlan(object): station_name=station_names_fiveg, key_mgmt="WPA-EAP", pairwise="NA", group="NA", wpa_psk="DEFAULT", ttls_passwd="passwordB", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="userB", d_vlan=True, cleanup=True) + wep_key="NA", ca_cert="NA", eap="TTLS", identity="userB", d_vlan=True, cleanup=False) eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + "/" + port_resources[2])["interface"]["ip"] @@ -534,7 +534,7 @@ class TestDynamicVlan(object): station_name=[station_list[m]], key_mgmt="WPA-EAP", pairwise="NA", group="NA", wpa_psk="DEFAULT", ttls_passwd="passwordA", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="userA", d_vlan=True, cleanup=True) + wep_key="NA", ca_cert="NA", eap="TTLS", identity="userA", d_vlan=True, cleanup=False) lf_tools.admin_up_down([station_list[m]], option="up") sta_ip.append(lf_test.station_ip[station_list[m]]) if sta_ip[m] == "0.0.0.0": @@ -609,7 +609,7 @@ class TestDynamicVlan(object): station_name=[station_list[sta]], key_mgmt="WPA-EAP", pairwise="NA", group="NA", wpa_psk="DEFAULT", ttls_passwd=user_pass, ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity=user_id, d_vlan=True, cleanup=True) + wep_key="NA", ca_cert="NA", eap="TTLS", identity=user_id, d_vlan=True, cleanup=False) sta_ip.append(lf_test.station_ip[station_list[sta]]) diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamic_vlan_twog.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamic_vlan_twog.py index 4980cf4db..e98775311 100644 --- a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamic_vlan_twog.py +++ b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/dynamic_vlan/wpa2_enterprise/twog/test_dynamic_vlan_twog.py @@ -204,7 +204,7 @@ class TestDynamicVlan(object): station_name=station_names_twog, key_mgmt="WPA-EAP", pairwise="NA", group="NA", wpa_psk="DEFAULT", ttls_passwd="passwordB", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="userB", d_vlan=True, cleanup=True) + wep_key="NA", ca_cert="NA", eap="TTLS", identity="userB", d_vlan=True, cleanup=False) eth_ip = lf_tools.json_get("/port/" + port_resources[0] + "/" + port_resources[1] + "/" + port_resources[2])["interface"]["ip"] @@ -534,7 +534,7 @@ class TestDynamicVlan(object): station_name=[station_list[m]], key_mgmt="WPA-EAP", pairwise="NA", group="NA", wpa_psk="DEFAULT", ttls_passwd="passwordA", ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="userA", d_vlan=True, cleanup=True) + wep_key="NA", ca_cert="NA", eap="TTLS", identity="userA", d_vlan=True, cleanup=False) lf_tools.admin_up_down([station_list[m]], option="up") sta_ip.append(lf_test.station_ip[station_list[m]]) if sta_ip[m] == "0.0.0.0": @@ -609,7 +609,7 @@ class TestDynamicVlan(object): station_name=[station_list[sta]], key_mgmt="WPA-EAP", pairwise="NA", group="NA", wpa_psk="DEFAULT", ttls_passwd=user_pass, ieee80211w=0, - wep_key="NA", ca_cert="NA", eap="TTLS", identity=user_id, d_vlan=True, cleanup=True) + wep_key="NA", ca_cert="NA", eap="TTLS", identity=user_id, d_vlan=True, cleanup=False) sta_ip.append(lf_test.station_ip[station_list[sta]]) From ac59332b71d3a6b22b53dc414f729ea858dcbc9d Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Thu, 13 Jan 2022 01:01:39 +0530 Subject: [PATCH 19/24] Added performance marker in bridge mode Signed-off-by: jitendracandela --- .../wpa2_personal/test_bridge_mode.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/e2e/basic/performance_tests/throughput_benchmark/tcp_udp_upstream_downstream_bidirection_throughput_test/wpa2_personal/test_bridge_mode.py b/tests/e2e/basic/performance_tests/throughput_benchmark/tcp_udp_upstream_downstream_bidirection_throughput_test/wpa2_personal/test_bridge_mode.py index 21989fc6f..206fa4c3e 100644 --- a/tests/e2e/basic/performance_tests/throughput_benchmark/tcp_udp_upstream_downstream_bidirection_throughput_test/wpa2_personal/test_bridge_mode.py +++ b/tests/e2e/basic/performance_tests/throughput_benchmark/tcp_udp_upstream_downstream_bidirection_throughput_test/wpa2_personal/test_bridge_mode.py @@ -11,7 +11,7 @@ import time import pytest import allure -pytestmark = [pytest.mark.throughput_benchmark_test, pytest.mark.bridge] # pytest.mark.usefixtures("setup_test_run")] +pytestmark = [pytest.mark.performance, pytest.mark.throughput_benchmark_test, pytest.mark.bridge] # pytest.mark.usefixtures("setup_test_run")] setup_params_general = { From 47a7d781b9e389b82a90dd71e02694c4af79a9ae Mon Sep 17 00:00:00 2001 From: Max Brenner Date: Thu, 13 Jan 2022 13:26:31 +0100 Subject: [PATCH 20/24] print status when waiting for reservation Signed-off-by: Max Brenner --- .quali/common.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.quali/common.py b/.quali/common.py index 91693c504..af0fd5d7c 100644 --- a/.quali/common.py +++ b/.quali/common.py @@ -21,6 +21,8 @@ def __wait_for_status(session, res_id, field, target_status): if status == target_status: break + print(f'current reservation status: {status}') + if timer >= TIMEOUT: raise RuntimeError(f'waiting for reservation to reach status {target_status} timed out') From 77264245b62e21dff5f38c7eae74c22e0cdeefbb Mon Sep 17 00:00:00 2001 From: Dmitry Dunaev Date: Thu, 13 Jan 2022 20:30:48 +0300 Subject: [PATCH 21/24] Chg: sanity version to GA Signed-off-by: Dmitry Dunaev --- .github/workflows/quali.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/quali.yml b/.github/workflows/quali.yml index b8ce3025b..3121cb4a9 100644 --- a/.github/workflows/quali.yml +++ b/.github/workflows/quali.yml @@ -68,11 +68,11 @@ jobs: - name: set variables id: vars run: | - echo ::set-output name=openwifi::$(echo "${{ github.event.inputs.openwifi_revision || 'v2.4.0-RC3' }}") - echo ::set-output name=gw::$(echo "${{ github.event.inputs.openwifi_gw_revision || 'v2.4.0-RC3' }}") - echo ::set-output name=sec::$(echo "${{ github.event.inputs.openwifi_sec_revision || 'v2.4.0-RC2' }}") - echo ::set-output name=fms::$(echo "${{ github.event.inputs.openwifi_fms_revision || 'v2.4.0-RC2' }}") - echo ::set-output name=ui::$(echo "${{ github.event.inputs.openwifi_ui_revision || 'v2.4.0-RC2' }}") + echo ::set-output name=openwifi::$(echo "${{ github.event.inputs.openwifi_revision || 'v2.4.0' }}") + echo ::set-output name=gw::$(echo "${{ github.event.inputs.openwifi_gw_revision || 'v2.4.0' }}") + echo ::set-output name=sec::$(echo "${{ github.event.inputs.openwifi_sec_revision || 'v2.4.0' }}") + echo ::set-output name=fms::$(echo "${{ github.event.inputs.openwifi_fms_revision || 'v2.4.0' }}") + echo ::set-output name=ui::$(echo "${{ github.event.inputs.openwifi_ui_revision || 'v2.4.0' }}") echo ::set-output name=ap_models::$(echo "${{ github.event.inputs.ap_models || 'edgecore_ecw5410,edgecore_eap101,tp-link_ec420-g1,edgecore_ecw5211,cig_wf188n,edgecore_eap102,cig_wf194c,hfcl_ion4' }}") echo ::set-output name=ap_version::$(echo "${{ github.event.inputs.ap_version || 'next-latest' }}") echo ::set-output name=marker_expression::$(echo "${{ github.event.inputs.marker_expression || 'uc_sanity' }}") From d6a69eee4a7e2c853b0e648657bdb630be9b3292 Mon Sep 17 00:00:00 2001 From: Rohan Dutta Date: Fri, 14 Jan 2022 09:05:50 -0800 Subject: [PATCH 22/24] Modified apnos.py commented self.model = credentials["mode"] Signed-off-by: dutta-rohan <94938704+dutta-rohan@users.noreply.github.com> --- libs/apnos/apnos.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/apnos/apnos.py b/libs/apnos/apnos.py index 0431f852b..0da735380 100644 --- a/libs/apnos/apnos.py +++ b/libs/apnos/apnos.py @@ -36,7 +36,7 @@ class APNOS: self.password = credentials['password'] # if mode=1, enter jumphost password else ap password self.port = credentials['port'] # if mode=1, enter jumphost ssh port else ap ssh port self.mode = credentials['jumphost'] # 1 for jumphost, 0 for direct ssh - self.model = credentials['mode'] + #self.model = credentials['mode'] if self.mode: self.tty = credentials['jumphost_tty'] # /dev/ttyAP1 # kill minicom instance From a3bfda2c0b5326e67e525be59d00218a1a7526f9 Mon Sep 17 00:00:00 2001 From: Dmitry Dunaev Date: Mon, 17 Jan 2022 13:37:48 +0300 Subject: [PATCH 23/24] Chg: owls should be deployed on test nodes during test deployments Signed-off-by: Dmitry Dunaev --- helm/ucentral/values.ucentral-qa.test-nodes.yaml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/helm/ucentral/values.ucentral-qa.test-nodes.yaml b/helm/ucentral/values.ucentral-qa.test-nodes.yaml index d64698fd9..0886a56c6 100644 --- a/helm/ucentral/values.ucentral-qa.test-nodes.yaml +++ b/helm/ucentral/values.ucentral-qa.test-nodes.yaml @@ -62,6 +62,22 @@ owprovui: operator: "Exists" effect: "NoSchedule" +owls: + nodeSelector: + env: tests + tolerations: + - key: "tests" + operator: "Exists" + effect: "NoSchedule" + +owlsui: + nodeSelector: + env: tests + tolerations: + - key: "tests" + operator: "Exists" + effect: "NoSchedule" + rttys: nodeSelector: env: tests From 97d5bc69921ef8e5c045a4d70eeeb7b1b6b47fa5 Mon Sep 17 00:00:00 2001 From: Max Brenner Date: Mon, 17 Jan 2022 13:10:35 +0100 Subject: [PATCH 24/24] remove duplicate environment info Signed-off-by: Max Brenner --- .github/actions/generate-allure-report/action.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/actions/generate-allure-report/action.yml b/.github/actions/generate-allure-report/action.yml index c382c6e06..8fc087831 100644 --- a/.github/actions/generate-allure-report/action.yml +++ b/.github/actions/generate-allure-report/action.yml @@ -57,9 +57,6 @@ runs: cat << EOF >> "${{ inputs.results_path }}/environment.properties" Tests.CommitId=${{ github.sha }} - CiRun.Id=${{ github.run_id }} - CiRun.Number=${{ github.run_number }} - CiRun.Url=https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} EOF - name: generate Allure report