diff --git a/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/toggle_wifi_mode_test/android/test_enterprise_ttls.py b/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/toggle_wifi_mode_test/android/test_enterprise_ttls.py new file mode 100644 index 000000000..02e147a45 --- /dev/null +++ b/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/toggle_wifi_mode_test/android/test_enterprise_ttls.py @@ -0,0 +1,332 @@ +from logging import exception +import unittest +import warnings +from perfecto.test import TestResultFactory +import pytest +import sys +import time +from selenium.common.exceptions import NoSuchElementException +from selenium.webdriver.common.by import By +from appium import webdriver +from selenium.common.exceptions import NoSuchElementException +import string +import random +import sys +import allure + +if 'perfecto_libs' not in sys.path: + sys.path.append(f'../libs/perfecto_libs') + +pytestmark = [pytest.mark.regression, pytest.mark.interop, pytest.mark.android, pytest.mark.interop_and, pytest.mark.ToggleWifiMode, + pytest.mark.client_reconnect, pytest.mark.enterprise] + +from android_lib import closeApp, set_APconnMobileDevice_android, Toggle_WifiMode_android, ForgetWifiConnection, openApp,\ + get_ip_add_check_and, verifyUploadDownloadSpeed_android, wifi_connect, wifi_disconnect_and_forget, get_ip_add_eap_and + +setup_params_enterprise = { + "mode": "BRIDGE", + "ssid_modes": { + "wpa_enterprise": [ + {"ssid_name": "ssid_wpa_eap_2g", "appliedRadios": ["2G"]}, + {"ssid_name": "ssid_wpa_eap_5g", "appliedRadios": ["5G"]}], + "wpa2_enterprise": [ + {"ssid_name": "ssid_wpa2_eap_2g", "appliedRadios": ["2G"]}, + {"ssid_name": "ssid_wpa2_eap_5g", "appliedRadios": ["5G"]}], + "wpa3_enterprise": [ + {"ssid_name": "ssid_wpa3_eap_2g", "appliedRadios": ["2G"]}, + {"ssid_name": "ssid_wpa3_eap_5g", "appliedRadios": ["5G"]}]}, + + "rf": {}, + "radius": True +} +for sec_modes in setup_params_enterprise['ssid_modes'].keys(): + for i in range(len(setup_params_enterprise['ssid_modes'][sec_modes])): + N = 3 + rand_string = (''.join(random.choices(string.ascii_uppercase + + string.digits, k=N)))+str(int(time.time_ns())%10000) + setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string + +@allure.suite(suite_name="interop regression") +@allure.sub_suite(sub_suite_name="Bridge Mode EAP Client ReConnect : Suite-A") +@pytest.mark.suiteA +@pytest.mark.parametrize( + 'setup_profiles', + [setup_params_enterprise], + indirect=True, + scope="class" +) +@pytest.mark.usefixtures("setup_profiles") +class TestToggleWifiModeAndroidBridgeModeEnterpriseTTLSSuiteA(object): + """ Client ReConnect SuiteA + pytest -m "client_reconnect and bridge and InteropsuiteA" + """ + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6487", name="WIFI-6487") + @pytest.mark.fiveg + @pytest.mark.wpa2_enterprise + def test_ToogleWifiMode_5g_WPA2_enterprise_Bridge(self, request, get_vif_state, get_ToggleAirplaneMode_data + , setup_perfectoMobile_android, radius_info, get_ap_logs): + + profile_data = setup_params_enterprise["ssid_modes"]["wpa2_enterprise"][1] + ssidName = profile_data["ssid_name"] + #ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + #print ("SSID_PASS: " + ssidPassword) + ttls_passwd = radius_info["password"] + identity = radius_info['user'] + get_vif_state.append(ssidName) + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_eap_and(request, ssidName, identity, ttls_passwd, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, identity, ttls_passwd, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6488", name="WIFI-6488") + @pytest.mark.twog + @pytest.mark.wpa2_enterprise + def test_ToogleWifiMode_2g_WPA2_enterprise_Bridge(self, request, get_vif_state, get_ToggleAirplaneMode_data, + setup_perfectoMobile_android, radius_info, get_ap_logs): + + profile_data = setup_params_enterprise["ssid_modes"]["wpa2_enterprise"][0] + ssidName = profile_data["ssid_name"] + # ssidPassword = profile_data["security_key"] + print("SSID_NAME: " + ssidName) + # print ("SSID_PASS: " + ssidPassword) + ttls_passwd = radius_info["password"] + identity = radius_info['user'] + get_vif_state.append(ssidName) + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_eap_and(request, ssidName, identity, ttls_passwd, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, identity, ttls_passwd, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6489", name="WIFI-6489") + @pytest.mark.fiveg + @pytest.mark.wpa3_enterprise + def test_ToogleWifiMode_5g_WPA3_enterprise_Bridge(self, request, get_vif_state, get_ToggleAirplaneMode_data, + setup_perfectoMobile_android, radius_info, get_ap_logs): + + profile_data = setup_params_enterprise["ssid_modes"]["wpa3_enterprise"][1] + ssidName = profile_data["ssid_name"] + # ssidPassword = profile_data["security_key"] + print("SSID_NAME: " + ssidName) + # print ("SSID_PASS: " + ssidPassword) + ttls_passwd = radius_info["password"] + identity = radius_info['user'] + get_vif_state.append(ssidName) + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_eap_and(request, ssidName, identity, ttls_passwd, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, identity, ttls_passwd, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6490", name="WIFI-6490") + @pytest.mark.twog + @pytest.mark.wpa3_enterprise + def test_ToogleWifiMode_2g_WPA3_enterprise_Bridge(self, request, get_vif_state, get_ToggleAirplaneMode_data, + setup_perfectoMobile_android, radius_info, get_ap_logs): + + profile_data = setup_params_enterprise["ssid_modes"]["wpa3_enterprise"][0] + ssidName = profile_data["ssid_name"] + # ssidPassword = profile_data["security_key"] + print("SSID_NAME: " + ssidName) + # print ("SSID_PASS: " + ssidPassword) + ttls_passwd = radius_info["password"] + identity = radius_info['user'] + get_vif_state.append(ssidName) + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_eap_and(request, ssidName, identity, ttls_passwd, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, identity, ttls_passwd, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6471", name="WIFI-6471") + @pytest.mark.fiveg + @pytest.mark.wpa_enterprise + def test_ToogleWifiMode_5g_WPA_enterprise_Bridge(self, request, get_vif_state, get_ToggleAirplaneMode_data, + setup_perfectoMobile_android, radius_info, get_ap_logs): + + profile_data = setup_params_enterprise["ssid_modes"]["wpa_enterprise"][1] + ssidName = profile_data["ssid_name"] + # ssidPassword = profile_data["security_key"] + print("SSID_NAME: " + ssidName) + # print ("SSID_PASS: " + ssidPassword) + ttls_passwd = radius_info["password"] + identity = radius_info['user'] + get_vif_state.append(ssidName) + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_eap_and(request, ssidName, identity, ttls_passwd, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, identity, ttls_passwd, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6486", name="WIFI-6486") + @pytest.mark.twog + @pytest.mark.wpa_enterprise + def test_ToogleWifiMode_2g_WPA_enterprise_Bridge(self, request, get_vif_state, get_ToggleAirplaneMode_data, + setup_perfectoMobile_android, radius_info, get_ap_logs): + + profile_data = setup_params_enterprise["ssid_modes"]["wpa_enterprise"][0] + ssidName = profile_data["ssid_name"] + # ssidPassword = profile_data["security_key"] + print("SSID_NAME: " + ssidName) + # print ("SSID_PASS: " + ssidPassword) + ttls_passwd = radius_info["password"] + identity = radius_info['user'] + get_vif_state.append(ssidName) + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_eap_and(request, ssidName, identity, ttls_passwd, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, identity, ttls_passwd, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False \ No newline at end of file diff --git a/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/toggle_wifi_mode_test/android/test_general_security_modes.py b/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/toggle_wifi_mode_test/android/test_general_security_modes.py new file mode 100644 index 000000000..1b67dda4f --- /dev/null +++ b/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/toggle_wifi_mode_test/android/test_general_security_modes.py @@ -0,0 +1,630 @@ +from logging import exception +import unittest +import warnings +from perfecto.test import TestResultFactory +import pytest +import sys +import time +from selenium.common.exceptions import NoSuchElementException +from selenium.webdriver.common.by import By +from appium import webdriver +from selenium.common.exceptions import NoSuchElementException +import random +import string +import sys +import allure + +if 'perfecto_libs' not in sys.path: + sys.path.append(f'../libs/perfecto_libs') + +pytestmark = [pytest.mark.regression, pytest.mark.interop, pytest.mark.android, pytest.mark.interop_and, pytest.mark.ToggleWifiMode, pytest.mark.client_reconnect] + +from android_lib import closeApp, set_APconnMobileDevice_android, Toggle_WifiMode_android, ForgetWifiConnection, openApp,\ + get_ip_add_check_and, verifyUploadDownloadSpeed_android, wifi_connect, wifi_disconnect_and_forget, get_ip_add_and + +setup_params_general = { + "mode": "BRIDGE", + "ssid_modes": { + "wpa": [{"ssid_name": "ssid_wpa_2g", "appliedRadios": ["2G"], "security_key": "something"}, + {"ssid_name": "ssid_wpa_5g", "appliedRadios": ["5G"], + "security_key": "something"}], + "open": [{"ssid_name": "ssid_open_2g", "appliedRadios": ["2G"]}, + {"ssid_name": "ssid_open_5g", "appliedRadios": ["5G"]}], + "wpa2_personal": [ + {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"}, + {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], + "security_key": "something"}]}, + "rf": {}, + "radius": False +} + +for sec_modes in setup_params_general['ssid_modes'].keys(): + for i in range(len(setup_params_general['ssid_modes'][sec_modes])): + N = 3 + rand_string = (''.join(random.choices(string.ascii_uppercase + + string.digits, k=N)))+str(int(time.time_ns())%10000) + setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string + +@allure.suite(suite_name="interop regression") +@allure.sub_suite(sub_suite_name="Bridge Mode Client ReConnect : Suite-A") +@pytest.mark.InteropsuiteA +@allure.feature("BRIDGE MODE CLIENT RECONNECT") +@pytest.mark.parametrize( + 'setup_profiles', + [setup_params_general], + indirect=True, + scope="class" +) +@pytest.mark.usefixtures("setup_profiles") +class TestToggleWifiModeAndroidBridgeModeSuiteOne(object): + """ Client ReConnect SuiteA + pytest -m "client_reconnect and bridge and InteropsuiteA" + """ + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6459", name="WIFI-6459") + @pytest.mark.fiveg + @pytest.mark.wpa2_personal + def test_ToogleWifiMode_5g_WPA2_Personal_Bridge(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6460", name="WIFI-6460") + @pytest.mark.twog + @pytest.mark.wpa2_personal + def test_ToogleWifiMode_2g_WPA2_Personal_Bridge(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6461", name="WIFI-6461") + @pytest.mark.fiveg + @pytest.mark.wpa + def test_ToogleWifiMode_5g_WPA_Personal_Bridge(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general["ssid_modes"]["wpa"][1] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6462", name="WIFI-6462") + @pytest.mark.twog + @pytest.mark.wpa + def test_ToogleWifiMode_2g_WPA_Personal_Bridge(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general["ssid_modes"]["wpa"][0] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6463", name="WIFI-6463") + @pytest.mark.fiveg + @pytest.mark.open + def test_ToogleWifiMode_5g_Open_Bridge(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general["ssid_modes"]["open"][1] + ssidName = profile_data["ssid_name"] + ssidPassword = "[BLANK]" + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6464", name="WIFI-6464") + @pytest.mark.twog + @pytest.mark.open + def test_ToogleWifiMode_2g_Open_Bridge(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general["ssid_modes"]["open"][0] + ssidName = profile_data["ssid_name"] + ssidPassword = "[BLANK]" + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + +setup_params_general_two = { + "mode": "BRIDGE", + "ssid_modes": { + "wpa3_personal": [ + {"ssid_name": "ssid_wpa3_p_2g", "appliedRadios": ["2G"], "security_key": "something"}, + {"ssid_name": "ssid_wpa3_p_5g", "appliedRadios": ["5G"], + "security_key": "something"}], + "wpa3_personal_mixed": [ + {"ssid_name": "ssid_wpa3_p_m_2g", "appliedRadios": ["2G"], "security_key": "something"}, + {"ssid_name": "ssid_wpa3_p_m_5g", "appliedRadios": ["5G"], + "security_key": "something"}], + "wpa_wpa2_personal_mixed": [ + {"ssid_name": "ssid_wpa_wpa2_p_m_2g", "appliedRadios": ["2G"], "security_key": "something"}, + {"ssid_name": "ssid_wpa_wpa2_p_m_5g", "appliedRadios": ["5G"], + "security_key": "something"}] + }, + "rf": {}, + "radius": False +} + +for sec_modes in setup_params_general_two['ssid_modes'].keys(): + for i in range(len(setup_params_general_two['ssid_modes'][sec_modes])): + N = 2 + rand_string = (''.join(random.choices(string.ascii_uppercase + + string.digits, k=N)))+str(int(time.time_ns())%10000) + setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'].replace("ssid_","") + "_"+ rand_string + +@allure.suite(suite_name="interop regression") +@allure.sub_suite(sub_suite_name="Bridge Mode Client ReConnect : Suite-B") +@pytest.mark.InteropsuiteB +@allure.feature("BRIDGE MODE CLIENT RECONNECT") +@pytest.mark.parametrize( + 'setup_profiles', + [setup_params_general_two], + indirect=True, + scope="class" +) +@pytest.mark.usefixtures("setup_profiles") +class TestToggleWifiModeAndroidBridgeModeSuiteTwo(object): + """ Client ReConnect SuiteA + pytest -m "client_connect and bridge and InteropsuiteB" + """ + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6465", name="WIFI-6465") + @pytest.mark.fiveg + @pytest.mark.wpa3_personal + def test_ToogleWifiMode_5g_wpa3_personal_Bridge(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general_two["ssid_modes"]["wpa3_personal"][1] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6466", name="WIFI-6466") + @pytest.mark.twog + @pytest.mark.wpa3_personal + def test_ToogleWifiMode_2g_wpa3_personal_Bridge(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general_two["ssid_modes"]["wpa3_personal"][0] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6467", name="WIFI-6467") + @pytest.mark.fiveg + @pytest.mark.wpa3_personal_mixed + def test_ToogleWifiMode_5g_wpa3_personal_mixed_Bridge(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general_two["ssid_modes"]["wpa3_personal_mixed"][1] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6468", name="WIFI-6468") + @pytest.mark.twog + @pytest.mark.wpa3_personal_mixed + def test_ToogleWifiMode_2g_wpa3_personal_mixed_Bridge(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general_two["ssid_modes"]["wpa3_personal_mixed"][0] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6469", name="WIFI-6469") + @pytest.mark.fiveg + @pytest.mark.wpa_wpa2_personal_mixed + def test_ToogleWifiMode_5g_wpa_wpa2_personal_mixed_Bridge(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general_two["ssid_modes"]["wpa_wpa2_personal_mixed"][1] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6470", name="WIFI-6470") + @pytest.mark.twog + @pytest.mark.wpa_wpa2_personal_mixed + def test_ToogleWifiMode_2g_wpa_wpa2_personal_mixed_Bridge(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general_two["ssid_modes"]["wpa_wpa2_personal_mixed"][0] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False \ No newline at end of file diff --git a/tests/e2e/interOp/validation_of_operating_modes/nat_mode/toggle_wifi_mode_test/android/test_enterprise_ttls.py b/tests/e2e/interOp/validation_of_operating_modes/nat_mode/toggle_wifi_mode_test/android/test_enterprise_ttls.py new file mode 100644 index 000000000..935b22681 --- /dev/null +++ b/tests/e2e/interOp/validation_of_operating_modes/nat_mode/toggle_wifi_mode_test/android/test_enterprise_ttls.py @@ -0,0 +1,332 @@ +from logging import exception +import unittest +import warnings +from perfecto.test import TestResultFactory +import pytest +import sys +import time +from selenium.common.exceptions import NoSuchElementException +from selenium.webdriver.common.by import By +from appium import webdriver +from selenium.common.exceptions import NoSuchElementException +import string +import random +import sys +import allure + +if 'perfecto_libs' not in sys.path: + sys.path.append(f'../libs/perfecto_libs') + +pytestmark = [pytest.mark.regression, pytest.mark.interop, pytest.mark.android, pytest.mark.interop_and, pytest.mark.ToggleWifiMode, + pytest.mark.client_reconnect, pytest.mark.enterprise] + +from android_lib import closeApp, set_APconnMobileDevice_android, Toggle_WifiMode_android, ForgetWifiConnection, openApp,\ + get_ip_add_check_and, verifyUploadDownloadSpeed_android, wifi_connect, wifi_disconnect_and_forget, get_ip_add_eap_and + +setup_params_enterprise = { + "mode": "NAT", + "ssid_modes": { + "wpa_enterprise": [ + {"ssid_name": "ssid_wpa_eap_2g", "appliedRadios": ["2G"]}, + {"ssid_name": "ssid_wpa_eap_5g", "appliedRadios": ["5G"]}], + "wpa2_enterprise": [ + {"ssid_name": "ssid_wpa2_eap_2g", "appliedRadios": ["2G"]}, + {"ssid_name": "ssid_wpa2_eap_5g", "appliedRadios": ["5G"]}], + "wpa3_enterprise": [ + {"ssid_name": "ssid_wpa3_eap_2g", "appliedRadios": ["2G"]}, + {"ssid_name": "ssid_wpa3_eap_5g", "appliedRadios": ["5G"]}]}, + + "rf": {}, + "radius": True +} +for sec_modes in setup_params_enterprise['ssid_modes'].keys(): + for i in range(len(setup_params_enterprise['ssid_modes'][sec_modes])): + N = 3 + rand_string = (''.join(random.choices(string.ascii_uppercase + + string.digits, k=N)))+str(int(time.time_ns())%10000) + setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string + +@allure.suite(suite_name="interop regression") +@allure.sub_suite(sub_suite_name="Nat Mode EAP Client ReConnect : Suite-A") +@pytest.mark.suiteA +@pytest.mark.parametrize( + 'setup_profiles', + [setup_params_enterprise], + indirect=True, + scope="class" +) +@pytest.mark.usefixtures("setup_profiles") +class TestToggleWifiModeAndroidNatModeEnterpriseTTLSSuiteA(object): + """ Client ReConnect SuiteA + pytest -m "client_reconnect and bridge and InteropsuiteA" + """ + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6506", name="WIFI-6506") + @pytest.mark.fiveg + @pytest.mark.wpa2_enterprise + def test_ToogleWifiMode_5g_WPA2_enterprise_Nat(self, request, get_vif_state, get_ToggleAirplaneMode_data + , setup_perfectoMobile_android, radius_info, get_ap_logs): + + profile_data = setup_params_enterprise["ssid_modes"]["wpa2_enterprise"][1] + ssidName = profile_data["ssid_name"] + #ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + #print ("SSID_PASS: " + ssidPassword) + ttls_passwd = radius_info["password"] + identity = radius_info['user'] + get_vif_state.append(ssidName) + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_eap_and(request, ssidName, identity, ttls_passwd, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ttls_passwd, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6507", name="WIFI-6507") + @pytest.mark.twog + @pytest.mark.wpa2_enterprise + def test_ToogleWifiMode_2g_WPA2_enterprise_Nat(self, request, get_vif_state, get_ToggleAirplaneMode_data, + setup_perfectoMobile_android, radius_info, get_ap_logs): + + profile_data = setup_params_enterprise["ssid_modes"]["wpa2_enterprise"][0] + ssidName = profile_data["ssid_name"] + # ssidPassword = profile_data["security_key"] + print("SSID_NAME: " + ssidName) + # print ("SSID_PASS: " + ssidPassword) + ttls_passwd = radius_info["password"] + identity = radius_info['user'] + get_vif_state.append(ssidName) + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_eap_and(request, ssidName, identity, ttls_passwd, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ttls_passwd, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6508", name="WIFI-6508") + @pytest.mark.fiveg + @pytest.mark.wpa3_enterprise + def test_ToogleWifiMode_5g_WPA3_enterprise_Nat(self, request, get_vif_state, get_ToggleAirplaneMode_data, + setup_perfectoMobile_android, radius_info, get_ap_logs): + + profile_data = setup_params_enterprise["ssid_modes"]["wpa3_enterprise"][1] + ssidName = profile_data["ssid_name"] + # ssidPassword = profile_data["security_key"] + print("SSID_NAME: " + ssidName) + # print ("SSID_PASS: " + ssidPassword) + ttls_passwd = radius_info["password"] + identity = radius_info['user'] + get_vif_state.append(ssidName) + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_eap_and(request, ssidName, identity, ttls_passwd, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ttls_passwd, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6509", name="WIFI-6509") + @pytest.mark.twog + @pytest.mark.wpa3_enterprise + def test_ToogleWifiMode_2g_WPA3_enterprise_Nat(self, request, get_vif_state, get_ToggleAirplaneMode_data, + setup_perfectoMobile_android, radius_info, get_ap_logs): + + profile_data = setup_params_enterprise["ssid_modes"]["wpa3_enterprise"][0] + ssidName = profile_data["ssid_name"] + # ssidPassword = profile_data["security_key"] + print("SSID_NAME: " + ssidName) + # print ("SSID_PASS: " + ssidPassword) + ttls_passwd = radius_info["password"] + identity = radius_info['user'] + get_vif_state.append(ssidName) + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_eap_and(request, ssidName, identity, ttls_passwd, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ttls_passwd, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6504", name="WIFI-6504") + @pytest.mark.fiveg + @pytest.mark.wpa_enterprise + def test_ToogleWifiMode_5g_WPA_enterprise_Nat(self, request, get_vif_state, get_ToggleAirplaneMode_data, + setup_perfectoMobile_android, radius_info, get_ap_logs): + + profile_data = setup_params_enterprise["ssid_modes"]["wpa_enterprise"][1] + ssidName = profile_data["ssid_name"] + # ssidPassword = profile_data["security_key"] + print("SSID_NAME: " + ssidName) + # print ("SSID_PASS: " + ssidPassword) + ttls_passwd = radius_info["password"] + identity = radius_info['user'] + get_vif_state.append(ssidName) + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_eap_and(request, ssidName, identity, ttls_passwd, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ttls_passwd, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6505", name="WIFI-6505") + @pytest.mark.twog + @pytest.mark.wpa_enterprise + def test_ToogleWifiMode_2g_WPA_enterprise_Nat(self, request, get_vif_state, get_ToggleAirplaneMode_data, + setup_perfectoMobile_android, radius_info, get_ap_logs): + + profile_data = setup_params_enterprise["ssid_modes"]["wpa_enterprise"][0] + ssidName = profile_data["ssid_name"] + # ssidPassword = profile_data["security_key"] + print("SSID_NAME: " + ssidName) + # print ("SSID_PASS: " + ssidPassword) + ttls_passwd = radius_info["password"] + identity = radius_info['user'] + get_vif_state.append(ssidName) + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_eap_and(request, ssidName, identity, ttls_passwd, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ttls_passwd, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False \ No newline at end of file diff --git a/tests/e2e/interOp/validation_of_operating_modes/nat_mode/toggle_wifi_mode_test/android/test_general_security_modes.py b/tests/e2e/interOp/validation_of_operating_modes/nat_mode/toggle_wifi_mode_test/android/test_general_security_modes.py new file mode 100644 index 000000000..64eca27a3 --- /dev/null +++ b/tests/e2e/interOp/validation_of_operating_modes/nat_mode/toggle_wifi_mode_test/android/test_general_security_modes.py @@ -0,0 +1,630 @@ +from logging import exception +import unittest +import warnings +from perfecto.test import TestResultFactory +import pytest +import sys +import time +from selenium.common.exceptions import NoSuchElementException +from selenium.webdriver.common.by import By +from appium import webdriver +from selenium.common.exceptions import NoSuchElementException +import random +import string +import sys +import allure + +if 'perfecto_libs' not in sys.path: + sys.path.append(f'../libs/perfecto_libs') + +pytestmark = [pytest.mark.regression, pytest.mark.interop, pytest.mark.android, pytest.mark.interop_and, pytest.mark.ToggleWifiMode, pytest.mark.client_reconnect] + +from android_lib import closeApp, set_APconnMobileDevice_android, Toggle_WifiMode_android, ForgetWifiConnection, openApp,\ + get_ip_add_check_and, verifyUploadDownloadSpeed_android, wifi_connect, wifi_disconnect_and_forget, get_ip_add_and + +setup_params_general = { + "mode": "NAT", + "ssid_modes": { + "wpa": [{"ssid_name": "ssid_wpa_2g", "appliedRadios": ["2G"], "security_key": "something"}, + {"ssid_name": "ssid_wpa_5g", "appliedRadios": ["5G"], + "security_key": "something"}], + "open": [{"ssid_name": "ssid_open_2g", "appliedRadios": ["2G"]}, + {"ssid_name": "ssid_open_5g", "appliedRadios": ["5G"]}], + "wpa2_personal": [ + {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"}, + {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], + "security_key": "something"}]}, + "rf": {}, + "radius": False +} + +for sec_modes in setup_params_general['ssid_modes'].keys(): + for i in range(len(setup_params_general['ssid_modes'][sec_modes])): + N = 3 + rand_string = (''.join(random.choices(string.ascii_uppercase + + string.digits, k=N)))+str(int(time.time_ns())%10000) + setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string + +@allure.suite(suite_name="interop regression") +@allure.sub_suite(sub_suite_name="Nat Mode Client ReConnect : Suite-A") +@pytest.mark.InteropsuiteA +@allure.feature("NAT MODE CLIENT RECONNECT") +@pytest.mark.parametrize( + 'setup_profiles', + [setup_params_general], + indirect=True, + scope="class" +) +@pytest.mark.usefixtures("setup_profiles") +class TestToggleWifiModeAndroidNatModeSuiteOne(object): + """ Client ReConnect SuiteA + pytest -m "client_reconnect and bridge and InteropsuiteA" + """ + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6491", name="WIFI-6491") + @pytest.mark.fiveg + @pytest.mark.wpa2_personal + def test_ToogleWifiMode_5g_WPA2_Personal_Nat(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6492", name="WIFI-6492") + @pytest.mark.twog + @pytest.mark.wpa2_personal + def test_ToogleWifiMode_2g_WPA2_Personal_Nat(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6493", name="WIFI-6493") + @pytest.mark.fiveg + @pytest.mark.wpa + def test_ToogleWifiMode_5g_WPA_Personal_Nat(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general["ssid_modes"]["wpa"][1] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6494", name="WIFI-6494") + @pytest.mark.twog + @pytest.mark.wpa + def test_ToogleWifiMode_2g_WPA_Personal_Nat(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general["ssid_modes"]["wpa"][0] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6495", name="WIFI-6495") + @pytest.mark.fiveg + @pytest.mark.open + def test_ToogleWifiMode_5g_Open_Nat(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general["ssid_modes"]["open"][1] + ssidName = profile_data["ssid_name"] + ssidPassword = "[BLANK]" + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6496", name="WIFI-6496") + @pytest.mark.twog + @pytest.mark.open + def test_ToogleWifiMode_2g_Open_Nat(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general["ssid_modes"]["open"][0] + ssidName = profile_data["ssid_name"] + ssidPassword = "[BLANK]" + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + +setup_params_general_two = { + "mode": "NAT", + "ssid_modes": { + "wpa3_personal": [ + {"ssid_name": "ssid_wpa3_p_2g", "appliedRadios": ["2G"], "security_key": "something"}, + {"ssid_name": "ssid_wpa3_p_5g", "appliedRadios": ["5G"], + "security_key": "something"}], + "wpa3_personal_mixed": [ + {"ssid_name": "ssid_wpa3_p_m_2g", "appliedRadios": ["2G"], "security_key": "something"}, + {"ssid_name": "ssid_wpa3_p_m_5g", "appliedRadios": ["5G"], + "security_key": "something"}], + "wpa_wpa2_personal_mixed": [ + {"ssid_name": "ssid_wpa_wpa2_p_m_2g", "appliedRadios": ["2G"], "security_key": "something"}, + {"ssid_name": "ssid_wpa_wpa2_p_m_5g", "appliedRadios": ["5G"], + "security_key": "something"}] + }, + "rf": {}, + "radius": False +} + +for sec_modes in setup_params_general_two['ssid_modes'].keys(): + for i in range(len(setup_params_general_two['ssid_modes'][sec_modes])): + N = 2 + rand_string = (''.join(random.choices(string.ascii_uppercase + + string.digits, k=N)))+str(int(time.time_ns())%10000) + setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'].replace("ssid_","") + "_"+ rand_string + +@allure.suite(suite_name="interop regression") +@allure.sub_suite(sub_suite_name="Nat Mode Client ReConnect : Suite-B") +@pytest.mark.InteropsuiteB +@allure.feature("NAT MODE CLIENT RECONNECT") +@pytest.mark.parametrize( + 'setup_profiles', + [setup_params_general_two], + indirect=True, + scope="class" +) +@pytest.mark.usefixtures("setup_profiles") +class TestToggleWifiModeAndroidNatModeSuiteTwo(object): + """ Client ReConnect SuiteA + pytest -m "client_connect and bridge and InteropsuiteB" + """ + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6497", name="WIFI-6497") + @pytest.mark.fiveg + @pytest.mark.wpa3_personal + def test_ToogleWifiMode_5g_wpa3_personal_Nat(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general_two["ssid_modes"]["wpa3_personal"][1] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6498", name="WIFI-6498") + @pytest.mark.twog + @pytest.mark.wpa3_personal + def test_ToogleWifiMode_2g_wpa3_personal_Nat(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general_two["ssid_modes"]["wpa3_personal"][0] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6499", name="WIFI-6499") + @pytest.mark.fiveg + @pytest.mark.wpa3_personal_mixed + def test_ToogleWifiMode_5g_wpa3_personal_mixed_Nat(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general_two["ssid_modes"]["wpa3_personal_mixed"][1] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6500", name="WIFI-6500") + @pytest.mark.twog + @pytest.mark.wpa3_personal_mixed + def test_ToogleWifiMode_2g_wpa3_personal_mixed_Nat(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general_two["ssid_modes"]["wpa3_personal_mixed"][0] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6501", name="WIFI-6501") + @pytest.mark.fiveg + @pytest.mark.wpa_wpa2_personal_mixed + def test_ToogleWifiMode_5g_wpa_wpa2_personal_mixed_Nat(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general_two["ssid_modes"]["wpa_wpa2_personal_mixed"][1] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6502", name="WIFI-6502") + @pytest.mark.twog + @pytest.mark.wpa_wpa2_personal_mixed + def test_ToogleWifiMode_2g_wpa_wpa2_personal_mixed_Nat(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general_two["ssid_modes"]["wpa_wpa2_personal_mixed"][0] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False \ No newline at end of file diff --git a/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/toggle_wifi_mode_test/__init__.py b/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/toggle_wifi_mode_test/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/toggle_wifi_mode_test/android/__init__.py b/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/toggle_wifi_mode_test/android/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/toggle_wifi_mode_test/android/test_enterprise_ttls.py b/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/toggle_wifi_mode_test/android/test_enterprise_ttls.py new file mode 100644 index 000000000..4f863f443 --- /dev/null +++ b/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/toggle_wifi_mode_test/android/test_enterprise_ttls.py @@ -0,0 +1,332 @@ +from logging import exception +import unittest +import warnings +from perfecto.test import TestResultFactory +import pytest +import sys +import time +from selenium.common.exceptions import NoSuchElementException +from selenium.webdriver.common.by import By +from appium import webdriver +from selenium.common.exceptions import NoSuchElementException +import string +import random +import sys +import allure + +if 'perfecto_libs' not in sys.path: + sys.path.append(f'../libs/perfecto_libs') + +pytestmark = [pytest.mark.regression, pytest.mark.interop, pytest.mark.android, pytest.mark.interop_and, pytest.mark.ToggleWifiMode, + pytest.mark.client_reconnect, pytest.mark.enterprise] + +from android_lib import closeApp, set_APconnMobileDevice_android, Toggle_WifiMode_android, ForgetWifiConnection, openApp,\ + get_ip_add_check_and, verifyUploadDownloadSpeed_android, wifi_connect, wifi_disconnect_and_forget, get_ip_add_eap_and + +setup_params_enterprise = { + "mode": "VLAN", + "ssid_modes": { + "wpa_enterprise": [ + {"ssid_name": "ssid_wpa_eap_2g", "appliedRadios": ["2G"], "vlan": 100}, + {"ssid_name": "ssid_wpa_eap_5g", "appliedRadios": ["5G"], "vlan": 100}], + "wpa2_enterprise": [ + {"ssid_name": "ssid_wpa2_eap_2g", "appliedRadios": ["2G"], "vlan": 100}, + {"ssid_name": "ssid_wpa2_eap_5g", "appliedRadios": ["5G"], "vlan": 100}], + "wpa3_enterprise": [ + {"ssid_name": "ssid_wpa3_eap_2g", "appliedRadios": ["2G"], "vlan": 100}, + {"ssid_name": "ssid_wpa3_eap_5g", "appliedRadios": ["5G"], "vlan": 100}]}, + + "rf": {}, + "radius": True +} +for sec_modes in setup_params_enterprise['ssid_modes'].keys(): + for i in range(len(setup_params_enterprise['ssid_modes'][sec_modes])): + N = 3 + rand_string = (''.join(random.choices(string.ascii_uppercase + + string.digits, k=N)))+str(int(time.time_ns())%10000) + setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string + +@allure.suite(suite_name="interop regression") +@allure.sub_suite(sub_suite_name="Vlan Mode EAP Client ReConnect : Suite-A") +@pytest.mark.suiteA +@pytest.mark.parametrize( + 'setup_profiles', + [setup_params_enterprise], + indirect=True, + scope="class" +) +@pytest.mark.usefixtures("setup_profiles") +class TestToggleWifiModeAndroidVlanModeEnterpriseTTLSSuiteA(object): + """ Client ReConnect SuiteA + pytest -m "client_reconnect and bridge and InteropsuiteA" + """ + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6524", name="WIFI-6524") + @pytest.mark.fiveg + @pytest.mark.wpa2_enterprise + def test_ToogleWifiMode_5g_WPA2_enterprise_Vlan(self, request, get_vif_state, get_ToggleAirplaneMode_data + , setup_perfectoMobile_android, radius_info, get_ap_logs): + + profile_data = setup_params_enterprise["ssid_modes"]["wpa2_enterprise"][1] + ssidName = profile_data["ssid_name"] + #ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + #print ("SSID_PASS: " + ssidPassword) + ttls_passwd = radius_info["password"] + identity = radius_info['user'] + get_vif_state.append(ssidName) + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_eap_and(request, ssidName, identity, ttls_passwd, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ttls_passwd, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6525", name="WIFI-6525") + @pytest.mark.twog + @pytest.mark.wpa2_enterprise + def test_ToogleWifiMode_2g_WPA2_enterprise_Vlan(self, request, get_vif_state, get_ToggleAirplaneMode_data, + setup_perfectoMobile_android, radius_info, get_ap_logs): + + profile_data = setup_params_enterprise["ssid_modes"]["wpa2_enterprise"][0] + ssidName = profile_data["ssid_name"] + # ssidPassword = profile_data["security_key"] + print("SSID_NAME: " + ssidName) + # print ("SSID_PASS: " + ssidPassword) + ttls_passwd = radius_info["password"] + identity = radius_info['user'] + get_vif_state.append(ssidName) + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_eap_and(request, ssidName, identity, ttls_passwd, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ttls_passwd, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6526", name="WIFI-6526") + @pytest.mark.fiveg + @pytest.mark.wpa3_enterprise + def test_ToogleWifiMode_5g_WPA3_enterprise_Vlan(self, request, get_vif_state, get_ToggleAirplaneMode_data, + setup_perfectoMobile_android, radius_info, get_ap_logs): + + profile_data = setup_params_enterprise["ssid_modes"]["wpa3_enterprise"][1] + ssidName = profile_data["ssid_name"] + # ssidPassword = profile_data["security_key"] + print("SSID_NAME: " + ssidName) + # print ("SSID_PASS: " + ssidPassword) + ttls_passwd = radius_info["password"] + identity = radius_info['user'] + get_vif_state.append(ssidName) + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_eap_and(request, ssidName, identity, ttls_passwd, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ttls_passwd, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6527", name="WIFI-6527") + @pytest.mark.twog + @pytest.mark.wpa3_enterprise + def test_ToogleWifiMode_2g_WPA3_enterprise_Vlan(self, request, get_vif_state, get_ToggleAirplaneMode_data, + setup_perfectoMobile_android, radius_info, get_ap_logs): + + profile_data = setup_params_enterprise["ssid_modes"]["wpa3_enterprise"][0] + ssidName = profile_data["ssid_name"] + # ssidPassword = profile_data["security_key"] + print("SSID_NAME: " + ssidName) + # print ("SSID_PASS: " + ssidPassword) + ttls_passwd = radius_info["password"] + identity = radius_info['user'] + get_vif_state.append(ssidName) + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_eap_and(request, ssidName, identity, ttls_passwd, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ttls_passwd, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6522", name="WIFI-6522") + @pytest.mark.fiveg + @pytest.mark.wpa_enterprise + def test_ToogleWifiMode_5g_WPA_enterprise_Vlan(self, request, get_vif_state, get_ToggleAirplaneMode_data, + setup_perfectoMobile_android, radius_info, get_ap_logs): + + profile_data = setup_params_enterprise["ssid_modes"]["wpa_enterprise"][1] + ssidName = profile_data["ssid_name"] + # ssidPassword = profile_data["security_key"] + print("SSID_NAME: " + ssidName) + # print ("SSID_PASS: " + ssidPassword) + ttls_passwd = radius_info["password"] + identity = radius_info['user'] + get_vif_state.append(ssidName) + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_eap_and(request, ssidName, identity, ttls_passwd, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ttls_passwd, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6523", name="WIFI-6523") + @pytest.mark.twog + @pytest.mark.wpa_enterprise + def test_ToogleWifiMode_2g_WPA_enterprise_Vlan(self, request, get_vif_state, get_ToggleAirplaneMode_data, + setup_perfectoMobile_android, radius_info, get_ap_logs): + + profile_data = setup_params_enterprise["ssid_modes"]["wpa_enterprise"][0] + ssidName = profile_data["ssid_name"] + # ssidPassword = profile_data["security_key"] + print("SSID_NAME: " + ssidName) + # print ("SSID_PASS: " + ssidPassword) + ttls_passwd = radius_info["password"] + identity = radius_info['user'] + get_vif_state.append(ssidName) + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_eap_and(request, ssidName, identity, ttls_passwd, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ttls_passwd, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False \ No newline at end of file diff --git a/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/toggle_wifi_mode_test/android/test_general_security_modes.py b/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/toggle_wifi_mode_test/android/test_general_security_modes.py new file mode 100644 index 000000000..07907d5b7 --- /dev/null +++ b/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/toggle_wifi_mode_test/android/test_general_security_modes.py @@ -0,0 +1,630 @@ +from logging import exception +import unittest +import warnings +from perfecto.test import TestResultFactory +import pytest +import sys +import time +from selenium.common.exceptions import NoSuchElementException +from selenium.webdriver.common.by import By +from appium import webdriver +from selenium.common.exceptions import NoSuchElementException +import random +import string +import sys +import allure + +if 'perfecto_libs' not in sys.path: + sys.path.append(f'../libs/perfecto_libs') + +pytestmark = [pytest.mark.regression, pytest.mark.interop, pytest.mark.android, pytest.mark.interop_and, pytest.mark.ToggleWifiMode, pytest.mark.client_reconnect] + +from android_lib import closeApp, set_APconnMobileDevice_android, Toggle_WifiMode_android, ForgetWifiConnection, openApp,\ + get_ip_add_check_and, verifyUploadDownloadSpeed_android, wifi_connect, wifi_disconnect_and_forget, get_ip_add_and + +setup_params_general = { + "mode": "VLAN", + "ssid_modes": { + "wpa": [{"ssid_name": "ssid_wpa_2g", "appliedRadios": ["2G"], "security_key": "something", "vlan": 100}, + {"ssid_name": "ssid_wpa_5g", "appliedRadios": ["5G"], + "security_key": "something", "vlan": 100}], + "open": [{"ssid_name": "ssid_open_2g", "appliedRadios": ["2G"], "vlan": 100}, + {"ssid_name": "ssid_open_5g", "appliedRadios": ["5G"], "vlan": 100}], + "wpa2_personal": [ + {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something", "vlan": 100}, + {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], + "security_key": "something", "vlan": 100}]}, + "rf": {}, + "radius": False +} + +for sec_modes in setup_params_general['ssid_modes'].keys(): + for i in range(len(setup_params_general['ssid_modes'][sec_modes])): + N = 3 + rand_string = (''.join(random.choices(string.ascii_uppercase + + string.digits, k=N)))+str(int(time.time_ns())%10000) + setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string + +@allure.suite(suite_name="interop regression") +@allure.sub_suite(sub_suite_name="Vlan Mode Client ReConnect : Suite-A") +@pytest.mark.InteropsuiteA +@allure.feature("VLAN MODE CLIENT RECONNECT") +@pytest.mark.parametrize( + 'setup_profiles', + [setup_params_general], + indirect=True, + scope="class" +) +@pytest.mark.usefixtures("setup_profiles") +class TestToggleWifiModeAndroidVlanModeSuiteOne(object): + """ Client ReConnect SuiteA + pytest -m "client_reconnect and bridge and InteropsuiteA" + """ + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6510", name="WIFI-6510") + @pytest.mark.fiveg + @pytest.mark.wpa2_personal + def test_ToogleWifiMode_5g_WPA2_Personal_Vlan(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6511", name="WIFI-6511") + @pytest.mark.twog + @pytest.mark.wpa2_personal + def test_ToogleWifiMode_2g_WPA2_Personal_Vlan(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6512", name="WIFI-6512") + @pytest.mark.fiveg + @pytest.mark.wpa + def test_ToogleWifiMode_5g_WPA_Personal_Vlan(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general["ssid_modes"]["wpa"][1] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6513", name="WIFI-6513") + @pytest.mark.twog + @pytest.mark.wpa + def test_ToogleWifiMode_2g_WPA_Personal_Vlan(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general["ssid_modes"]["wpa"][0] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6514", name="WIFI-6514") + @pytest.mark.fiveg + @pytest.mark.open + def test_ToogleWifiMode_5g_Open_Vlan(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general["ssid_modes"]["open"][1] + ssidName = profile_data["ssid_name"] + ssidPassword = "[BLANK]" + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6515", name="WIFI-6515") + @pytest.mark.twog + @pytest.mark.open + def test_ToogleWifiMode_2g_Open_Vlan(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general["ssid_modes"]["open"][0] + ssidName = profile_data["ssid_name"] + ssidPassword = "[BLANK]" + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + +setup_params_general_two = { + "mode": "VLAN", + "ssid_modes": { + "wpa3_personal": [ + {"ssid_name": "ssid_wpa3_p_2g", "appliedRadios": ["2G"], "security_key": "something", "vlan": 100}, + {"ssid_name": "ssid_wpa3_p_5g", "appliedRadios": ["5G"], + "security_key": "something", "vlan": 100}], + "wpa3_personal_mixed": [ + {"ssid_name": "ssid_wpa3_p_m_2g", "appliedRadios": ["2G"], "security_key": "something", "vlan": 100}, + {"ssid_name": "ssid_wpa3_p_m_5g", "appliedRadios": ["5G"], + "security_key": "something", "vlan": 100}], + "wpa_wpa2_personal_mixed": [ + {"ssid_name": "ssid_wpa_wpa2_p_m_2g", "appliedRadios": ["2G"], "security_key": "something", "vlan": 100}, + {"ssid_name": "ssid_wpa_wpa2_p_m_5g", "appliedRadios": ["5G"], + "security_key": "something", "vlan": 100}] + }, + "rf": {}, + "radius": False +} + +for sec_modes in setup_params_general_two['ssid_modes'].keys(): + for i in range(len(setup_params_general_two['ssid_modes'][sec_modes])): + N = 2 + rand_string = (''.join(random.choices(string.ascii_uppercase + + string.digits, k=N)))+str(int(time.time_ns())%10000) + setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'].replace("ssid_","") + "_"+ rand_string + +@allure.suite(suite_name="interop regression") +@allure.sub_suite(sub_suite_name="Vlan Mode Client ReConnect : Suite-B") +@pytest.mark.InteropsuiteB +@allure.feature("VLAN MODE CLIENT RECONNECT") +@pytest.mark.parametrize( + 'setup_profiles', + [setup_params_general_two], + indirect=True, + scope="class" +) +@pytest.mark.usefixtures("setup_profiles") +class TestToggleWifiModeAndroidVlanModeSuiteTwo(object): + """ Client ReConnect SuiteA + pytest -m "client_connect and bridge and InteropsuiteB" + """ + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6516", name="WIFI-6516") + @pytest.mark.fiveg + @pytest.mark.wpa3_personal + def test_ToogleWifiMode_5g_wpa3_personal_Vlan(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general_two["ssid_modes"]["wpa3_personal"][1] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6517", name="WIFI-6517") + @pytest.mark.twog + @pytest.mark.wpa3_personal + def test_ToogleWifiMode_2g_wpa3_personal_Vlan(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general_two["ssid_modes"]["wpa3_personal"][0] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6518", name="WIFI-6518") + @pytest.mark.fiveg + @pytest.mark.wpa3_personal_mixed + def test_ToogleWifiMode_5g_wpa3_personal_mixed_Vlan(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general_two["ssid_modes"]["wpa3_personal_mixed"][1] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6519", name="WIFI-6519") + @pytest.mark.twog + @pytest.mark.wpa3_personal_mixed + def test_ToogleWifiMode_2g_wpa3_personal_mixed_Vlan(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general_two["ssid_modes"]["wpa3_personal_mixed"][0] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6520", name="WIFI-6520") + @pytest.mark.fiveg + @pytest.mark.wpa_wpa2_personal_mixed + def test_ToogleWifiMode_5g_wpa_wpa2_personal_mixed_Vlan(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general_two["ssid_modes"]["wpa_wpa2_personal_mixed"][1] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6521", name="WIFI-6521") + @pytest.mark.twog + @pytest.mark.wpa_wpa2_personal_mixed + def test_ToogleWifiMode_2g_wpa_wpa2_personal_mixed_Vlan(self, request, get_vif_state, get_ap_logs, + get_ToggleAirplaneMode_data, setup_perfectoMobile_android): + + profile_data = setup_params_general_two["ssid_modes"]["wpa_wpa2_personal_mixed"][0] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + print ("SSID_PASS: " + ssidPassword) + get_vif_state.append(ssidName) + + if ssidName 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") + + report = setup_perfectoMobile_android[1] + driver = setup_perfectoMobile_android[0] + connData = get_ToggleAirplaneMode_data + + # Set Wifi/AP Mode + ip, is_internet = get_ip_add_and(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + # + if is_internet: + if ip: + text_body = ("connected to " + ssidName + " (" + ip + ") " + "with internet") + else: + text_body = ("connected to " + ssidName + "with Internet, couldn't get IP address") + print(text_body) + allure.attach(name="Connection Status: ", body=str(text_body)) + + # wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + Toggle_WifiMode_android(request, setup_perfectoMobile_android, ssidName, connData) + ip_check, is_internet_check = get_ip_add_check_and(request, ssidName, ssidPassword, + setup_perfectoMobile_android, connData) + if (ip_check == ip): + assert True + else: + assert False + else: + allure.attach(name="Connection Status: ", body=str("No Internet access")) + assert False \ No newline at end of file