From 1610412512e00a9925d2bf4ca7c6dd6803d823f9 Mon Sep 17 00:00:00 2001 From: Jitendrakumar Kushavah <78074038+jitendracandela@users.noreply.github.com> Date: Tue, 12 Mar 2024 16:22:08 +0530 Subject: [PATCH] Add: RF tests to the advanced test scenario's * Modified test cases as per TR-398 Issue-2 Signed-off-by: jitendracandela * Added advance testbed radio config file Signed-off-by: jitendracandela * Added maximum connection test case as per TR-398 Issue-2 Signed-off-by: jitendracandela * Added maximum throughput test case as per TR-398 Issue-2 Signed-off-by: jitendracandela * Removed older nat mode rvr test cases Signed-off-by: jitendracandela * Removed older nat and vlan mode advance rf test cases Signed-off-by: jitendracandela * Added Test Description in advance suit Signed-off-by: jitendracandela * Removed older rate_vs_orientation test plan Signed-off-by: jitendracandela * Added advance marker Signed-off-by: jitendracandela * Divided advance suit into advance AC and advance AX Signed-off-by: jitendracandela * Modified RSSI values for advanced-2 Signed-off-by: jitendracandela --------- Signed-off-by: jitendracandela --- tests/e2e/advanced/advanced-config.json | 146 ++++ .../test_bridge_air_time_fairness.py | 113 ++- .../wpa2_personal}/__init__.py | 0 .../test_bridge_maximum_connection.py | 109 +++ .../maximum_throughput_test/__init__.py | 0 .../wpa2_personal/__init__.py | 0 .../test_bridge_max_throughput.py | 116 +++ .../test_bridge_association_disassociation.py | 122 ++- .../test_nat_association_disassociation.py | 112 --- .../test_vlan_association_disassociation.py | 110 --- .../test_bridge_multi_sta_performance.py | 810 ++---------------- .../test_nat_multi_sta_performance.py | 699 --------------- .../test_vlan_multi_sta_performance.py | 792 ----------------- .../wpa2_personal/test_bridge_orientation.py | 179 ---- .../wpa2_personal/test_nat_orientation.py | 180 ---- .../wpa2_personal/test_vlan_orientation.py | 175 ---- .../wpa2_personal/test_bridge_mode.py | 161 ++-- .../wpa2_personal/test_nat_mode.py | 149 ---- .../wpa2_personal/test_vlan_mode.py | 147 ---- .../test_rx_sens_bridge_mode.py | 186 ++-- .../test_rx_sens_nat_mode.py | 151 ---- .../test_rx_sens_vlan_mode.py | 151 ---- .../wpa2_personal/test_bridge_mode.py | 153 ++-- .../wpa2_personal/test_nat_mode.py | 151 ---- .../wpa2_personal/test_vlan_mode.py | 150 ---- 25 files changed, 757 insertions(+), 4305 deletions(-) create mode 100644 tests/e2e/advanced/advanced-config.json rename tests/e2e/advanced/{rate_vs_orientation => maximum_connection/wpa2_personal}/__init__.py (100%) create mode 100644 tests/e2e/advanced/maximum_connection/wpa2_personal/test_bridge_maximum_connection.py create mode 100644 tests/e2e/advanced/maximum_throughput_test/__init__.py create mode 100644 tests/e2e/advanced/maximum_throughput_test/wpa2_personal/__init__.py create mode 100644 tests/e2e/advanced/maximum_throughput_test/wpa2_personal/test_bridge_max_throughput.py delete mode 100644 tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_nat_association_disassociation.py delete mode 100644 tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_vlan_association_disassociation.py delete mode 100644 tests/e2e/advanced/multi_station_performance/wpa2_personal/test_nat_multi_sta_performance.py delete mode 100644 tests/e2e/advanced/multi_station_performance/wpa2_personal/test_vlan_multi_sta_performance.py delete mode 100644 tests/e2e/advanced/rate_vs_orientation/wpa2_personal/test_bridge_orientation.py delete mode 100644 tests/e2e/advanced/rate_vs_orientation/wpa2_personal/test_nat_orientation.py delete mode 100644 tests/e2e/advanced/rate_vs_orientation/wpa2_personal/test_vlan_orientation.py delete mode 100644 tests/e2e/advanced/rate_vs_range/wpa2_personal/test_nat_mode.py delete mode 100644 tests/e2e/advanced/rate_vs_range/wpa2_personal/test_vlan_mode.py delete mode 100644 tests/e2e/advanced/receiver_sensitivity/test_rx_sens_nat_mode.py delete mode 100644 tests/e2e/advanced/receiver_sensitivity/test_rx_sens_vlan_mode.py delete mode 100644 tests/e2e/advanced/spatial_consistency/wpa2_personal/test_nat_mode.py delete mode 100644 tests/e2e/advanced/spatial_consistency/wpa2_personal/test_vlan_mode.py diff --git a/tests/e2e/advanced/advanced-config.json b/tests/e2e/advanced/advanced-config.json new file mode 100644 index 000000000..cb5e548c0 --- /dev/null +++ b/tests/e2e/advanced/advanced-config.json @@ -0,0 +1,146 @@ +{ + "TESTBEDS": { + "advanced-3": { + "Virtual Sta Radio Settings": { + "Group: 0": {"5Ghz": "1.3.2 wiphy0", + "2.4Ghz": "1.3.3 wiphy1", + "2.4Ghz RSSI 0 Atten": [-19, -19, -19, -19], + "5Gh RSSI 0 Atten": [-42, -42, -42, -42], + "Attenuator Modules": ["1.1.3312.0", "1.1.3312.1", "1.1.3312.2", "1.1.3312.3"] + }, + "Group: 1": {"5Ghz": "1.3.4 wiphy2", + "2.4Ghz": "1.3.5 wiphy3", + "2.4Ghz RSSI 0 Atten": [-22, -22, -22, -22], + "5Gh RSSI 0 Atten": [-36, -36, -36, -36], + "Attenuator Modules": ["1.1.3313.0", "1.1.3313.1", "1.1.3313.2", "1.1.3313.3"] + }, + "Group: 2": {"5Ghz": "1.3.6 wiphy4", + "2.4Ghz": "1.3.7 wiphy5", + "2.4Ghz RSSI 0 Atten": [-20, -20, -20, -20], + "5Gh RSSI 0 Atten": [-32, -32, -32, -32], + "Attenuator Modules": ["1.1.3314.0", "1.1.3314.1", "1.1.3314.2", "1.1.3314.3"] + } + }, + "802.11AX Settings": { + "Group: 0": {"Radios": ["1.1.5 wiphy1", "1.1.4 wiphy0", "1.1.8 wiphy2", "1.1.9 wiphy3"], + "2.4Ghz RSSI 0 Atten": [-25, -25, -25, -25], + "5Ghz RSSI 0 Atten": [-30, -30, -30, -30], + "Attenuator Modules": ["1.1.3315.0", "1.1.3315.1", "", ""] + }, + "Group: 1": {"Radios": ["1.1.10 wiphy4", "1.1.11 wiphy5", "1.1.12 wiphy6", "1.1.13 wiphy7"], + "2.4Ghz RSSI 0 Atten": [-25, -25, -25, -25], + "5Ghz RSSI 0 Atten": [-30, -30, -30, -30], + "Attenuator Modules": ["1.1.3315.2", "1.1.3315.3", "", ""] + }, + "Group: 2": {"Radios": ["1.1.14 wiphy8", "1.1.15 wiphy9", "1.1.6 wiphy10", "1.1.7 wiphy11"], + "2.4Ghz RSSI 0 Atten": [-23, -23, -23, -23], + "5Ghz RSSI 0 Atten": [-40, -40, -40, -40], + "Attenuator Modules": ["1.1.3319.0", "1.1.3319.1", "", ""] + }, + "Group: 3": {"Radios": ["1.2.2 wiphy0", "1.2.14 wiphy2", "1.2.3 wiphy1", "1.2.19 wiphy3"], + "2.4Ghz RSSI 0 Atten": [-25, -25], + "5Ghz RSSI 0 Atten": [-30, -30], + "Attenuator Modules": ["1.1.3319.0", "1.1.3319.1"] + }, + "Group: 4": {"Radios": ["1.2.20 wiphy4", "1.2.22 wiphy6", "1.2.21 wiphy5", "1.2.23 wiphy7"], + "2.4Ghz RSSI 0 Atten": [-25, -25], + "5Ghz RSSI 0 Atten": [-30, -30], + "Attenuator Modules": ["1.1.3319.0", "1.1.3319.1"] + }, + "Group: 5": {"Radios": ["1.2.24 wiphy8", "1.2.4 wiphy10", "1.2.25 wiphy9", "1.2.5 wiphy11"], + "2.4Ghz RSSI 0 Atten": [-25, -25], + "5Ghz RSSI 0 Atten": [-30, -30], + "Attenuator Modules": ["1.1.3319.0", "1.1.3319.1"] + }, + "Group: 6": {"Radios": ["1.2.6 wiphy12", "1.2.8 wiphy14", "1.2.7 wiphy13", "1.2.9 wiphy15"], + "2.4Ghz RSSI 0 Atten": [-25, -25], + "5Ghz RSSI 0 Atten": [-30, -30], + "Attenuator Modules": ["1.1.3319.0", "1.1.3319.1"] + }, + "Group: 7": {"Radios": ["1.2.10 wiphy16", "1.2.12 wiphy18", "1.2.11 wiphy17", "1.2.13 wiphy19"], + "2.4Ghz RSSI 0 Atten": [-25, -25], + "5Ghz RSSI 0 Atten": [-30, -30], + "Attenuator Modules": ["1.1.3319.0", "1.1.3319.1"] + } + } + }, + "advanced-1": { + "Virtual Sta Radio Settings": { + "Group: 0": {"5Ghz": "1.2.2 wiphy0", + "2.4Ghz": "1.2.3 wiphy1", + "2.4Ghz RSSI 0 Atten": [-17, -17, -17, -17], + "5Gh RSSI 0 Atten": [-35, -35, -35, -35], + "Attenuator Modules": ["1.1.3253.0", "1.1.3253.1", "1.1.3253.2", "1.1.3253.3"] + }, + "Group: 1": {"5Ghz": "1.2.4 wiphy2", + "2.4Ghz": "1.2.5 wiphy3", + "2.4Ghz RSSI 0 Atten": [-16, -16, -16, -16], + "5Gh RSSI 0 Atten": [-37, -37, -37, -37], + "Attenuator Modules": ["1.1.3257.0", "1.1.3257.1", "1.1.3257.2", "1.1.3257.3"] + }, + "Group: 2": {"5Ghz": "1.2.6 wiphy4", + "2.4Ghz": "1.2.7 wiphy5", + "2.4Ghz RSSI 0 Atten": [-19, -19, -19, -19], + "5Gh RSSI 0 Atten": [-40, -40, -40, -40], + "Attenuator Modules": ["1.1.3264.0", "1.1.3264.1", "1.1.3264.2", "1.1.3264.3"] + } + }, + "802.11AX Settings": { + "Group: 0": {"Radios": ["1.1.4 wiphy0", "1.1.5 wiphy1", "1.1.8 wiphy2", "1.1.9 wiphy3"], + "2.4Ghz RSSI 0 Atten": [-16, -16, -16, -16], + "5Ghz RSSI 0 Atten": [-26, -26, -26, -26], + "Attenuator Modules": ["1.1.3266.0", "1.1.3266.1", "", ""] + }, + "Group: 1": {"Radios": ["1.1.10 wiphy4", "1.1.11 wiphy5", "1.1.12 wiphy6", "1.1.13 wiphy7"], + "2.4Ghz RSSI 0 Atten": [-17, -17, -17, -17], + "5Ghz RSSI 0 Atten": [-25, -25, -25, -25], + "Attenuator Modules": ["1.1.3266.2", "1.1.3266.3", "", ""] + }, + "Group: 2": {"Radios": ["1.1.14 wiphy8", "1.1.15 wiphy9", "1.1.6 wiphy10", "1.1.7 wiphy11"], + "2.4Ghz RSSI 0 Atten": [-12, -12, -12, -12], + "5Ghz RSSI 0 Atten": [-24, -24, -24, -24], + "Attenuator Modules": ["1.1.3269.0", "1.1.3269.1", "", ""] + } + } + }, + "advanced-2": { + "Virtual Sta Radio Settings": { + "Group: 0": {"5Ghz": "1.2.4 wiphy0", + "2.4Ghz": "1.2.14 wiphy1", + "2.4Ghz RSSI 0 Atten": [-18, -18, -18, -18], + "5Gh RSSI 0 Atten": [-35, -35, -35, -35], + "Attenuator Modules": ["1.1.3325.0", "1.1.3325.1", "1.1.3325.2", "1.1.3325.3"] + }, + "Group: 1": {"5Ghz": "1.2.15 wiphy2", + "2.4Ghz": "1.2.16 wiphy3", + "2.4Ghz RSSI 0 Atten": [-18, -18, -18, -18], + "5Gh RSSI 0 Atten": [-38, -38, -38, -38], + "Attenuator Modules": ["1.1.3248.0", "1.1.3248.1", "1.1.3248.2", "1.1.3248.3"] + }, + "Group: 2": {"5Ghz": "1.2.17 wiphy4", + "2.4Ghz": "1.2.18 wiphy5", + "2.4Ghz RSSI 0 Atten": [-16, -16, -16, -16], + "5Gh RSSI 0 Atten": [-32, -32, -32, -32], + "Attenuator Modules": ["1.1.3326.0", "1.1.3326.1", "1.1.3326.2", "1.1.3326.3"] + } + }, + "802.11AX Settings": { + "Group: 0": {"Radios": ["1.1.4 wiphy0", "1.1.5 wiphy1", "1.1.8 wiphy2", "1.1.9 wiphy3"], + "2.4Ghz RSSI 0 Atten": [-36, -36, -36, -36], + "5Ghz RSSI 0 Atten": [-59, -59, -59, -59], + "Attenuator Modules": ["1.1.3327.0", "1.1.3327.1", "", ""] + }, + "Group: 1": {"Radios": ["1.1.10 wiphy4", "1.1.11 wiphy5", "1.1.12 wiphy6", "1.1.13 wiphy7"], + "2.4Ghz RSSI 0 Atten": [-28, -28, -28, -28], + "5Ghz RSSI 0 Atten": [-38, -38, -38, -38], + "Attenuator Modules": ["1.1.3327.2", "1.1.3327.3", "", ""] + }, + "Group: 2": {"Radios": ["1.1.14 wiphy8", "1.1.15 wiphy9", "1.1.6 wiphy10", "1.1.7 wiphy11"], + "2.4Ghz RSSI 0 Atten": [-35, -35, -35, -35], + "5Ghz RSSI 0 Atten": [-48, -48, -48, -48], + "Attenuator Modules": ["1.1.3328.0", "1.1.3328.1", "", ""] + } + } + } + } +} \ No newline at end of file diff --git a/tests/e2e/advanced/air_time_fairness_test/wpa2_personal/test_bridge_air_time_fairness.py b/tests/e2e/advanced/air_time_fairness_test/wpa2_personal/test_bridge_air_time_fairness.py index c48bd6875..38e9d99ed 100644 --- a/tests/e2e/advanced/air_time_fairness_test/wpa2_personal/test_bridge_air_time_fairness.py +++ b/tests/e2e/advanced/air_time_fairness_test/wpa2_personal/test_bridge_air_time_fairness.py @@ -1,7 +1,7 @@ """ Airtime Fairness Tests: BRIDGE Mode - pytest -m "airtime_fairness_tests and wpa2_personal and bridge" + pytest -m "atf and wpa2_personal and bridge" """ @@ -11,7 +11,7 @@ import os import time import logging -pytestmark = [pytest.mark.advance, pytest.mark.airtime_fairness_tests, pytest.mark.wpa2_personal, pytest.mark.bridge] +pytestmark = [pytest.mark.advance, pytest.mark.atf, pytest.mark.wpa2_personal, pytest.mark.bridge] setup_params_general = { "mode": "BRIDGE", @@ -21,68 +21,101 @@ setup_params_general = { {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} ] }, - "rf": {}, + "rf": { + "5G": { + 'band': '5G', + "channel": 36, + "channel-width": 80 + }, + "2G": { + 'band': '2G', + "channel": 6, + "channel-width": 20 + + } + + }, "radius": False } + + +@allure.feature("Airtime Fairness") +@allure.parent_suite("Airtime Fairness Test") +@allure.suite(suite_name="BRIDGE Mode") +@allure.sub_suite(sub_suite_name="WPA2 Personal") @pytest.mark.parametrize( 'setup_configuration', [setup_params_general], indirect=True, scope="class" ) -@allure.parent_suite("Airtime Fairness Tests") -@allure.suite("WPA2 Personal Security") -@allure.sub_suite("Bridge Mode") -@allure.feature("green field & medium distanced & legacy stations") @pytest.mark.usefixtures("setup_configuration") -class TestAtfBridge(object): - """ - BRIDGE Mode Airtime Fairness Test with wpa2 personal encryption - pytest -m "airtime_fairness_tests and bridge and wpa2_personal" - """ - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6394", name="WIFI-6394") +class Test_Atf_Bridge(object): + + @pytest.mark.wpa2_personal @pytest.mark.twog - @pytest.mark.atf_2g - @allure.title("Test for Airtime fairness of 2.4G") - def test_atf_2g(self, get_test_library, setup_configuration, check_connectivity): + @pytest.mark.fiveg + @pytest.mark.advance_ac + @allure.title("Airtime Fairness Test for AC Clients in BRIDGE Mode") + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13341", name="WIFI-13341") + def test_atf_ac_bridge(self, get_test_library, setup_configuration, check_connectivity, selected_testbed): """ - BRIDGE Mode Airtime Fairness Test with wpa2 personal encryption 2.4 GHz Band - pytest -m "airtime_fairness_tests and bridge and twog and wpa2_personal and atf_2g" + Test Description: + Airtime Fairness Test intends to verify the capability of Wi-Fi device to ensure the fairness of airtime usage. + This test uses two stations at a time, with one station running in optimum configuration. The second station + varies between optimum configuration, weaker signal, and legacy mode configurations. In each setting, + TCP traffic is used to determine maximum capacity of each station running by itself. Then, UDP traffic is + created on STA1 to run at 75% of the TCP throughput and UDP traffic is created on the second station at + 50% of the TCP throughput for that station. This overdrives the AP and causes it to drop frames. The + pass/fail criteria is that each station gets at least 45% of the TCP throughput when both stations are + running the prescribed UDP traffic. + + Marker: + advance_ac and atf and wpa2_personal and bridge + + Note: Please refer to the PDF report for the Test Procedure, Pass/Fail Criteria, and Candela Score. """ - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] mode = "BRIDGE" vlan = 1 - band = 'twog' - result, description = get_test_library.air_time_fairness(ssid=ssid_name, passkey=security_key, security="wpa2", - mode=mode, band=band, vlan_id=vlan,atn=380, - pass_value=[80,80,48], dut_data=setup_configuration) + raw_line = [["skip_ac: 0"], ["skip_ax: 1"]] + result, description = get_test_library.tr398v2(mode=mode, vlan_id=vlan, test="atf3", + dut_data=setup_configuration, move_to_influx=False, + testbed=selected_testbed, extra_raw_lines=raw_line) if result: assert True else: assert False, description - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6394", name="WIFI-6394") + @pytest.mark.wpa2_personal + @pytest.mark.twog @pytest.mark.fiveg - @pytest.mark.atf_5g - @allure.title("Test for Airtime fairness of 5G") - def test_atf_5g(self, get_test_library, setup_configuration, check_connectivity): + @pytest.mark.advance_ax + @allure.title("Airtime Fairness Test for AX Clients in BRIDGE Mode") + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13341", name="WIFI-13341") + def test_atf_ax_bridge(self, get_test_library, setup_configuration, check_connectivity, selected_testbed): """ - BRIDGE Mode Airtime Fairness Test with wpa2 personal encryption 5 GHz Band - pytest -m "airtime_fairness_tests and bridge and fiveg and wpa2_personal and atf_5g" + Test Description: + Airtime Fairness Test intends to verify the capability of Wi-Fi device to ensure the fairness of airtime usage. + This test uses two stations at a time, with one station running in optimum configuration. The second station + varies between optimum configuration, weaker signal, and legacy mode configurations. In each setting, + TCP traffic is used to determine maximum capacity of each station running by itself. Then, UDP traffic is + created on STA1 to run at 75% of the TCP throughput and UDP traffic is created on the second station at + 50% of the TCP throughput for that station. This overdrives the AP and causes it to drop frames. The + pass/fail criteria is that each station gets at least 45% of the TCP throughput when both stations are + running the prescribed UDP traffic. + + Marker: + advance_ax and atf and wpa2_personal and bridge + + Note: Please refer to the PDF report for the Test Procedure, Pass/Fail Criteria, and Candela Score. """ - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] mode = "BRIDGE" vlan = 1 - band = 'fiveg' - - result, description = get_test_library.air_time_fairness(ssid=ssid_name, passkey=security_key, security="wpa2", - mode=mode, band=band, vlan_id=vlan, atn=250, - pass_value=[500,470,260], dut_data=setup_configuration) + raw_line = [["skip_ac: 1"], ["skip_ax: 0"]] + result, description = get_test_library.tr398v2(mode=mode, vlan_id=vlan, test="atf3", + dut_data=setup_configuration, move_to_influx=False, + testbed=selected_testbed, extra_raw_lines=raw_line) if result: assert True else: - assert False, description \ No newline at end of file + assert False, description diff --git a/tests/e2e/advanced/rate_vs_orientation/__init__.py b/tests/e2e/advanced/maximum_connection/wpa2_personal/__init__.py similarity index 100% rename from tests/e2e/advanced/rate_vs_orientation/__init__.py rename to tests/e2e/advanced/maximum_connection/wpa2_personal/__init__.py diff --git a/tests/e2e/advanced/maximum_connection/wpa2_personal/test_bridge_maximum_connection.py b/tests/e2e/advanced/maximum_connection/wpa2_personal/test_bridge_maximum_connection.py new file mode 100644 index 000000000..a9565dae5 --- /dev/null +++ b/tests/e2e/advanced/maximum_connection/wpa2_personal/test_bridge_maximum_connection.py @@ -0,0 +1,109 @@ +""" + + Test Maximum Connection : Bridge Mode + pytest -m "maximum_connection" +""" +import sys + +import pytest +import allure +import json +import os + +pytestmark = [pytest.mark.advance, pytest.mark.maximum_connection, pytest.mark.bridge] + +setup_params_general = { + "mode": "BRIDGE", + "ssid_modes": { + "wpa2_personal": [ + {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"}, + {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} + ] + }, + "rf": { + "5G": { + 'band': '5G', + "channel": 36, + "channel-width": 80 + }, + "2G": { + 'band': '2G', + "channel": 6, + "channel-width": 20 + + } + + }, + "radius": False +} + + +@allure.feature("Maximum Connection") +@allure.parent_suite("Maximum Connection Test") +@allure.suite(suite_name="BRIDGE Mode") +@allure.sub_suite(sub_suite_name="WPA2 Personal") +@pytest.mark.parametrize( + 'setup_configuration', + [setup_params_general], + indirect=True, + scope="class" +) +@pytest.mark.usefixtures("setup_configuration") +class Test_MaxConnection_Bridge(object): + + @pytest.mark.wpa2_personal + @pytest.mark.twog + @pytest.mark.fiveg + @pytest.mark.advance_ac + @allure.title("Maximum Connection Test for AC Clients in BRIDGE Mode") + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13328", name="WIFI-13328") + def test_max_connection_ac_bridge(self, get_test_library, setup_configuration, check_connectivity, selected_testbed): + """ + Test Description: + The Maximum Connection test intends to verify that the Wi-Fi AP can support 32 STAs simultaneously + connected with minimal packet loss and no disassociations taking place. + + Marker: + advance_ac and maximum_connection and wpa2_personal and bridge + + Note: Please refer to the PDF report for the Test Procedure, Pass/Fail Criteria, and Candela Score. + """ + mode = "BRIDGE" + vlan = 1 + raw_line = [["skip_ac: 0"], ["skip_ax: 1"]] + result, description = get_test_library.tr398v2(mode=mode, vlan_id=vlan, test="max_cx", + dut_data=setup_configuration, move_to_influx=False, + testbed=selected_testbed, extra_raw_lines=raw_line) + if result: + assert True + else: + assert False, description + + @pytest.mark.wpa2_personal + @pytest.mark.twog + @pytest.mark.fiveg + @pytest.mark.advance_ax + @allure.title("Maximum Connection Test for AX Clients in BRIDGE Mode") + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13328", name="WIFI-13328") + def test_max_connection_ax_bridge(self, get_test_library, setup_configuration, check_connectivity, selected_testbed): + """ + Test Description: + The Maximum Connection test intends to verify that the Wi-Fi AP can support 32 STAs simultaneously + connected with minimal packet loss and no disassociations taking place. + + Marker: + advance_ax and maximum_connection and wpa2_personal and bridge + + Note: Please refer to the PDF report for the Test Procedure, Pass/Fail Criteria, and Candela Score. + """ + mode = "BRIDGE" + vlan = 1 + raw_line = [["skip_ac: 1"], ["skip_ax: 0"]] + result, description = get_test_library.tr398v2(mode=mode, vlan_id=vlan, test="max_cx", + dut_data=setup_configuration, move_to_influx=False, + testbed=selected_testbed, extra_raw_lines=raw_line) + if result: + assert True + else: + assert False, description + diff --git a/tests/e2e/advanced/maximum_throughput_test/__init__.py b/tests/e2e/advanced/maximum_throughput_test/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/advanced/maximum_throughput_test/wpa2_personal/__init__.py b/tests/e2e/advanced/maximum_throughput_test/wpa2_personal/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/advanced/maximum_throughput_test/wpa2_personal/test_bridge_max_throughput.py b/tests/e2e/advanced/maximum_throughput_test/wpa2_personal/test_bridge_max_throughput.py new file mode 100644 index 000000000..fbf66ffd1 --- /dev/null +++ b/tests/e2e/advanced/maximum_throughput_test/wpa2_personal/test_bridge_max_throughput.py @@ -0,0 +1,116 @@ +""" + + Maximum Throughput Test : Bridge Mode + pytest -m "maximum_throughput" +""" +import sys + +import pytest +import allure +import json +import os + +pytestmark = [pytest.mark.advance, pytest.mark.maximum_throughput, pytest.mark.bridge] + +setup_params_general = { + "mode": "BRIDGE", + "ssid_modes": { + "wpa2_personal": [ + {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"}, + {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} + ] + }, + "rf": { + "5G": { + 'band': '5G', + "channel": 36, + "channel-width": 80 + }, + "2G": { + 'band': '2G', + "channel": 6, + "channel-width": 20 + + } + + }, + "radius": False +} + + +@allure.feature("Maximum Throughput") +@allure.parent_suite("Maximum Throughput Test") +@allure.suite(suite_name="BRIDGE Mode") +@allure.sub_suite(sub_suite_name="WPA2 Personal") +@pytest.mark.parametrize( + 'setup_configuration', + [setup_params_general], + indirect=True, + scope="class" +) +@pytest.mark.usefixtures("setup_configuration") +class Test_MaxThroughput_Bridge(object): + + @pytest.mark.wpa2_personal + @pytest.mark.twog + @pytest.mark.fiveg + @pytest.mark.advance_ac + @allure.title("Maximum Throughput Test for AC Clients in BRIDGE Mode") + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13330", name="WIFI-13330") + def test_maximum_throughput_ac_bridge(self, get_test_library, setup_configuration, check_connectivity, + selected_testbed): + """ + Test Description: + The Maximum throughput test intends to measure the maximum throughput performance of the DUT with + a single station active. The test uses TCP connections and the attenuation is adjusted to emulate a + distance of 2 meters. The 2.4Ghz station is configured for 20Mhz bandwidth and the 5Ghz station is + configured for 80Mhz bandwidth. In 6Ghz, the station is configured for 160Mhz bandwidth. In both cases + the station is configured for a maximum of two spatial streams. + + Marker: + advance_ac and maximum_throughput and wpa2_personal and bridge + + Note: Please refer to the PDF report for the Test Procedure, Pass/Fail Criteria, and Candela Score. + """ + mode = "BRIDGE" + vlan = 1 + raw_line = [["skip_ac: 0"], ["skip_ax: 1"]] + result, description = get_test_library.tr398v2(mode=mode, vlan_id=vlan, test="max_tput", + dut_data=setup_configuration, move_to_influx=False, + testbed=selected_testbed, extra_raw_lines=raw_line) + if result: + assert True + else: + assert False, description + + @pytest.mark.wpa2_personal + @pytest.mark.twog + @pytest.mark.fiveg + @pytest.mark.advance_ax + @allure.title("Maximum Throughput Test for AX Clients in BRIDGE Mode") + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13330", name="WIFI-13330") + def test_maximum_throughput_ax_bridge(self, get_test_library, setup_configuration, check_connectivity, + selected_testbed): + """ + Test Description: + The Maximum throughput test intends to measure the maximum throughput performance of the DUT with + a single station active. The test uses TCP connections and the attenuation is adjusted to emulate a + distance of 2 meters. The 2.4Ghz station is configured for 20Mhz bandwidth and the 5Ghz station is + configured for 80Mhz bandwidth. In 6Ghz, the station is configured for 160Mhz bandwidth. In both cases + the station is configured for a maximum of two spatial streams. + + Marker: + advance_ax and maximum_throughput and wpa2_personal and bridge + + Note: Please refer to the PDF report for the Test Procedure, Pass/Fail Criteria, and Candela Score. + """ + mode = "BRIDGE" + vlan = 1 + raw_line = [["skip_ac: 1"], ["skip_ax: 0"]] + result, description = get_test_library.tr398v2(mode=mode, vlan_id=vlan, test="max_tput", + dut_data=setup_configuration, move_to_influx=False, + testbed=selected_testbed, extra_raw_lines=raw_line) + if result: + assert True + else: + assert False, description diff --git a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py index 605211fd8..c7905ab98 100644 --- a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py +++ b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py @@ -8,7 +8,7 @@ import pytest import allure -pytestmark = [pytest.mark.advance, pytest.mark.multi_assoc_disassoc_tests, pytest.mark.bridge, pytest.mark.wpa2_personal] +pytestmark = [pytest.mark.advance, pytest.mark.multi_assoc_disassoc_tests, pytest.mark.bridge] setup_params_general = { "mode": "BRIDGE", @@ -18,93 +18,91 @@ setup_params_general = { {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} ] }, - "rf": {}, + "rf": { + "5G": { + 'band': '5G', + "channel": 36, + "channel-width": 80 + }, + "2G": { + 'band': '2G', + "channel": 6, + "channel-width": 20 + + } + + }, "radius": False } + + +@allure.feature("Multi Association and Disassociation") +@allure.parent_suite("Multi Association and Disassociation Test") +@allure.suite(suite_name="BRIDGE Mode") +@allure.sub_suite(sub_suite_name="WPA2 Personal") @pytest.mark.parametrize( 'setup_configuration', [setup_params_general], indirect=True, scope="class" ) -@allure.parent_suite("Multi Association and Disassociation Tests") -@allure.suite("WPA2 Personal Security") -@allure.sub_suite("Bridge Mode") -@allure.feature("UDP upload") @pytest.mark.usefixtures("setup_configuration") -class TestMultiAssoDisassoBridge(object): +class Test_MultiAssoc_Bridge(object): - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5691", name="WIFI-5691") + @pytest.mark.wpa2_personal @pytest.mark.twog - @pytest.mark.udp_upload_2g - @allure.title("Test for Multi Association and Disassociation for UDP (NSS-2) upload 2.4G") - def test_multi_asso_disasso_udp_upload_nss2_2g(self, get_test_library, setup_configuration, check_connectivity): + @pytest.mark.fiveg + @pytest.mark.advance_ac + @allure.title("Multi Association and Disassociation Test for AC Clients in BRIDGE Mode") + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13339", name="WIFI-13339") + def test_multi_assoc_disassoc_ac_bridge(self, get_test_library, setup_configuration, check_connectivity, + selected_testbed): """ - pytest -m "multi_assoc_disassoc_tests and wpa2_personal and bridge and twog and udp_upload_2g" + Test Description: + Multiple association / disassociation stability test intends to measure stability of Wi-Fi device under a + dynamic environment with frequent change of connection status. + + Marker: + advance_ac and multi_assoc_disassoc_tests and wpa2_personal and bridge + + Note: Please refer to the PDF report for the Test Procedure, Pass/Fail Criteria, and Candela Score. """ mode = "BRIDGE" vlan = 1 - result, discription = get_test_library.multi_asso_disasso(band="2G", num_stations=16, dut_data=setup_configuration, - mode = mode, vlan=vlan, instance_name="udp_upload_2g", - traffic_direction="upload", traffic_rate="4Mbps") + raw_line = [["skip_ac: 0"], ["skip_ax: 1"]] + result, description = get_test_library.tr398v2(mode=mode, vlan_id=vlan, test="reset", + dut_data=setup_configuration, move_to_influx=False, + testbed=selected_testbed, extra_raw_lines=raw_line) if result: assert True else: - assert False, discription + assert False, description - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5692", name="WIFI-5692") + @pytest.mark.wpa2_personal @pytest.mark.twog - @pytest.mark.udp_download_2g - @allure.title("Test for Multi Association and Disassociation for UDP (NSS-2) download 2.4G") - def test_multi_asso_disasso_udp_download_nss2_2g(self, get_test_library, setup_configuration, check_connectivity): - """ - pytest -m "multi_assoc_disassoc_tests and wpa2_personal and bridge and twog and udp_download_2g" - """ - mode = "BRIDGE" - vlan = 1 - result, discription = get_test_library.multi_asso_disasso(band="2G", num_stations=16, - dut_data=setup_configuration, - mode=mode, vlan=vlan, instance_name="udp_download_2g", - traffic_direction="download", traffic_rate="4Mbps") - if result: - assert True - else: - assert False, discription - - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5693", name="WIFI-5693") @pytest.mark.fiveg - @pytest.mark.udp_upload_5g - @allure.title("Test for Multi Association and Disassociation for UDP (NSS-2) upload 5G") - def test_multi_asso_disasso_udp_upload_nss2_5g(self, get_test_library, setup_configuration, check_connectivity): + @pytest.mark.advance_ax + @allure.title("Multi Association and Disassociation Test for AX Clients in BRIDGE Mode") + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13339", name="WIFI-13339") + def test_multi_assoc_disassoc_ax_bridge(self, get_test_library, setup_configuration, check_connectivity, + selected_testbed): """ - pytest -m "multi_assoc_disassoc_tests and wpa2_personal and bridge and fiveg and udp_upload_5g" - """ - mode = "BRIDGE" - vlan = 1 - result, discription = get_test_library.multi_asso_disasso(band="5G", num_stations=16, - dut_data=setup_configuration, - mode=mode, vlan=vlan, instance_name="udp_upload_5g", - traffic_direction="upload", traffic_rate="8Mbps") - if result: - assert True - else: - assert False, discription + Test Description: + Multiple association / disassociation stability test intends to measure stability of Wi-Fi device under a + dynamic environment with frequent change of connection status. - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5694", name="WIFI-5694") - @pytest.mark.fiveg - @pytest.mark.udp_download_5g - @allure.title("Test for Multi Association and Disassociation for UDP (NSS-2) download 5G") - def test_multi_asso_disasso_udp_download_nss2_5g(self, get_test_library, setup_configuration,check_connectivity): - """ - pytest -m "multi_assoc_disassoc_tests and wpa2_personal and bridge and fiveg and udp_download_5g" + Marker: + advance_ax and multi_assoc_disassoc_tests and wpa2_personal and bridge + + Note: Please refer to the PDF report for the Test Procedure, Pass/Fail Criteria, and Candela Score. """ mode = "BRIDGE" vlan = 1 - result, discription = get_test_library.multi_asso_disasso(band="5G", num_stations=16, - dut_data=setup_configuration, - mode=mode, vlan=vlan, instance_name="udp_download_5g", - traffic_direction="download", traffic_rate="8Mbps") + raw_line = [["skip_ac: 1"], ["skip_ax: 0"]] + result, description = get_test_library.tr398v2(mode=mode, vlan_id=vlan, test="reset", + dut_data=setup_configuration, move_to_influx=False, + testbed=selected_testbed, extra_raw_lines=raw_line) if result: assert True else: - assert False, discription \ No newline at end of file + assert False, description diff --git a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_nat_association_disassociation.py b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_nat_association_disassociation.py deleted file mode 100644 index 5465d6d8b..000000000 --- a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_nat_association_disassociation.py +++ /dev/null @@ -1,112 +0,0 @@ -""" - - Multi Association and Disassociation: NAT Mode - pytest -m "multi_assoc_disassoc_tests and wpa2_personal and nat" - -""" - -import pytest -import allure - -pytestmark = [pytest.mark.advance, pytest.mark.multi_assoc_disassoc_tests, pytest.mark.nat, pytest.mark.wpa2_personal] - -setup_params_general = { - "mode": "NAT", - "ssid_modes": { - "wpa2_personal": [ - {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"}, - {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ] - }, - "rf": {}, - "radius": False -} -@pytest.mark.parametrize( - 'setup_configuration', - [setup_params_general], - indirect=True, - scope="class" -) -@allure.parent_suite("Multi Association and Disassociation Tests") -@allure.suite("WPA2 Personal Security") -@allure.sub_suite("Nat Mode") -@allure.feature("UDP upload") -@pytest.mark.usefixtures("setup_configuration") -class TestMultiAssoDisassoNat(object): - - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5848", name="WIFI-5848") - @pytest.mark.twog - @pytest.mark.udp_upload_2g - @allure.title("Test for Multi Association and Disassociation for UDP (NSS-2) upload 2.4G") - def test_multi_asso_disasso_NAT_udp_upload_nss2_2g(self, get_test_library, setup_configuration, check_connectivity): - """ - pytest -m "multi_assoc_disassoc_tests and wpa2_personal and nat and twog and udp_upload_2g" - """ - mode = "NAT-WAN" - vlan = 1 - result, discription = get_test_library.multi_asso_disasso(band="2G", num_stations=16, dut_data=setup_configuration, - mode = mode, vlan=vlan, instance_name="udp_upload_2g", - traffic_direction="upload", traffic_rate="4Mbps") - if result: - assert True - else: - assert False, discription - - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5870", name="WIFI-5870") - @pytest.mark.twog - @pytest.mark.udp_download_2g - @allure.title("Test for Multi Association and Disassociation for UDP (NSS-2) download 2.4G") - def test_multi_asso_disasso_NAT_udp_download_nss2_2g(self, get_test_library, setup_configuration): - """ - pytest -m "multi_assoc_disassoc_tests and wpa2_personal and nat and twog and udp_download_2g" - """ - mode = "NAT-WAN" - vlan = 1 - result, discription = get_test_library.multi_asso_disasso(band="2G", num_stations=16, - dut_data=setup_configuration, - mode=mode, vlan=vlan, instance_name="udp_download_2g", - traffic_direction="download", traffic_rate="4Mbps") - if result: - assert True - else: - assert False, discription - - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5871", name="WIFI-5871") - @pytest.mark.fiveg - @pytest.mark.udp_upload_5g - @allure.title("Test for Multi Association and Disassociation for UDP (NSS-2) upload 5G") - def test_multi_asso_disasso_NAT_udp_upload_nss2_5g(self, get_test_library, setup_configuration): - """ - pytest -m "multi_assoc_disassoc_tests and wpa2_personal and nat and fiveg and udp_upload_5g" - """ - mode = "NAT-WAN" - vlan = 1 - result, discription = get_test_library.multi_asso_disasso(band="5G", num_stations=16, - dut_data=setup_configuration, - mode=mode, vlan=vlan, instance_name="udp_upload_5g", - traffic_direction="upload", traffic_rate="8Mbps") - if result: - assert True - else: - assert False, discription - - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5872", name="WIFI-5872") - @pytest.mark.fiveg - @pytest.mark.udp_download_5g - @allure.title("Test for Multi Association and Disassociation for UDP (NSS-2) download 5G") - def test_multi_asso_disasso_NAT_udp_download_nss2_5g(self, get_test_library, setup_configuration): - """ - pytest -m "multi_assoc_disassoc_tests and wpa2_personal and nat and fiveg and udp_download_5g" - """ - mode = "NAT-WAN" - vlan = 1 - result, discription = get_test_library.multi_asso_disasso(band="5G", num_stations=16, - dut_data=setup_configuration, - mode=mode, vlan=vlan, instance_name="udp_download_5g", - traffic_direction="download", traffic_rate="8Mbps") - if result: - assert True - else: - assert False, discription - - diff --git a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_vlan_association_disassociation.py b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_vlan_association_disassociation.py deleted file mode 100644 index f46088675..000000000 --- a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_vlan_association_disassociation.py +++ /dev/null @@ -1,110 +0,0 @@ -""" - - Multi Association and Disassociation: BRIDGE Mode - pytest -m "multi_assoc_disassoc_tests and wpa2_personal and vlan" - -""" - -import pytest -import allure - -pytestmark = [pytest.mark.advance, pytest.mark.multi_assoc_disassoc_tests, pytest.mark.vlan, pytest.mark.wpa2_personal] - -setup_params_general = { - "mode": "VLAN", - "ssid_modes": { - "wpa2_personal": [ - {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something", "vlan":100}, - {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something", "vlan":100} - ] - }, - "rf": {}, - "radius": False -} -@pytest.mark.parametrize( - 'setup_configuration', - [setup_params_general], - indirect=True, - scope="class" -) -@allure.parent_suite("Multi Association and Disassociation Tests") -@allure.suite("WPA2 Personal Security") -@allure.sub_suite("Vlan Mode") -@allure.feature("UDP upload") -@pytest.mark.usefixtures("setup_configuration") -class TestMultiAssoDisassoVlan(object): - - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5873", name="WIFI-5873") - @pytest.mark.twog - @pytest.mark.udp_upload_2g - @allure.title("Test for Multi Association and Disassociation for UDP (NSS-2) upload 2.4G") - def test_multi_asso_disasso_VLAN_udp_upload_nss2_2g(self, get_test_library, setup_configuration, check_connectivity): - """ - pytest -m "multi_assoc_disassoc_tests and wpa2_personal and vlan and twog and udp_upload_2g" - """ - mode = "VLAN" - vlan = [100] - result, discription = get_test_library.multi_asso_disasso(band="2G", num_stations=16, dut_data=setup_configuration, - mode=mode, vlan=vlan, instance_name="udp_upload_2g", - traffic_direction="upload", traffic_rate="4Mbps") - if result: - assert True - else: - assert False, discription - - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5874", name="WIFI-5874") - @pytest.mark.twog - @pytest.mark.udp_download_2g - @allure.title("Test for Multi Association and Disassociation for UDP (NSS-2) download 2.4G") - def test_multi_asso_disasso_VLAN_udp_download_nss2_2g(self, get_test_library, setup_configuration, check_connectivity): - """ - pytest -m "multi_assoc_disassoc_tests and wpa2_personal and vlan and twog and udp_download_2g" - """ - mode = "VLAN" - vlan = [100] - result, discription = get_test_library.multi_asso_disasso(band="2G", num_stations=16, - dut_data=setup_configuration, - mode=mode, vlan=vlan, instance_name="udp_download_2g", - traffic_direction="download", traffic_rate="4Mbps") - if result: - assert True - else: - assert False, discription - - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5875", name="WIFI-5875") - @pytest.mark.fiveg - @pytest.mark.udp_upload_5g - @allure.title("Test for Multi Association and Disassociation for UDP (NSS-2) upload 5G") - def test_multi_asso_disasso_VLAN_udp_upload_nss2_5g(self, get_test_library, setup_configuration, check_connectivity): - """ - pytest -m "multi_assoc_disassoc_tests and wpa2_personal and vlan and fiveg and udp_upload_5g" - """ - mode = "VLAN" - vlan = [100] - result, discription = get_test_library.multi_asso_disasso(band="5G", num_stations=16, - dut_data=setup_configuration, - mode=mode, vlan=vlan, instance_name="udp_upload_5g", - traffic_direction="upload", traffic_rate="8Mbps") - if result: - assert True - else: - assert False, discription - - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5876", name="WIFI-5876") - @pytest.mark.fiveg - @pytest.mark.udp_download_5g - @allure.title("Test for Multi Association and Disassociation for UDP (NSS-2) download 5G") - def test_multi_asso_disasso_VLAN_udp_download_nss2_5g(self, get_test_library, setup_configuration, check_connectivity): - """ - pytest -m "multi_assoc_disassoc_tests and wpa2_personal and vlan and fiveg and udp_download_5g" - """ - mode = "VLAN" - vlan = [100] - result, discription = get_test_library.multi_asso_disasso(band="5G", num_stations=16, - dut_data=setup_configuration, - mode=mode, vlan=vlan, instance_name="udp_download_5g", - traffic_direction="download", traffic_rate="8Mbps") - if result: - assert True - else: - assert False, discription diff --git a/tests/e2e/advanced/multi_station_performance/wpa2_personal/test_bridge_multi_sta_performance.py b/tests/e2e/advanced/multi_station_performance/wpa2_personal/test_bridge_multi_sta_performance.py index d12eb99c1..1927f9980 100644 --- a/tests/e2e/advanced/multi_station_performance/wpa2_personal/test_bridge_multi_sta_performance.py +++ b/tests/e2e/advanced/multi_station_performance/wpa2_personal/test_bridge_multi_sta_performance.py @@ -17,16 +17,24 @@ setup_params_general = { }, "rf": { "5G": { - "channel-width": 80}, + 'band': '5G', + "channel": 36, + "channel-width": 80 + }, "2G": { - "channel-width": 20} + 'band': '2G', + "channel": 6, + "channel-width": 20 + + } + }, "radius": False } -@allure.feature("MULTI-STATION PERFORMANCE") -@allure.parent_suite("Multi Station Performance Test") +@allure.feature("Multi-Station Performance") +@allure.parent_suite("Multi-Station Performance Test") @allure.suite(suite_name="BRIDGE Mode") @allure.sub_suite(sub_suite_name="WPA2 Personal") @pytest.mark.parametrize( @@ -36,774 +44,62 @@ setup_params_general = { scope="class" ) @pytest.mark.usefixtures("setup_configuration") -class TestMultiStaPerfBridge(object): - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("BRIDGE Mode Multi Station Performance Test with 10dB(NSS-1) distance UDP-upload 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5733", name="WIFI-5733") - @pytest.mark.bridge_tsm +class Test_MultiStaPerf_Bridge(object): + @pytest.mark.wpa2_personal @pytest.mark.twog - @pytest.mark.tps - @pytest.mark.udp_upload_10dB_dis_nss1_2g - def test_multi_station_udp_upload_10dB_dis_nss1_2g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] + @pytest.mark.fiveg + @pytest.mark.advance_ac + @allure.title("Multi-Station Performance Test for AC Clients in BRIDGE Mode") + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13338", name="WIFI-13338") + def test_multistaperf_ac_bridge(self, get_test_library, setup_configuration, check_connectivity, selected_testbed): + """ + Test Description: + Multiple STAs performance test intends to measure the performance of Wi-Fi device connected with multiple + STAs at different distances simultaneously. There are three sets of 3 stations, with each group at a + different emulated distance. + + Marker: + advance_ac and multistaperf and wpa2_personal and bridge + + Note: Please refer to the PDF report for the Test Procedure, Pass/Fail Criteria, and Candela Score. + """ mode = "BRIDGE" vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=1, - instance_name="udp_upload_10dB_dis_nss1_2g", - set_att_db="10db", download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3", - protocol="UDP-IPv4", duration="120000", - expected_throughput=35, - traffic_type="udp_upload" - , dut_data=setup_configuration, - sniff_radio=True) + raw_line = [["skip_ac: 0"], ["skip_ax: 1"]] + result, description = get_test_library.tr398v2(mode=mode, vlan_id=vlan, test="multi_sta", + dut_data=setup_configuration, move_to_influx=False, + testbed=selected_testbed, extra_raw_lines=raw_line) if result: assert True else: assert False, description - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("BRIDGE Mode Multi Station Performance Test with 10dB,38dB(NSS-1) distance UDP-upload 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5844", name="WIFI-5844") @pytest.mark.wpa2_personal @pytest.mark.twog - @pytest.mark.tpsm - @pytest.mark.udp_upload_10dB_38dB_dis_nss1_2g - def test_multi_station_udp_upload_10dB_38dB_dis_nss1_2g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "BRIDGE" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=1, - instance_name="udp_upload_10dB_38dB_dis_nss1_2g", - set_att_db="10db,38db", download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3,6", - protocol="UDP-IPv4", duration="120000", - expected_throughput=30, - traffic_type="udp_upload" - , dut_data=setup_configuration, - sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title( - "BRIDGE Mode Multi Station Performance Test with 10dB,38dB,48dB(NSS-1) distance UDP-upload 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5877", name="WIFI-5877") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.tpsml - @pytest.mark.udp_upload_10dB_38dB_48dB_dis_nss1_2g - def test_multi_station_udp_upload_10dB_38dB_48dB_dis_nss1_2g(self, setup_configuration, get_test_library, - num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "BRIDGE" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=1, - instance_name="udp_upload_10dB_38dB_48dB_dis_nss1_2g", - set_att_db="10db,38db,48db", - download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3,6,9", - protocol="UDP-IPv4", duration="120000", - expected_throughput=25, - traffic_type="udp_upload" - , dut_data=setup_configuration, - sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("BRIDGE Mode Multi Station Performance Test with 10dB(NSS-1) distance UDP-download 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5881", name="WIFI-5881") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.tps - @pytest.mark.udp_download_10dB_dis_nss1_2g - def test_multi_station_udp_download_10dB_dis_nss1_2g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "BRIDGE" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=1, - instance_name="udp_download_10dB_dis_nss1_2g", - set_att_db="10db", download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3", - protocol="UDP-IPv4", duration="120000", - expected_throughput=35, - traffic_type="udp_download" - , dut_data=setup_configuration, - sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("BRIDGE Mode Multi Station Performance Test with 10dB,38dB(NSS-1) distance UDP-download 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5882", name="WIFI-5882") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.tpsm - @pytest.mark.udp_download_10dB_38dB_dis_nss1_2g - def test_multi_station_udp_download_10dB_38dB_dis_nss1_2g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "BRIDGE" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=1, - instance_name="udp_download_10dB_38dB_dis_nss1_2g", - set_att_db="10db,38db", download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3,6", - protocol="UDP-IPv4", duration="120000", - expected_throughput=30, - traffic_type="udp_download" - , dut_data=setup_configuration, - sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title( - "BRIDGE Mode Multi Station Performance Test with 10dB,38dB,48dB(NSS-1) distance UDP-download 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6083", name="WIFI-6083") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.tpsml - @pytest.mark.udp_download_10dB_38dB_48dB_dis_nss1_2g - def test_multi_station_udp_download_10dB_38dB_48dB_dis_nss1_2g(self, setup_configuration, get_test_library, - num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "BRIDGE" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=1, - instance_name="udp_download_10dB_38dB_48dB_dis_nss1_2g", - set_att_db="10db,38db,48db", - download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3,6,9", - protocol="UDP-IPv4", duration="120000", - expected_throughput=25, - traffic_type="udp_download" - , dut_data=setup_configuration, - sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("BRIDGE Mode Multi Station Performance Test with 10dB(NSS-1) distance UDP-upload 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6086", name="WIFI-6086") - @pytest.mark.bridge_tsm - @pytest.mark.wpa2_personal @pytest.mark.fiveg - @pytest.mark.tps - @pytest.mark.udp_upload_10dB_dis_nss1_5g - def test_multi_station_udp_upload_10dB_dis_nss1_5g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] + @pytest.mark.advance_ax + @allure.title("Multi-Station Performance Test for AX Clients in BRIDGE Mode") + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13338", name="WIFI-13338") + def test_multistaperf_ax_bridge(self, get_test_library, setup_configuration, check_connectivity, selected_testbed): + """ + Test Description: + Multiple STAs performance test intends to measure the performance of Wi-Fi device connected with multiple + STAs at different distances simultaneously. There are three sets of 3 stations, with each group at a + different emulated distance. + + Marker: + advance_ax and multistaperf and wpa2_personal and bridge + + Note: Please refer to the PDF report for the Test Procedure, Pass/Fail Criteria, and Candela Score. + """ mode = "BRIDGE" vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=1, - instance_name="udp_upload_10dB_dis_nss1_5g", - set_att_db="10db", download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3", - protocol="UDP-IPv4", duration="120000", - expected_throughput=250, - traffic_type="udp_upload" - , dut_data=setup_configuration, - sniff_radio=True) + raw_line = [["skip_ac: 1"], ["skip_ax: 0"]] + result, description = get_test_library.tr398v2(mode=mode, vlan_id=vlan, test="multi_sta", + dut_data=setup_configuration, move_to_influx=False, + testbed=selected_testbed, extra_raw_lines=raw_line) if result: assert True else: assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("BRIDGE Mode Multi Station Performance Test with 10dB,25dB(NSS-1) distance UDP-upload 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6087", name="WIFI-6087") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.tpsm - @pytest.mark.udp_upload_10dB_25dB_dis_nss1_5g - def test_multi_station_udp_upload_10dB_25dB_dis_nss1_5g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "BRIDGE" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=1, - instance_name="udp_upload_10dB_25dB_dis_nss1_5g", - set_att_db="10db,25db", download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3,6", - protocol="UDP-IPv4", duration="120000", - expected_throughput=250, - traffic_type="udp_upload" - , dut_data=setup_configuration, - sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title( - "BRIDGE Mode Multi Station Performance Test with 10dB,25dB,35dB(NSS-1) distance UDP-upload 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6088", name="WIFI-6088") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.tpsml - @pytest.mark.udp_upload_10dB_25dB_35dB_dis_nss1_5g - def test_multi_station_udp_upload_10dB_25dB_35dB_dis_nss1_5g(self, setup_configuration, get_test_library, - num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "BRIDGE" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=1, - instance_name="udp_upload_10dB_25dB_35dB_dis_nss1_5g", - set_att_db="10db,25db,35db", - download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3,6,9", - protocol="UDP-IPv4", duration="120000", - expected_throughput=200, - traffic_type="udp_upload" - , dut_data=setup_configuration, - sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("BRIDGE Mode Multi Station Performance Test with 10dB(NSS-1) distance UDP-download 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5878", name="WIFI-5878") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.tps - @pytest.mark.udp_download_10dB_dis_nss1_5g - def test_multi_station_udp_download_10dB_dis_nss1_5g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "BRIDGE" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=1, - instance_name="udp_download_10dB_dis_nss1_5g", - set_att_db="10db", download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3", - protocol="UDP-IPv4", duration="120000", - expected_throughput=250, - traffic_type="udp_download" - , dut_data=setup_configuration, - sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("BRIDGE Mode Multi Station Performance Test with 10dB,25dB(NSS-1) distance UDP-download 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5879", name="WIFI-5879") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.tpsm - @pytest.mark.udp_download_10dB_25dB_dis_nss1_5g - def test_multi_station_udp_download_10dB_25dB_dis_nss1_5g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "BRIDGE" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=1, - instance_name="udp_download_10dB_25dB_dis_nss1_5g", - set_att_db="10db,25db", download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3,6", - protocol="UDP-IPv4", duration="120000", - expected_throughput=250, - traffic_type="udp_download" - , dut_data=setup_configuration, - sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title( - "BRIDGE Mode Multi Station Performance Test with 10dB,25dB,35dB(NSS-1) distance UDP-download 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5880", name="WIFI-5880") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.tpsml - @pytest.mark.udp_download_10dB_25dB_35dB_dis_nss1_5g - def test_multi_station_udp_download_10dB_25dB_35dB_dis_nss1_5g(self, setup_configuration, get_test_library, - num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "BRIDGE" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=1, - instance_name="udp_download_10dB_25dB_35dB_dis_nss1_5g", - set_att_db="10db,25db,35db", - download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3,6,9", - protocol="UDP-IPv4", duration="120000", - expected_throughput=200, - traffic_type="udp_download" - , dut_data=setup_configuration, - sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("BRIDGE Mode Multi Station Performance Test with 10dB(NSS-2) distance UDP-upload 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5883", name="WIFI-5883") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.tps - @pytest.mark.udp_upload_10dB_dis_nss2_2g - def test_multi_station_udp_upload_10dB_dis_nss2_2g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "BRIDGE" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=4, - instance_name="udp_upload_10dB_dis_nss2_2g", - set_att_db="10db", download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3", - protocol="UDP-IPv4", duration="120000", - expected_throughput=70, - traffic_type="udp_upload" - , dut_data=setup_configuration, - sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("BRIDGE Mode Multi Station Performance Test with 10dB,38dB(NSS-2) distance UDP-upload 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5887", name="WIFI-5887") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.tpsm - @pytest.mark.udp_upload_10dB_38dB_dis_nss2_2g - def test_multi_station_udp_upload_10dB_38dB_dis_nss2_2g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "BRIDGE" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=4, - instance_name="udp_upload_10dB_38dB_dis_nss2_2g", - set_att_db="10db,38db", download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3,6", - protocol="UDP-IPv4", duration="120000", - expected_throughput=60, - traffic_type="udp_upload" - , dut_data=setup_configuration, - sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title( - "BRIDGE Mode Multi Station Performance Test with 10dB,38dB,48dB(NSS-2) distance UDP-upload 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5886", name="WIFI-5886") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.tpsml - @pytest.mark.udp_upload_10dB_38dB_48dB_dis_nss2_2g - def test_multi_station_udp_upload_10dB_38dB_48dB_dis_nss2_2g(self, setup_configuration, get_test_library, - num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "BRIDGE" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=4, - instance_name="udp_upload_10dB_38dB_48dB_dis_nss2_2g", - set_att_db="10db,38db,48db", - download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3,6,9", - protocol="UDP-IPv4", duration="120000", - expected_throughput=50, - traffic_type="udp_upload" - , dut_data=setup_configuration, - sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("BRIDGE Mode Multi Station Performance Test with 10dB(NSS-2) distance UDP-download 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5890", name="WIFI-5890") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.tps - @pytest.mark.udp_download_10dB_dis_nss2_2g - def test_multi_station_udp_download_10dB_dis_nss2_2g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "BRIDGE" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=4, - instance_name="udp_download_10dB_dis_nss2_2g", - set_att_db="10db", download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3", - protocol="UDP-IPv4", duration="120000", - expected_throughput=70, - traffic_type="udp_download" - , dut_data=setup_configuration, - sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("BRIDGE Mode Multi Station Performance Test with 10dB,38dB(NSS-2) distance UDP-download 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5889", name="WIFI-5889") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.tpsm - @pytest.mark.udp_download_10dB_38dB_dis_nss2_2g - def test_multi_station_udp_download_10dB_38dB_dis_nss2_2g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "BRIDGE" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=4, - instance_name="udp_download_10dB_38dB_dis_nss2_2g", - set_att_db="10db,38db", download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3,6", - protocol="UDP-IPv4", duration="120000", - expected_throughput=60, - traffic_type="udp_download" - , dut_data=setup_configuration, - sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title( - "BRIDGE Mode Multi Station Performance Test with 10dB,38dB,48dB(NSS-2) distance UDP-download 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5888", name="WIFI-5888") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.tpsml - @pytest.mark.udp_download_10dB_38dB_48dB_dis_nss2_2g - def test_multi_station_udp_download_10dB_38dB_48dB_dis_nss2_2g(self, setup_configuration, get_test_library, - num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "BRIDGE" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=4, - instance_name="udp_download_10dB_38dB_48dB_dis_nss2_2g", - set_att_db="10db,38db,48db", - download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3,6,9", - protocol="UDP-IPv4", duration="120000", - expected_throughput=50, - traffic_type="udp_download" - , dut_data=setup_configuration, - sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("BRIDGE Mode Multi Station Performance Test with 10dB(NSS-2) distance UDP-upload 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5884", name="WIFI-5884") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.tps - @pytest.mark.udp_upload_10dB_dis_nss2_5g - def test_multi_station_udp_upload_10dB_dis_nss2_5g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "BRIDGE" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=4, - instance_name="udp_upload_10dB_dis_nss2_5g", - set_att_db="10db", download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3", - protocol="UDP-IPv4", duration="120000", - expected_throughput=500, - traffic_type="udp_upload" - , dut_data=setup_configuration, - sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("BRIDGE Mode Multi Station Performance Test with 10dB,25dB(NSS-2) distance UDP-upload 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5885", name="WIFI-5885") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.tpsm - @pytest.mark.udp_upload_10dB_25dB_dis_nss2_5g - def test_multi_station_udp_upload_10dB_25dB_dis_nss2_5g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "BRIDGE" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=4, - instance_name="udp_upload_10dB_25dB_dis_nss2_5g", - set_att_db="10db,25db", download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3,6", - protocol="UDP-IPv4", duration="120000", - expected_throughput=500, - traffic_type="udp_upload" - , dut_data=setup_configuration, - sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title( - "BRIDGE Mode Multi Station Performance Test with 10dB,25dB,35dB(NSS-2) distance UDP-upload 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5896", name="WIFI-5896") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.tpsml - @pytest.mark.udp_upload_10dB_25dB_35dB_dis_nss2_5g - def test_multi_station_udp_upload_10dB_25dB_35dB_dis_nss2_5g(self, setup_configuration, get_test_library, - num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "BRIDGE" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=4, - instance_name="udp_upload_10dB_25dB_35dB_dis_nss2_5g", - set_att_db="10db,25db,35db", - download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3,6,9", - protocol="UDP-IPv4", duration="120000", - expected_throughput=400, - traffic_type="udp_upload" - , dut_data=setup_configuration, - sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("BRIDGE Mode Multi Station Performance Test with 10dB(NSS-2) distance UDP-download 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5892", name="WIFI-5892") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.tps - @pytest.mark.udp_download_10dB_dis_nss2_5g - def test_multi_station_udp_download_10dB_dis_nss2_5g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "BRIDGE" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=4, - instance_name="udp_download_10dB_dis_nss2_5g", - set_att_db="10db", download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3", - protocol="UDP-IPv4", duration="120000", - expected_throughput=500, - traffic_type="udp_download" - , dut_data=setup_configuration, - sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("BRIDGE Mode Multi Station Performance Test with 10dB,25dB(NSS-2) distance UDP-download 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5891", name="WIFI-5891") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.tpsm - @pytest.mark.udp_download_10dB_25dB_dis_nss2_5g - def test_multi_station_udp_download_10dB_25dB_dis_nss2_5g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "BRIDGE" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=4, - instance_name="udp_download_10dB_25dB_dis_nss2_5g", - set_att_db="10db,25db", download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3,6", - protocol="UDP-IPv4", duration="120000", - expected_throughput=500, - traffic_type="udp_download" - , dut_data=setup_configuration, - sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title( - "BRIDGE Mode Multi Station Performance Test with 10dB,25dB,35dB(NSS-2) distance UDP-download 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5895", name="WIFI-5895") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.tpsml - @pytest.mark.udp_download_10dB_25dB_35dB_dis_nss2_5g - def test_multi_station_udp_download_10dB_25dB_35dB_dis_nss2_5g(self, setup_configuration, get_test_library, - num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "BRIDGE" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=4, - instance_name="udp_download_10dB_25dB_35dB_dis_nss2_5g", - set_att_db="10db,25db,35db", - download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3,6,9", - protocol="UDP-IPv4", duration="120000", - expected_throughput=400, - traffic_type="udp_download" - , dut_data=setup_configuration, - sniff_radio=True) - if result: - assert True - else: - assert False, description - diff --git a/tests/e2e/advanced/multi_station_performance/wpa2_personal/test_nat_multi_sta_performance.py b/tests/e2e/advanced/multi_station_performance/wpa2_personal/test_nat_multi_sta_performance.py deleted file mode 100644 index b8566e05c..000000000 --- a/tests/e2e/advanced/multi_station_performance/wpa2_personal/test_nat_multi_sta_performance.py +++ /dev/null @@ -1,699 +0,0 @@ -""" - Test Multi-Station Performance: Nat Mode - pytest -m multistaperf -""" -import pytest -import allure - -pytestmark = [pytest.mark.advance, pytest.mark.multistaperf, pytest.mark.nat] - -setup_params_general = { - "mode": "NAT", - "ssid_modes": { - "wpa2_personal": [ - {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"}, - {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ] - }, - "rf": { - "5G":{ - "channel-width": 80}, - "2G":{ - "channel-width": 20} - }, - "radius": False -} - -@allure.feature("MULTI-STATION PERFORMANCE") -@allure.parent_suite("Multi Station Performance Test") -@allure.suite(suite_name="NAT Mode") -@allure.sub_suite(sub_suite_name="WPA2 Personal") -@pytest.mark.parametrize( - 'setup_configuration', - [setup_params_general], - indirect=True, - scope="class" -) -@pytest.mark.usefixtures("setup_configuration") -class TestMultiStaPerfNat(object): - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("NAT Mode Multi Station Performance Test with 10dB(NSS-1) distance UDP-upload 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5897", name="WIFI-5897") - @pytest.mark.nat_tsm - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.udp_upload_10dB_dis_nss1_2g - def test_multi_station_NAT_udp_upload_10dB_dis_nss1_2g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "NAT-WAN" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=1, - instance_name="udp_upload_10dB_dis_nss1_2g", - set_att_db="10db", download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3", - protocol="UDP-IPv4", duration="120000", - expected_throughput=35, traffic_type="udp_upload" - ,dut_data=setup_configuration,sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("NAT Mode Multi Station Performance Test with 10dB,38dB(NSS-1) distance UDP-upload 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5898", name="WIFI-5898") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.udp_upload_10dB_38dB_dis_nss1_2g - def test_multi_station_NAT_udp_upload_10dB_38dB_dis_nss1_2g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "NAT-WAN" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=1, - instance_name="udp_upload_10dB_38dB_dis_nss1_2g", - set_att_db="10db,38db", download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3,6", - protocol="UDP-IPv4", duration="120000", - expected_throughput=30, traffic_type="udp_upload" - ,dut_data=setup_configuration,sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("NAT Mode Multi Station Performance Test with 10dB,38dB,48dB(NSS-1) distance UDP-upload 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5901", name="WIFI-5901") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.udp_upload_10dB_38dB_48dB_dis_nss1_2g - def test_multi_station_NAT_udp_upload_10dB_38dB_48dB_dis_nss1_2g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "NAT-WAN" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=1, - instance_name="udp_upload_10dB_38dB_48dB_dis_nss1_2g", - set_att_db="10db,38db,48db", - download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3,6,9", - protocol="UDP-IPv4", duration="120000", - expected_throughput=25,traffic_type="udp_upload" - ,dut_data=setup_configuration,sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("NAT Mode Multi Station Performance Test with 10dB(NSS-1) distance UDP-download 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5905", name="WIFI-5905") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.udp_download_10dB_dis_nss1_2g - def test_multi_station_NAT_udp_download_10dB_dis_nss1_2g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "NAT-WAN" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=1, - instance_name="udp_download_10dB_dis_nss1_2g", - set_att_db="10db", download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3", - protocol="UDP-IPv4", duration="120000", - expected_throughput=35,traffic_type="udp_download" - ,dut_data=setup_configuration,sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title( - "NAT Mode Multi Station Performance Test with 10dB,38dB(NSS-1) distance UDP-download 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5906", name="WIFI-5906") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.udp_download_10dB_38dB_dis_nss1_2g - def test_multi_station_NAT_udp_download_10dB_38dB_dis_nss1_2g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "NAT-WAN" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=1, - instance_name="udp_download_10dB_38dB_dis_nss1_2g", - set_att_db="10db,38db", download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3,6", - protocol="UDP-IPv4", duration="120000", - expected_throughput=30,traffic_type="udp_download" - ,dut_data=setup_configuration,sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title( - "NAT Mode Multi Station Performance Test with 10dB,38dB,48dB(NSS-1) distance UDP-download 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6084", name="WIFI-6084") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.udp_download_10dB_38dB_48dB_dis_nss1_2g - def test_multi_station_NAT_udp_download_10dB_38dB_48dB_dis_nss1_2g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "NAT-WAN" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=1, - instance_name="udp_download_10dB_38dB_48dB_dis_nss1_2g", - set_att_db="10db,38db,48db", - download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3,6,9", - protocol="UDP-IPv4", duration="120000", - expected_throughput=25,traffic_type="udp_download" - ,dut_data=setup_configuration,sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("NAT Mode Multi Station Performance Test with 10dB(NSS-1) distance UDP-upload 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6089", name="WIFI-6089") - @pytest.mark.nat_tsm - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.udp_upload_10dB_dis_nss1_5g - def test_multi_station_NAT_udp_upload_10dB_dis_nss1_5g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "NAT-WAN" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=1, - instance_name="udp_upload_10dB_dis_nss1_5g", - set_att_db="10db", download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3", - protocol="UDP-IPv4", duration="120000", - expected_throughput=250,traffic_type="udp_upload" - ,dut_data=setup_configuration,sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("NAT Mode Multi Station Performance Test with 10dB,25dB(NSS-1) distance UDP-upload 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6090", name="WIFI-6090") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.udp_upload_10dB_25dB_dis_nss1_5g - def test_multi_station_NAT_udp_upload_10dB_25dB_dis_nss1_5g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "NAT-WAN" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=1, - instance_name="udp_upload_10dB_25dB_dis_nss1_5g", - set_att_db="10db,25db", download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3,6", - protocol="UDP-IPv4", duration="120000", - expected_throughput=250,traffic_type="udp_upload" - ,dut_data=setup_configuration,sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("NAT Mode Multi Station Performance Test with 10dB,25dB,35dB(NSS-1) distance UDP-upload 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6091", name="WIFI-6091") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.udp_upload_10dB_25dB_35dB_dis_nss1_5g - def test_multi_station_NAT_udp_upload_10dB_25dB_35dB_dis_nss1_5g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "NAT-WAN" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=1, - instance_name="udp_upload_10dB_25dB_35dB_dis_nss1_5g", - set_att_db="10db,25db,35db", - download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3,6,9", - protocol="UDP-IPv4", duration="120000", - expected_throughput=200,traffic_type="udp_upload" - ,dut_data=setup_configuration,sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("NAT Mode Multi Station Performance Test with 10dB(NSS-1) distance UDP-download 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5902", name="WIFI-5902") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.udp_download_10dB_dis_nss1_5g - def test_multi_station_NAT_udp_download_10dB_dis_nss1_5g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "NAT-WAN" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=1, - instance_name="udp_download_10dB_dis_nss1_5g", - set_att_db="10db", download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3", - protocol="UDP-IPv4", duration="120000", - expected_throughput=250,traffic_type="udp_download" - ,dut_data=setup_configuration,sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("NAT Mode Multi Station Performance Test with 10dB,25dB(NSS-1) distance UDP-download 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5903", name="WIFI-5903") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.udp_download_10dB_25dB_dis_nss1_5g - def test_multi_station_NAT_udp_download_10dB_25dB_dis_nss1_5g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "NAT-WAN" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=1, - instance_name="udp_download_10dB_25dB_dis_nss1_5g", - set_att_db="10db,25db", download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3,6", - protocol="UDP-IPv4", duration="120000", - expected_throughput=250,traffic_type="udp_download" - ,dut_data=setup_configuration,sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("NAT Mode Multi Station Performance Test with 10dB,25dB,35dB(NSS-1) distance UDP-download 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5904", name="WIFI-5904") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.udp_download_10dB_25dB_35dB_dis_nss1_5g - def test_multi_station_NAT_udp_download_10dB_25dB_35dB_dis_nss1_5g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "NAT-WAN" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=1, - instance_name="udp_download_10dB_25dB_35dB_dis_nss1_5g", - set_att_db="10db,25db,35db", - download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3,6,9", - protocol="UDP-IPv4", duration="120000", - expected_throughput=200,traffic_type="udp_download" - ,dut_data=setup_configuration,sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("NAT Mode Multi Station Performance Test with 10dB(NSS-2) distance UDP-upload 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5907", name="WIFI-5907") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.udp_upload_10dB_dis_nss2_2g - def test_multi_station_NAT_udp_upload_10dB_dis_nss2_2g(self, setup_configuration, get_test_library, num_stations, get_test_device_logs, - get_dut_logs_per_test_case, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "NAT-WAN" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=4, - instance_name="udp_upload_10dB_dis_nss2_2g", - set_att_db="10db", download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3", - protocol="UDP-IPv4", duration="120000", - expected_throughput=70,traffic_type="udp_upload" - ,dut_data=setup_configuration,sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("NAT Mode Multi Station Performance Test with 10dB,38dB(NSS-2) distance UDP-upload 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5911", name="WIFI-5911") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.udp_upload_10dB_38dB_dis_nss2_2g - def test_multi_station_NAT_udp_upload_10dB_38dB_dis_nss2_2g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "NAT-WAN" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=4, - instance_name="udp_upload_10dB_38dB_dis_nss2_2g", - set_att_db="10db,38db", download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3,6", - protocol="UDP-IPv4", duration="120000", - expected_throughput=60,traffic_type="udp_upload" - ,dut_data=setup_configuration,sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("NAT Mode Multi Station Performance Test with 10dB,38dB,48dB(NSS-2) distance UDP-upload 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5910", name="WIFI-5910") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.udp_upload_10dB_38dB_48dB_dis_nss2_2g - def test_multi_station_NAT_udp_upload_10dB_38dB_48dB_dis_nss2_2g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "NAT-WAN" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=4, - instance_name="udp_upload_10dB_38dB_48dB_dis_nss2_2g", - set_att_db="10db,38db,48db", - download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3,6,9", - protocol="UDP-IPv4", duration="120000", - expected_throughput=50, traffic_type="udp_upload" - ,dut_data=setup_configuration,sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("NAT Mode Multi Station Performance Test with 10dB(NSS-2) distance UDP-download 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5914", name="WIFI-5914") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.udp_download_10dB_dis_nss2_2g - def test_multi_station_NAT_udp_download_10dB_dis_nss2_2g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "NAT-WAN" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=4, - instance_name="udp_download_10dB_dis_nss2_2g", - set_att_db="10db", download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3", - protocol="UDP-IPv4", duration="120000", - expected_throughput=70,traffic_type="udp_download" - ,dut_data=setup_configuration,sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("NAT Mode Multi Station Performance Test with 10dB,38dB(NSS-2) distance UDP-download 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5913", name="WIFI-5913") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.udp_download_10dB_38dB_dis_nss2_2g - def test_multi_station_NAT_udp_download_10dB_38dB_dis_nss2_2g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "NAT-WAN" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=4, - instance_name="udp_download_10dB_38dB_dis_nss2_2g", - set_att_db="10db,38db", download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3,6", - protocol="UDP-IPv4", duration="120000", - expected_throughput=60,traffic_type="udp_download" - ,dut_data=setup_configuration,sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("NAT Mode Multi Station Performance Test with 10dB,38dB,48dB(NSS-2) distance UDP-download 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5912", name="WIFI-5912") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.udp_download_10dB_38dB_48dB_dis_nss2_2g - def test_multi_station_NAT_udp_download_10dB_38dB_48dB_dis_nss2_2g(self, setup_configuration, get_test_library, - num_stations, get_test_device_logs, get_dut_logs_per_test_case, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "NAT-WAN" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=4, - instance_name="udp_download_10dB_38dB_48dB_dis_nss2_2g", - set_att_db="10db,38db,48db", - download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3,6,9", - protocol="UDP-IPv4", duration="120000", - expected_throughput=50,traffic_type="udp_download" - ,dut_data=setup_configuration,sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("NAT Mode Multi Station Performance Test with 10dB(NSS-2) distance UDP-upload 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5908", name="WIFI-5908") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.udp_upload_10dB_dis_nss2_5g - def test_multi_station_NAT_udp_upload_10dB_dis_nss2_5g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "NAT-WAN" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=4, - instance_name="udp_upload_10dB_dis_nss2_5g", - set_att_db="10db", download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3", - protocol="UDP-IPv4", duration="120000", - expected_throughput=500,traffic_type="udp_upload" - ,dut_data=setup_configuration,sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("NAT Mode Multi Station Performance Test with 10dB,25dB(NSS-2) distance UDP-upload 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5909", name="WIFI-5909") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.udp_upload_10dB_25dB_dis_nss2_5g - def test_multi_station_NAT_udp_upload_10dB_25dB_dis_nss2_5g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "NAT-WAN" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=4, - instance_name="udp_upload_10dB_25dB_dis_nss2_5g", - set_att_db="10db,25db", download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3,6", - protocol="UDP-IPv4", duration="120000", - expected_throughput=500,traffic_type="udp_upload" - ,dut_data=setup_configuration,sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("NAT Mode Multi Station Performance Test with 10dB,25dB,35dB(NSS-2) distance UDP-upload 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5918", name="WIFI-5918") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.udp_upload_10dB_25dB_35dB_dis_nss2_5g - def test_multi_station_NAT_udp_upload_10dB_25dB_35dB_dis_nss2_5g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "NAT-WAN" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=4, - instance_name="udp_upload_10dB_25dB_35dB_dis_nss2_5g", - set_att_db="10db,25db,35db", - download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3,6,9", - protocol="UDP-IPv4", duration="120000", - expected_throughput=400,traffic_type="udp_upload" - ,dut_data=setup_configuration,sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("NAT Mode Multi Station Performance Test with 10dB(NSS-2) distance UDP-download 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5916", name="WIFI-5916") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.udp_download_10dB_dis_nss2_5g - def test_multi_station_NAT_udp_download_10dB_dis_nss2_5g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "NAT-WAN" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=4, - instance_name="udp_download_10dB_dis_nss2_5g", - set_att_db="10db", download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3", - protocol="UDP-IPv4", duration="120000", - expected_throughput=500,traffic_type="udp_download" - ,dut_data=setup_configuration,sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("NAT Mode Multi Station Performance Test with 10dB,25dB(NSS-2) distance UDP-download 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5915", name="WIFI-5915") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.udp_download_10dB_25dB_dis_nss2_5g - def test_multi_station_NAT_udp_download_10dB_25dB_dis_nss2_5g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "NAT-WAN" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=4, - instance_name="udp_download_10dB_25dB_dis_nss2_5g", - set_att_db="10db,25db", download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3,6", - protocol="UDP-IPv4", duration="120000", - expected_throughput=500,traffic_type="udp_download" - ,dut_data=setup_configuration,sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("NAT Mode Multi Station Performance Test with 10dB,25dB,35dB(NSS-2) distance UDP-upload 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5917", name="WIFI-5917") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.udp_download_10dB_25dB_35dB_dis_nss2_5g - def test_multi_station_NAT_udp_download_10dB_25dB_35dB_dis_nss2_5g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - mode = "NAT-WAN" - vlan = 1 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=4, - instance_name="udp_download_10dB_25dB_35dB_dis_nss2_5g", - set_att_db="10db,25db,35db", - download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3,6,9", - protocol="UDP-IPv4", duration="120000", - expected_throughput=400,traffic_type="udp_download" - ,dut_data=setup_configuration,sniff_radio=True) - if result: - assert True - else: - assert False, description - 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 deleted file mode 100644 index 74bc1f800..000000000 --- a/tests/e2e/advanced/multi_station_performance/wpa2_personal/test_vlan_multi_sta_performance.py +++ /dev/null @@ -1,792 +0,0 @@ -""" - Test Multi-Station Performance: Vlan Mode - pytest -m multistaperf -""" -import pytest -import allure - -pytestmark = [pytest.mark.advance, pytest.mark.multistaperf, pytest.mark.vlan] - -setup_params_general = { - "mode": "VLAN", - "ssid_modes": { - "wpa2_personal": [ - {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something", "vlan": 100}, - {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something", "vlan": 100} - ] - }, - "rf": { - "5G": { - "channel-width": 80}, - "2G": { - "channel-width": 20} - }, - "radius": False -} - - -@allure.feature("MULTI-STATION PERFORMANCE") -@allure.parent_suite("Multi Station Performance Test") -@allure.suite(suite_name="VLAN Mode") -@allure.sub_suite(sub_suite_name="WPA2 Personal") -@pytest.mark.parametrize( - 'setup_configuration', - [setup_params_general], - indirect=True, - scope="class" -) -@pytest.mark.usefixtures("setup_configuration") -class TestMultiStaPerfVlan(object): - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("VLAN Mode Multi Station Performance Test with 10dB(NSS-1) distance UDP-upload 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5942", name="WIFI-5942") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.udp_upload_10dB_dis_nss1_2g - def test_multi_station_VLAN_udp_upload_10dB_dis_nss1_2g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something", "vlan": 100} - ssid_name = profile_data["ssid_name"] - mode = "VLAN" - vlan = 100 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=1, - instance_name="udp_upload_10dB_dis_nss1_2g", - set_att_db="10db", download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3", - protocol="UDP-IPv4", duration="120000", - expected_throughput=35, - traffic_type="udp_upload", - dut_data=setup_configuration - , sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("VLAN Mode Multi Station Performance Test with 10dB,38dB(NSS-1) distance UDP-upload 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5944", name="WIFI-5944") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.udp_upload_10dB_38dB_dis_nss1_2g - def test_multi_station_VLAN_udp_upload_10dB_38dB_dis_nss1_2g(self, setup_configuration, get_test_library, - num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something", "vlan": 100} - ssid_name = profile_data["ssid_name"] - mode = "VLAN" - vlan = 100 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=1, - instance_name="udp_upload_10dB_38dB_dis_nss1_2g", - set_att_db="10db,38db", download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3,6", - protocol="UDP-IPv4", duration="120000", - expected_throughput=30, - traffic_type="udp_upload", - dut_data=setup_configuration - , sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title( - "VLAN Mode Multi Station Performance Test with 10dB,38dB,48DdB(NSS-1) distance UDP-upload 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5945", name="WIFI-5945") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.udp_upload_10dB_38dB_48dB_dis_nss1_2g - def test_multi_station_VLAN_udp_upload_10dB_38dB_48dB_dis_nss1_2g(self, setup_configuration, get_test_library, - num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something", "vlan": 100} - ssid_name = profile_data["ssid_name"] - mode = "VLAN" - vlan = 100 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=1, - instance_name="udp_upload_10dB_38dB_48dB_dis_nss1_2g", - set_att_db="10db,38db,48db", - download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3,6,9", - protocol="UDP-IPv4", duration="120000", - expected_throughput=25, - traffic_type="udp_upload", - dut_data=setup_configuration - , sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title( - "VLAN Mode Multi Station Performance Test with 10dB(NSS-1) distance UDP-download 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5949", name="WIFI-5949") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.udp_download_10dB_dis_nss1_2g - def test_multi_station_VLAN_udp_download_10dB_dis_nss1_2g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something", "vlan": 100} - ssid_name = profile_data["ssid_name"] - mode = "VLAN" - vlan = 100 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=1, - instance_name="udp_download_10dB_dis_nss1_2g", - set_att_db="10db", download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3", - protocol="UDP-IPv4", duration="120000", - expected_throughput=35, - traffic_type="udp_download", - dut_data=setup_configuration - , sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("VLAN Mode Multi Station Performance Test with 10dB,38dB(NSS-1) distance UDP-download 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5950", name="WIFI-5950") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.udp_download_10dB_38dB_dis_nss1_2g - def test_multi_station_VLAN_udp_download_10dB_38dB_dis_nss1_2g(self, setup_configuration, get_test_library, - num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something", "vlan": 100} - ssid_name = profile_data["ssid_name"] - mode = "VLAN" - vlan = 100 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=1, - instance_name="udp_download_10dB_38dB_dis_nss1_2g", - set_att_db="10db,38db", download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3,6", - protocol="UDP-IPv4", duration="120000", - expected_throughput=30, - traffic_type="udp_download", - dut_data=setup_configuration - , sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title( - "VLAN Mode Multi Station Performance Test with 10dB,38dB,48DdB(NSS-1) distance UDP-download 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6085", name="WIFI-6085") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.udp_download_10dB_38dB_48dB_dis_nss1_2g - def test_multi_station_VLAN_udp_download_10dB_38dB_48dB_dis_nss1_2g(self, setup_configuration, get_test_library, - num_stations, - get_test_device_logs, - get_dut_logs_per_test_case, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something", "vlan": 100} - ssid_name = profile_data["ssid_name"] - mode = "VLAN" - vlan = 100 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=1, - instance_name="udp_download_10dB_38dB_48dB_dis_nss1_2g", - set_att_db="10db,38db,48db", - download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3,6,9", - protocol="UDP-IPv4", duration="120000", - expected_throughput=25, - traffic_type="udp_download", - dut_data=setup_configuration - , sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("VLAN Mode Multi Station Performance Test with 10dB(NSS-1) distance UDP-upload 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6092", name="WIFI-6092") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.udp_upload_10dB_dis_nss1_5g - def test_multi_station_VLAN_udp_upload_10dB_dis_nss1_5g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something", "vlan": 100} - ssid_name = profile_data["ssid_name"] - mode = "VLAN" - vlan = 100 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=1, - instance_name="udp_upload_10dB_dis_nss1_5g", - set_att_db="10db", download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3", - protocol="UDP-IPv4", duration="120000", - expected_throughput=250, - traffic_type="udp_upload", - dut_data=setup_configuration - , sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("VLAN Mode Multi Station Performance Test with 10dB,25dB(NSS-1) distance UDP-upload 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6093", name="WIFI-6093") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.udp_upload_10dB_25dB_dis_nss1_5g - def test_multi_station_VLAN_udp_upload_10dB_25dB_dis_nss1_5g(self, setup_configuration, get_test_library, - num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something", "vlan": 100} - ssid_name = profile_data["ssid_name"] - mode = "VLAN" - vlan = 100 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=1, - instance_name="udp_upload_10dB_25dB_dis_nss1_5g", - set_att_db="10db,25db", download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3,6", - protocol="UDP-IPv4", duration="120000", - expected_throughput=250, - traffic_type="udp_upload", - dut_data=setup_configuration - , sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title( - "VLAN Mode Multi Station Performance Test with 10dB,25dB,35dB(NSS-1) distance UDP-upload 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6094", name="WIFI-6094") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.udp_upload_10dB_25dB_35dB_dis_nss1_5g - def test_multi_station_VLAN_udp_upload_10dB_25dB_35dB_dis_nss1_5g(self, setup_configuration, get_test_library, - num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something", "vlan": 100} - ssid_name = profile_data["ssid_name"] - mode = "VLAN" - vlan = 100 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=1, - instance_name="udp_upload_10dB_25dB_35dB_dis_nss1_5g", - set_att_db="10db,25db,35db", - download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3,6,9", - protocol="UDP-IPv4", duration="120000", - expected_throughput=200, - traffic_type="udp_upload", - dut_data=setup_configuration - , sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("VLAN Mode Multi Station Performance Test with 10dB(NSS-1) distance UDP-download 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5946", name="WIFI-5946") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.udp_download_10dB_dis_nss1_5g - def test_multi_station_VLAN_udp_download_10dB_dis_nss1_5g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something", "vlan": 100} - ssid_name = profile_data["ssid_name"] - mode = "VLAN" - vlan = 100 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=1, - instance_name="udp_download_10dB_dis_nss1_5g", - set_att_db="10db", download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3", - protocol="UDP-IPv4", duration="120000", - expected_throughput=250, - traffic_type="udp_download", - dut_data=setup_configuration - , sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("VLAN Mode Multi Station Performance Test with 10dB,25dB(NSS-1) distance UDP-download 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5947", name="WIFI-5947") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.udp_download_10dB_25dB_dis_nss1_5g - def test_multi_station_VLAN_udp_download_10dB_25dB_dis_nss1_5g(self, setup_configuration, get_test_library, - num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something", "vlan": 100} - ssid_name = profile_data["ssid_name"] - mode = "VLAN" - vlan = 100 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=1, - instance_name="udp_download_10dB_25dB_dis_nss1_5g", - set_att_db="10db,25db", download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3,6", - protocol="UDP-IPv4", duration="120000", - expected_throughput=250, - traffic_type="udp_download", - dut_data=setup_configuration - , sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title( - "VLAN Mode Multi Station Performance Test with 10dB,25dB,35dB(NSS-1) distance UDP-download 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5948", name="WIFI-5948") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.udp_download_10dB_25dB_35dB_dis_nss1_5g - def test_multi_station_VLAN_udp_download_10dB_25dB_35dB_dis_nss1_5g(self, setup_configuration, get_test_library, - num_stations, - get_test_device_logs, - get_dut_logs_per_test_case, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something", "vlan": 100} - ssid_name = profile_data["ssid_name"] - mode = "VLAN" - vlan = 100 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=1, - instance_name="udp_download_10dB_25dB_35dB_dis_nss1_5g", - set_att_db="10db,25db,35db", - download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3,6,9", - protocol="UDP-IPv4", duration="120000", - expected_throughput=200, - traffic_type="udp_download", - dut_data=setup_configuration - , sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("VLAN Mode Multi Station Performance Test with 10dB(NSS-2) distance UDP-upload 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5951", name="WIFI-5951") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.udp_upload_10dB_dis_nss2_2g - def test_multi_station_VLAN_udp_upload_10dB_dis_nss2_2g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something", "vlan": 100} - ssid_name = profile_data["ssid_name"] - mode = "VLAN" - vlan = 100 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=4, - instance_name="udp_upload_10dB_dis_nss2_2g", - set_att_db="10db", download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3", - protocol="UDP-IPv4", duration="120000", - expected_throughput=70, - traffic_type="udp_upload", - dut_data=setup_configuration - , sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("VLAN Mode Multi Station Performance Test with 10dB,38dB(NSS-2) distance UDP-upload 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5966", name="WIFI-5966") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.udp_upload_10dB_38dB_dis_nss2_2g - def test_multi_station_VLAN_udp_upload_10dB_38dB_dis_nss2_2g(self, setup_configuration, get_test_library, - num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something", "vlan": 100} - ssid_name = profile_data["ssid_name"] - mode = "VLAN" - vlan = 100 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=4, - instance_name="udp_upload_10dB_38dB_dis_nss2_2g", - set_att_db="10db,38db", download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3,6", - protocol="UDP-IPv4", duration="120000", - expected_throughput=60, - traffic_type="udp_upload", - dut_data=setup_configuration - , sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title( - "VLAN Mode Multi Station Performance Test with 10dB,38dB,48dB(NSS-2) distance UDP-upload 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5954", name="WIFI-5954") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.udp_upload_10dB_38dB_48dB_dis_nss2_2g - def test_multi_station_VLAN_udp_upload_10dB_38dB_48dB_dis_nss2_2g(self, setup_configuration, get_test_library, - num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something", "vlan": 100} - ssid_name = profile_data["ssid_name"] - mode = "VLAN" - vlan = 100 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=4, - instance_name="udp_upload_10dB_38dB_48dB_dis_nss2_2g", - set_att_db="10db,38db,48db", - download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3,6,9", - protocol="UDP-IPv4", duration="120000", - expected_throughput=50, - traffic_type="udp_upload", - dut_data=setup_configuration - , sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("VLAN Mode Multi Station Performance Test with 10dB(NSS-2) distance UDP-download 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5969", name="WIFI-5969") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.udp_download_10dB_dis_nss2_2g - def test_multi_station_VLAN_udp_download_10dB_dis_nss2_2g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something", "vlan": 100} - ssid_name = profile_data["ssid_name"] - mode = "VLAN" - vlan = 100 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=4, - instance_name="udp_download_10dB_dis_nss2_2g", - set_att_db="10db", download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3", - protocol="UDP-IPv4", duration="120000", - expected_throughput=70, - traffic_type="udp_download", - dut_data=setup_configuration - , sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("VLAN Mode Multi Station Performance Test with 10dB,38dB(NSS-2) distance UDP-download 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5968", name="WIFI-5968") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.udp_download_10dB_38dB_dis_nss2_2g - def test_multi_station_VLAN_udp_download_10dB_38dB_dis_nss2_2g(self, setup_configuration, get_test_library, - num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something", "vlan": 100} - ssid_name = profile_data["ssid_name"] - mode = "VLAN" - vlan = 100 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=4, - instance_name="udp_download_10dB_38dB_dis_nss2_2g", - set_att_db="10db,38db", download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3,6", - protocol="UDP-IPv4", duration="120000", - expected_throughput=60, - traffic_type="udp_download", - dut_data=setup_configuration - , sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title( - "VLAN Mode Multi Station Performance Test with 10dB,38dB,48dB(NSS-2) distance UDP-download 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5967", name="WIFI-5967") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.udp_download_10dB_38dB_48dB_dis_nss2_2g - def test_multi_station_VLAN_udp_download_10dB_38dB_48dB_dis_nss2_2g(self, setup_configuration, get_test_library, - num_stations, - get_test_device_logs, - get_dut_logs_per_test_case, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something", "vlan": 100} - ssid_name = profile_data["ssid_name"] - mode = "VLAN" - vlan = 100 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="twog", antenna=4, - instance_name="udp_download_10dB_38dB_48dB_dis_nss2_2g", - set_att_db="10db,38db,48db", - download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3,6,9", - protocol="UDP-IPv4", duration="120000", - expected_throughput=50, - traffic_type="udp_download", - dut_data=setup_configuration - , sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("VLAN Mode Multi Station Performance Test with 10dB(NSS-2) distance UDP-upload 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5952", name="WIFI-5952") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.udp_upload_10dB_dis_nss2_5g - def test_multi_station_VLAN_udp_upload_10dB_dis_nss2_5g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something", "vlan": 100} - ssid_name = profile_data["ssid_name"] - mode = "VLAN" - vlan = 100 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=4, - instance_name="udp_upload_10dB_dis_nss2_5g", - set_att_db="10db", download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3", - protocol="UDP-IPv4", duration="120000", - expected_throughput=500, - traffic_type="udp_upload", - dut_data=setup_configuration - , sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("VLAN Mode Multi Station Performance Test with 10dB,25dB(NSS-2) distance UDP-upload 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5953", name="WIFI-5953") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.udp_upload_10dB_25dB_dis_nss2_5g - def test_multi_station_VLAN_udp_upload_10dB_25dB_dis_nss2_5g(self, setup_configuration, get_test_library, - num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something", "vlan": 100} - ssid_name = profile_data["ssid_name"] - mode = "VLAN" - vlan = 100 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=4, - instance_name="udp_upload_10dB_25dB_dis_nss2_5g", - set_att_db="10db,25db", download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3,6", - protocol="UDP-IPv4", duration="120000", - expected_throughput=500, - traffic_type="udp_upload", - dut_data=setup_configuration - , sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("VLAN Mode Multi Station Performance Test with 10dB,40dB,50dB(NSS-2) distance UDP-upload 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5973", name="WIFI-5973") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.udp_upload_10dB_25dB_35dB_dis_nss2_5g - def test_multi_station_VLAN_udp_upload_10dB_40dB_50dB_dis_nss2_5g(self, setup_configuration, get_test_library, - num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something", "vlan": 100} - ssid_name = profile_data["ssid_name"] - mode = "VLAN" - vlan = 100 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=4, - instance_name="udp_upload_10dB_25dB_35dB_dis_nss2_5g", - set_att_db="10db,25db,35db", - download_rate="0Gbps", - upload_rate="1Gbps", batch_size="3,6,9", - protocol="UDP-IPv4", duration="120000", - expected_throughput=400, - traffic_type="udp_upload", - dut_data=setup_configuration - , sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("VLAN Mode Multi Station Performance Test with 10dB(NSS-2) distance UDP-download 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5971", name="WIFI-5971") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.udp_download_10dB_dis_nss2_5g - def test_multi_station_VLAN_udp_download_10dB_dis_nss2_5g(self, setup_configuration, get_test_library, num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something", "vlan": 100} - ssid_name = profile_data["ssid_name"] - mode = "VLAN" - vlan = 100 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=4, - instance_name="udp_download_10dB_dis_nss2_5g", - set_att_db="10db", download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3", - protocol="UDP-IPv4", duration="120000", - expected_throughput=500, - traffic_type="udp_download", - dut_data=setup_configuration - , sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("VLAN Mode Multi Station Performance Test with 10dB,25dB(NSS-2) distance UDP-download 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5970", name="WIFI-5970") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.udp_download_10dB_25dB_dis_nss2_5g - def test_multi_station_VLAN_udp_download_10dB_25dB_dis_nss2_5g(self, setup_configuration, get_test_library, - num_stations, - get_test_device_logs, get_dut_logs_per_test_case, - check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something", "vlan": 100} - ssid_name = profile_data["ssid_name"] - mode = "VLAN" - vlan = 100 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=4, - instance_name="udp_download_10dB_25dB_dis_nss2_5g", - set_att_db="10db,25db", download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3,6", - protocol="UDP-IPv4", duration="120000", - expected_throughput=500, - traffic_type="udp_download", - dut_data=setup_configuration - , sniff_radio=True) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title( - "VLAN Mode Multi Station Performance Test with 10dB,40dB,50dB(NSS-2) distance UDP-download 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5972", name="WIFI-5972") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.udp_download_10dB_40dB_50dB_dis_nss2_5g - def test_multi_station_VLAN_udp_download_10dB_40dB_50dB_dis_nss2_5g(self, setup_configuration, get_test_library, - num_stations, - get_test_device_logs, - get_dut_logs_per_test_case, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something", "vlan": 100} - ssid_name = profile_data["ssid_name"] - mode = "VLAN" - vlan = 100 - - result, description = get_test_library.multi_station_performance(ssid_name=ssid_name, - security_key=profile_data["security_key"], - mode=mode, vlan=vlan, band="fiveg", antenna=4, - instance_name="udp_download_10dB_25dB_35dB_dis_nss2_5g", - set_att_db="10db,25db,35db", - download_rate="1Gbps", - upload_rate="9.6Kbps", batch_size="3,6,9", - protocol="UDP-IPv4", duration="120000", - expected_throughput=400, - traffic_type="udp_download", - dut_data=setup_configuration - , sniff_radio=True) - if result: - assert True - else: - assert False, description - diff --git a/tests/e2e/advanced/rate_vs_orientation/wpa2_personal/test_bridge_orientation.py b/tests/e2e/advanced/rate_vs_orientation/wpa2_personal/test_bridge_orientation.py deleted file mode 100644 index ec15fc772..000000000 --- a/tests/e2e/advanced/rate_vs_orientation/wpa2_personal/test_bridge_orientation.py +++ /dev/null @@ -1,179 +0,0 @@ -""" - - Test Rate v/s Orientation : Bridge Mode - pytest -m "rate_vs_orientation_tests" -""" -import logging -import os -import time -import pytest -import allure -import os.path - -pytestmark = [pytest.mark.advance, pytest.mark.rate_vs_orientation_tests, pytest.mark.bridge, pytest.mark.wpa2_personal] - - -setup_params_general = { - "mode": "BRIDGE", - "ssid_modes": { - "wpa2_personal": [ - {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"}, - {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ] - }, - "rf": {}, - "radius": False -} -@allure.feature("BRIDGE MODE RATE VS ORIENTATION") -@allure.parent_suite("RATE VS ORIENTATION") -@allure.suite(suite_name="BRIDGE MODE") -@allure.sub_suite(sub_suite_name="WPA2_personal RATE VS ORIENTATION") -@pytest.mark.parametrize( - 'setup_configuration', - [setup_params_general], - indirect=True, - scope="class" -) -@pytest.mark.usefixtures("setup_configuration") -class TestRateVsOrientationBridge(object): - """ - Bridge Mode : Test Rate v/s Orientation - pytest -m "rate_vs_orientation_tests and wpa2_personal and bridge" - """ - @pytest.mark.fiveg - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("Bridge Mode Rate vs Orientation Test (NSS-2) 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5431", name="WIFI-5431") - def test_rvo_tcp_dl_nss2_wpa2_personal_5g(self, get_test_library, setup_configuration, check_connectivity): - """ - pytest -m "rate_vs_orientation_tests and wpa2_personal and bridge and fiveg" - """ - get_test_library.client_disconnect(clean_l3_traffic=True) - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "BRIDGE" - band = "fiveg" - vlan = 1 - dut_name = list(setup_configuration.keys())[0] - radios = get_test_library.wave2_5g_radios - # station = {'1.1.ath10k_5g00': {'4way time (us)': 0, 'channel': '149', 'cx time (us)': 0, 'dhcp (ms)': 1540, 'ip': '172.16.230.16', 'signal': '-41 dBm'}} - station = get_test_library.client_connect(ssid=ssid_name, security=security, passkey=security_key, mode=mode, - band=band, num_sta=1, vlan_id=vlan, dut_data=setup_configuration) - ser_no = get_test_library.attenuator_serial_radio(ssid=ssid_name, passkey=security_key, security=security, - radio=radios[0], station_name=['sta0000']) - # ser_no = ['1.1.3022', '1.1.3025'] - logging.info(f"Attenuators - {ser_no}") - val = [['modes: 802.11an-AC'], ['pkts: MTU'], ['directions: DUT Transmit'], ['traffic_types:TCP'], - ['bandw_options: AUTO'], ['spatial_streams: 2'], ['attenuator: ' + str(ser_no[0])], - ['attenuator2: ' + '0'], ['attenuations: 100'], - ['chamber: DUT-Chamber'], ['tt_deg: 0..+30..359']] #210..+30..540 #0..+30..359 - - if station: - rvr_o, report_name = get_test_library.rate_vs_range_test(station_name=list(station.keys())[0], mode=mode, - instance_name="ORIENTATION_RVR_BRIDGE_11_AC", download_rate="100%", - vlan_id=vlan, dut_name=dut_name, raw_lines=val) - # report_name = rvr_o[0].report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] - entries = os.listdir("../reports/" + report_name + '/') - get_test_library.client_disconnect(clear_all_sta=True, clean_l3_traffic=True) - kpi = "kpi.csv" - pass_value = {"strong":500} - atn, deg = [10], [0,30,60,90,120,150,180,210,240,270,300,330] # - if kpi in entries: - kpi_val = get_test_library.read_kpi_file(column_name=["numeric-score"], dir_name=report_name) - logging.info(f"kpi-csv value- {kpi_val}") - # allure.attach.file(source="../reports/" + report_name + "/" + kpi, name="kpi.csv") - if str(kpi_val) == "empty": - assert False, "Throughput value from kpi.csv is empty, Test failed" - else: - start, thrpt_val, pass_fail = 0, {}, [] - for i in pass_value: - count = 0 - for j in range(start, len(kpi_val), len(atn)): - thrpt_val[f"{atn[start]}atn-{deg[count]}deg"] = kpi_val[j][0] - if kpi_val[j][0] >= pass_value[i]: - pass_fail.append("PASS") - else: - pass_fail.append("FAIL") - count += 1 - logging.info(f"Throughtput-value - {thrpt_val}\nPass-fail - {pass_fail}") - get_test_library.allure_report_table_format(dict_data=thrpt_val, key="attenuation-orientation", - value="Throughput values", name="Test_results") - if "FAIL" in pass_fail: - assert False, "Test failed due to lesser value" - else: - assert True - else: - assert False, "CSV file does not exist" - else: - assert False, "Test failed due to no station ip" - - @pytest.mark.twog - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("Bridge Mode Rate vs Orientation Test (NSS-2) 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5431", name="WIFI-5431") - def test_client_tcp_dl_nss2_wpa2_personal_2g(self, get_test_library, setup_configuration, check_connectivity): - """ - pytest -m "rate_vs_orientation_tests and wpa2_personal and bridge and twog" - """ - get_test_library.client_disconnect(clean_l3_traffic=True, clear_all_sta=True) - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "BRIDGE" - band = "twog" - vlan = 1 - dut_name = list(setup_configuration.keys())[0] - radios = get_test_library.wave2_2g_radios - - station = get_test_library.client_connect(ssid=ssid_name, security=security, passkey=security_key, mode=mode, - band=band, num_sta=1, vlan_id=vlan, dut_data=setup_configuration) - ser_no = get_test_library.attenuator_serial_radio(ssid=ssid_name, passkey=security_key, security=security, - radio=radios[0], station_name=['sta0000']) - # ser_no = get_test_library.attenuator_serial() - logging.info(f"Attenuators - {ser_no}") - val = [['modes: 802.11bgn-AC'], ['pkts: MTU'], ['directions: DUT Transmit'], ['traffic_types:TCP'], - ['bandw_options: AUTO'], ['spatial_streams: 2'], ['attenuator: ' + str(ser_no[0])], - ['attenuator2: ' + '0'], ['attenuations: 100'], - ['chamber: DUT-Chamber'], ['tt_deg: 0..+30..359']] # 210..+30..540 #0..+30..359 - - if station: - rvr_o, report_name = get_test_library.rate_vs_range_test(station_name=list(station.keys())[0], mode=mode, - instance_name="ORIENTATION_RVR_BRIDGE_11_AC", download_rate="100%", - vlan_id=vlan, dut_name=dut_name, raw_lines=val) - # report_name = rvr_o[0].report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] - entries = os.listdir("../reports/" + report_name + '/') - get_test_library.client_disconnect(clear_all_sta=True, clean_l3_traffic=True) - kpi = "kpi.csv" - pass_value = {"strong": 90} - atn, deg = [10], [0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330] # - if kpi in entries: - kpi_val = get_test_library.read_kpi_file(column_name=["numeric-score"], dir_name=report_name) - logging.info(f"kpi-csv value- {kpi_val}") - # allure.attach.file(source="../reports/" + report_name + "/" + kpi, name="kpi.csv") - if str(kpi_val) == "empty": - assert False, "Throughput value from kpi.csv is empty, Test failed" - else: - start, thrpt_val, pass_fail = 0, {}, [] - for i in pass_value: - count = 0 - for j in range(start, len(kpi_val), len(atn)): - thrpt_val[f"{atn[start]}atn-{deg[count]}deg"] = kpi_val[j][0] - if kpi_val[j][0] >= pass_value[i]: - pass_fail.append("PASS") - else: - pass_fail.append("FAIL") - count += 1 - logging.info(f"Throughtput-value - {thrpt_val}\nPass-fail - {pass_fail}") - get_test_library.allure_report_table_format(dict_data=thrpt_val, key="attenuation-orientation", - value="Throughput values", name="Test_results") - if "FAIL" in pass_fail: - assert False, "Test failed due to lesser value" - else: - assert True - else: - assert False, "CSV file does not exist" - else: - assert False, "Test failed due to no station ip" \ No newline at end of file diff --git a/tests/e2e/advanced/rate_vs_orientation/wpa2_personal/test_nat_orientation.py b/tests/e2e/advanced/rate_vs_orientation/wpa2_personal/test_nat_orientation.py deleted file mode 100644 index 31606498c..000000000 --- a/tests/e2e/advanced/rate_vs_orientation/wpa2_personal/test_nat_orientation.py +++ /dev/null @@ -1,180 +0,0 @@ -""" - - Test Rate v/s Orientation : Nat Mode - pytest -m "rate_vs_orientation_tests" -""" -import logging -import os -import time -import pytest -import allure -import os.path - -pytestmark = [pytest.mark.advance, pytest.mark.rate_vs_orientation_tests, pytest.mark.nat, pytest.mark.wpa2_personal] - - -setup_params_general = { - "mode": "NAT", - "ssid_modes": { - "wpa2_personal": [ - {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"}, - {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ] - }, - "rf": {}, - "radius": False -} -@allure.feature("NAT MODE RATE VS ORIENTATION") -@allure.parent_suite("RATE VS ORIENTATION") -@allure.suite(suite_name="NAT MODE") -@allure.sub_suite(sub_suite_name="WPA2_personal RATE VS ORIENTATION") -@pytest.mark.parametrize( - 'setup_configuration', - [setup_params_general], - indirect=True, - scope="class" -) -@pytest.mark.usefixtures("setup_configuration") -class TestRateVsOrientationNat(object): - """ - Nat Mode : Test Rate v/s Orientation - pytest -m "rate_vs_orientation_tests and wpa2_personal and nat" - """ - @pytest.mark.fiveg - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("Nat Mode Rate vs Orientation Test 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5431", name="WIFI-5431") - def test_rvo_tcp_dl_nss2_wpa2_personal_5g(self, get_test_library, setup_configuration, check_connectivity): - """ - pytest -m "rate_vs_orientation_tests and wpa2_personal and nat and fiveg" - """ - get_test_library.client_disconnect(clean_l3_traffic=True) - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "NAT-WAN" - band = "fiveg" - vlan = 1 - chamber_view_obj, dut_name = get_test_library.chamber_view() - - station = get_test_library.client_connect(ssid=ssid_name, security=security, passkey=security_key, mode=mode, - band=band, num_sta=1, vlan_id=vlan, dut_data=setup_configuration) - # station = {'1.1.ath10k_5g00': {'4way time (us)': 875, 'channel': '149', 'cx time (us)': 133934, 'dhcp (ms)': 7468, 'ip': '192.168.34.86', 'signal': '-41 dBm'}} - ser_no = get_test_library.attenuator_serial() - logging.info(f"Attenuators - {ser_no}") - val = [['modes: 802.11an-AC'], ['pkts: MTU'], ['directions: DUT Transmit'], ['traffic_types:TCP'], - ['bandw_options: 80'], ['spatial_streams: 2'], ['attenuator: ' + str(ser_no[0])], - ['attenuator2: ' + str(ser_no[1])], ['attenuations: 100'], - ['attenuations2: 100'], ['chamber: DUT-Chamber'], ['tt_deg: 0..+30..359']] #210..+30..540 #0..+30..359 - - if station: - rvr_o, report_name = get_test_library.rate_vs_range_test(station_name=list(station.keys())[0], mode=mode, - instance_name="ORIENTATION_RVR_NAT_11_AC", - vlan_id=vlan, dut_name=dut_name, raw_lines=val) - # report_name = rvr_o.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] - entries = os.listdir("../reports/" + report_name + '/') - # entries = ['canvil.ico', 'kpi.csv', 'chart-2-print.png', 'text-csv-3.csv', 'kpi-chart-3-print.png', 'text-tab-0.csv', 'report.css', 'chart-8.png', 'chart-5.png', 'chart-6.png', 'text-tab-2.csv', 'index.html', 'custom.css', 'index-print.html', 'chart-7.png', 'chart-7-print.png', 'chart-2.png', 'rate-vs-range-vs-orientation-report-2022-12-16-01-34-17.pdf', 'text-tab-3.csv', 'text-tab-1.csv', 'logo.png', 'chart-8-print.png', 'report_banner-1000x205.jpg', 'text-csv-0.csv', 'kpi-chart-0.png', 'chart-4.png', 'chart-1-print.png', 'chart-5-print.png', 'text-csv-1.csv', 'text-csv-2.csv', 'chart-1.png', 'csv-data', 'CenturyGothic.woff', 'kpi-chart-3.png', 'CandelaLogo2-90dpi-200x90-trans.png', 'chart-4-print.png', 'chart-6-print.png', 'kpi-chart-0-print.png', 'candela_swirl_small-72h.png'] - get_test_library.client_disconnect(clear_all_sta=True, clean_l3_traffic=True) - kpi = "kpi.csv" - pass_value = {"strong":500} - atn, deg = [10], [0,30,60,90,120,150,180,210,240,270,300,330] # - if kpi in entries: - kpi_val = get_test_library.read_kpi_file(column_name=["numeric-score"], dir_name=report_name) - # kpi_val = [[93.856416], [92.763538], [93.591643], [93.601009], [93.510303], [92.895905], [93.438518], [93.060875], [93.697596], [92.740075], [93.005289], [93.113691]] - logging.info(f"kpi-csv value- {kpi_val}") - # allure.attach.file(source="../reports/" + report_name + "/" + kpi, name="kpi.csv") - if str(kpi_val) == "empty": - assert False, "Throughput value from kpi.csv is empty, Test failed" - else: - start, thrpt_val, pass_fail = 0, {}, [] - for i in pass_value: - count = 0 - for j in range(start, len(kpi_val), len(atn)): - thrpt_val[f"{atn[start]}atn-{deg[count]}deg"] = kpi_val[j][0] - if kpi_val[j][0] >= pass_value[i]: - pass_fail.append("PASS") - else: - pass_fail.append("FAIL") - count += 1 - logging.info(f"Throughtput-value - {thrpt_val}\nPass-fail - {pass_fail}") - # thrpt_val = {'10atn-0deg': 93.856416, '10atn-30deg': 92.763538, '10atn-60deg': 93.591643, '10atn-90deg': 93.601009, '10atn-120deg': 93.510303, '10atn-150deg': 92.895905, '10atn-180deg': 93.438518, '10atn-210deg': 93.060875, '10atn-240deg': 93.697596, '10atn-270deg': 92.740075, '10atn-300deg': 93.005289, '10atn-330deg': 93.113691} - # pass_fail = ['FAIL', 'FAIL', 'FAIL', 'FAIL', 'FAIL', 'FAIL', 'FAIL', 'FAIL', 'FAIL', 'FAIL', 'FAIL', 'FAIL'] - get_test_library.allure_report_table_format(dict_data=thrpt_val, key="attenuation-orientation", - value="Throughput values", name="Test_results") - if "FAIL" in pass_fail: - assert False, "Test failed due to lesser value" - else: - assert True - else: - assert False, "CSV file does not exist" - else: - assert False, "Test failed due to no station ip" - - @pytest.mark.twog - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("Nat Mode Rate vs Orientation Test 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5431", name="WIFI-5431") - def test_client_tcp_dl_nss2_wpa2_personal_2g(self, get_test_library, setup_configuration, check_connectivity): - """ - pytest -m "rate_vs_orientation_tests and wpa2_personal and nat and twog" - """ - get_test_library.client_disconnect(clean_l3_traffic=True) - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "NAT-WAN" - band = "twog" - vlan = 1 - chamber_view_obj, dut_name = get_test_library.chamber_view() - - station = get_test_library.client_connect(ssid=ssid_name, security=security, passkey=security_key, mode=mode, - band=band, num_sta=1, vlan_id=vlan, dut_data=setup_configuration) - ser_no = get_test_library.attenuator_serial() - val = [['modes: 802.11bgn-AC'], ['pkts: MTU'], ['directions: DUT Transmit'], ['traffic_types:TCP'], - ['bandw_options: 80'], ['spatial_streams: 2'], ['attenuator: ' + str(ser_no[0])], - ['attenuator2: ' + str(ser_no[1])], ['attenuations: 100'], - ['attenuations2: 100'], ['chamber: DUT-Chamber'], ['tt_deg: 0..+30..359']] # 210..+30..540 #0..+30..359 - - if station: - rvr_o, report_name = get_test_library.rate_vs_range_test(station_name=list(station.keys())[0], mode=mode, - instance_name="ORIENTATION_RVR_NAT_11_AC", - vlan_id=vlan, dut_name=dut_name, raw_lines=val) - # report_name = rvr_o[0].report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] - entries = os.listdir("../reports/" + report_name + '/') - get_test_library.client_disconnect(clear_all_sta=True, clean_l3_traffic=True) - kpi = "kpi.csv" - pass_value = {"strong": 90} - atn, deg = [10], [0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330] # - if kpi in entries: - kpi_val = get_test_library.read_kpi_file(column_name=["numeric-score"], dir_name=report_name) - logging.info(f"kpi-csv value- {kpi_val}") - # allure.attach.file(source="../reports/" + report_name + "/" + kpi, name="kpi.csv") - if str(kpi_val) == "empty": - print("Throughput value from kpi.csv is empty, Test failed") - allure.attach(name="CSV Data", body="Throughput value from kpi.csv is empty, Test failed") - assert False, "Throughput value from kpi.csv is empty, Test failed" - else: - start, thrpt_val, pass_fail = 0, {}, [] - for i in pass_value: - count = 0 - for j in range(start, len(kpi_val), len(atn)): - thrpt_val[f"{atn[start]}atn-{deg[count]}deg"] = kpi_val[j][0] - if kpi_val[j][0] >= pass_value[i]: - pass_fail.append("PASS") - else: - pass_fail.append("FAIL") - count += 1 - logging.info(f"Throughtput-value - {thrpt_val}\nPass-fail - {pass_fail}") - get_test_library.allure_report_table_format(dict_data=thrpt_val, key="attenuation-orientation", - value="Throughput values", name="Test_results") - if "FAIL" in pass_fail: - assert False, "Test failed due to lesser value" - else: - assert True - else: - assert False, "CSV file does not exist" - else: - assert False, "Test failed due to no station ip" - diff --git a/tests/e2e/advanced/rate_vs_orientation/wpa2_personal/test_vlan_orientation.py b/tests/e2e/advanced/rate_vs_orientation/wpa2_personal/test_vlan_orientation.py deleted file mode 100644 index 6193e2596..000000000 --- a/tests/e2e/advanced/rate_vs_orientation/wpa2_personal/test_vlan_orientation.py +++ /dev/null @@ -1,175 +0,0 @@ -""" - - Test Rate v/s Orientation : Vlan Mode - pytest -m "rate_vs_orientation_tests" -""" -import logging -import os -import time -import pytest -import allure -import os.path - -pytestmark = [pytest.mark.advance, pytest.mark.rate_vs_orientation_tests, pytest.mark.vlan, pytest.mark.wpa2_personal] - - -setup_params_general = { - "mode": "VLAN", - "ssid_modes": { - "wpa2_personal": [ - {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something", "vlan":100}, - {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something", "vlan":100} - ] - }, - "rf": {}, - "radius": False -} -@allure.feature("VLAN MODE RATE VS ORIENTATION") -@allure.parent_suite("RATE VS ORIENTATION") -@allure.suite(suite_name="VLAN MODE") -@allure.sub_suite(sub_suite_name="WPA2_personal RATE VS ORIENTATION") -@pytest.mark.parametrize( - 'setup_configuration', - [setup_params_general], - indirect=True, - scope="class" -) -@pytest.mark.usefixtures("setup_configuration") -class TestRateVsOrientationVlan(object): - """ - Vlan Mode : Test Rate v/s Orientation - pytest -m "rate_vs_orientation_tests and wpa2_personal and vlan" - """ - @pytest.mark.fiveg - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("Vlan Mode Rate vs Orientation Test 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5431", name="WIFI-5431") - def test_rvo_tcp_dl_nss2_wpa2_personal_5g(self, get_test_library, setup_configuration, check_connectivity): - """ - pytest -m "rate_vs_orientation_tests and wpa2_personal and vlan and fiveg" - """ - get_test_library.client_disconnect(clean_l3_traffic=True) - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "VLAN" - band = "fiveg" - vlan = [100] - chamber_view_obj, dut_name = get_test_library.chamber_view() - - station = get_test_library.client_connect(ssid=ssid_name, security=security, passkey=security_key, mode=mode, - band=band, num_sta=1, vlan_id=vlan, dut_data=setup_configuration) - ser_no = get_test_library.attenuator_serial() - logging.info(f"Attenuators - {ser_no}") - val = [['modes: 802.11an-AC'], ['pkts: MTU'], ['directions: DUT Transmit'], ['traffic_types:TCP'], - ['bandw_options: 80'], ['spatial_streams: 2'], ['attenuator: ' + str(ser_no[0])], - ['attenuator2: ' + str(ser_no[1])], ['attenuations: 100'], - ['attenuations2: 100'], ['chamber: DUT-Chamber'], ['tt_deg: 0..+30..359']] #210..+30..540 #0..+30..359 - - if station: - rvr_o, report_name = get_test_library.rate_vs_range_test(station_name=list(station.keys())[0], mode=mode, - instance_name="ORIENTATION_RVR_NAT_11_AC", - vlan_id=vlan, dut_name=dut_name, raw_lines=val) - # report_name = rvr_o.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] - entries = os.listdir("../reports/" + report_name + '/') - get_test_library.client_disconnect(clear_all_sta=True, clean_l3_traffic=True) - kpi = "kpi.csv" - pass_value = {"strong":500} - atn, deg = [10], [0,30,60,90,120,150,180,210,240,270,300,330] # - if kpi in entries: - kpi_val = get_test_library.read_kpi_file(column_name=["numeric-score"], dir_name=report_name) - print(kpi_val) - # allure.attach.file(source="../reports/" + report_name + "/" + kpi, name="kpi.csv") - if str(kpi_val) == "empty": - assert False, "Throughput value from kpi.csv is empty, Test failed" - else: - start, thrpt_val, pass_fail = 0, {}, [] - for i in pass_value: - count = 0 - for j in range(start, len(kpi_val), len(atn)): - thrpt_val[f"{atn[start]}atn-{deg[count]}deg"] = kpi_val[j][0] - if kpi_val[j][0] >= pass_value[i]: - pass_fail.append("PASS") - else: - pass_fail.append("FAIL") - count += 1 - logging.info(f"Throughtput-value - {thrpt_val}\nPass-fail - {pass_fail}") - get_test_library.allure_report_table_format(dict_data=thrpt_val, key="attenuation-orientation", - value="Throughput values", name="Test_results") - if "FAIL" in pass_fail: - assert False, "Test failed due to lesser value" - else: - assert True - else: - assert False, "CSV file does not exist" - else: - assert False, "Test failed due to no station ip" - - @pytest.mark.twog - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("Vlan Mode Rate vs Orientation Test 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5431", name="WIFI-5431") - def test_client_tcp_dl_nss2_wpa2_personal_2g(self, get_test_library, setup_configuration, check_connectivity): - """ - pytest -m "rate_vs_orientation_tests and wpa2_personal and vlan and twog" - """ - get_test_library.client_disconnect(clean_l3_traffic=True) - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "VLAN" - band = "twog" - vlan = [100] - chamber_view_obj, dut_name = get_test_library.chamber_view() - - station = get_test_library.client_connect(ssid=ssid_name, security=security, passkey=security_key, mode=mode, - band=band, num_sta=1, vlan_id=vlan, dut_data=setup_configuration) - ser_no = get_test_library.attenuator_serial() - val = [['modes: 802.11bgn-AC'], ['pkts: MTU'], ['directions: DUT Transmit'], ['traffic_types:TCP'], - ['bandw_options: 80'], ['spatial_streams: 2'], ['attenuator: ' + str(ser_no[0])], - ['attenuator2: ' + str(ser_no[1])], ['attenuations: 100'], - ['attenuations2: 100'], ['chamber: DUT-Chamber'], ['tt_deg: 0..+30..359']] # 210..+30..540 #0..+30..359 - - if station: - rvr_o, report_name = get_test_library.rate_vs_range_test(station_name=list(station.keys())[0], mode=mode, - instance_name="ORIENTATION_RVR_VLAN_11_AC", - vlan_id=vlan, dut_name=dut_name, raw_lines=val) - # report_name = rvr_o[0].report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] - entries = os.listdir("../reports/" + report_name + '/') - get_test_library.client_disconnect(clear_all_sta=True, clean_l3_traffic=True) - kpi = "kpi.csv" - pass_value = {"strong": 90} - atn, deg = [10], [0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330] # - if kpi in entries: - kpi_val = get_test_library.read_kpi_file(column_name=["numeric-score"], dir_name=report_name) - logging.info(f"kpi-csv value- {kpi_val}") - # allure.attach.file(source="../reports/" + report_name + "/" + kpi, name="kpi.csv") - if str(kpi_val) == "empty": - print("Throughput value from kpi.csv is empty, Test failed") - allure.attach(name="CSV Data", body="Throughput value from kpi.csv is empty, Test failed") - assert False, "Throughput value from kpi.csv is empty, Test failed" - else: - start, thrpt_val, pass_fail = 0, {}, [] - for i in pass_value: - count = 0 - for j in range(start, len(kpi_val), len(atn)): - thrpt_val[f"{atn[start]}atn-{deg[count]}deg"] = kpi_val[j][0] - if kpi_val[j][0] >= pass_value[i]: - pass_fail.append("PASS") - else: - pass_fail.append("FAIL") - count += 1 - logging.info(f"Throughtput-value - {thrpt_val}\nPass-fail - {pass_fail}") - get_test_library.allure_report_table_format(dict_data=thrpt_val, key="attenuation-orientation", - value="Throughput values", name="Test_results") - if "FAIL" in pass_fail: - assert False, "Test failed due to lesser value" - else: - assert True - else: - assert False, "CSV file does not exist" - else: - assert False, "Test failed due to no station ip" - diff --git a/tests/e2e/advanced/rate_vs_range/wpa2_personal/test_bridge_mode.py b/tests/e2e/advanced/rate_vs_range/wpa2_personal/test_bridge_mode.py index 251d2f9a6..541ae51c5 100644 --- a/tests/e2e/advanced/rate_vs_range/wpa2_personal/test_bridge_mode.py +++ b/tests/e2e/advanced/rate_vs_range/wpa2_personal/test_bridge_mode.py @@ -3,12 +3,15 @@ Test Rate v/s Range : Bridge Mode pytest -m "rate_vs_range" """ +import sys + import pytest import allure +import json +import os pytestmark = [pytest.mark.advance, pytest.mark.rate_vs_range, pytest.mark.bridge] - setup_params_general = { "mode": "BRIDGE", "ssid_modes": { @@ -17,10 +20,24 @@ setup_params_general = { {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} ] }, - "rf": {}, + "rf": { + "5G": { + 'band': '5G', + "channel": 36, + "channel-width": 80 + }, + "2G": { + 'band': '2G', + "channel": 6, + "channel-width": 20 + + } + + }, "radius": False } + @allure.feature("RATE VS RANGE") @allure.parent_suite("Rate vs Range Test") @allure.suite(suite_name="BRIDGE Mode") @@ -36,112 +53,60 @@ class Test_RatevsRange_Bridge(object): @pytest.mark.wpa2_personal @pytest.mark.twog - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("Bridge Mode Rate vs Range Test Download 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-2495", name="WIFI-2495") - def test_rvr_bridge_dl_wpa2_personal_2g(self,get_test_library, setup_configuration, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "BRIDGE" - band = "twog" - vlan = 1 + @pytest.mark.fiveg + @pytest.mark.advance_ac + @allure.title("Rate vs Range Test for AC Clients in BRIDGE Mode") + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13335", name="WIFI-13335") + def test_rvr_ac_bridge(self, get_test_library, setup_configuration, check_connectivity, selected_testbed): + """ + Test Description: + Range versus rate test intends to measure the rate-control, + baseband and RF chain performance of Wi-Fi device at different signal levels. + The attenuation of signals due to range increase is achieved by + adjusting the attenuator. - result, description = get_test_library.rate_vs_range(ssid_name=ssid_name, security_key=security_key, - security=security, mode=mode, band=band, vlan=vlan, - dut_data=setup_configuration, num_sta=1, - direction="DUT Transmit", - instance_name="BRIDGE_RVR_TWOG_DL", - pass_value={"strong": 100, "medium": 95, "weak": 14}, - attenuations=[0, 10, 21, 24, 27, 30, 33, 36, 39, 42, - 45, 48, 51, 54, 57, 60, 63]) + Marker: + advance_ac and rate_vs_range and wpa2_personal and bridge + + Note: Please refer to the PDF report for the Test Procedure, Pass/Fail Criteria, and Candela Score. + """ + mode = "BRIDGE" + vlan = 1 + raw_line = [["skip_ac: 0"], ["skip_ax: 1"]] + result, description = get_test_library.tr398v2(mode=mode, vlan_id=vlan, test="rvr", + dut_data=setup_configuration, move_to_influx=False, + testbed=selected_testbed, extra_raw_lines=raw_line) if result: assert True else: assert False, description - @pytest.mark.wpa2_personal @pytest.mark.twog - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("Bridge Mode Rate vs Range Test Upload 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-2495", name="WIFI-2495") - def test_rvr_bridge_ul_wpa2_personal_2g(self, get_test_library, setup_configuration, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "BRIDGE" - band = "twog" - vlan = 1 + @pytest.mark.fiveg + @pytest.mark.advance_ax + @allure.title("Rate vs Range Test for AX Clients in BRIDGE Mode") + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13335", name="WIFI-13335") + def test_rvr_ax_bridge(self, get_test_library, setup_configuration, check_connectivity, selected_testbed): + """ + Test Description: + Range versus rate test intends to measure the rate-control, + baseband and RF chain performance of Wi-Fi device at different signal levels. + The attenuation of signals due to range increase is achieved by + adjusting the attenuator. - result, description = get_test_library.rate_vs_range(ssid_name=ssid_name, security_key=security_key, - security=security, mode=mode, band=band, vlan=vlan, - dut_data=setup_configuration, num_sta=1, - direction="DUT Receive", - instance_name="BRIDGE_RVR_TWOG_UL", - pass_value={"strong": 100, "medium": 95, "weak": 14}, - attenuations=[0, 10, 21, 24, 27, 30, 33, 36, 39, 42, - 45, 48, 51, 54, 57, 60, 63]) + Marker: + advance_ax and rate_vs_range and wpa2_personal and bridge + + Note: Please refer to the PDF report for the Test Procedure, Pass/Fail Criteria, and Candela Score. + """ + mode = "BRIDGE" + vlan = 1 + raw_line = [["skip_ac: 1"], ["skip_ax: 0"]] + result, description = get_test_library.tr398v2(mode=mode, vlan_id=vlan, test="rvr", + dut_data=setup_configuration, move_to_influx=False, + testbed=selected_testbed, extra_raw_lines=raw_line) if result: assert True else: assert False, description - - @pytest.mark.performance_advanced - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("Bridge Mode Rate vs Range Test Download 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-2499", name="WIFI-2499") - def test_rvr_bridge_dl_wpa2_personal_5g(self,get_test_library, setup_configuration, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "BRIDGE" - band = "fiveg" - vlan = 1 - - result, description = get_test_library.rate_vs_range(ssid_name=ssid_name, security_key=security_key, - security=security, mode=mode, band=band, vlan=vlan, - dut_data=setup_configuration, num_sta=1, - direction="DUT Transmit", - instance_name="BRIDGE_RVR_FIVEG_DL", - pass_value={"strong": 560, "medium": 220, "weak": 5}, - attenuations=[0, 10, 21, 24, 27, 30, 33, 36, 39, 42, - 45, 48, 51, 54]) - if result: - assert True - else: - assert False, description - - - @pytest.mark.performance_advanced - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("Bridge Mode Rate vs Range Test Upload 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-2499", name="WIFI-2499") - def test_rvr_bridge_ul_wpa2_personal_5g(self, get_test_library, setup_configuration, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "BRIDGE" - band = "fiveg" - vlan = 1 - - result, description = get_test_library.rate_vs_range(ssid_name=ssid_name, security_key=security_key, - security=security, mode=mode, band=band, vlan=vlan, - dut_data=setup_configuration, num_sta=1, - direction="DUT Receive", - instance_name="BRIDGE_RVR_FIVEG_UL", - pass_value={"strong": 560, "medium": 220, "weak": 5}, - attenuations=[0, 10, 21, 24, 27, 30, 33, 36, 39, 42, - 45, 48, 51, 54]) - if result: - assert True - else: - assert False, description \ No newline at end of file diff --git a/tests/e2e/advanced/rate_vs_range/wpa2_personal/test_nat_mode.py b/tests/e2e/advanced/rate_vs_range/wpa2_personal/test_nat_mode.py deleted file mode 100644 index 2bd294ae6..000000000 --- a/tests/e2e/advanced/rate_vs_range/wpa2_personal/test_nat_mode.py +++ /dev/null @@ -1,149 +0,0 @@ -""" - - Test Rate v/s Range : Nat Mode - pytest -m "rate_vs_range" -""" -import pytest -import allure - -pytestmark = [pytest.mark.advance, pytest.mark.rate_vs_range, pytest.mark.nat] - - -setup_params_general = { - "mode": "NAT", - "ssid_modes": { - "wpa2_personal": [ - {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"}, - {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ] - }, - "rf": {}, - "radius": False -} - -@allure.feature("RATE VS RANGE") -@allure.parent_suite("Rate vs Range Test") -@allure.suite(suite_name="NAT Mode") -@allure.sub_suite(sub_suite_name="WPA2 Personal") -@pytest.mark.parametrize( - 'setup_configuration', - [setup_params_general], - indirect=True, - scope="class" -) -@pytest.mark.usefixtures("setup_configuration") -class Test_RatevsRange_Nat(object): - - @pytest.mark.wpa2_personal - @pytest.mark.twog - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("NAT Mode Rate vs Range Test Download 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-2495", name="WIFI-2495") - def test_rvr_nat_dl_wpa2_personal_2g(self, get_test_library, setup_configuration, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "NAT-WAN" - band = "twog" - vlan = 1 - - result, description = get_test_library.rate_vs_range(ssid_name=ssid_name, security_key=security_key, - security=security, mode=mode, band=band, vlan=vlan, - dut_data=setup_configuration, num_sta=1, - direction="DUT Transmit", - instance_name="NAT_RVR_TWOG_DL", - pass_value={"strong": 100, "medium": 95, "weak": 14}, - attenuations=[0, 10, 21, 24, 27, 30, 33, 36, 39, 42, - 45, 48, 51, 54, 57, 60, 63]) - if result: - assert True - else: - assert False, description - - - @pytest.mark.wpa2_personal - @pytest.mark.twog - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("NAT Mode Rate vs Range Test Upload 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-2495", name="WIFI-2495") - def test_rvr_nat_ul_wpa2_personal_2g(self, get_test_library, setup_configuration, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "NAT-WAN" - band = "twog" - vlan = 1 - - result, description = get_test_library.rate_vs_range(ssid_name=ssid_name, security_key=security_key, - security=security, mode=mode, band=band, vlan=vlan, - dut_data=setup_configuration, num_sta=1, - direction="DUT Receive", - instance_name="NAT_RVR_TWOG_UL", - pass_value={"strong": 100, "medium": 95, "weak": 14}, - attenuations=[0, 10, 21, 24, 27, 30, 33, 36, 39, 42, - 45, 48, 51, 54, 57, 60, 63]) - if result: - assert True - else: - assert False, description - - - @pytest.mark.performance_advanced - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("NAT Mode Rate vs Range Test Download 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-2499", name="WIFI-2499") - def test_rvr_nat_dl_wpa2_personal_5g(self, get_test_library, setup_configuration, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "NAT-WAN" - band = "fiveg" - vlan = 1 - - result, description = get_test_library.rate_vs_range(ssid_name=ssid_name, security_key=security_key, - security=security, mode=mode, band=band, vlan=vlan, - dut_data=setup_configuration, num_sta=1, - direction="DUT Transmit", - instance_name="NAT_RVR_FIVEG_DL", - pass_value={"strong": 560, "medium": 220, "weak": 5}, - attenuations=[0, 10, 21, 24, 27, 30, 33, 36, 39, 42, - 45, 48, 51, 54]) - if result: - assert True - else: - assert False, description - - - @pytest.mark.performance_advanced - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("NAT Mode Rate vs Range Test Upload 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-2499", name="WIFI-2499") - def test_rvr_nat_ul_wpa2_personal_5g(self, get_test_library, setup_configuration, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "NAT-WAN" - band = "fiveg" - vlan = 1 - - result, description = get_test_library.rate_vs_range(ssid_name=ssid_name, security_key=security_key, - security=security, mode=mode, band=band, vlan=vlan, - dut_data=setup_configuration, num_sta=1, - direction="DUT Receive", - instance_name="NAT_RVR_FIVEG_UL", - pass_value={"strong": 560, "medium": 220, "weak": 5}, - attenuations=[0, 10, 21, 24, 27, 30, 33, 36, 39, 42, - 45, 48, 51, 54]) - if result: - assert True - else: - assert False, description - diff --git a/tests/e2e/advanced/rate_vs_range/wpa2_personal/test_vlan_mode.py b/tests/e2e/advanced/rate_vs_range/wpa2_personal/test_vlan_mode.py deleted file mode 100644 index 017a3c191..000000000 --- a/tests/e2e/advanced/rate_vs_range/wpa2_personal/test_vlan_mode.py +++ /dev/null @@ -1,147 +0,0 @@ -""" - - Test Rate v/s Range : Vlan Mode - pytest -m "rate_vs_range" -""" -import pytest -import allure - -pytestmark = [pytest.mark.advance, pytest.mark.rate_vs_range, pytest.mark.vlan] - - -setup_params_general = { - "mode": "VLAN", - "ssid_modes": { - "wpa2_personal": [ - {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something", "vlan":100}, - {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something", "vlan":100} - ] - }, - "rf": {}, - "radius": False -} - -@allure.feature("RATE VS RANGE") -@allure.parent_suite("Rate vs Range Test") -@allure.suite(suite_name="VLAN Mode") -@allure.sub_suite(sub_suite_name="WPA2 Personal") -@pytest.mark.parametrize( - 'setup_configuration', - [setup_params_general], - indirect=True, - scope="class" -) -@pytest.mark.usefixtures("setup_configuration") -class Test_RatevsRange_Vlan(object): - - @pytest.mark.wpa2_personal - @pytest.mark.twog - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("Vlan Mode Rate vs Range Test Download 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-2495", name="WIFI-2495") - def test_rvr_vlan_dl_wpa2_personal_2g(self, get_test_library, setup_configuration, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "VLAN" - band = "twog" - vlan = 100 - - result, description = get_test_library.rate_vs_range(ssid_name=ssid_name, security_key=security_key, - security=security, mode=mode, band=band, vlan=vlan, - dut_data=setup_configuration, num_sta=1, - direction="DUT Transmit", - instance_name="VLAN_RVR_TWOG_DL", - pass_value={"strong": 100, "medium": 95, "weak": 14}, - attenuations=[0, 10, 21, 24, 27, 30, 33, 36, 39, 42, - 45, 48, 51, 54, 57, 60, 63],create_vlan=False) - if result: - assert True - else: - assert False, description - - - @pytest.mark.wpa2_personal - @pytest.mark.twog - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("Vlan Mode Rate vs Range Test Upload 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-2495", name="WIFI-2495") - def test_rvr_vlan_ul_wpa2_personal_2g(self, get_test_library, setup_configuration, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "VLAN" - band = "twog" - vlan = 100 - - result, description = get_test_library.rate_vs_range(ssid_name=ssid_name, security_key=security_key, - security=security, mode=mode, band=band, vlan=vlan, - dut_data=setup_configuration, num_sta=1, - direction="DUT Receive", - instance_name="VLAN_RVR_TWOG_DL", - pass_value={"strong": 100, "medium": 95, "weak": 14}, - attenuations=[0, 10, 21, 24, 27, 30, 33, 36, 39, 42, - 45, 48, 51, 54, 57, 60, 63],create_vlan=False) - if result: - assert True - else: - assert False, description - - - @pytest.mark.performance_advanced - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("Vlan Mode Rate vs Range Test Download 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-2499", name="WIFI-2499") - def test_rvr_vlan_dl_wpa2_personal_5g(self, get_test_library, setup_configuration, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "VLAN" - band = "fiveg" - vlan = 100 - - result, description = get_test_library.rate_vs_range(ssid_name=ssid_name, security_key=security_key, - security=security, mode=mode, band=band, vlan=vlan, - dut_data=setup_configuration, num_sta=1, - direction="DUT Transmit", - instance_name="VLAN_RVR_FIVEG_DL", - pass_value={"strong": 560, "medium": 220, "weak": 5}, - attenuations=[0, 10, 21, 24, 27, 30, 33, 36, 39, 42, - 45, 48, 51, 54],create_vlan=False) - if result: - assert True - else: - assert False, description - - @pytest.mark.performance_advanced - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("Vlan Mode Rate vs Range Test Upload 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-2499", name="WIFI-2499") - def test_rvr_vlan_ul_wpa2_personal_5g(self, get_test_library, setup_configuration, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "VLAN" - band = "fiveg" - vlan = 100 - - result, description = get_test_library.rate_vs_range(ssid_name=ssid_name, security_key=security_key, - security=security, mode=mode, band=band, vlan=vlan, - dut_data=setup_configuration, num_sta=1, - direction="DUT Receive", - instance_name="VLAN_RVR_FIVEG_UL", - pass_value={"strong": 560, "medium": 220, "weak": 5}, - attenuations=[0, 10, 21, 24, 27, 30, 33, 36, 39, 42, - 45, 48, 51, 54],create_vlan=False) - if result: - assert True - else: - assert False, description diff --git a/tests/e2e/advanced/receiver_sensitivity/test_rx_sens_bridge_mode.py b/tests/e2e/advanced/receiver_sensitivity/test_rx_sens_bridge_mode.py index 12390c82f..b153324e3 100644 --- a/tests/e2e/advanced/receiver_sensitivity/test_rx_sens_bridge_mode.py +++ b/tests/e2e/advanced/receiver_sensitivity/test_rx_sens_bridge_mode.py @@ -8,144 +8,114 @@ import os import pytest import allure -pytestmark = [pytest.mark.rx_sensitivity_tests, pytest.mark.bridge, pytest.mark.wpa2_personal] +pytestmark = [pytest.mark.advance, pytest.mark.rx_sensitivity_tests, pytest.mark.bridge, pytest.mark.wpa2_personal] setup_params_general = { "mode": "BRIDGE", "ssid_modes": { "wpa2_personal": [ - {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"}, - {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ]}, - "rf": { - "2G": {"channel-width": 20}, - "5G": {"channel-width": 80}, + {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"}, + {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} + ] + }, + "rf": { + "5G": { + 'band': '5G', + "channel": 36, + "channel-width": 80 }, - "radius": False, + "2G": { + 'band': '2G', + "channel": 6, + "channel-width": 20 + + } + + }, + "radius": False } +@allure.feature("Receiver Sensitivity") +@allure.parent_suite("Receiver Sensitivity Test") +@allure.suite(suite_name="BRIDGE Mode") +@allure.sub_suite(sub_suite_name="WPA2 Personal") @pytest.mark.parametrize( 'setup_configuration', [setup_params_general], indirect=True, scope="class" ) -@allure.parent_suite("Receiver Sensitivity Tests") -@allure.suite("WPA2 Personal Security") -@allure.sub_suite("Bridge Mode") -@allure.feature("TR-398 Issue 2") @pytest.mark.usefixtures("setup_configuration") -class TestRxSensitivityBridge(object): +class Test_RxSensitivitytests_Bridge(object): - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-2446", name="WIFI-2446") + @pytest.mark.wpa2_personal @pytest.mark.twog - @allure.title("Test for Receiver Sensitivity for 2.4G band") - def test_client_wpa2_personal_bridge_2g(self, get_test_library, setup_configuration, check_connectivity): - """Receiver Sensitivity Bridge Mode - pytest -m "rx_sensitivity_tests and bridge and wpa2_personal and twog" + @pytest.mark.fiveg + @pytest.mark.advance_ac + @allure.title("Receiver Sensitivity Test for AC Clients in BRIDGE Mode") + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13329", name="WIFI-13329") + def test_rx_sensitivity_tests_ac_bridge(self, get_test_library, setup_configuration, check_connectivity, selected_testbed): + """ + Test Description: + Receiver Sensitivity is a receiver's ability to receive and correctly demodulate weak signals. + This test provides a simplified measurement of the receiver's sensitivity, relative to the total + attenuation inserted between the DUT and the STA. As that attenuation is increased, the STA is + limited to a single coding scheme, eventually causing the connection to degrade. + The point at which the connection degrades represents the receiver's approximate sensitivity. + This is an approximate measurement only, where a detailed receiver sensitivity measurement would + typically be performed in a conducted test environment with calibrated transmitter power levels. + The test is repeated with multiple coding schemes, ensuring the DUT should smoothly + transition between coding schedules as the attenuation increases in normal operation. + + Marker: + advance_ac and rx_sensitivity_tests and wpa2_personal and bridge + + Note: Please refer to the PDF report for the Test Procedure, Pass/Fail Criteria, and Candela Score. """ - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" mode = "BRIDGE" - band = "twog" vlan = 1 - dut_name = list(setup_configuration.keys())[0] - dut_5g, dut_2g = "", "" - radios_2g, radios_5g, radios_ax = [], [], [] - data = get_test_library.json_get(_req_url="/port?fields=alias,port,mode") - data = data['interfaces'] - port, port_data = "", [] - for i in data: - for j in i: - if i[j]['mode'] != '': - port_data.append(i) - - for item in range(len(port_data)): - for p in port_data[item]: - temp = port_data[item][p]['port'].split('.') - temp = list(map(int, temp)) - temp = list(map(str, temp)) - port = ".".join(temp) - if port_data[item][p]['mode'] == '802.11bgn-AC': - radios_2g.append(port + " " + port_data[item][p]['alias']) - if port_data[item][p]['mode'] == '802.11an-AC': - radios_5g.append(port + " " + port_data[item][p]['alias']) - if port_data[item][p]['mode'] == '802.11abgn-AX': - radios_ax.append(port + " " + port_data[item][p]['alias']) - for i in setup_configuration[dut_name]['ssid_data']: - get_test_library.dut_idx_mapping[str(i)] = list(setup_configuration[dut_name]['ssid_data'][i].values()) - if get_test_library.dut_idx_mapping[str(i)][3] == "2G": - dut_2g = dut_name + ' ' + get_test_library.dut_idx_mapping[str(i)][0] + ' ' \ - '' + get_test_library.dut_idx_mapping[str(i)][4] + f' (1)' - - instance_name = "rx_sens_TR398" - result, description = get_test_library.tr398(radios_2g=radios_2g, radios_5g=radios_5g, radios_ax=radios_ax,dut_name=dut_name, - dut_5g=dut_5g, dut_2g=dut_2g, mode=mode, vlan_id=vlan, skip_2g=False, - skip_5g=True, instance_name=instance_name, test="rxsens", ssid_name=ssid_name, - security_key=security_key, security=security, - move_to_influx=False, dut_data=setup_configuration, tr398v2=True) - + raw_line = [["skip_ac: 0"], ["skip_ax: 1"]] + result, description = get_test_library.tr398v2(mode=mode, vlan_id=vlan, test="rxsens", + dut_data=setup_configuration, move_to_influx=False, + testbed=selected_testbed, extra_raw_lines=raw_line) if result: assert True else: assert False, description - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-2446", name="WIFI-2446") + @pytest.mark.wpa2_personal + @pytest.mark.twog @pytest.mark.fiveg - @allure.title("Test for Receiver Sensitivity for 5G band") - def test_client_wpa2_personal_bridge_5g(self, get_test_library, setup_configuration, check_connectivity): - """Receiver Sensitivity Bridge Mode - pytest -m "rx_sensitivity_tests and bridge and wpa2_personal and fiveg" + @pytest.mark.advance_ax + @allure.title("Receiver Sensitivity Test for AX Clients in BRIDGE Mode") + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13329", name="WIFI-13329") + def test_rx_sensitivity_tests_ax_bridge(self, get_test_library, setup_configuration, check_connectivity, + selected_testbed): + """ + Test Description: + Receiver Sensitivity is a receiver's ability to receive and correctly demodulate weak signals. + This test provides a simplified measurement of the receiver's sensitivity, relative to the total + attenuation inserted between the DUT and the STA. As that attenuation is increased, the STA is + limited to a single coding scheme, eventually causing the connection to degrade. + The point at which the connection degrades represents the receiver's approximate sensitivity. + This is an approximate measurement only, where a detailed receiver sensitivity measurement would + typically be performed in a conducted test environment with calibrated transmitter power levels. + The test is repeated with multiple coding schemes, ensuring the DUT should smoothly + transition between coding schedules as the attenuation increases in normal operation. + + Marker: + advance_ax and rx_sensitivity_tests and wpa2_personal and bridge + + Note: Please refer to the PDF report for the Test Procedure, Pass/Fail Criteria, and Candela Score. """ - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" mode = "BRIDGE" - band = "fiveg" vlan = 1 - dut_name = list(setup_configuration.keys())[0] - dut_5g, dut_2g = "", "" - radios_2g, radios_5g, radios_ax = [], [], [] - data = get_test_library.json_get(_req_url="/port?fields=alias,port,mode") - data = data['interfaces'] - port, port_data = "", [] - for i in data: - for j in i: - if i[j]['mode'] != '': - port_data.append(i) - - for item in range(len(port_data)): - for p in port_data[item]: - temp = port_data[item][p]['port'].split('.') - temp = list(map(int, temp)) - temp = list(map(str, temp)) - port = ".".join(temp) - if port_data[item][p]['mode'] == '802.11bgn-AC': - radios_2g.append(port + " " + port_data[item][p]['alias']) - if port_data[item][p]['mode'] == '802.11an-AC': - radios_5g.append(port + " " + port_data[item][p]['alias']) - if port_data[item][p]['mode'] == '802.11abgn-AX': - radios_ax.append(port + " " + port_data[item][p]['alias']) - for i in setup_configuration[dut_name]['ssid_data']: - get_test_library.dut_idx_mapping[str(i)] = list(setup_configuration[dut_name]['ssid_data'][i].values()) - if get_test_library.dut_idx_mapping[str(i)][3] == "5G": - dut_5g = dut_name + ' ' + get_test_library.dut_idx_mapping[str(i)][0] + ' ' \ - '' + \ - get_test_library.dut_idx_mapping[str(i)][4] + f' (1)' - - - instance_name = "rx_sens_TR398" - result, description = get_test_library.tr398(radios_2g=radios_2g, radios_5g=radios_5g, radios_ax=radios_ax, - dut_name=dut_name, dut_5g=dut_5g, dut_2g=dut_2g, mode=mode, - vlan_id=vlan, skip_2g=True, skip_5g=False, instance_name=instance_name, - test="rxsens", ssid_name=ssid_name, security_key=security_key, - security=security, move_to_influx=False, dut_data=setup_configuration, - tr398v2=True) + raw_line = [["skip_ac: 1"], ["skip_ax: 0"]] + result, description = get_test_library.tr398v2(mode=mode, vlan_id=vlan, test="rxsens", + dut_data=setup_configuration, move_to_influx=False, + testbed=selected_testbed, extra_raw_lines=raw_line) if result: assert True else: - assert False, description \ No newline at end of file + assert False, description diff --git a/tests/e2e/advanced/receiver_sensitivity/test_rx_sens_nat_mode.py b/tests/e2e/advanced/receiver_sensitivity/test_rx_sens_nat_mode.py deleted file mode 100644 index 1b74dd292..000000000 --- a/tests/e2e/advanced/receiver_sensitivity/test_rx_sens_nat_mode.py +++ /dev/null @@ -1,151 +0,0 @@ -""" - - Performance Test: Receiver Sensitivity Test: nat Mode - pytest -m "rx_sensitivity_tests and wpa2_personal and nat" - -""" -import os -import pytest -import allure - -pytestmark = [pytest.mark.rx_sensitivity_tests, pytest.mark.nat, pytest.mark.wpa2_personal] - -setup_params_general = { - "mode": "BRIDGE", - "ssid_modes": { - "wpa2_personal": [ - {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"}, - {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ]}, - "rf": { - "2G": {"channel-width": 20}, - "5G": {"channel-width": 80}, - }, - "radius": False, -} - - -@pytest.mark.parametrize( - 'setup_configuration', - [setup_params_general], - indirect=True, - scope="class" -) -@allure.parent_suite("Receiver Sensitivity Tests") -@allure.suite("WPA2 Personal Security") -@allure.sub_suite("NatMode") -@allure.feature("TR-398 Issue 2") -@pytest.mark.usefixtures("setup_configuration") -class TestRxSensitivityNAT2G(object): - - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-2446", name="WIFI-2446") - @pytest.mark.twog - @allure.title("Test for Receiver Sensitivity for 2.4G band") - def test_client_wpa2_personal_nat_2g(self, get_test_library, setup_configuration, check_connectivity): - """Receiver Sensitivity Nat Mode - pytest -m "rx_sensitivity_tests and nat and wpa2_personal and twog" - """ - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "NAT-WAN" - band = "twog" - vlan = 1 - dut_name = list(setup_configuration.keys())[0] - dut_5g, dut_2g = "", "" - radios_2g, radios_5g, radios_ax = [], [], [] - data = get_test_library.json_get(_req_url="/port?fields=alias,port,mode") - data = data['interfaces'] - port, port_data = "", [] - for i in data: - for j in i: - if i[j]['mode'] != '': - port_data.append(i) - - for item in range(len(port_data)): - for p in port_data[item]: - temp = port_data[item][p]['port'].split('.') - temp = list(map(int, temp)) - temp = list(map(str, temp)) - port = ".".join(temp) - if port_data[item][p]['mode'] == '802.11bgn-AC': - radios_2g.append(port + " " + port_data[item][p]['alias']) - if port_data[item][p]['mode'] == '802.11an-AC': - radios_5g.append(port + " " + port_data[item][p]['alias']) - if port_data[item][p]['mode'] == '802.11abgn-AX': - radios_ax.append(port + " " + port_data[item][p]['alias']) - for i in setup_configuration[dut_name]['ssid_data']: - get_test_library.dut_idx_mapping[str(i)] = list(setup_configuration[dut_name]['ssid_data'][i].values()) - if get_test_library.dut_idx_mapping[str(i)][3] == "2G": - dut_2g = dut_name + ' ' + get_test_library.dut_idx_mapping[str(i)][0] + ' ' \ - '' + get_test_library.dut_idx_mapping[str(i)][4] + f' (1)' - - instance_name = "rx_sens_TR398" - result, description = get_test_library.tr398(radios_2g=radios_2g, radios_5g=radios_5g, radios_ax=radios_ax,dut_name=dut_name, - dut_5g=dut_5g, dut_2g=dut_2g, mode=mode, vlan_id=vlan, skip_2g=False, - skip_5g=True, instance_name=instance_name, test="rxsens", ssid_name=ssid_name, - security_key=security_key, security=security, - move_to_influx=False, dut_data=setup_configuration, tr398v2=True) - - if result: - assert True - else: - assert False, description - - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-2446", name="WIFI-2446") - @pytest.mark.fiveg - @allure.title("Test for Receiver Sensitivity for 5G band") - def test_client_wpa2_personal_nat_5g(self, get_test_library, setup_configuration, check_connectivity): - """Receiver Sensitivity Nat Mode - pytest -m "rx_sensitivity_tests and nat and wpa2_personal and fiveg" - """ - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "NAT-WAN" - band = "fiveg" - vlan = 1 - dut_name = list(setup_configuration.keys())[0] - dut_5g, dut_2g = "", "" - radios_2g, radios_5g, radios_ax = [], [], [] - data = get_test_library.json_get(_req_url="/port?fields=alias,port,mode") - data = data['interfaces'] - port, port_data = "", [] - for i in data: - for j in i: - if i[j]['mode'] != '': - port_data.append(i) - - for item in range(len(port_data)): - for p in port_data[item]: - temp = port_data[item][p]['port'].split('.') - temp = list(map(int, temp)) - temp = list(map(str, temp)) - port = ".".join(temp) - if port_data[item][p]['mode'] == '802.11bgn-AC': - radios_2g.append(port + " " + port_data[item][p]['alias']) - if port_data[item][p]['mode'] == '802.11an-AC': - radios_5g.append(port + " " + port_data[item][p]['alias']) - if port_data[item][p]['mode'] == '802.11abgn-AX': - radios_ax.append(port + " " + port_data[item][p]['alias']) - for i in setup_configuration[dut_name]['ssid_data']: - get_test_library.dut_idx_mapping[str(i)] = list(setup_configuration[dut_name]['ssid_data'][i].values()) - if get_test_library.dut_idx_mapping[str(i)][3] == "5G": - dut_5g = dut_name + ' ' + get_test_library.dut_idx_mapping[str(i)][0] + ' ' \ - '' + \ - get_test_library.dut_idx_mapping[str(i)][4] + f' (1)' - - - instance_name = "rx_sens_TR398" - result, description = get_test_library.tr398(radios_2g=radios_2g, radios_5g=radios_5g, radios_ax=radios_ax, - dut_name=dut_name, dut_5g=dut_5g, dut_2g=dut_2g, mode=mode, - vlan_id=vlan, skip_2g=True, skip_5g=False, instance_name=instance_name, - test="rxsens", ssid_name=ssid_name, security_key=security_key, - security=security, move_to_influx=False, dut_data=setup_configuration, - tr398v2=True) - if result: - assert True - else: - assert False, description \ No newline at end of file diff --git a/tests/e2e/advanced/receiver_sensitivity/test_rx_sens_vlan_mode.py b/tests/e2e/advanced/receiver_sensitivity/test_rx_sens_vlan_mode.py deleted file mode 100644 index 41b5b2363..000000000 --- a/tests/e2e/advanced/receiver_sensitivity/test_rx_sens_vlan_mode.py +++ /dev/null @@ -1,151 +0,0 @@ -""" - - Performance Test: Receiver Sensitivity Test: vlan Mode - pytest -m "rx_sensitivity_tests and wpa2_personal and vlan" - -""" -import os -import pytest -import allure - -pytestmark = [pytest.mark.rx_sensitivity_tests, pytest.mark.vlan, pytest.mark.wpa2_personal] - -setup_params_general = { - "mode": "VLAN", - "ssid_modes": { - "wpa2_personal": [ - {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something", "vlan":100}, - {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something", "vlan":100} - ]}, - "rf": { - "2G": {"channel-width": 20}, - "5G": {"channel-width": 80}, - }, - "radius": False, -} - - -@pytest.mark.parametrize( - 'setup_configuration', - [setup_params_general], - indirect=True, - scope="class" -) -@allure.parent_suite("Receiver Sensitivity Tests") -@allure.suite("WPA2 Personal Security") -@allure.sub_suite("Vlan Mode") -@allure.feature("TR-398 Issue 2") -@pytest.mark.usefixtures("setup_configuration") -class TestRxSensitivityVLAN2G(object): - - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-2446", name="WIFI-2446") - @pytest.mark.twog - @allure.title("Test for Receiver Sensitivity for 2.4G band") - def test_client_wpa2_personal_vlan_2g(self, get_test_library, setup_configuration, check_connectivity): - """Receiver Sensitivity Vlan Mode - pytest -m "rx_sensitivity_tests and vlan and wpa2_personal and twog" - """ - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "VLAN" - band = "twog" - vlan = [100] - dut_name = list(setup_configuration.keys())[0] - dut_5g, dut_2g = "", "" - radios_2g, radios_5g, radios_ax = [], [], [] - data = get_test_library.json_get(_req_url="/port?fields=alias,port,mode") - data = data['interfaces'] - port, port_data = "", [] - for i in data: - for j in i: - if i[j]['mode'] != '': - port_data.append(i) - - for item in range(len(port_data)): - for p in port_data[item]: - temp = port_data[item][p]['port'].split('.') - temp = list(map(int, temp)) - temp = list(map(str, temp)) - port = ".".join(temp) - if port_data[item][p]['mode'] == '802.11bgn-AC': - radios_2g.append(port + " " + port_data[item][p]['alias']) - if port_data[item][p]['mode'] == '802.11an-AC': - radios_5g.append(port + " " + port_data[item][p]['alias']) - if port_data[item][p]['mode'] == '802.11abgn-AX': - radios_ax.append(port + " " + port_data[item][p]['alias']) - for i in setup_configuration[dut_name]['ssid_data']: - get_test_library.dut_idx_mapping[str(i)] = list(setup_configuration[dut_name]['ssid_data'][i].values()) - if get_test_library.dut_idx_mapping[str(i)][3] == "2G": - dut_2g = dut_name + ' ' + get_test_library.dut_idx_mapping[str(i)][0] + ' ' \ - '' + get_test_library.dut_idx_mapping[str(i)][4] + f' (1)' - - instance_name = "rx_sens_TR398" - result, description = get_test_library.tr398(radios_2g=radios_2g, radios_5g=radios_5g, radios_ax=radios_ax,dut_name=dut_name, - dut_5g=dut_5g, dut_2g=dut_2g, mode=mode, vlan_id=vlan, skip_2g=False, - skip_5g=True, instance_name=instance_name, test="rxsens", ssid_name=ssid_name, - security_key=security_key, security=security, - move_to_influx=False, dut_data=setup_configuration, tr398v2=True) - - if result: - assert True - else: - assert False, description - - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-2446", name="WIFI-2446") - @pytest.mark.fiveg - @allure.title("Test for Receiver Sensitivity for 5G band") - def test_client_wpa2_personal_vlan_5g(self, get_test_library, setup_configuration, check_connectivity): - """Receiver Sensitivity Vlan Mode - pytest -m "rx_sensitivity_tests and vlan and wpa2_personal and fiveg" - """ - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "VLAN" - band = "fiveg" - vlan = [100] - dut_name = list(setup_configuration.keys())[0] - dut_5g, dut_2g = "", "" - radios_2g, radios_5g, radios_ax = [], [], [] - data = get_test_library.json_get(_req_url="/port?fields=alias,port,mode") - data = data['interfaces'] - port, port_data = "", [] - for i in data: - for j in i: - if i[j]['mode'] != '': - port_data.append(i) - - for item in range(len(port_data)): - for p in port_data[item]: - temp = port_data[item][p]['port'].split('.') - temp = list(map(int, temp)) - temp = list(map(str, temp)) - port = ".".join(temp) - if port_data[item][p]['mode'] == '802.11bgn-AC': - radios_2g.append(port + " " + port_data[item][p]['alias']) - if port_data[item][p]['mode'] == '802.11an-AC': - radios_5g.append(port + " " + port_data[item][p]['alias']) - if port_data[item][p]['mode'] == '802.11abgn-AX': - radios_ax.append(port + " " + port_data[item][p]['alias']) - for i in setup_configuration[dut_name]['ssid_data']: - get_test_library.dut_idx_mapping[str(i)] = list(setup_configuration[dut_name]['ssid_data'][i].values()) - if get_test_library.dut_idx_mapping[str(i)][3] == "5G": - dut_5g = dut_name + ' ' + get_test_library.dut_idx_mapping[str(i)][0] + ' ' \ - '' + \ - get_test_library.dut_idx_mapping[str(i)][4] + f' (1)' - - - instance_name = "rx_sens_TR398" - result, description = get_test_library.tr398(radios_2g=radios_2g, radios_5g=radios_5g, radios_ax=radios_ax, - dut_name=dut_name, dut_5g=dut_5g, dut_2g=dut_2g, mode=mode, - vlan_id=vlan, skip_2g=True, skip_5g=False, instance_name=instance_name, - test="rxsens", ssid_name=ssid_name, security_key=security_key, - security=security, move_to_influx=False, dut_data=setup_configuration, - tr398v2=True) - if result: - assert True - else: - assert False, description \ No newline at end of file diff --git a/tests/e2e/advanced/spatial_consistency/wpa2_personal/test_bridge_mode.py b/tests/e2e/advanced/spatial_consistency/wpa2_personal/test_bridge_mode.py index 44bd7a023..655dc104d 100644 --- a/tests/e2e/advanced/spatial_consistency/wpa2_personal/test_bridge_mode.py +++ b/tests/e2e/advanced/spatial_consistency/wpa2_personal/test_bridge_mode.py @@ -18,14 +18,24 @@ setup_params_general = { ] }, "rf": { - "5G":{ - "channel-width": 80}, - "2G":{ - "channel-width": 20} + "5G": { + 'band': '5G', + "channel": 36, + "channel-width": 80 + }, + "2G": { + 'band': '2G', + "channel": 6, + "channel-width": 20 + + } + }, "radius": False } -@allure.feature("SPATIAL CONSISTENCY") + + +@allure.feature("Spatial Consistency") @allure.parent_suite("Spatial Consistency Test") @allure.suite(suite_name="BRIDGE Mode") @allure.sub_suite(sub_suite_name="WPA2 Personal") @@ -38,107 +48,62 @@ setup_params_general = { @pytest.mark.usefixtures("setup_configuration") class Test_SpatialConsistency_Bridge(object): - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("BRIDGE Mode Spatial Consistency Test (NSS-1) UDP-Download 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5052", name="WIFI-5052") @pytest.mark.wpa2_personal @pytest.mark.twog - @pytest.mark.nss1 - def test_udp_download_nss1_wpa2_personal_2g(self, get_test_library, setup_configuration, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "BRIDGE" - band = "twog" - vlan = 1 + @pytest.mark.fiveg + @pytest.mark.advance_ac + @allure.title("Spatial Consistency Test for AC Clients in BRIDGE Mode") + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13336", name="WIFI-13336") + def test_spatial_consistency_ac_bridge(self, get_test_library, setup_configuration, check_connectivity, selected_testbed): + """ + Test Description: + Spatial consistency test intends to verify the Wi-Fi signal consistency in spatial + domain by testing throughput with DUT at different angles to the Station and at different + emulated distance. The angles are changed with a programmable turn-table. + The distance is emulated by adjusting attenuation. - result, description = get_test_library.spatial_consistency(ssid_name=ssid_name, security_key=security_key, - security=security,mode=mode, band=band,vlan=vlan, - dut_data=setup_configuration,num_sta=1, spatial_streams=1, - instance_name="SPATIAL_NSS1_TWOG", - pass_value={"strong": 45, "medium": 35, "weak": 17}, - attenuations=[10, 38, 48]) + Marker: + advance_ac and spatial_consistency and wpa2_personal and bridge + + Note: Please refer to the PDF report for the Test Procedure, Pass/Fail Criteria, and Candela Score. + """ + mode = "BRIDGE" + vlan = 1 + raw_line = [["skip_ac: 0"], ["skip_ax: 1"]] + result, description = get_test_library.tr398v2(mode=mode, vlan_id=vlan, test="spatial", + dut_data=setup_configuration, move_to_influx=False, + testbed=selected_testbed, extra_raw_lines=raw_line) if result: assert True else: assert False, description - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("BRIDGE Mode Spatial Consistency Test (NSS-2) UDP-Download 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5068", name="WIFI-5068") @pytest.mark.wpa2_personal @pytest.mark.twog - @pytest.mark.nss2 - def test_udp_download_nss2_wpa2_personal_2g(self,get_test_library, setup_configuration, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "BRIDGE" - band = "twog" - vlan = 1 - - result, description = get_test_library.spatial_consistency(ssid_name=ssid_name, security_key=security_key, - security=security,mode=mode, band=band, vlan=vlan, - dut_data=setup_configuration,num_sta=1, spatial_streams=2, - instance_name="SPATIAL_NSS2_TWOG", - pass_value={"strong": 90, "medium": 70, "weak": 35}, - attenuations=[10, 38, 48]) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("BRIDGE Mode Spatial Consistency Test (NSS-1) UDP-Download 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5067", name="WIFI-5067") - @pytest.mark.wpa2_personal @pytest.mark.fiveg - @pytest.mark.nss1 - def test_udp_download_nss1_wpa2_personal_5g(self, get_test_library, setup_configuration, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "BRIDGE" - band = "fiveg" - vlan = 1 + @pytest.mark.advance_ax + @allure.title("Spatial Consistency Test for AX Clients in BRIDGE Mode") + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13336", name="WIFI-13336") + def test_spatial_consistency_ax_bridge(self, get_test_library, setup_configuration, check_connectivity, + selected_testbed): + """ + Test Description: + Spatial consistency test intends to verify the Wi-Fi signal consistency in spatial + domain by testing throughput with DUT at different angles to the Station and at different + emulated distance. The angles are changed with a programmable turn-table. + The distance is emulated by adjusting attenuation. - result, description = get_test_library.spatial_consistency(ssid_name=ssid_name, security_key=security_key, - security=security, mode=mode, band=band, vlan=vlan, - dut_data=setup_configuration, num_sta=1, - spatial_streams=1, - instance_name="SPATIAL_NSS1_FIVEG", - pass_value={"strong": 250, "medium": 150, "weak": 75}, - attenuations=[10, 25, 35]) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("BRIDGE Mode Spatial Consistency Test (NSS-2) UDP-Download 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5066", name="WIFI-5066") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.nss2 - def test_udp_download_nss2_wpa2_personal_5g(self, get_test_library, setup_configuration, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "BRIDGE" - band = "fiveg" - vlan = 1 - - result, description = get_test_library.spatial_consistency(ssid_name=ssid_name, security_key=security_key, - security=security, mode=mode, band=band, vlan=vlan, - dut_data=setup_configuration, num_sta=1, - spatial_streams=2, - instance_name="SPATIAL_NSS2_FIVEG", - pass_value={"strong": 500, "medium": 300,"weak": 150}, - attenuations=[10, 25, 35]) + Marker: + advance_ax and spatial_consistency and wpa2_personal and bridge + + Note: Please refer to the PDF report for the Test Procedure, Pass/Fail Criteria, and Candela Score. + """ + mode = "BRIDGE" + vlan = 1 + raw_line = [["skip_ac: 1"], ["skip_ax: 0"]] + result, description = get_test_library.tr398v2(mode=mode, vlan_id=vlan, test="spatial", + dut_data=setup_configuration, move_to_influx=False, + testbed=selected_testbed, extra_raw_lines=raw_line) if result: assert True else: diff --git a/tests/e2e/advanced/spatial_consistency/wpa2_personal/test_nat_mode.py b/tests/e2e/advanced/spatial_consistency/wpa2_personal/test_nat_mode.py deleted file mode 100644 index 2d54926e8..000000000 --- a/tests/e2e/advanced/spatial_consistency/wpa2_personal/test_nat_mode.py +++ /dev/null @@ -1,151 +0,0 @@ -""" - - Test Spatial Consistency: Nat Mode - pytest -m spatial_consistency -""" - -import pytest -import allure - -pytestmark = [pytest.mark.advance, pytest.mark.spatial_consistency, pytest.mark.nat] - -setup_params_general = { - "mode": "NAT", - "ssid_modes": { - "wpa2_personal": [ - {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"}, - {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ] - }, - "rf": { - "5G":{ - "channel-width": 80}, - "2G":{ - "channel-width": 20} - }, - "radius": False -} -@allure.feature("SPATIAL CONSISTENCY") -@allure.parent_suite("Spatial Consistency Test") -@allure.suite(suite_name="NAT Mode") -@allure.sub_suite(sub_suite_name="WPA2 Personal") -@pytest.mark.parametrize( - 'setup_configuration', - [setup_params_general], - indirect=True, - scope="class" -) -@pytest.mark.usefixtures("setup_configuration") -class Test_SpatialConsistency_Nat(object): - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("Nat Mode Spatial Consistency Test (NSS-1) UDP-Download 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5052", name="WIFI-5052") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.nss1 - def test_udp_download_nss1_wpa2_personal_2g(self, get_test_library, setup_configuration, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "NAT-WAN" - band = "twog" - vlan = 1 - - result, description = get_test_library.spatial_consistency(ssid_name=ssid_name, security_key=security_key, - security=security, mode=mode, band=band, vlan=vlan, - dut_data=setup_configuration, num_sta=1, - download_rate="100%", upload_rate="56Kbps", - spatial_streams=1, - instance_name="SPATIAL_NSS1_TWOG", - pass_value={"strong": 45, "medium": 35, "weak": 17}, - attenuations=[10, 38, 48]) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("Nat Mode Spatial Consistency Test (NSS-2) UDP-Download 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5068", name="WIFI-5068") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.nss2 - def test_udp_download_nss2_wpa2_personal_2g(self,get_test_library, setup_configuration, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "NAT-WAN" - band = "twog" - vlan = 1 - - result, description = get_test_library.spatial_consistency(ssid_name=ssid_name, security_key=security_key, - security=security, mode=mode, band=band, vlan=vlan, - dut_data=setup_configuration, num_sta=1, - download_rate="100%", upload_rate="56Kbps", - spatial_streams=2, - instance_name="SPATIAL_NSS2_TWOG", - pass_value={"strong": 90, "medium": 70, "weak": 35}, - attenuations=[10, 38, 48]) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("Nat Mode Spatial Consistency Test (NSS-1) UDP-Download 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5067", name="WIFI-5067") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.nss1 - def test_udp_download_nss1_wpa2_personal_5g(self,get_test_library, setup_configuration, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "NAT-WAN" - band = "fiveg" - vlan = 1 - - result, description = get_test_library.spatial_consistency(ssid_name=ssid_name, security_key=security_key, - security=security, mode=mode, band=band, vlan=vlan, - dut_data=setup_configuration, num_sta=1, - download_rate="100%", upload_rate="56Kbps", - spatial_streams=1, - instance_name="SPATIAL_NSS1_FIVEG", - pass_value={"strong": 250, "medium": 150,"weak": 75}, - attenuations=[10, 25, 35]) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("Nat Mode Spatial Consistency Test (NSS-2) UDP-Download 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5066", name="WIFI-5066") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.nss2 - def test_udp_download_nss2_wpa2_personal_5g(self, get_test_library, setup_configuration, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "NAT-WAN" - band = "fiveg" - vlan = 1 - - result, description = get_test_library.spatial_consistency(ssid_name=ssid_name, security_key=security_key, - security=security, mode=mode, band=band, vlan=vlan, - dut_data=setup_configuration, num_sta=1, - download_rate="100%", upload_rate="56Kbps", - spatial_streams=2, - instance_name="SPATIAL_NSS2_FIVEG", - pass_value={"strong": 500, "medium": 300,"weak": 150}, - attenuations=[10, 25, 35]) - if result: - assert True - else: - assert False, description \ No newline at end of file diff --git a/tests/e2e/advanced/spatial_consistency/wpa2_personal/test_vlan_mode.py b/tests/e2e/advanced/spatial_consistency/wpa2_personal/test_vlan_mode.py deleted file mode 100644 index cfc617bb3..000000000 --- a/tests/e2e/advanced/spatial_consistency/wpa2_personal/test_vlan_mode.py +++ /dev/null @@ -1,150 +0,0 @@ -""" - - Test Spatial Consistency: Vlan Mode - pytest -m spatial_consistency -""" - -import pytest -import allure - -pytestmark = [pytest.mark.advance, pytest.mark.spatial_consistency, pytest.mark.vlan] - -setup_params_general = { - "mode": "VLAN", - "ssid_modes": { - "wpa2_personal": [ - {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something", "vlan":100}, - {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something", "vlan":100} - ] - }, - "rf": { - "5G":{ - "channel-width": 80}, - "2G":{ - "channel-width": 20} - }, - "radius": False -} -@allure.feature("SPATIAL CONSISTENCY") -@allure.parent_suite("Spatial Consistency Test") -@allure.suite(suite_name="VLAN Mode") -@allure.sub_suite(sub_suite_name="WPA2 Personal") -@pytest.mark.parametrize( - 'setup_configuration', - [setup_params_general], - indirect=True, - scope="class" -) -@pytest.mark.usefixtures("setup_configuration") -class Test_SpatialConsistency_Vlan(object): - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("Vlan Mode Spatial Consistency Test (NSS-1) UDP-Download 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5052", name="WIFI-5052") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.nss1 - def test_udp_download_nss1_wpa2_personal_2g(self, get_test_library, setup_configuration, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "VLAN" - band = "twog" - vlan = 100 - - result, description = get_test_library.spatial_consistency(ssid_name=ssid_name, security_key=security_key, - security=security, mode=mode, band=band, vlan=vlan, - dut_data=setup_configuration, num_sta=1, - spatial_streams=1, - instance_name="SPATIAL_NSS1_TWOG", - pass_value={"strong": 45, "medium": 35, "weak": 17}, - attenuations=[10, 38, 48],create_vlan=False) - if result: - assert True - else: - assert False, description - - - @allure.story('wpa2_personal 2.4 GHZ Band') - @allure.title("Vlan Mode Spatial Consistency Test (NSS-2) UDP-Download 2.4 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5068", name="WIFI-5068") - @pytest.mark.wpa2_personal - @pytest.mark.twog - @pytest.mark.nss2 - def test_udp_download_nss2_wpa2_personal_2g(self,get_test_library, setup_configuration, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "VLAN" - band = "twog" - vlan = 100 - - result, description = get_test_library.spatial_consistency(ssid_name=ssid_name, security_key=security_key, - security=security, mode=mode, band=band, vlan=vlan, - dut_data=setup_configuration, num_sta=1, - spatial_streams=2, - instance_name="SPATIAL_NSS2_TWOG", - pass_value={"strong": 90, "medium": 70, "weak": 35}, - attenuations=[10, 38, 48],create_vlan=False) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("Vlan Mode Spatial Consistency Test (NSS-1) UDP-Download 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5067", name="WIFI-5067") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.nss1 - def test_udp_download_nss1_wpa2_personal_5g(self, get_test_library, setup_configuration, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "VLAN" - band = "fiveg" - vlan = 100 - - result, description = get_test_library.spatial_consistency(ssid_name=ssid_name, security_key=security_key, - security=security, mode=mode, band=band, vlan=vlan, - dut_data=setup_configuration, num_sta=1, - spatial_streams=1, - instance_name="SPATIAL_NSS1_FIVEG", - pass_value={"strong": 250, "medium": 150,"weak": 75}, - attenuations=[10, 25, 35],create_vlan=False) - if result: - assert True - else: - assert False, description - - @allure.story('wpa2_personal 5 GHZ Band') - @allure.title("Vlan Mode Spatial Consistency Test (NSS-2) UDP-Download 5 GHz Band") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5066", name="WIFI-5066") - @pytest.mark.wpa2_personal - @pytest.mark.fiveg - @pytest.mark.nss2 - def test_udp_download_nss2_wpa2_personal_5g(self,get_test_library, setup_configuration, check_connectivity): - profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} - ssid_name = profile_data["ssid_name"] - security_key = profile_data["security_key"] - security = "wpa2" - mode = "VLAN" - band = "fiveg" - vlan = 100 - - result, description = get_test_library.spatial_consistency(ssid_name=ssid_name, security_key=security_key, - security=security, mode=mode, band=band, vlan=vlan, - dut_data=setup_configuration, num_sta=1, - spatial_streams=2, - instance_name="SPATIAL_NSS2_FIVEG", - pass_value={"strong": 500, "medium": 300,"weak": 150}, - attenuations=[10, 25, 35],create_vlan=False) - if result: - assert True - else: - assert False, description - -