mirror of
https://github.com/Telecominfraproject/wlan-testing.git
synced 2025-10-30 18:38:06 +00:00
Wifi 10826 (#694)
* Added Speed test library support in Android Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> * Added Speed test library support in ios Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> * Changed to speed test app for internet speed test in Android Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> * Changed to speed test app for internet speed test in ios Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> * Removed the unnecessary comma in speed test arguments Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> * Added some wait for GO button in Android for speed test app Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> * Added string slicing for Download and upload speed in iOS Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> * Changed User and Passwd for EAP testcases from Radius server info Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
This commit is contained in:
@@ -7548,3 +7548,18 @@ def return_upload_download_speed_android(request, setup_perfectoMobile, get_APTo
|
||||
print("Access Point Verification NOT Completed, checking Connection....")
|
||||
|
||||
return downloadSpeed, uploadSpeed
|
||||
|
||||
def ookla_speed_test_android(request, setup_perfectoMobile, get_APToMobileDevice_data):
|
||||
driver = setup_perfectoMobile[0]
|
||||
driver.switch_to.context('NATIVE_APP')
|
||||
openApp('org.zwanoo.android.speedtest', setup_perfectoMobile)
|
||||
WebDriverWait(driver, 30).until(
|
||||
EC.presence_of_element_located((MobileBy.XPATH, "//*[@resource-id='org.zwanoo.android.speedtest:id/go_button']"))).click()
|
||||
# Wait untill 2 minutes for the test to complete
|
||||
WebDriverWait(driver, 120).until(
|
||||
EC.presence_of_element_located((MobileBy.XPATH, "//*[@text='Test Again']")))
|
||||
downloadSpeed = driver.find_element_by_xpath("//*[@text='DOWNLOAD']/parent::*/android.widget.TextView[3]").text
|
||||
uploadSpeed = driver.find_element_by_xpath("//*[@text='UPLOAD']/parent::*/android.widget.TextView[3]").text
|
||||
print(f"Download speed: {downloadSpeed}")
|
||||
print(f"Upload speed: {uploadSpeed}")
|
||||
return downloadSpeed, uploadSpeed
|
||||
@@ -3609,5 +3609,22 @@ def return_upload_download_speed_iOS(request, setup_perfectoMobile, get_APToMobi
|
||||
except NoSuchElementException:
|
||||
print("Access Point Verification NOT Completed, checking Connection....")
|
||||
|
||||
|
||||
return downloadSpeed, uploadSpeed
|
||||
|
||||
def ookla_speed_test_iOS(request, setup_perfectoMobile, get_APToMobileDevice_data):
|
||||
driver = setup_perfectoMobile[0]
|
||||
driver.switch_to.context('NATIVE_APP')
|
||||
openApp( 'com.ookla.speedtest', setup_perfectoMobile)
|
||||
driver.find_element_by_xpath("//*[@label='GO']").click()
|
||||
# Wait untill 2 minutes for the test to complete
|
||||
WebDriverWait(driver, 120).until(
|
||||
EC.presence_of_element_located((MobileBy.XPATH, "//*[@value='Test Again']")))
|
||||
result = driver.find_element_by_xpath("//XCUIElementTypeOther[contains(@label,'Download Speed')]").text
|
||||
print(result)
|
||||
downloadSpeed = result.split('Download Speed, ')[1].split('. ')[0]
|
||||
uploadSpeed = result.split('Upload speed, ')[1].split('. ')[0]
|
||||
downloadSpeed = str(downloadSpeed)[0:4]
|
||||
uploadSpeed = str(uploadSpeed)[0:4]
|
||||
print(f"Download speed: {downloadSpeed}")
|
||||
print(f"Upload speed: {uploadSpeed}")
|
||||
return downloadSpeed, uploadSpeed
|
||||
@@ -77,8 +77,8 @@ class TestBridgeModeEnterpriseTTLSSuiteA(object):
|
||||
#ssidPassword = profile_data["security_key"]
|
||||
print ("SSID_NAME: " + ssidName)
|
||||
#print ("SSID_PASS: " + ssidPassword)
|
||||
ttls_passwd = "password"
|
||||
identity = "user"
|
||||
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))
|
||||
@@ -114,8 +114,8 @@ class TestBridgeModeEnterpriseTTLSSuiteA(object):
|
||||
# ssidPassword = profile_data["security_key"]
|
||||
print("SSID_NAME: " + ssidName)
|
||||
# print ("SSID_PASS: " + ssidPassword)
|
||||
ttls_passwd = "password"
|
||||
identity = "user"
|
||||
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))
|
||||
@@ -152,8 +152,8 @@ class TestBridgeModeEnterpriseTTLSSuiteA(object):
|
||||
# ssidPassword = profile_data["security_key"]
|
||||
print("SSID_NAME: " + ssidName)
|
||||
# print ("SSID_PASS: " + ssidPassword)
|
||||
ttls_passwd = "password"
|
||||
identity = "user"
|
||||
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))
|
||||
@@ -190,8 +190,8 @@ class TestBridgeModeEnterpriseTTLSSuiteA(object):
|
||||
# ssidPassword = profile_data["security_key"]
|
||||
print("SSID_NAME: " + ssidName)
|
||||
# print ("SSID_PASS: " + ssidPassword)
|
||||
ttls_passwd = "password"
|
||||
identity = "user"
|
||||
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))
|
||||
@@ -228,8 +228,8 @@ class TestBridgeModeEnterpriseTTLSSuiteA(object):
|
||||
# ssidPassword = profile_data["security_key"]
|
||||
print("SSID_NAME: " + ssidName)
|
||||
# print ("SSID_PASS: " + ssidPassword)
|
||||
ttls_passwd = "password"
|
||||
identity = "user"
|
||||
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))
|
||||
@@ -266,8 +266,8 @@ class TestBridgeModeEnterpriseTTLSSuiteA(object):
|
||||
# ssidPassword = profile_data["security_key"]
|
||||
print("SSID_NAME: " + ssidName)
|
||||
# print ("SSID_PASS: " + ssidPassword)
|
||||
ttls_passwd = "password"
|
||||
identity = "user"
|
||||
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))
|
||||
@@ -346,8 +346,8 @@ class TestBridgeModeEnterpriseTTLSSuiteTwo(object):
|
||||
# ssidPassword = profile_data["security_key"]
|
||||
print("SSID_NAME: " + ssidName)
|
||||
# print ("SSID_PASS: " + ssidPassword)
|
||||
ttls_passwd = "password"
|
||||
identity = "user"
|
||||
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))
|
||||
@@ -385,8 +385,8 @@ class TestBridgeModeEnterpriseTTLSSuiteTwo(object):
|
||||
# ssidPassword = profile_data["security_key"]
|
||||
print("SSID_NAME: " + ssidName)
|
||||
# print ("SSID_PASS: " + ssidPassword)
|
||||
ttls_passwd = "password"
|
||||
identity = "user"
|
||||
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))
|
||||
@@ -424,8 +424,8 @@ class TestBridgeModeEnterpriseTTLSSuiteTwo(object):
|
||||
# ssidPassword = profile_data["security_key"]
|
||||
print("SSID_NAME: " + ssidName)
|
||||
# print ("SSID_PASS: " + ssidPassword)
|
||||
ttls_passwd = "password"
|
||||
identity = "user"
|
||||
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))
|
||||
@@ -463,8 +463,8 @@ class TestBridgeModeEnterpriseTTLSSuiteTwo(object):
|
||||
# ssidPassword = profile_data["security_key"]
|
||||
print("SSID_NAME: " + ssidName)
|
||||
# print ("SSID_PASS: " + ssidPassword)
|
||||
ttls_passwd = "password"
|
||||
identity = "user"
|
||||
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))
|
||||
|
||||
@@ -90,8 +90,8 @@ class TestBridgeModeEnterpriseTTLSSuiteA(object):
|
||||
# ssidPassword = profile_data["security_key"]
|
||||
print("SSID_NAME: " + ssidName)
|
||||
# print ("SSID_PASS: " + ssidPassword)
|
||||
ttls_passwd = "password"
|
||||
identity = "user"
|
||||
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))
|
||||
@@ -128,8 +128,8 @@ class TestBridgeModeEnterpriseTTLSSuiteA(object):
|
||||
# ssidPassword = profile_data["security_key"]
|
||||
print("SSID_NAME: " + ssidName)
|
||||
# print ("SSID_PASS: " + ssidPassword)
|
||||
ttls_passwd = "password"
|
||||
identity = "user"
|
||||
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))
|
||||
@@ -167,8 +167,8 @@ class TestBridgeModeEnterpriseTTLSSuiteA(object):
|
||||
# ssidPassword = profile_data["security_key"]
|
||||
print("SSID_NAME: " + ssidName)
|
||||
# print ("SSID_PASS: " + ssidPassword)
|
||||
ttls_passwd = "password"
|
||||
identity = "user"
|
||||
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))
|
||||
@@ -205,8 +205,8 @@ class TestBridgeModeEnterpriseTTLSSuiteA(object):
|
||||
# ssidPassword = profile_data["security_key"]
|
||||
print("SSID_NAME: " + ssidName)
|
||||
# print ("SSID_PASS: " + ssidPassword)
|
||||
ttls_passwd = "password"
|
||||
identity = "user"
|
||||
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))
|
||||
@@ -244,8 +244,8 @@ class TestBridgeModeEnterpriseTTLSSuiteA(object):
|
||||
# ssidPassword = profile_data["security_key"]
|
||||
print("SSID_NAME: " + ssidName)
|
||||
# print ("SSID_PASS: " + ssidPassword)
|
||||
ttls_passwd = "password"
|
||||
identity = "user"
|
||||
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))
|
||||
@@ -282,8 +282,8 @@ class TestBridgeModeEnterpriseTTLSSuiteA(object):
|
||||
# ssidPassword = profile_data["security_key"]
|
||||
print("SSID_NAME: " + ssidName)
|
||||
# print ("SSID_PASS: " + ssidPassword)
|
||||
ttls_passwd = "password"
|
||||
identity = "user"
|
||||
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))
|
||||
@@ -362,8 +362,8 @@ class TestBridgeModeEnterpriseTTLSSuiteTwo(object):
|
||||
# ssidPassword = profile_data["security_key"]
|
||||
print("SSID_NAME: " + ssidName)
|
||||
# print ("SSID_PASS: " + ssidPassword)
|
||||
ttls_passwd = "password"
|
||||
identity = "user"
|
||||
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))
|
||||
@@ -399,8 +399,8 @@ class TestBridgeModeEnterpriseTTLSSuiteTwo(object):
|
||||
# ssidPassword = profile_data["security_key"]
|
||||
print("SSID_NAME: " + ssidName)
|
||||
# print ("SSID_PASS: " + ssidPassword)
|
||||
ttls_passwd = "password"
|
||||
identity = "user"
|
||||
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))
|
||||
@@ -437,8 +437,8 @@ class TestBridgeModeEnterpriseTTLSSuiteTwo(object):
|
||||
# ssidPassword = profile_data["security_key"]
|
||||
print("SSID_NAME: " + ssidName)
|
||||
# print ("SSID_PASS: " + ssidPassword)
|
||||
ttls_passwd = "password"
|
||||
identity = "user"
|
||||
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))
|
||||
@@ -475,8 +475,8 @@ class TestBridgeModeEnterpriseTTLSSuiteTwo(object):
|
||||
# ssidPassword = profile_data["security_key"]
|
||||
print("SSID_NAME: " + ssidName)
|
||||
# print ("SSID_PASS: " + ssidPassword)
|
||||
ttls_passwd = "password"
|
||||
identity = "user"
|
||||
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))
|
||||
|
||||
@@ -21,7 +21,7 @@ pytestmark = [pytest.mark.interop, pytest.mark.android, pytest.mark.interop_and,
|
||||
pytest.mark.rate_limiting, pytest.mark.bridge]
|
||||
|
||||
from android_lib import closeApp, set_APconnMobileDevice_android, Toggle_AirplaneMode_android, ForgetWifiConnection, openApp, \
|
||||
get_ip_address_and, return_upload_download_speed_android, wifi_connect, wifi_disconnect_and_forget
|
||||
get_ip_address_and, return_upload_download_speed_android, wifi_connect, wifi_disconnect_and_forget, ookla_speed_test_android
|
||||
|
||||
setup_params_general = {
|
||||
"mode": "BRIDGE",
|
||||
@@ -128,7 +128,7 @@ class TestRateLimitingBridge(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_android(request, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = ookla_speed_test_android(request, setup_perfectoMobile_android, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
@@ -161,7 +161,7 @@ class TestRateLimitingBridge(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_android(request, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = ookla_speed_test_android(request, setup_perfectoMobile_android, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
@@ -193,7 +193,7 @@ class TestRateLimitingBridge(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_android(request, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = ookla_speed_test_android(request, setup_perfectoMobile_android, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
@@ -225,7 +225,7 @@ class TestRateLimitingBridge(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_android(request, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = ookla_speed_test_android(request, setup_perfectoMobile_android, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
@@ -257,7 +257,7 @@ class TestRateLimitingBridge(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_android(request, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = ookla_speed_test_android(request, setup_perfectoMobile_android, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
@@ -289,7 +289,7 @@ class TestRateLimitingBridge(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_android(request, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = ookla_speed_test_android(request, setup_perfectoMobile_android, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
|
||||
@@ -20,7 +20,7 @@ if 'perfecto_libs' not in sys.path:
|
||||
|
||||
from iOS_lib import closeApp, openApp, get_WifiIPAddress_iOS, ForgetWifiConnection, ping_deftapps_iOS, \
|
||||
Toggle_AirplaneMode_iOS, set_APconnMobileDevice_iOS, verify_APconnMobileDevice_iOS, Toggle_WifiMode_iOS, tearDown,\
|
||||
return_upload_download_speed_iOS, get_ip_address_ios, wifi_connect, wifi_disconnect_and_forget
|
||||
return_upload_download_speed_iOS, get_ip_address_ios, wifi_connect, wifi_disconnect_and_forget, ookla_speed_test_iOS
|
||||
|
||||
pytestmark = [pytest.mark.interop, pytest.mark.ios, pytest.mark.interop_ios,
|
||||
pytest.mark.rate_limiting, pytest.mark.bridge]
|
||||
@@ -130,7 +130,7 @@ class TestRateLimitingBridge(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = ookla_speed_test_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
@@ -163,7 +163,7 @@ class TestRateLimitingBridge(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = ookla_speed_test_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
@@ -195,7 +195,7 @@ class TestRateLimitingBridge(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = ookla_speed_test_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
@@ -227,7 +227,7 @@ class TestRateLimitingBridge(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = ookla_speed_test_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
@@ -259,7 +259,7 @@ class TestRateLimitingBridge(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = ookla_speed_test_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
@@ -291,7 +291,7 @@ class TestRateLimitingBridge(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = ookla_speed_test_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
|
||||
@@ -21,7 +21,7 @@ pytestmark = [pytest.mark.interop, pytest.mark.android, pytest.mark.interop_and,
|
||||
pytest.mark.rate_limiting, pytest.mark.nat]
|
||||
|
||||
from android_lib import closeApp, set_APconnMobileDevice_android, Toggle_AirplaneMode_android, ForgetWifiConnection, openApp, \
|
||||
get_ip_address_and, return_upload_download_speed_android, wifi_connect, wifi_disconnect_and_forget
|
||||
get_ip_address_and, return_upload_download_speed_android, wifi_connect, wifi_disconnect_and_forget, ookla_speed_test_android
|
||||
|
||||
setup_params_general = {
|
||||
"mode": "NAT",
|
||||
@@ -128,7 +128,7 @@ class TestRateLimitingNAT(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_android(request, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = ookla_speed_test_android(request, setup_perfectoMobile_android, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
@@ -161,7 +161,7 @@ class TestRateLimitingNAT(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_android(request, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = ookla_speed_test_android(request, setup_perfectoMobile_android, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
@@ -193,7 +193,7 @@ class TestRateLimitingNAT(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_android(request, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = ookla_speed_test_android(request, setup_perfectoMobile_android, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
@@ -225,7 +225,7 @@ class TestRateLimitingNAT(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_android(request, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = ookla_speed_test_android(request, setup_perfectoMobile_android, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
@@ -257,7 +257,7 @@ class TestRateLimitingNAT(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_android(request, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = ookla_speed_test_android(request, setup_perfectoMobile_android, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
@@ -289,7 +289,7 @@ class TestRateLimitingNAT(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_android(request, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = ookla_speed_test_android(request, setup_perfectoMobile_android, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
|
||||
@@ -20,7 +20,7 @@ if 'perfecto_libs' not in sys.path:
|
||||
|
||||
from iOS_lib import closeApp, openApp, get_WifiIPAddress_iOS, ForgetWifiConnection, ping_deftapps_iOS, \
|
||||
Toggle_AirplaneMode_iOS, set_APconnMobileDevice_iOS, verify_APconnMobileDevice_iOS, Toggle_WifiMode_iOS, tearDown,\
|
||||
return_upload_download_speed_iOS, get_ip_address_ios, wifi_connect, wifi_disconnect_and_forget
|
||||
return_upload_download_speed_iOS, get_ip_address_ios, wifi_connect, wifi_disconnect_and_forget, ookla_speed_test_iOS
|
||||
|
||||
pytestmark = [pytest.mark.interop, pytest.mark.ios, pytest.mark.interop_ios,
|
||||
pytest.mark.rate_limiting, pytest.mark.nat]
|
||||
@@ -129,7 +129,7 @@ class TestRateLimitingNAT(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = ookla_speed_test_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
@@ -162,7 +162,7 @@ class TestRateLimitingNAT(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = ookla_speed_test_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
@@ -194,7 +194,7 @@ class TestRateLimitingNAT(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = ookla_speed_test_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
@@ -226,7 +226,7 @@ class TestRateLimitingNAT(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = ookla_speed_test_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
@@ -258,7 +258,7 @@ class TestRateLimitingNAT(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = ookla_speed_test_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
@@ -290,7 +290,7 @@ class TestRateLimitingNAT(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = ookla_speed_test_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
|
||||
@@ -21,7 +21,7 @@ pytestmark = [pytest.mark.interop, pytest.mark.android, pytest.mark.interop_and,
|
||||
pytest.mark.rate_limiting, pytest.mark.vlan]
|
||||
|
||||
from android_lib import closeApp, set_APconnMobileDevice_android, Toggle_AirplaneMode_android, ForgetWifiConnection, openApp, \
|
||||
get_ip_address_and, return_upload_download_speed_android, wifi_connect, wifi_disconnect_and_forget
|
||||
get_ip_address_and, return_upload_download_speed_android, wifi_connect, wifi_disconnect_and_forget, ookla_speed_test_android
|
||||
|
||||
setup_params_general = {
|
||||
"mode": "VLAN",
|
||||
@@ -134,7 +134,7 @@ class TestRateLimitingVLAN(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_android(request, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = ookla_speed_test_android(request, setup_perfectoMobile_android, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
@@ -167,7 +167,7 @@ class TestRateLimitingVLAN(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_android(request, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = ookla_speed_test_android(request, setup_perfectoMobile_android, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
@@ -199,7 +199,7 @@ class TestRateLimitingVLAN(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_android(request, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = ookla_speed_test_android(request, setup_perfectoMobile_android, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
@@ -231,7 +231,7 @@ class TestRateLimitingVLAN(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_android(request, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = ookla_speed_test_android(request, setup_perfectoMobile_android, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
@@ -263,7 +263,7 @@ class TestRateLimitingVLAN(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_android(request, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = ookla_speed_test_android(request, setup_perfectoMobile_android, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
@@ -295,7 +295,7 @@ class TestRateLimitingVLAN(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_android(request, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = ookla_speed_test_android(request, setup_perfectoMobile_android, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
|
||||
@@ -20,7 +20,7 @@ if 'perfecto_libs' not in sys.path:
|
||||
|
||||
from iOS_lib import closeApp, openApp, get_WifiIPAddress_iOS, ForgetWifiConnection, ping_deftapps_iOS, \
|
||||
Toggle_AirplaneMode_iOS, set_APconnMobileDevice_iOS, verify_APconnMobileDevice_iOS, Toggle_WifiMode_iOS, tearDown,\
|
||||
return_upload_download_speed_iOS, get_ip_address_ios, wifi_connect, wifi_disconnect_and_forget
|
||||
return_upload_download_speed_iOS, get_ip_address_ios, wifi_connect, wifi_disconnect_and_forget, ookla_speed_test_iOS
|
||||
|
||||
pytestmark = [pytest.mark.interop, pytest.mark.ios, pytest.mark.interop_ios,
|
||||
pytest.mark.rate_limiting, pytest.mark.vlan]
|
||||
@@ -136,7 +136,7 @@ class TestRateLimitingVLAN(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = ookla_speed_test_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
@@ -169,7 +169,7 @@ class TestRateLimitingVLAN(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = ookla_speed_test_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
@@ -201,7 +201,7 @@ class TestRateLimitingVLAN(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = ookla_speed_test_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
@@ -233,7 +233,7 @@ class TestRateLimitingVLAN(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = ookla_speed_test_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
@@ -265,7 +265,7 @@ class TestRateLimitingVLAN(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = ookla_speed_test_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
@@ -297,7 +297,7 @@ class TestRateLimitingVLAN(object):
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
down_speed, up_speed = ookla_speed_test_iOS(request, setup_perfectoMobile_iOS, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
|
||||
Reference in New Issue
Block a user