diff --git a/tests/e2e/advanced/multi_station_performance/wpa2_personal/test_vlan_multi_sta_performance.py b/tests/e2e/advanced/multi_station_performance/wpa2_personal/test_vlan_multi_sta_performance.py index a5202ec4d..ed7a9a709 100644 --- a/tests/e2e/advanced/multi_station_performance/wpa2_personal/test_vlan_multi_sta_performance.py +++ b/tests/e2e/advanced/multi_station_performance/wpa2_personal/test_vlan_multi_sta_performance.py @@ -36,6 +36,7 @@ class TestMultiStaPerfVlan(object): ssid_name = profile_data["ssid_name"] mode = "VLAN" vlan = 100 + batch_size = "3" station_name = station_names_twog[0] radio_name = lf_tools.twog_radios[0] print(radio_name) @@ -49,6 +50,7 @@ class TestMultiStaPerfVlan(object): print(atten_sr1) print(atten_sr) sta = [] + lf_tools.add_vlan(vlan_ids=[vlan]) for i in range(3): sta.append(station_name + str(i)) print(sta) @@ -61,16 +63,30 @@ class TestMultiStaPerfVlan(object): lf_test.attenuator_modify(int(atten_sr1[2]), i, 100) time.sleep(0.5) wct_obj = lf_test.wifi_capacity(instance_name="tcp_VLAN_upload_10dB_dis_nss1_2g", mode=mode, vlan_id=vlan, - download_rate="0Gbps", batch_size="3", + download_rate="0Gbps", batch_size=batch_size, upload_rate="1Gbps", protocol="TCP-IPv4", duration="120000", sort="linear") - - report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] - lf_tools.attach_report_graphs(report_name=report_name) + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option=None, + individual_station_throughput=False, kpi_csv=True, + file_name="/kpi.csv", batch_size=batch_size) + print(csv_val) + pass_value = (35 * 0.7) + print("pass value ", pass_value) + lf_test.Client_disconnect(clear_all_sta=True, clean_l3_traffic=True) + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") + assert False + else: + allure.attach(name="Csv Data", body=str(list(csv_val["Up"].values())[-1])) + if list(csv_val["Up"].values())[-1] >= pass_value: + print("Test passed successfully") + assert True + else: + print("Test failed due to lesser value") + assert False print("Test Completed... Cleaning up Stations") - if sta_ip: - assert True @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5944", name="WIFI-5944") @pytest.mark.wpa2_personal @@ -82,7 +98,7 @@ class TestMultiStaPerfVlan(object): ssid_name = profile_data["ssid_name"] mode = "VLAN" vlan = 100 - pass_condn = True + batch_size = "3,6" station_name = station_names_twog[0] atten_sr = lf_test.attenuator_serial() print(atten_sr) @@ -91,6 +107,7 @@ class TestMultiStaPerfVlan(object): print(atten_sr1, atten_sr2) sta = [] list_three_sta = [] + lf_tools.add_vlan(vlan_ids=[vlan]) for i in range(6): list_three_sta.append(station_name + str(i)) if (i != 0) and (((i + 1) % 3) == 0): @@ -110,7 +127,6 @@ class TestMultiStaPerfVlan(object): time.sleep(0.5) sta_ip = lf_test.Client_Connect_Using_Radio(ssid=ssid_name, passkey=profile_data["security_key"], radio=radio_name, station_name=sta[i]) if not sta_ip: - pass_condn = False print("test failed due to no station ip") assert False time.sleep(0.5) @@ -122,16 +138,30 @@ class TestMultiStaPerfVlan(object): time.sleep(0.5) wct_obj = lf_test.wifi_capacity(instance_name="tcp_VLAN_upload_10dB_40dB_dis_nss1_2g", mode=mode, vlan_id=vlan, - download_rate="0Gbps", batch_size="3,6", + download_rate="0Gbps", batch_size=batch_size, upload_rate="1Gbps", protocol="TCP-IPv4", duration="120000", sort="linear") - - report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] - lf_tools.attach_report_graphs(report_name=report_name) + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option=None, + individual_station_throughput=False, kpi_csv=True, + file_name="/kpi.csv", batch_size=batch_size) + print(csv_val) + pass_value = (30 * 0.7) + print("pass value ", pass_value) + lf_test.Client_disconnect(clear_all_sta=True, clean_l3_traffic=True) + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") + assert False + else: + allure.attach(name="Csv Data", body=str(list(csv_val["Up"].values())[-1])) + if list(csv_val["Up"].values())[-1] >= pass_value: + print("Test passed successfully") + assert True + else: + print("Test failed due to lesser value") + assert False print("Test Completed... Cleaning up Stations") - if pass_condn: - assert True @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5945", name="WIFI-5945") @pytest.mark.wpa2_personal @@ -143,7 +173,7 @@ class TestMultiStaPerfVlan(object): ssid_name = profile_data["ssid_name"] mode = "VLAN" vlan = 100 - pass_condn = True + batch_size = "3,6,9" station_name = station_names_twog[0] atten_sr = lf_test.attenuator_serial() print(atten_sr) @@ -152,6 +182,7 @@ class TestMultiStaPerfVlan(object): print(atten_sr1, atten_sr2) sta = [] list_three_sta = [] + lf_tools.add_vlan(vlan_ids=[vlan]) for i in range(9): list_three_sta.append(station_name + str(i)) if (i != 0) and (((i + 1) % 3) == 0): @@ -171,7 +202,6 @@ class TestMultiStaPerfVlan(object): sta_ip = lf_test.Client_Connect_Using_Radio(ssid=ssid_name, passkey=profile_data["security_key"], radio=radio_name, station_name=sta[i]) if not sta_ip: - pass_condn = False print("test failed due to no station ip") assert False time.sleep(0.5) @@ -186,185 +216,32 @@ class TestMultiStaPerfVlan(object): time.sleep(0.5) wct_obj = lf_test.wifi_capacity(instance_name="tcp_VLAN_upload_10dB_40dB_50dB_dis_nss1_2g", mode=mode, vlan_id=vlan, - download_rate="0Gbps", batch_size="3,6,9", + download_rate="0Gbps", batch_size=batch_size, upload_rate="1Gbps", protocol="TCP-IPv4", duration="120000", sort="linear") report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] lf_tools.attach_report_graphs(report_name=report_name) - print("Test Completed... Cleaning up Stations") - if pass_condn: - assert True - - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5946", name="WIFI-5946") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.tcp_download_10dB_dis_nss1_5g - def test_multi_station_VLAN_tcp_download_10dB_dis_nss1_5g(self, lf_test, lf_tools, station_names_fiveg): - lf_tools.reset_scenario() - profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] - ssid_name = profile_data["ssid_name"] - mode = "VLAN" - vlan = 100 - station_name = station_names_fiveg[0] - radio_name = lf_tools.fiveg_radios[0] - print(radio_name) - print(station_name) - values = radio_name.split(".") - shelf = int(values[0]) - resource = int(values[1]) - print(shelf, resource) - atten_sr = lf_test.attenuator_serial() - atten_sr1 = atten_sr[1].split(".") - print(atten_sr1) - print(atten_sr) - sta = [] - for i in range(3): - sta.append(station_name + str(i)) - print(sta) - lf_tools.set_radio_antenna("cli-json/set_wifi_radio", shelf, resource, values[2], 1) - sta_ip = lf_test.Client_Connect_Using_Radio(ssid=ssid_name, passkey=profile_data["security_key"], - radio=radio_name, station_name=sta) - if not sta_ip: - print("test failed due to no station ip") + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option=None, + individual_station_throughput=False, kpi_csv=True, + file_name="/kpi.csv", batch_size=batch_size) + print(csv_val) + pass_value = (25 * 0.7) + print("pass value ", pass_value) + lf_test.Client_disconnect(clear_all_sta=True, clean_l3_traffic=True) + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") assert False - for i in range(4): - lf_test.attenuator_modify(int(atten_sr1[2]), i, 100) - time.sleep(0.5) - wct_obj = lf_test.wifi_capacity(instance_name="tcp_VLAN_download_10dB_dis_nss1_5g", mode=mode, vlan_id=vlan, - download_rate="1Gbps", batch_size="3", - upload_rate="0Gbps", protocol="TCP-IPv4", duration="120000", sort="linear") - - report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] - - lf_tools.attach_report_graphs(report_name=report_name) - print("Test Completed... Cleaning up Stations") - if sta_ip: - assert True - - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5947", name="WIFI-5947") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.tcp_download_10dB_40dB_dis_nss1_5g - def test_multi_station_VLAN_tcp_download_10dB_40dB_dis_nss1_5g(self, lf_test, lf_tools, station_names_fiveg): - lf_tools.reset_scenario() - profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] - ssid_name = profile_data["ssid_name"] - mode = "VLAN" - vlan = 100 - pass_condn = True - station_name = station_names_fiveg[0] - atten_sr = lf_test.attenuator_serial() - print(atten_sr) - atten_sr1 = atten_sr[1].split(".") - atten_sr2 = atten_sr[0].split(".") - print(atten_sr1, atten_sr2) - sta = [] - list_three_sta = [] - for i in range(6): - list_three_sta.append(station_name + str(i)) - if (i != 0) and (((i + 1) % 3) == 0): - sta.append(list_three_sta) - list_three_sta = [] - print(sta) - - for i in range(2): - radio_name = lf_tools.fiveg_radios[i] - print(radio_name) - print(station_name) - values = radio_name.split(".") - shelf = int(values[0]) - resource = int(values[1]) - print(shelf, resource) - lf_tools.set_radio_antenna("cli-json/set_wifi_radio", shelf, resource, values[2], 1) - time.sleep(0.5) - sta_ip = lf_test.Client_Connect_Using_Radio(ssid=ssid_name, passkey=profile_data["security_key"], - radio=radio_name, station_name=sta[i]) - if not sta_ip: - pass_condn = False - print("test failed due to no station ip") + else: + allure.attach(name="Csv Data", body=str(list(csv_val["Up"].values())[-1])) + if list(csv_val["Up"].values())[-1] >= pass_value: + print("Test passed successfully") + assert True + else: + print("Test failed due to lesser value") assert False - time.sleep(0.5) - for i in range(4): - lf_test.attenuator_modify(int(atten_sr1[2]), i, 100) - time.sleep(0.5) - for i in range(2): - lf_test.attenuator_modify(int(atten_sr2[2]), i, 400) - time.sleep(0.5) - - wct_obj = lf_test.wifi_capacity(instance_name="tcp_VLAN_download_10dB_40dB_dis_nss1_5g", mode=mode, vlan_id=vlan, - download_rate="1Gbps", batch_size="3,6", - upload_rate="0Gbps", protocol="TCP-IPv4", duration="120000", sort="linear") - - report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] - - lf_tools.attach_report_graphs(report_name=report_name) print("Test Completed... Cleaning up Stations") - if pass_condn: - assert True - - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5948", name="WIFI-5948") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.tcp_download_10dB_40dB_50dB_dis_nss1_5g - def test_multi_station_VLAN_tcp_download_10dB_40dB_50dB_dis_nss1_5g(self, lf_test, lf_tools, station_names_fiveg): - lf_tools.reset_scenario() - profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] - ssid_name = profile_data["ssid_name"] - mode = "VLAN" - vlan = 100 - pass_condn = True - station_name = station_names_fiveg[0] - atten_sr = lf_test.attenuator_serial() - print(atten_sr) - atten_sr1 = atten_sr[1].split(".") - atten_sr2 = atten_sr[0].split(".") - print(atten_sr1, atten_sr2) - sta = [] - list_three_sta = [] - for i in range(9): - list_three_sta.append(station_name + str(i)) - if (i != 0) and (((i + 1) % 3) == 0): - sta.append(list_three_sta) - list_three_sta = [] - print(sta) - for i in range(3): - radio_name = lf_tools.fiveg_radios[i] - print(radio_name) - print(station_name) - values = radio_name.split(".") - shelf = int(values[0]) - resource = int(values[1]) - print(shelf, resource) - lf_tools.set_radio_antenna("cli-json/set_wifi_radio", shelf, resource, values[2], 1) - time.sleep(0.5) - sta_ip = lf_test.Client_Connect_Using_Radio(ssid=ssid_name, passkey=profile_data["security_key"], - radio=radio_name, station_name=sta[i]) - if not sta_ip: - pass_condn = False - print("test failed due to no station ip") - assert False - time.sleep(0.5) - for i in range(4): - lf_test.attenuator_modify(int(atten_sr1[2]), i, 100) - time.sleep(0.5) - for i in range(4): - lf_test.attenuator_modify(int(atten_sr2[2]), i, 400) - time.sleep(0.5) - if i >= 2: - lf_test.attenuator_modify(int(atten_sr2[2]), i, 500) - time.sleep(0.5) - - wct_obj = lf_test.wifi_capacity(instance_name="tcp_VLAN_download_10dB_40dB_50dB_dis_nss1_5g", mode=mode, vlan_id=vlan, - download_rate="1Gbps", batch_size="3,6,9", - upload_rate="0Gbps", protocol="TCP-IPv4", duration="120000", sort="linear") - - report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] - - lf_tools.attach_report_graphs(report_name=report_name) - print("Test Completed... Cleaning up Stations") - if pass_condn: - assert True @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5949", name="WIFI-5949") @pytest.mark.wpa2_personal @@ -376,6 +253,7 @@ class TestMultiStaPerfVlan(object): ssid_name = profile_data["ssid_name"] mode = "VLAN" vlan = 100 + batch_size = "3" station_name = station_names_twog[0] radio_name = lf_tools.twog_radios[0] print(radio_name) @@ -389,6 +267,7 @@ class TestMultiStaPerfVlan(object): print(atten_sr1) print(atten_sr) sta = [] + lf_tools.add_vlan(vlan_ids=[vlan]) for i in range(3): sta.append(station_name + str(i)) print(sta) @@ -402,15 +281,30 @@ class TestMultiStaPerfVlan(object): lf_test.attenuator_modify(int(atten_sr1[2]), i, 100) time.sleep(0.5) wct_obj = lf_test.wifi_capacity(instance_name="tcp_VLAN_download_10dB_dis_nss1_2g", mode=mode, vlan_id=vlan, - download_rate="1Gbps", batch_size="3", + download_rate="1Gbps", batch_size=batch_size, upload_rate="0Gbps", protocol="TCP-IPv4", duration="120000", sort="linear") - report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] - lf_tools.attach_report_graphs(report_name=report_name) + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option=None, + individual_station_throughput=False, kpi_csv=True, + file_name="/kpi.csv", batch_size=batch_size) + print(csv_val) + pass_value = (35 * 0.7) + print("pass value ", pass_value) + lf_test.Client_disconnect(clear_all_sta=True, clean_l3_traffic=True) + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") + assert False + else: + allure.attach(name="Csv Data", body=str(list(csv_val["Down"].values())[-1])) + if list(csv_val["Down"].values())[-1] >= pass_value: + print("Test passed successfully") + assert True + else: + print("Test failed due to lesser value") + assert False print("Test Completed... Cleaning up Stations") - if sta_ip: - assert True @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5950", name="WIFI-5950") @pytest.mark.wpa2_personal @@ -422,7 +316,7 @@ class TestMultiStaPerfVlan(object): ssid_name = profile_data["ssid_name"] mode = "VLAN" vlan = 100 - pass_condn = True + batch_size = "3,6" station_name = station_names_twog[0] atten_sr = lf_test.attenuator_serial() print(atten_sr) @@ -431,6 +325,7 @@ class TestMultiStaPerfVlan(object): print(atten_sr1, atten_sr2) sta = [] list_three_sta = [] + lf_tools.add_vlan(vlan_ids=[vlan]) for i in range(6): list_three_sta.append(station_name + str(i)) if (i != 0) and (((i + 1) % 3) == 0): @@ -451,7 +346,6 @@ class TestMultiStaPerfVlan(object): sta_ip = lf_test.Client_Connect_Using_Radio(ssid=ssid_name, passkey=profile_data["security_key"], radio=radio_name, station_name=sta[i]) if not sta_ip: - pass_condn = False print("test failed due to no station ip") assert False time.sleep(0.5) @@ -465,13 +359,28 @@ class TestMultiStaPerfVlan(object): wct_obj = lf_test.wifi_capacity(instance_name="tcp_VLAN_download_10dB_40dB_dis_nss1_2g", mode=mode, vlan_id=vlan, download_rate="1Gbps", batch_size="3,6", upload_rate="0Gbps", protocol="TCP-IPv4", duration="120000", sort="linear") - report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] - lf_tools.attach_report_graphs(report_name=report_name) + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option=None, + individual_station_throughput=False, kpi_csv=True, + file_name="/kpi.csv", batch_size=batch_size) + print(csv_val) + pass_value = (30 * 0.7) + print("pass value ", pass_value) + lf_test.Client_disconnect(clear_all_sta=True, clean_l3_traffic=True) + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") + assert False + else: + allure.attach(name="Csv Data", body=str(list(csv_val["Down"].values())[-1])) + if list(csv_val["Down"].values())[-1] >= pass_value: + print("Test passed successfully") + assert True + else: + print("Test failed due to lesser value") + assert False print("Test Completed... Cleaning up Stations") - if pass_condn: - assert True @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6085", name="WIFI-6085") @pytest.mark.wpa2_personal @@ -483,7 +392,7 @@ class TestMultiStaPerfVlan(object): ssid_name = profile_data["ssid_name"] mode = "VLAN" vlan = 100 - pass_condn = True + batch_size = "3,6,9" station_name = station_names_twog[0] atten_sr = lf_test.attenuator_serial() print(atten_sr) @@ -492,6 +401,7 @@ class TestMultiStaPerfVlan(object): print(atten_sr1, atten_sr2) sta = [] list_three_sta = [] + lf_tools.add_vlan(vlan_ids=[vlan]) for i in range(9): list_three_sta.append(station_name + str(i)) if (i != 0) and (((i + 1) % 3) == 0): @@ -511,7 +421,6 @@ class TestMultiStaPerfVlan(object): sta_ip = lf_test.Client_Connect_Using_Radio(ssid=ssid_name, passkey=profile_data["security_key"], radio=radio_name, station_name=sta[i]) if not sta_ip: - pass_condn = False print("test failed due to no station ip") assert False time.sleep(0.5) @@ -526,15 +435,32 @@ class TestMultiStaPerfVlan(object): time.sleep(0.5) wct_obj = lf_test.wifi_capacity(instance_name="tcp_VLAN_download_10dB_40dB_50dB_dis_nss1_2g", mode=mode, vlan_id=vlan, - download_rate="1Gbps", batch_size="3,6,9", + download_rate="1Gbps", batch_size=batch_size, upload_rate="0Gbps", protocol="TCP-IPv4", duration="120000", sort="linear") report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] lf_tools.attach_report_graphs(report_name=report_name) + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option=None, + individual_station_throughput=False, kpi_csv=True, + file_name="/kpi.csv", batch_size=batch_size) + print(csv_val) + pass_value = (25 * 0.7) + print("pass value ", pass_value) + lf_test.Client_disconnect(clear_all_sta=True, clean_l3_traffic=True) + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") + assert False + else: + allure.attach(name="Csv Data", body=str(list(csv_val["Down"].values())[-1])) + if list(csv_val["Down"].values())[-1] >= pass_value: + print("Test passed successfully") + assert True + else: + print("Test failed due to lesser value") + assert False print("Test Completed... Cleaning up Stations") - if pass_condn: - assert True @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6092", name="WIFI-6092") @pytest.mark.wpa2_personal @@ -546,6 +472,7 @@ class TestMultiStaPerfVlan(object): ssid_name = profile_data["ssid_name"] mode = "VLAN" vlan = 100 + batch_size = "3" station_name = station_names_fiveg[0] radio_name = lf_tools.fiveg_radios[0] print(radio_name) @@ -559,6 +486,7 @@ class TestMultiStaPerfVlan(object): print(atten_sr1) print(atten_sr) sta = [] + lf_tools.add_vlan(vlan_ids=[vlan]) for i in range(3): sta.append(station_name + str(i)) print(sta) @@ -572,15 +500,30 @@ class TestMultiStaPerfVlan(object): lf_test.attenuator_modify(int(atten_sr1[2]), i, 100) time.sleep(0.5) wct_obj = lf_test.wifi_capacity(instance_name="tcp_VLAN_upload_10dB_dis_nss1_5g", mode=mode, vlan_id=vlan, - download_rate="0Gbps", batch_size="3", + download_rate="0Gbps", batch_size=batch_size, upload_rate="1Gbps", protocol="TCP-IPv4", duration="120000", sort="linear") - report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] - lf_tools.attach_report_graphs(report_name=report_name) + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option=None, + individual_station_throughput=False, kpi_csv=True, + file_name="/kpi.csv", batch_size=batch_size) + print(csv_val) + pass_value = (250 * 0.7) + print("pass value ", pass_value) + lf_test.Client_disconnect(clear_all_sta=True, clean_l3_traffic=True) + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") + assert False + else: + allure.attach(name="Csv Data", body=str(list(csv_val["Up"].values())[-1])) + if list(csv_val["Up"].values())[-1] >= pass_value: + print("Test passed successfully") + assert True + else: + print("Test failed due to lesser value") + assert False print("Test Completed... Cleaning up Stations") - if sta_ip: - assert True @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6093", name="WIFI-6093") @pytest.mark.wpa2_personal @@ -592,7 +535,7 @@ class TestMultiStaPerfVlan(object): ssid_name = profile_data["ssid_name"] mode = "VLAN" vlan = 100 - pass_condn = True + batch_size = "3,6" station_name = station_names_fiveg[0] atten_sr = lf_test.attenuator_serial() print(atten_sr) @@ -601,6 +544,7 @@ class TestMultiStaPerfVlan(object): print(atten_sr1, atten_sr2) sta = [] list_three_sta = [] + lf_tools.add_vlan(vlan_ids=[vlan]) for i in range(6): list_three_sta.append(station_name + str(i)) if (i != 0) and (((i + 1) % 3) == 0): @@ -621,7 +565,6 @@ class TestMultiStaPerfVlan(object): sta_ip = lf_test.Client_Connect_Using_Radio(ssid=ssid_name, passkey=profile_data["security_key"], radio=radio_name, station_name=sta[i]) if not sta_ip: - pass_condn = False print("test failed due to no station ip") assert False time.sleep(0.5) @@ -633,15 +576,32 @@ class TestMultiStaPerfVlan(object): time.sleep(0.5) wct_obj = lf_test.wifi_capacity(instance_name="tcp_VLAN_upload_10dB_40dB_dis_nss1_5g", mode=mode, vlan_id=vlan, - download_rate="0Gbps", batch_size="3,6", + download_rate="0Gbps", batch_size=batch_size, upload_rate="1Gbps", protocol="TCP-IPv4", duration="120000", sort="linear") report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] lf_tools.attach_report_graphs(report_name=report_name) + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option=None, + individual_station_throughput=False, kpi_csv=True, + file_name="/kpi.csv", batch_size=batch_size) + print(csv_val) + pass_value = (250 * 0.7) + print("pass value ", pass_value) + lf_test.Client_disconnect(clear_all_sta=True, clean_l3_traffic=True) + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") + assert False + else: + allure.attach(name="Csv Data", body=str(list(csv_val["Up"].values())[-1])) + if list(csv_val["Up"].values())[-1] >= pass_value: + print("Test passed successfully") + assert True + else: + print("Test failed due to lesser value") + assert False print("Test Completed... Cleaning up Stations") - if pass_condn: - assert True @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6094", name="WIFI-6094") @pytest.mark.wpa2_personal @@ -653,7 +613,7 @@ class TestMultiStaPerfVlan(object): ssid_name = profile_data["ssid_name"] mode = "VLAN" vlan = 100 - pass_condn = True + batch_size = "3,6,9" station_name = station_names_fiveg[0] atten_sr = lf_test.attenuator_serial() print(atten_sr) @@ -662,6 +622,7 @@ class TestMultiStaPerfVlan(object): print(atten_sr1, atten_sr2) sta = [] list_three_sta = [] + lf_tools.add_vlan(vlan_ids=[vlan]) for i in range(9): list_three_sta.append(station_name + str(i)) if (i != 0) and (((i + 1) % 3) == 0): @@ -681,7 +642,6 @@ class TestMultiStaPerfVlan(object): sta_ip = lf_test.Client_Connect_Using_Radio(ssid=ssid_name, passkey=profile_data["security_key"], radio=radio_name, station_name=sta[i]) if not sta_ip: - pass_condn = False print("test failed due to no station ip") assert False time.sleep(0.5) @@ -696,15 +656,249 @@ class TestMultiStaPerfVlan(object): time.sleep(0.5) wct_obj = lf_test.wifi_capacity(instance_name="tcp_VLAN_upload_10dB_40dB_50dB_dis_nss1_5g", mode=mode, vlan_id=vlan, - download_rate="0Gbps", batch_size="3,6,9", + download_rate="0Gbps", batch_size=batch_size, upload_rate="1Gbps", protocol="TCP-IPv4", duration="120000", sort="linear") + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + lf_tools.attach_report_graphs(report_name=report_name) + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option=None, + individual_station_throughput=False, kpi_csv=True, + file_name="/kpi.csv", batch_size=batch_size) + print(csv_val) + pass_value = (200 * 0.7) + print("pass value ", pass_value) + lf_test.Client_disconnect(clear_all_sta=True, clean_l3_traffic=True) + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") + assert False + else: + allure.attach(name="Csv Data", body=str(list(csv_val["Up"].values())[-1])) + if list(csv_val["Up"].values())[-1] >= pass_value: + print("Test passed successfully") + assert True + else: + print("Test failed due to lesser value") + assert False + print("Test Completed... Cleaning up Stations") + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5946", name="WIFI-5946") + @pytest.mark.wpa2_personal + @pytest.mark.fiveg + @pytest.mark.tcp_download_10dB_dis_nss1_5g + def test_multi_station_VLAN_tcp_download_10dB_dis_nss1_5g(self, lf_test, lf_tools, station_names_fiveg): + lf_tools.reset_scenario() + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] + ssid_name = profile_data["ssid_name"] + mode = "VLAN" + vlan = 100 + batch_size = "3" + station_name = station_names_fiveg[0] + radio_name = lf_tools.fiveg_radios[0] + print(radio_name) + print(station_name) + values = radio_name.split(".") + shelf = int(values[0]) + resource = int(values[1]) + print(shelf, resource) + atten_sr = lf_test.attenuator_serial() + atten_sr1 = atten_sr[1].split(".") + print(atten_sr1) + print(atten_sr) + sta = [] + lf_tools.add_vlan(vlan_ids=[vlan]) + for i in range(3): + sta.append(station_name + str(i)) + print(sta) + lf_tools.set_radio_antenna("cli-json/set_wifi_radio", shelf, resource, values[2], 1) + sta_ip = lf_test.Client_Connect_Using_Radio(ssid=ssid_name, passkey=profile_data["security_key"], + radio=radio_name, station_name=sta) + if not sta_ip: + print("test failed due to no station ip") + assert False + for i in range(4): + lf_test.attenuator_modify(int(atten_sr1[2]), i, 100) + time.sleep(0.5) + wct_obj = lf_test.wifi_capacity(instance_name="tcp_VLAN_download_10dB_dis_nss1_5g", mode=mode, vlan_id=vlan, + download_rate="1Gbps", batch_size=batch_size, + upload_rate="0Gbps", protocol="TCP-IPv4", duration="120000", sort="linear") report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] lf_tools.attach_report_graphs(report_name=report_name) + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option=None, + individual_station_throughput=False, kpi_csv=True, + file_name="/kpi.csv", batch_size=batch_size) + print(csv_val) + pass_value = (250 * 0.7) + print("pass value ", pass_value) + lf_test.Client_disconnect(clear_all_sta=True, clean_l3_traffic=True) + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") + assert False + else: + allure.attach(name="Csv Data", body=str(list(csv_val["Down"].values())[-1])) + if list(csv_val["Down"].values())[-1] >= pass_value: + print("Test passed successfully") + assert True + else: + print("Test failed due to lesser value") + assert False + print("Test Completed... Cleaning up Stations") + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5947", name="WIFI-5947") + @pytest.mark.wpa2_personal + @pytest.mark.fiveg + @pytest.mark.tcp_download_10dB_40dB_dis_nss1_5g + def test_multi_station_VLAN_tcp_download_10dB_40dB_dis_nss1_5g(self, lf_test, lf_tools, station_names_fiveg): + lf_tools.reset_scenario() + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] + ssid_name = profile_data["ssid_name"] + mode = "VLAN" + vlan = 100 + batch_size = "3,6" + station_name = station_names_fiveg[0] + atten_sr = lf_test.attenuator_serial() + print(atten_sr) + atten_sr1 = atten_sr[1].split(".") + atten_sr2 = atten_sr[0].split(".") + print(atten_sr1, atten_sr2) + sta = [] + list_three_sta = [] + lf_tools.add_vlan(vlan_ids=[vlan]) + for i in range(6): + list_three_sta.append(station_name + str(i)) + if (i != 0) and (((i + 1) % 3) == 0): + sta.append(list_three_sta) + list_three_sta = [] + print(sta) + + for i in range(2): + radio_name = lf_tools.fiveg_radios[i] + print(radio_name) + print(station_name) + values = radio_name.split(".") + shelf = int(values[0]) + resource = int(values[1]) + print(shelf, resource) + lf_tools.set_radio_antenna("cli-json/set_wifi_radio", shelf, resource, values[2], 1) + time.sleep(0.5) + sta_ip = lf_test.Client_Connect_Using_Radio(ssid=ssid_name, passkey=profile_data["security_key"], + radio=radio_name, station_name=sta[i]) + if not sta_ip: + print("test failed due to no station ip") + assert False + time.sleep(0.5) + for i in range(4): + lf_test.attenuator_modify(int(atten_sr1[2]), i, 100) + time.sleep(0.5) + for i in range(2): + lf_test.attenuator_modify(int(atten_sr2[2]), i, 400) + time.sleep(0.5) + + wct_obj = lf_test.wifi_capacity(instance_name="tcp_VLAN_upload_10dB_40dB_dis_nss1_5g", mode=mode, vlan_id=vlan, + download_rate="0Gbps", batch_size=batch_size, + upload_rate="1Gbps", protocol="TCP-IPv4", duration="120000", sort="linear") + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + lf_tools.attach_report_graphs(report_name=report_name) + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option=None, + individual_station_throughput=False, kpi_csv=True, + file_name="/kpi.csv", batch_size=batch_size) + print(csv_val) + pass_value = (250 * 0.7) + print("pass value ", pass_value) + lf_test.Client_disconnect(clear_all_sta=True, clean_l3_traffic=True) + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") + assert False + else: + allure.attach(name="Csv Data", body=str(list(csv_val["Down"].values())[-1])) + if list(csv_val["Down"].values())[-1] >= pass_value: + print("Test passed successfully") + assert True + else: + print("Test failed due to lesser value") + assert False + print("Test Completed... Cleaning up Stations") + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5948", name="WIFI-5948") + @pytest.mark.wpa2_personal + @pytest.mark.fiveg + @pytest.mark.tcp_download_10dB_40dB_50dB_dis_nss1_5g + def test_multi_station_VLAN_tcp_download_10dB_40dB_50dB_dis_nss1_5g(self, lf_test, lf_tools, station_names_fiveg): + lf_tools.reset_scenario() + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] + ssid_name = profile_data["ssid_name"] + mode = "VLAN" + vlan = 100 + batch_size = "3,6,9" + station_name = station_names_fiveg[0] + atten_sr = lf_test.attenuator_serial() + print(atten_sr) + atten_sr1 = atten_sr[1].split(".") + atten_sr2 = atten_sr[0].split(".") + print(atten_sr1, atten_sr2) + sta = [] + list_three_sta = [] + lf_tools.add_vlan(vlan_ids=[vlan]) + for i in range(9): + list_three_sta.append(station_name + str(i)) + if (i != 0) and (((i + 1) % 3) == 0): + sta.append(list_three_sta) + list_three_sta = [] + print(sta) + for i in range(3): + radio_name = lf_tools.fiveg_radios[i] + print(radio_name) + print(station_name) + values = radio_name.split(".") + shelf = int(values[0]) + resource = int(values[1]) + print(shelf, resource) + lf_tools.set_radio_antenna("cli-json/set_wifi_radio", shelf, resource, values[2], 1) + time.sleep(0.5) + sta_ip = lf_test.Client_Connect_Using_Radio(ssid=ssid_name, passkey=profile_data["security_key"], + radio=radio_name, station_name=sta[i]) + if not sta_ip: + print("test failed due to no station ip") + assert False + time.sleep(0.5) + for i in range(4): + lf_test.attenuator_modify(int(atten_sr1[2]), i, 100) + time.sleep(0.5) + for i in range(4): + lf_test.attenuator_modify(int(atten_sr2[2]), i, 400) + time.sleep(0.5) + if i >= 2: + lf_test.attenuator_modify(int(atten_sr2[2]), i, 500) + time.sleep(0.5) + + wct_obj = lf_test.wifi_capacity(instance_name="tcp_VLAN_download_10dB_40dB_50dB_dis_nss1_5g", mode=mode, vlan_id=vlan, + download_rate="0Gbps", batch_size=batch_size, + upload_rate="1Gbps", protocol="TCP-IPv4", duration="120000", sort="linear") + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + lf_tools.attach_report_graphs(report_name=report_name) + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option=None, + individual_station_throughput=False, kpi_csv=True, + file_name="/kpi.csv", batch_size=batch_size) + print(csv_val) + pass_value = (200 * 0.7) + print("pass value ", pass_value) + lf_test.Client_disconnect(clear_all_sta=True, clean_l3_traffic=True) + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") + assert False + else: + allure.attach(name="Csv Data", body=str(list(csv_val["Down"].values())[-1])) + if list(csv_val["Down"].values())[-1] >= pass_value: + print("Test passed successfully") + assert True + else: + print("Test failed due to lesser value") + assert False print("Test Completed... Cleaning up Stations") - if pass_condn: - assert True @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5951", name="WIFI-5951") @pytest.mark.wpa2_personal @@ -716,6 +910,7 @@ class TestMultiStaPerfVlan(object): ssid_name = profile_data["ssid_name"] mode = "VLAN" vlan = 100 + batch_size = "3" station_name = station_names_twog[0] radio_name = lf_tools.twog_radios[0] print(radio_name) @@ -729,6 +924,7 @@ class TestMultiStaPerfVlan(object): print(atten_sr1) print(atten_sr) sta = [] + lf_tools.add_vlan(vlan_ids=[vlan]) for i in range(3): sta.append(station_name + str(i)) print(sta) @@ -742,15 +938,30 @@ class TestMultiStaPerfVlan(object): lf_test.attenuator_modify(int(atten_sr1[2]), i, 100) time.sleep(0.5) wct_obj = lf_test.wifi_capacity(instance_name="tcp_VLAN_upload_10dB_dis_nss2_2g", mode=mode, vlan_id=vlan, - download_rate="0Gbps", batch_size="3", + download_rate="0Gbps", batch_size=batch_size, upload_rate="1Gbps", protocol="TCP-IPv4", duration="120000", sort="linear") - report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] - lf_tools.attach_report_graphs(report_name=report_name) + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option=None, + individual_station_throughput=False, kpi_csv=True, + file_name="/kpi.csv", batch_size=batch_size) + print(csv_val) + pass_value = (70 * 0.7) + print("pass value ", pass_value) + lf_test.Client_disconnect(clear_all_sta=True, clean_l3_traffic=True) + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") + assert False + else: + allure.attach(name="Csv Data", body=str(list(csv_val["Up"].values())[-1])) + if list(csv_val["Up"].values())[-1] >= pass_value: + print("Test passed successfully") + assert True + else: + print("Test failed due to lesser value") + assert False print("Test Completed... Cleaning up Stations") - if sta_ip: - assert True @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5966", name="WIFI-5966") @pytest.mark.wpa2_personal @@ -762,7 +973,7 @@ class TestMultiStaPerfVlan(object): ssid_name = profile_data["ssid_name"] mode = "VLAN" vlan = 100 - pass_condn = True + batch_size = "3,6" station_name = station_names_twog[0] atten_sr = lf_test.attenuator_serial() print(atten_sr) @@ -771,6 +982,7 @@ class TestMultiStaPerfVlan(object): print(atten_sr1, atten_sr2) sta = [] list_three_sta = [] + lf_tools.add_vlan(vlan_ids=[vlan]) for i in range(6): list_three_sta.append(station_name + str(i)) if (i != 0) and (((i + 1) % 3) == 0): @@ -791,7 +1003,6 @@ class TestMultiStaPerfVlan(object): sta_ip = lf_test.Client_Connect_Using_Radio(ssid=ssid_name, passkey=profile_data["security_key"], radio=radio_name, station_name=sta[i]) if not sta_ip: - pass_condn = False print("test failed due to no station ip") assert False time.sleep(0.5) @@ -803,15 +1014,30 @@ class TestMultiStaPerfVlan(object): time.sleep(0.5) wct_obj = lf_test.wifi_capacity(instance_name="tcp_VLAN_upload_10dB_40dB_dis_nss2_2g", mode=mode, vlan_id=vlan, - download_rate="0Gbps", batch_size="3,6", + download_rate="0Gbps", batch_size=batch_size, upload_rate="1Gbps", protocol="TCP-IPv4", duration="120000", sort="linear") - report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] - lf_tools.attach_report_graphs(report_name=report_name) + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option=None, + individual_station_throughput=False, kpi_csv=True, + file_name="/kpi.csv", batch_size=batch_size) + print(csv_val) + pass_value = (60 * 0.7) + print("pass value ", pass_value) + lf_test.Client_disconnect(clear_all_sta=True, clean_l3_traffic=True) + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") + assert False + else: + allure.attach(name="Csv Data", body=str(list(csv_val["Up"].values())[-1])) + if list(csv_val["Up"].values())[-1] >= pass_value: + print("Test passed successfully") + assert True + else: + print("Test failed due to lesser value") + assert False print("Test Completed... Cleaning up Stations") - if pass_condn: - assert True @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5954", name="WIFI-5954") @pytest.mark.wpa2_personal @@ -823,7 +1049,7 @@ class TestMultiStaPerfVlan(object): ssid_name = profile_data["ssid_name"] mode = "VLAN" vlan = 100 - pass_condn = True + batch_size = "3,6,9" station_name = station_names_twog[0] atten_sr = lf_test.attenuator_serial() print(atten_sr) @@ -832,6 +1058,7 @@ class TestMultiStaPerfVlan(object): print(atten_sr1, atten_sr2) sta = [] list_three_sta = [] + lf_tools.add_vlan(vlan_ids=[vlan]) for i in range(9): list_three_sta.append(station_name + str(i)) if (i != 0) and (((i + 1) % 3) == 0): @@ -851,7 +1078,6 @@ class TestMultiStaPerfVlan(object): sta_ip = lf_test.Client_Connect_Using_Radio(ssid=ssid_name, passkey=profile_data["security_key"], radio=radio_name, station_name=sta[i]) if not sta_ip: - pass_condn = False print("test failed due to no station ip") assert False time.sleep(0.5) @@ -866,185 +1092,30 @@ class TestMultiStaPerfVlan(object): time.sleep(0.5) wct_obj = lf_test.wifi_capacity(instance_name="tcp_VLAN_upload_10dB_40dB_50dB_dis_nss2_2g", mode=mode, vlan_id=vlan, - download_rate="0Gbps", batch_size="3,6,9", + download_rate="0Gbps", batch_size=batch_size, upload_rate="1Gbps", protocol="TCP-IPv4", duration="120000", sort="linear") - report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] - lf_tools.attach_report_graphs(report_name=report_name) - print("Test Completed... Cleaning up Stations") - if pass_condn: - assert True - - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5971", name="WIFI-5971") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.tcp_download_10dB_dis_nss2_5g - def test_multi_station_VLAN_tcp_download_10dB_dis_nss2_5g(self, lf_test, lf_tools, station_names_fiveg): - lf_tools.reset_scenario() - profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] - ssid_name = profile_data["ssid_name"] - mode = "VLAN" - vlan = 100 - station_name = station_names_fiveg[0] - radio_name = lf_tools.fiveg_radios[0] - print(radio_name) - print(station_name) - values = radio_name.split(".") - shelf = int(values[0]) - resource = int(values[1]) - print(shelf, resource) - atten_sr = lf_test.attenuator_serial() - atten_sr1 = atten_sr[1].split(".") - print(atten_sr1) - print(atten_sr) - sta = [] - for i in range(3): - sta.append(station_name + str(i)) - print(sta) - lf_tools.set_radio_antenna("cli-json/set_wifi_radio", shelf, resource, values[2], 4) - sta_ip = lf_test.Client_Connect_Using_Radio(ssid=ssid_name, passkey=profile_data["security_key"], - radio=radio_name, station_name=sta) - if not sta_ip: - print("test failed due to no station ip") + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option=None, + individual_station_throughput=False, kpi_csv=True, + file_name="/kpi.csv", batch_size=batch_size) + print(csv_val) + pass_value = (50 * 0.7) + print("pass value ", pass_value) + lf_test.Client_disconnect(clear_all_sta=True, clean_l3_traffic=True) + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") assert False - for i in range(4): - lf_test.attenuator_modify(int(atten_sr1[2]), i, 100) - time.sleep(0.5) - wct_obj = lf_test.wifi_capacity(instance_name="tcp_VLAN_download_10dB_dis_nss2_5g", mode=mode, vlan_id=vlan, - download_rate="1Gbps", batch_size="3", - upload_rate="0Gbps", protocol="TCP-IPv4", duration="120000", sort="linear") - - report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] - - lf_tools.attach_report_graphs(report_name=report_name) - print("Test Completed... Cleaning up Stations") - if sta_ip: - assert True - - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5970", name="WIFI-5970") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.tcp_download_10dB_40dB_dis_nss2_5g - def test_multi_station_VLAN_tcp_download_10dB_40dB_dis_nss2_5g(self, lf_test, lf_tools, station_names_fiveg): - lf_tools.reset_scenario() - profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] - ssid_name = profile_data["ssid_name"] - mode = "VLAN" - vlan = 100 - pass_condn = True - station_name = station_names_fiveg[0] - atten_sr = lf_test.attenuator_serial() - print(atten_sr) - atten_sr1 = atten_sr[1].split(".") - atten_sr2 = atten_sr[0].split(".") - print(atten_sr1, atten_sr2) - sta = [] - list_three_sta = [] - for i in range(6): - list_three_sta.append(station_name + str(i)) - if (i != 0) and (((i + 1) % 3) == 0): - sta.append(list_three_sta) - list_three_sta = [] - print(sta) - - for i in range(2): - radio_name = lf_tools.fiveg_radios[i] - print(radio_name) - print(station_name) - values = radio_name.split(".") - shelf = int(values[0]) - resource = int(values[1]) - print(shelf, resource) - lf_tools.set_radio_antenna("cli-json/set_wifi_radio", shelf, resource, values[2], 4) - time.sleep(0.5) - sta_ip = lf_test.Client_Connect_Using_Radio(ssid=ssid_name, passkey=profile_data["security_key"], - radio=radio_name, station_name=sta[i]) - if not sta_ip: - pass_condn = False - print("test failed due to no station ip") + else: + allure.attach(name="Csv Data", body=str(list(csv_val["Up"].values())[-1])) + if list(csv_val["Up"].values())[-1] >= pass_value: + print("Test passed successfully") + assert True + else: + print("Test failed due to lesser value") assert False - time.sleep(0.5) - for i in range(4): - lf_test.attenuator_modify(int(atten_sr1[2]), i, 100) - time.sleep(0.5) - for i in range(2): - lf_test.attenuator_modify(int(atten_sr2[2]), i, 400) - time.sleep(0.5) - - wct_obj = lf_test.wifi_capacity(instance_name="tcp_VLAN_download_10dB_40dB_dis_nss2_5g", mode=mode, vlan_id=vlan, - download_rate="1Gbps", batch_size="3,6", - upload_rate="0Gbps", protocol="TCP-IPv4", duration="120000", sort="linear") - - report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] - - lf_tools.attach_report_graphs(report_name=report_name) print("Test Completed... Cleaning up Stations") - if pass_condn: - assert True - - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5972", name="WIFI-5972") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.tcp_download_10dB_40dB_50dB_dis_nss2_5g - def test_multi_station_VLAN_tcp_download_10dB_40dB_50dB_dis_nss2_5g(self, lf_test, lf_tools, station_names_fiveg): - lf_tools.reset_scenario() - profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] - ssid_name = profile_data["ssid_name"] - mode = "VLAN" - vlan = 100 - pass_condn = True - station_name = station_names_fiveg[0] - atten_sr = lf_test.attenuator_serial() - print(atten_sr) - atten_sr1 = atten_sr[1].split(".") - atten_sr2 = atten_sr[0].split(".") - print(atten_sr1, atten_sr2) - sta = [] - list_three_sta = [] - for i in range(9): - list_three_sta.append(station_name + str(i)) - if (i != 0) and (((i + 1) % 3) == 0): - sta.append(list_three_sta) - list_three_sta = [] - print(sta) - for i in range(3): - radio_name = lf_tools.fiveg_radios[i] - print(radio_name) - print(station_name) - values = radio_name.split(".") - shelf = int(values[0]) - resource = int(values[1]) - print(shelf, resource) - lf_tools.set_radio_antenna("cli-json/set_wifi_radio", shelf, resource, values[2], 4) - time.sleep(0.5) - sta_ip = lf_test.Client_Connect_Using_Radio(ssid=ssid_name, passkey=profile_data["security_key"], - radio=radio_name, station_name=sta[i]) - if not sta_ip: - pass_condn = False - print("test failed due to no station ip") - assert False - time.sleep(0.5) - for i in range(4): - lf_test.attenuator_modify(int(atten_sr1[2]), i, 100) - time.sleep(0.5) - for i in range(4): - lf_test.attenuator_modify(int(atten_sr2[2]), i, 400) - time.sleep(0.5) - if i >= 2: - lf_test.attenuator_modify(int(atten_sr2[2]), i, 500) - time.sleep(0.5) - - wct_obj = lf_test.wifi_capacity(instance_name="tcp_VLAN_download_10dB_40dB_50dB_dis_nss2_5g", mode=mode, vlan_id=vlan, - download_rate="1Gbps", batch_size="3,6,9", - upload_rate="0Gbps", protocol="TCP-IPv4", duration="120000", sort="linear") - - report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] - - lf_tools.attach_report_graphs(report_name=report_name) - print("Test Completed... Cleaning up Stations") - if pass_condn: - assert True @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5969", name="WIFI-5969") @pytest.mark.wpa2_personal @@ -1056,6 +1127,7 @@ class TestMultiStaPerfVlan(object): ssid_name = profile_data["ssid_name"] mode = "VLAN" vlan = 100 + batch_size = "3" station_name = station_names_twog[0] radio_name = lf_tools.twog_radios[0] print(radio_name) @@ -1069,6 +1141,7 @@ class TestMultiStaPerfVlan(object): print(atten_sr1) print(atten_sr) sta = [] + lf_tools.add_vlan(vlan_ids=[vlan]) for i in range(3): sta.append(station_name + str(i)) print(sta) @@ -1082,15 +1155,30 @@ class TestMultiStaPerfVlan(object): lf_test.attenuator_modify(int(atten_sr1[2]), i, 100) time.sleep(0.5) wct_obj = lf_test.wifi_capacity(instance_name="tcp_VLAN_download_10dB_dis_nss2_2g", mode=mode, vlan_id=vlan, - download_rate="1Gbps", batch_size="3", + download_rate="1Gbps", batch_size=batch_size, upload_rate="0Gbps", protocol="TCP-IPv4", duration="120000", sort="linear") - report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] - lf_tools.attach_report_graphs(report_name=report_name) + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option=None, + individual_station_throughput=False, kpi_csv=True, + file_name="/kpi.csv", batch_size=batch_size) + print(csv_val) + pass_value = (70 * 0.7) + print("pass value ", pass_value) + lf_test.Client_disconnect(clear_all_sta=True, clean_l3_traffic=True) + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") + assert False + else: + allure.attach(name="Csv Data", body=str(list(csv_val["Down"].values())[-1])) + if list(csv_val["Down"].values())[-1] >= pass_value: + print("Test passed successfully") + assert True + else: + print("Test failed due to lesser value") + assert False print("Test Completed... Cleaning up Stations") - if sta_ip: - assert True @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5968", name="WIFI-5968") @pytest.mark.wpa2_personal @@ -1102,7 +1190,7 @@ class TestMultiStaPerfVlan(object): ssid_name = profile_data["ssid_name"] mode = "VLAN" vlan = 100 - pass_condn = True + batch_size = "3,6" station_name = station_names_twog[0] atten_sr = lf_test.attenuator_serial() print(atten_sr) @@ -1111,6 +1199,7 @@ class TestMultiStaPerfVlan(object): print(atten_sr1, atten_sr2) sta = [] list_three_sta = [] + lf_tools.add_vlan(vlan_ids=[vlan]) for i in range(6): list_three_sta.append(station_name + str(i)) if (i != 0) and (((i + 1) % 3) == 0): @@ -1131,7 +1220,6 @@ class TestMultiStaPerfVlan(object): sta_ip = lf_test.Client_Connect_Using_Radio(ssid=ssid_name, passkey=profile_data["security_key"], radio=radio_name, station_name=sta[i]) if not sta_ip: - pass_condn = False print("test failed due to no station ip") assert False time.sleep(0.5) @@ -1143,15 +1231,30 @@ class TestMultiStaPerfVlan(object): time.sleep(0.5) wct_obj = lf_test.wifi_capacity(instance_name="tcp_VLAN_download_10dB_40dB_dis_nss2_2g", mode=mode, vlan_id=vlan, - download_rate="1Gbps", batch_size="3,6", + download_rate="1Gbps", batch_size=batch_size, upload_rate="0Gbps", protocol="TCP-IPv4", duration="120000", sort="linear") - report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] - lf_tools.attach_report_graphs(report_name=report_name) + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option=None, + individual_station_throughput=False, kpi_csv=True, + file_name="/kpi.csv", batch_size=batch_size) + print(csv_val) + pass_value = (60 * 0.7) + print("pass value ", pass_value) + lf_test.Client_disconnect(clear_all_sta=True, clean_l3_traffic=True) + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") + assert False + else: + allure.attach(name="Csv Data", body=str(list(csv_val["Down"].values())[-1])) + if list(csv_val["Down"].values())[-1] >= pass_value: + print("Test passed successfully") + assert True + else: + print("Test failed due to lesser value") + assert False print("Test Completed... Cleaning up Stations") - if pass_condn: - assert True @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5967", name="WIFI-5967") @pytest.mark.wpa2_personal @@ -1163,7 +1266,7 @@ class TestMultiStaPerfVlan(object): ssid_name = profile_data["ssid_name"] mode = "VLAN" vlan = 100 - pass_condn = True + batch_size = "3,6,9" station_name = station_names_twog[0] atten_sr = lf_test.attenuator_serial() print(atten_sr) @@ -1172,6 +1275,7 @@ class TestMultiStaPerfVlan(object): print(atten_sr1, atten_sr2) sta = [] list_three_sta = [] + lf_tools.add_vlan(vlan_ids=[vlan]) for i in range(9): list_three_sta.append(station_name + str(i)) if (i != 0) and (((i + 1) % 3) == 0): @@ -1191,7 +1295,6 @@ class TestMultiStaPerfVlan(object): sta_ip = lf_test.Client_Connect_Using_Radio(ssid=ssid_name, passkey=profile_data["security_key"], radio=radio_name, station_name=sta[i]) if not sta_ip: - pass_condn = False print("test failed due to no station ip") assert False time.sleep(0.5) @@ -1206,15 +1309,30 @@ class TestMultiStaPerfVlan(object): time.sleep(0.5) wct_obj = lf_test.wifi_capacity(instance_name="tcp_VLAN_download_10dB_40dB_50dB_dis_nss2_2g", mode=mode, vlan_id=vlan, - download_rate="1Gbps", batch_size="3,6,9", + download_rate="1Gbps", batch_size=batch_size, upload_rate="0Gbps", protocol="TCP-IPv4", duration="120000", sort="linear") - report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] - lf_tools.attach_report_graphs(report_name=report_name) + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option=None, + individual_station_throughput=False, kpi_csv=True, + file_name="/kpi.csv", batch_size=batch_size) + print(csv_val) + pass_value = (50 * 0.7) + print("pass value ", pass_value) + lf_test.Client_disconnect(clear_all_sta=True, clean_l3_traffic=True) + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") + assert False + else: + allure.attach(name="Csv Data", body=str(list(csv_val["Down"].values())[-1])) + if list(csv_val["Down"].values())[-1] >= pass_value: + print("Test passed successfully") + assert True + else: + print("Test failed due to lesser value") + assert False print("Test Completed... Cleaning up Stations") - if pass_condn: - assert True @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5952", name="WIFI-5952") @pytest.mark.wpa2_personal @@ -1226,6 +1344,7 @@ class TestMultiStaPerfVlan(object): ssid_name = profile_data["ssid_name"] mode = "VLAN" vlan = 100 + batch_size = "3" station_name = station_names_fiveg[0] radio_name = lf_tools.fiveg_radios[0] print(radio_name) @@ -1239,6 +1358,7 @@ class TestMultiStaPerfVlan(object): print(atten_sr1) print(atten_sr) sta = [] + lf_tools.add_vlan(vlan_ids=[vlan]) for i in range(3): sta.append(station_name + str(i)) print(sta) @@ -1252,15 +1372,30 @@ class TestMultiStaPerfVlan(object): lf_test.attenuator_modify(int(atten_sr1[2]), i, 100) time.sleep(0.5) wct_obj = lf_test.wifi_capacity(instance_name="tcp_VLAN_upload_10dB_dis_nss2_5g", mode=mode, vlan_id=vlan, - download_rate="0Gbps", batch_size="3", + download_rate="0Gbps", batch_size=batch_size, upload_rate="1Gbps", protocol="TCP-IPv4", duration="120000", sort="linear") - report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] - lf_tools.attach_report_graphs(report_name=report_name) + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option=None, + individual_station_throughput=False, kpi_csv=True, + file_name="/kpi.csv", batch_size=batch_size) + print(csv_val) + pass_value = (500 * 0.7) + print("pass value ", pass_value) + lf_test.Client_disconnect(clear_all_sta=True, clean_l3_traffic=True) + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") + assert False + else: + allure.attach(name="Csv Data", body=str(list(csv_val["Up"].values())[-1])) + if list(csv_val["Up"].values())[-1] >= pass_value: + print("Test passed successfully") + assert True + else: + print("Test failed due to lesser value") + assert False print("Test Completed... Cleaning up Stations") - if sta_ip: - assert True @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5953", name="WIFI-5953") @pytest.mark.wpa2_personal @@ -1272,7 +1407,7 @@ class TestMultiStaPerfVlan(object): ssid_name = profile_data["ssid_name"] mode = "VLAN" vlan = 100 - pass_condn = True + batch_size = "3,6" station_name = station_names_fiveg[0] atten_sr = lf_test.attenuator_serial() print(atten_sr) @@ -1281,6 +1416,7 @@ class TestMultiStaPerfVlan(object): print(atten_sr1, atten_sr2) sta = [] list_three_sta = [] + lf_tools.add_vlan(vlan_ids=[vlan]) for i in range(6): list_three_sta.append(station_name + str(i)) if (i != 0) and (((i + 1) % 3) == 0): @@ -1301,7 +1437,6 @@ class TestMultiStaPerfVlan(object): sta_ip = lf_test.Client_Connect_Using_Radio(ssid=ssid_name, passkey=profile_data["security_key"], radio=radio_name, station_name=sta[i]) if not sta_ip: - pass_condn = False print("test failed due to no station ip") assert False time.sleep(0.5) @@ -1313,15 +1448,30 @@ class TestMultiStaPerfVlan(object): time.sleep(0.5) wct_obj = lf_test.wifi_capacity(instance_name="tcp_VLAN_upload_10dB_40dB_dis_nss2_5g", mode=mode, vlan_id=vlan, - download_rate="0Gbps", batch_size="3,6", + download_rate="0Gbps", batch_size=batch_size, upload_rate="1Gbps", protocol="TCP-IPv4", duration="120000", sort="linear") - report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] - lf_tools.attach_report_graphs(report_name=report_name) + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option=None, + individual_station_throughput=False, kpi_csv=True, + file_name="/kpi.csv", batch_size=batch_size) + print(csv_val) + pass_value = (500 * 0.7) + print("pass value ", pass_value) + lf_test.Client_disconnect(clear_all_sta=True, clean_l3_traffic=True) + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") + assert False + else: + allure.attach(name="Csv Data", body=str(list(csv_val["Up"].values())[-1])) + if list(csv_val["Up"].values())[-1] >= pass_value: + print("Test passed successfully") + assert True + else: + print("Test failed due to lesser value") + assert False print("Test Completed... Cleaning up Stations") - if pass_condn: - assert True @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5973", name="WIFI-5973") @pytest.mark.wpa2_personal @@ -1333,7 +1483,7 @@ class TestMultiStaPerfVlan(object): ssid_name = profile_data["ssid_name"] mode = "VLAN" vlan = 100 - pass_condn = True + batch_size = "3,6,9" station_name = station_names_fiveg[0] atten_sr = lf_test.attenuator_serial() print(atten_sr) @@ -1342,6 +1492,7 @@ class TestMultiStaPerfVlan(object): print(atten_sr1, atten_sr2) sta = [] list_three_sta = [] + lf_tools.add_vlan(vlan_ids=[vlan]) for i in range(9): list_three_sta.append(station_name + str(i)) if (i != 0) and (((i + 1) % 3) == 0): @@ -1361,7 +1512,6 @@ class TestMultiStaPerfVlan(object): sta_ip = lf_test.Client_Connect_Using_Radio(ssid=ssid_name, passkey=profile_data["security_key"], radio=radio_name, station_name=sta[i]) if not sta_ip: - pass_condn = False print("test failed due to no station ip") assert False time.sleep(0.5) @@ -1376,13 +1526,248 @@ class TestMultiStaPerfVlan(object): time.sleep(0.5) wct_obj = lf_test.wifi_capacity(instance_name="tcp_VLAN_upload_10dB_40dB_50dB_dis_nss2_5g", mode=mode, vlan_id=vlan, - download_rate="0Gbps", batch_size="3,6,9", + download_rate="0Gbps", batch_size=batch_size, upload_rate="1Gbps", protocol="TCP-IPv4", duration="120000", sort="linear") + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + lf_tools.attach_report_graphs(report_name=report_name) + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option=None, + individual_station_throughput=False, kpi_csv=True, + file_name="/kpi.csv", batch_size=batch_size) + print(csv_val) + pass_value = (400 * 0.7) + print("pass value ", pass_value) + lf_test.Client_disconnect(clear_all_sta=True, clean_l3_traffic=True) + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") + assert False + else: + allure.attach(name="Csv Data", body=str(list(csv_val["Up"].values())[-1])) + if list(csv_val["Up"].values())[-1] >= pass_value: + print("Test passed successfully") + assert True + else: + print("Test failed due to lesser value") + assert False + print("Test Completed... Cleaning up Stations") + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5971", name="WIFI-5971") + @pytest.mark.wpa2_personal + @pytest.mark.fiveg + @pytest.mark.tcp_download_10dB_dis_nss2_5g + def test_multi_station_VLAN_tcp_download_10dB_dis_nss2_5g(self, lf_test, lf_tools, station_names_fiveg): + lf_tools.reset_scenario() + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] + ssid_name = profile_data["ssid_name"] + mode = "VLAN" + vlan = 100 + batch_size = "3" + station_name = station_names_fiveg[0] + radio_name = lf_tools.fiveg_radios[0] + print(radio_name) + print(station_name) + values = radio_name.split(".") + shelf = int(values[0]) + resource = int(values[1]) + print(shelf, resource) + atten_sr = lf_test.attenuator_serial() + atten_sr1 = atten_sr[1].split(".") + print(atten_sr1) + print(atten_sr) + sta = [] + lf_tools.add_vlan(vlan_ids=[vlan]) + for i in range(3): + sta.append(station_name + str(i)) + print(sta) + lf_tools.set_radio_antenna("cli-json/set_wifi_radio", shelf, resource, values[2], 4) + sta_ip = lf_test.Client_Connect_Using_Radio(ssid=ssid_name, passkey=profile_data["security_key"], + radio=radio_name, station_name=sta) + if not sta_ip: + print("test failed due to no station ip") + assert False + for i in range(4): + lf_test.attenuator_modify(int(atten_sr1[2]), i, 100) + time.sleep(0.5) + wct_obj = lf_test.wifi_capacity(instance_name="tcp_VLAN_download_10dB_dis_nss2_5g", mode=mode, vlan_id=vlan, + download_rate="1Gbps", batch_size=batch_size, + upload_rate="0Gbps", protocol="TCP-IPv4", duration="120000", sort="linear") + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + lf_tools.attach_report_graphs(report_name=report_name) + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option=None, + individual_station_throughput=False, kpi_csv=True, + file_name="/kpi.csv", batch_size=batch_size) + print(csv_val) + pass_value = (500 * 0.7) + print("pass value ", pass_value) + lf_test.Client_disconnect(clear_all_sta=True, clean_l3_traffic=True) + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") + assert False + else: + allure.attach(name="Csv Data", body=str(list(csv_val["Down"].values())[-1])) + if list(csv_val["Down"].values())[-1] >= pass_value: + print("Test passed successfully") + assert True + else: + print("Test failed due to lesser value") + assert False + print("Test Completed... Cleaning up Stations") + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5970", name="WIFI-5970") + @pytest.mark.wpa2_personal + @pytest.mark.fiveg + @pytest.mark.tcp_download_10dB_40dB_dis_nss2_5g + def test_multi_station_VLAN_tcp_download_10dB_40dB_dis_nss2_5g(self, lf_test, lf_tools, station_names_fiveg): + lf_tools.reset_scenario() + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] + ssid_name = profile_data["ssid_name"] + mode = "VLAN" + vlan = 100 + batch_size = "3,6" + station_name = station_names_fiveg[0] + atten_sr = lf_test.attenuator_serial() + print(atten_sr) + atten_sr1 = atten_sr[1].split(".") + atten_sr2 = atten_sr[0].split(".") + print(atten_sr1, atten_sr2) + sta = [] + list_three_sta = [] + lf_tools.add_vlan(vlan_ids=[vlan]) + for i in range(6): + list_three_sta.append(station_name + str(i)) + if (i != 0) and (((i + 1) % 3) == 0): + sta.append(list_three_sta) + list_three_sta = [] + print(sta) + + for i in range(2): + radio_name = lf_tools.fiveg_radios[i] + print(radio_name) + print(station_name) + values = radio_name.split(".") + shelf = int(values[0]) + resource = int(values[1]) + print(shelf, resource) + lf_tools.set_radio_antenna("cli-json/set_wifi_radio", shelf, resource, values[2], 4) + time.sleep(0.5) + sta_ip = lf_test.Client_Connect_Using_Radio(ssid=ssid_name, passkey=profile_data["security_key"], + radio=radio_name, station_name=sta[i]) + if not sta_ip: + print("test failed due to no station ip") + assert False + time.sleep(0.5) + for i in range(4): + lf_test.attenuator_modify(int(atten_sr1[2]), i, 100) + time.sleep(0.5) + for i in range(2): + lf_test.attenuator_modify(int(atten_sr2[2]), i, 400) + time.sleep(0.5) + + wct_obj = lf_test.wifi_capacity(instance_name="tcp_VLAN_download_10dB_40dB_dis_nss2_5g", mode=mode, + vlan_id=vlan, + download_rate="1Gbps", batch_size=batch_size, + upload_rate="0Gbps", protocol="TCP-IPv4", duration="120000", sort="linear") + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + lf_tools.attach_report_graphs(report_name=report_name) + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option=None, + individual_station_throughput=False, kpi_csv=True, + file_name="/kpi.csv", batch_size=batch_size) + print(csv_val) + pass_value = (500 * 0.7) + print("pass value ", pass_value) + lf_test.Client_disconnect(clear_all_sta=True, clean_l3_traffic=True) + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") + assert False + else: + allure.attach(name="Csv Data", body=str(list(csv_val["Down"].values())[-1])) + if list(csv_val["Down"].values())[-1] >= pass_value: + print("Test passed successfully") + assert True + else: + print("Test failed due to lesser value") + assert False + print("Test Completed... Cleaning up Stations") + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5972", name="WIFI-5972") + @pytest.mark.wpa2_personal + @pytest.mark.fiveg + @pytest.mark.tcp_download_10dB_40dB_50dB_dis_nss2_5g + def test_multi_station_VLAN_tcp_download_10dB_40dB_50dB_dis_nss2_5g(self, lf_test, lf_tools, station_names_fiveg): + lf_tools.reset_scenario() + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] + ssid_name = profile_data["ssid_name"] + mode = "VLAN" + vlan = 100 + batch_size = "3,6,9" + station_name = station_names_fiveg[0] + atten_sr = lf_test.attenuator_serial() + print(atten_sr) + atten_sr1 = atten_sr[1].split(".") + atten_sr2 = atten_sr[0].split(".") + print(atten_sr1, atten_sr2) + sta = [] + list_three_sta = [] + lf_tools.add_vlan(vlan_ids=[vlan]) + for i in range(9): + list_three_sta.append(station_name + str(i)) + if (i != 0) and (((i + 1) % 3) == 0): + sta.append(list_three_sta) + list_three_sta = [] + print(sta) + for i in range(3): + radio_name = lf_tools.fiveg_radios[i] + print(radio_name) + print(station_name) + values = radio_name.split(".") + shelf = int(values[0]) + resource = int(values[1]) + print(shelf, resource) + lf_tools.set_radio_antenna("cli-json/set_wifi_radio", shelf, resource, values[2], 4) + time.sleep(0.5) + sta_ip = lf_test.Client_Connect_Using_Radio(ssid=ssid_name, passkey=profile_data["security_key"], + radio=radio_name, station_name=sta[i]) + if not sta_ip: + print("test failed due to no station ip") + assert False + time.sleep(0.5) + for i in range(4): + lf_test.attenuator_modify(int(atten_sr1[2]), i, 100) + time.sleep(0.5) + for i in range(4): + lf_test.attenuator_modify(int(atten_sr2[2]), i, 400) + time.sleep(0.5) + if i >= 2: + lf_test.attenuator_modify(int(atten_sr2[2]), i, 500) + time.sleep(0.5) + + wct_obj = lf_test.wifi_capacity(instance_name="tcp_VLAN_download_10dB_40dB_50dB_dis_nss2_5g", mode=mode, + vlan_id=vlan, + download_rate="1Gbps", batch_size="3,6,9", + upload_rate="0Gbps", protocol="TCP-IPv4", duration="120000", sort="linear") report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] lf_tools.attach_report_graphs(report_name=report_name) + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option=None, + individual_station_throughput=False, kpi_csv=True, + file_name="/kpi.csv", batch_size=batch_size) + print(csv_val) + pass_value = (400 * 0.7) + print("pass value ", pass_value) + lf_test.Client_disconnect(clear_all_sta=True, clean_l3_traffic=True) + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") + assert False + else: + allure.attach(name="Csv Data", body=str(list(csv_val["Down"].values())[-1])) + if list(csv_val["Down"].values())[-1] >= pass_value: + print("Test passed successfully") + assert True + else: + print("Test failed due to lesser value") + assert False print("Test Completed... Cleaning up Stations") - if pass_condn: - assert True -