mirror of
				https://github.com/Telecominfraproject/wlan-testing.git
				synced 2025-11-03 20:38:05 +00:00 
			
		
		
		
	Add: RF tests to the advanced test scenario's
* Modified test cases as per TR-398 Issue-2 Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Added advance testbed radio config file Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Added maximum connection test case as per TR-398 Issue-2 Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Added maximum throughput test case as per TR-398 Issue-2 Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Removed older nat mode rvr test cases Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Removed older nat and vlan mode advance rf test cases Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Added Test Description in advance suit Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Removed older rate_vs_orientation test plan Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Added advance marker Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Divided advance suit into advance AC and advance AX Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Modified RSSI values for advanced-2 Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> --------- Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
This commit is contained in:
		
				
					committed by
					
						
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							ce64d64343
						
					
				
				
					commit
					1610412512
				
			
							
								
								
									
										146
									
								
								tests/e2e/advanced/advanced-config.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										146
									
								
								tests/e2e/advanced/advanced-config.json
									
									
									
									
									
										Normal file
									
								
							@@ -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", "", ""]
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
"""
 | 
					"""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Airtime Fairness Tests: BRIDGE Mode
 | 
					    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 time
 | 
				
			||||||
import logging
 | 
					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 = {
 | 
					setup_params_general = {
 | 
				
			||||||
    "mode": "BRIDGE",
 | 
					    "mode": "BRIDGE",
 | 
				
			||||||
@@ -21,67 +21,100 @@ setup_params_general = {
 | 
				
			|||||||
            {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"}
 | 
					            {"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
 | 
					    "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(
 | 
					@pytest.mark.parametrize(
 | 
				
			||||||
    'setup_configuration',
 | 
					    'setup_configuration',
 | 
				
			||||||
    [setup_params_general],
 | 
					    [setup_params_general],
 | 
				
			||||||
    indirect=True,
 | 
					    indirect=True,
 | 
				
			||||||
    scope="class"
 | 
					    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")
 | 
					@pytest.mark.usefixtures("setup_configuration")
 | 
				
			||||||
class TestAtfBridge(object):
 | 
					class Test_Atf_Bridge(object):
 | 
				
			||||||
    """
 | 
					
 | 
				
			||||||
                        BRIDGE Mode Airtime Fairness Test with wpa2 personal encryption
 | 
					    @pytest.mark.wpa2_personal
 | 
				
			||||||
                        pytest -m "airtime_fairness_tests and bridge and wpa2_personal"
 | 
					 | 
				
			||||||
    """
 | 
					 | 
				
			||||||
    @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6394", name="WIFI-6394")
 | 
					 | 
				
			||||||
    @pytest.mark.twog
 | 
					    @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):
 | 
					 | 
				
			||||||
        """
 | 
					 | 
				
			||||||
                    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"
 | 
					 | 
				
			||||||
        """
 | 
					 | 
				
			||||||
        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)
 | 
					 | 
				
			||||||
        if result:
 | 
					 | 
				
			||||||
            assert True
 | 
					 | 
				
			||||||
        else:
 | 
					 | 
				
			||||||
            assert False, description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6394", name="WIFI-6394")
 | 
					 | 
				
			||||||
    @pytest.mark.fiveg
 | 
					    @pytest.mark.fiveg
 | 
				
			||||||
    @pytest.mark.atf_5g
 | 
					    @pytest.mark.advance_ac
 | 
				
			||||||
    @allure.title("Test for Airtime fairness of 5G")
 | 
					    @allure.title("Airtime Fairness Test for AC Clients in BRIDGE Mode")
 | 
				
			||||||
    def test_atf_5g(self, get_test_library, setup_configuration, check_connectivity):
 | 
					    @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 5 GHz Band
 | 
					            Test Description:
 | 
				
			||||||
                    pytest -m "airtime_fairness_tests and bridge and fiveg and wpa2_personal and atf_5g"
 | 
					            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_5g", "appliedRadios": ["5G"], "security_key": "something"}
 | 
					 | 
				
			||||||
        ssid_name = profile_data["ssid_name"]
 | 
					 | 
				
			||||||
        security_key = profile_data["security_key"]
 | 
					 | 
				
			||||||
        mode = "BRIDGE"
 | 
					        mode = "BRIDGE"
 | 
				
			||||||
        vlan = 1
 | 
					        vlan = 1
 | 
				
			||||||
        band = 'fiveg'
 | 
					        raw_line = [["skip_ac: 0"], ["skip_ax: 1"]]
 | 
				
			||||||
 | 
					        result, description = get_test_library.tr398v2(mode=mode, vlan_id=vlan, test="atf3",
 | 
				
			||||||
        result, description = get_test_library.air_time_fairness(ssid=ssid_name, passkey=security_key, security="wpa2",
 | 
					                                                       dut_data=setup_configuration, move_to_influx=False,
 | 
				
			||||||
                                                                 mode=mode, band=band, vlan_id=vlan, atn=250,
 | 
					                                                       testbed=selected_testbed, extra_raw_lines=raw_line)
 | 
				
			||||||
                                                                 pass_value=[500,470,260], dut_data=setup_configuration)
 | 
					        if result:
 | 
				
			||||||
 | 
					            assert True
 | 
				
			||||||
 | 
					        else:
 | 
				
			||||||
 | 
					            assert False, description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @pytest.mark.wpa2_personal
 | 
				
			||||||
 | 
					    @pytest.mark.twog
 | 
				
			||||||
 | 
					    @pytest.mark.fiveg
 | 
				
			||||||
 | 
					    @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):
 | 
				
			||||||
 | 
					        """
 | 
				
			||||||
 | 
					            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.
 | 
				
			||||||
 | 
					        """
 | 
				
			||||||
 | 
					        mode = "BRIDGE"
 | 
				
			||||||
 | 
					        vlan = 1
 | 
				
			||||||
 | 
					        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:
 | 
					        if result:
 | 
				
			||||||
            assert True
 | 
					            assert True
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -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
 | 
				
			||||||
@@ -8,7 +8,7 @@
 | 
				
			|||||||
import pytest
 | 
					import pytest
 | 
				
			||||||
import allure
 | 
					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 = {
 | 
					setup_params_general = {
 | 
				
			||||||
    "mode": "BRIDGE",
 | 
					    "mode": "BRIDGE",
 | 
				
			||||||
@@ -18,93 +18,91 @@ setup_params_general = {
 | 
				
			|||||||
            {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"}
 | 
					            {"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
 | 
					    "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(
 | 
					@pytest.mark.parametrize(
 | 
				
			||||||
    'setup_configuration',
 | 
					    'setup_configuration',
 | 
				
			||||||
    [setup_params_general],
 | 
					    [setup_params_general],
 | 
				
			||||||
    indirect=True,
 | 
					    indirect=True,
 | 
				
			||||||
    scope="class"
 | 
					    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")
 | 
					@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.twog
 | 
				
			||||||
    @pytest.mark.udp_upload_2g
 | 
					    @pytest.mark.fiveg
 | 
				
			||||||
    @allure.title("Test for Multi Association and Disassociation for UDP (NSS-2) upload 2.4G")
 | 
					    @pytest.mark.advance_ac
 | 
				
			||||||
    def test_multi_asso_disasso_udp_upload_nss2_2g(self, get_test_library, setup_configuration, check_connectivity):
 | 
					    @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"
 | 
					        mode = "BRIDGE"
 | 
				
			||||||
        vlan = 1
 | 
					        vlan = 1
 | 
				
			||||||
        result, discription = get_test_library.multi_asso_disasso(band="2G", num_stations=16, dut_data=setup_configuration,
 | 
					        raw_line = [["skip_ac: 0"], ["skip_ax: 1"]]
 | 
				
			||||||
                                                            mode = mode, vlan=vlan, instance_name="udp_upload_2g",
 | 
					        result, description = get_test_library.tr398v2(mode=mode, vlan_id=vlan, test="reset",
 | 
				
			||||||
                                                            traffic_direction="upload", traffic_rate="4Mbps")
 | 
					                                                       dut_data=setup_configuration, move_to_influx=False,
 | 
				
			||||||
 | 
					                                                       testbed=selected_testbed, extra_raw_lines=raw_line)
 | 
				
			||||||
        if result:
 | 
					        if result:
 | 
				
			||||||
            assert True
 | 
					            assert True
 | 
				
			||||||
        else:
 | 
					        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.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.fiveg
 | 
				
			||||||
    @pytest.mark.udp_upload_5g
 | 
					    @pytest.mark.advance_ax
 | 
				
			||||||
    @allure.title("Test for Multi Association and Disassociation for UDP (NSS-2) upload 5G")
 | 
					    @allure.title("Multi Association and Disassociation Test for AX Clients in BRIDGE Mode")
 | 
				
			||||||
    def test_multi_asso_disasso_udp_upload_nss2_5g(self, get_test_library, setup_configuration, check_connectivity):
 | 
					    @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"
 | 
					            Test Description:
 | 
				
			||||||
        """
 | 
					            Multiple association / disassociation stability test intends to measure stability of Wi-Fi device under a
 | 
				
			||||||
        mode = "BRIDGE"
 | 
					            dynamic environment with frequent change of connection status.
 | 
				
			||||||
        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-5694", name="WIFI-5694")
 | 
					            Marker:
 | 
				
			||||||
    @pytest.mark.fiveg
 | 
					            advance_ax and multi_assoc_disassoc_tests and wpa2_personal and bridge
 | 
				
			||||||
    @pytest.mark.udp_download_5g
 | 
					
 | 
				
			||||||
    @allure.title("Test for Multi Association and Disassociation for UDP (NSS-2) download 5G")
 | 
					            Note: Please refer to the PDF report for the Test Procedure, Pass/Fail Criteria, and Candela Score.
 | 
				
			||||||
    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"
 | 
					 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
        mode = "BRIDGE"
 | 
					        mode = "BRIDGE"
 | 
				
			||||||
        vlan = 1
 | 
					        vlan = 1
 | 
				
			||||||
        result, discription = get_test_library.multi_asso_disasso(band="5G", num_stations=16,
 | 
					        raw_line = [["skip_ac: 1"], ["skip_ax: 0"]]
 | 
				
			||||||
                                                                  dut_data=setup_configuration,
 | 
					        result, description = get_test_library.tr398v2(mode=mode, vlan_id=vlan, test="reset",
 | 
				
			||||||
                                                                  mode=mode, vlan=vlan, instance_name="udp_download_5g",
 | 
					                                                       dut_data=setup_configuration, move_to_influx=False,
 | 
				
			||||||
                                                                  traffic_direction="download", traffic_rate="8Mbps")
 | 
					                                                       testbed=selected_testbed, extra_raw_lines=raw_line)
 | 
				
			||||||
        if result:
 | 
					        if result:
 | 
				
			||||||
            assert True
 | 
					            assert True
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            assert False, discription
 | 
					            assert False, description
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@@ -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
 | 
					 | 
				
			||||||
@@ -17,16 +17,24 @@ setup_params_general = {
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    "rf": {
 | 
					    "rf": {
 | 
				
			||||||
        "5G": {
 | 
					        "5G": {
 | 
				
			||||||
            "channel-width": 80},
 | 
					            'band': '5G',
 | 
				
			||||||
 | 
					            "channel": 36,
 | 
				
			||||||
 | 
					            "channel-width": 80
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
        "2G": {
 | 
					        "2G": {
 | 
				
			||||||
            "channel-width": 20}
 | 
					            'band': '2G',
 | 
				
			||||||
 | 
					            "channel": 6,
 | 
				
			||||||
 | 
					            "channel-width": 20
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "radius": False
 | 
					    "radius": False
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@allure.feature("MULTI-STATION PERFORMANCE")
 | 
					@allure.feature("Multi-Station Performance")
 | 
				
			||||||
@allure.parent_suite("Multi Station Performance Test")
 | 
					@allure.parent_suite("Multi-Station Performance Test")
 | 
				
			||||||
@allure.suite(suite_name="BRIDGE Mode")
 | 
					@allure.suite(suite_name="BRIDGE Mode")
 | 
				
			||||||
@allure.sub_suite(sub_suite_name="WPA2 Personal")
 | 
					@allure.sub_suite(sub_suite_name="WPA2 Personal")
 | 
				
			||||||
@pytest.mark.parametrize(
 | 
					@pytest.mark.parametrize(
 | 
				
			||||||
@@ -36,774 +44,62 @@ setup_params_general = {
 | 
				
			|||||||
    scope="class"
 | 
					    scope="class"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
@pytest.mark.usefixtures("setup_configuration")
 | 
					@pytest.mark.usefixtures("setup_configuration")
 | 
				
			||||||
class TestMultiStaPerfBridge(object):
 | 
					class Test_MultiStaPerf_Bridge(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
 | 
					 | 
				
			||||||
    @pytest.mark.wpa2_personal
 | 
					    @pytest.mark.wpa2_personal
 | 
				
			||||||
    @pytest.mark.twog
 | 
					    @pytest.mark.twog
 | 
				
			||||||
    @pytest.mark.tps
 | 
					    @pytest.mark.fiveg
 | 
				
			||||||
    @pytest.mark.udp_upload_10dB_dis_nss1_2g
 | 
					    @pytest.mark.advance_ac
 | 
				
			||||||
    def test_multi_station_udp_upload_10dB_dis_nss1_2g(self, setup_configuration, get_test_library, num_stations,
 | 
					    @allure.title("Multi-Station Performance Test for AC Clients in BRIDGE Mode")
 | 
				
			||||||
                                                       get_test_device_logs, get_dut_logs_per_test_case,
 | 
					    @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13338", name="WIFI-13338")
 | 
				
			||||||
                                                       check_connectivity):
 | 
					    def test_multistaperf_ac_bridge(self, get_test_library, setup_configuration, check_connectivity, selected_testbed):
 | 
				
			||||||
        profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"}
 | 
					        """
 | 
				
			||||||
        ssid_name = profile_data["ssid_name"]
 | 
					            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"
 | 
					        mode = "BRIDGE"
 | 
				
			||||||
        vlan = 1
 | 
					        vlan = 1
 | 
				
			||||||
 | 
					        raw_line = [["skip_ac: 0"], ["skip_ax: 1"]]
 | 
				
			||||||
        result, description = get_test_library.multi_station_performance(ssid_name=ssid_name,
 | 
					        result, description = get_test_library.tr398v2(mode=mode, vlan_id=vlan, test="multi_sta",
 | 
				
			||||||
                                                                         security_key=profile_data["security_key"],
 | 
					                                                       dut_data=setup_configuration, move_to_influx=False,
 | 
				
			||||||
                                                                         mode=mode, vlan=vlan, band="twog", antenna=1,
 | 
					                                                       testbed=selected_testbed, extra_raw_lines=raw_line)
 | 
				
			||||||
                                                                         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:
 | 
					        if result:
 | 
				
			||||||
            assert True
 | 
					            assert True
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            assert False, description
 | 
					            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.wpa2_personal
 | 
				
			||||||
    @pytest.mark.twog
 | 
					    @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.fiveg
 | 
				
			||||||
    @pytest.mark.tps
 | 
					    @pytest.mark.advance_ax
 | 
				
			||||||
    @pytest.mark.udp_upload_10dB_dis_nss1_5g
 | 
					    @allure.title("Multi-Station Performance Test for AX Clients in BRIDGE Mode")
 | 
				
			||||||
    def test_multi_station_udp_upload_10dB_dis_nss1_5g(self, setup_configuration, get_test_library, num_stations,
 | 
					    @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13338", name="WIFI-13338")
 | 
				
			||||||
                                                       get_test_device_logs, get_dut_logs_per_test_case,
 | 
					    def test_multistaperf_ax_bridge(self, get_test_library, setup_configuration, check_connectivity, selected_testbed):
 | 
				
			||||||
                                                       check_connectivity):
 | 
					        """
 | 
				
			||||||
        profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"}
 | 
					            Test Description:
 | 
				
			||||||
        ssid_name = profile_data["ssid_name"]
 | 
					            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"
 | 
					        mode = "BRIDGE"
 | 
				
			||||||
        vlan = 1
 | 
					        vlan = 1
 | 
				
			||||||
 | 
					        raw_line = [["skip_ac: 1"], ["skip_ax: 0"]]
 | 
				
			||||||
        result, description = get_test_library.multi_station_performance(ssid_name=ssid_name,
 | 
					        result, description = get_test_library.tr398v2(mode=mode, vlan_id=vlan, test="multi_sta",
 | 
				
			||||||
                                                                         security_key=profile_data["security_key"],
 | 
					                                                       dut_data=setup_configuration, move_to_influx=False,
 | 
				
			||||||
                                                                         mode=mode, vlan=vlan, band="fiveg", antenna=1,
 | 
					                                                       testbed=selected_testbed, extra_raw_lines=raw_line)
 | 
				
			||||||
                                                                         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:
 | 
					        if result:
 | 
				
			||||||
            assert True
 | 
					            assert True
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            assert False, description
 | 
					            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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@@ -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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@@ -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"
 | 
					 | 
				
			||||||
@@ -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"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@@ -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"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@@ -3,12 +3,15 @@
 | 
				
			|||||||
    Test Rate v/s Range : Bridge Mode
 | 
					    Test Rate v/s Range : Bridge Mode
 | 
				
			||||||
    pytest -m "rate_vs_range"
 | 
					    pytest -m "rate_vs_range"
 | 
				
			||||||
"""
 | 
					"""
 | 
				
			||||||
 | 
					import sys
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import pytest
 | 
					import pytest
 | 
				
			||||||
import allure
 | 
					import allure
 | 
				
			||||||
 | 
					import json
 | 
				
			||||||
 | 
					import os
 | 
				
			||||||
 | 
					
 | 
				
			||||||
pytestmark = [pytest.mark.advance, pytest.mark.rate_vs_range, pytest.mark.bridge]
 | 
					pytestmark = [pytest.mark.advance, pytest.mark.rate_vs_range, pytest.mark.bridge]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
setup_params_general = {
 | 
					setup_params_general = {
 | 
				
			||||||
    "mode": "BRIDGE",
 | 
					    "mode": "BRIDGE",
 | 
				
			||||||
    "ssid_modes": {
 | 
					    "ssid_modes": {
 | 
				
			||||||
@@ -17,10 +20,24 @@ setup_params_general = {
 | 
				
			|||||||
            {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"}
 | 
					            {"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
 | 
					    "radius": False
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@allure.feature("RATE VS RANGE")
 | 
					@allure.feature("RATE VS RANGE")
 | 
				
			||||||
@allure.parent_suite("Rate vs Range Test")
 | 
					@allure.parent_suite("Rate vs Range Test")
 | 
				
			||||||
@allure.suite(suite_name="BRIDGE Mode")
 | 
					@allure.suite(suite_name="BRIDGE Mode")
 | 
				
			||||||
@@ -36,111 +53,59 @@ class Test_RatevsRange_Bridge(object):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    @pytest.mark.wpa2_personal
 | 
					    @pytest.mark.wpa2_personal
 | 
				
			||||||
    @pytest.mark.twog
 | 
					    @pytest.mark.twog
 | 
				
			||||||
    @allure.story('wpa2_personal 2.4 GHZ Band')
 | 
					    @pytest.mark.fiveg
 | 
				
			||||||
    @allure.title("Bridge Mode Rate vs Range Test Download 2.4 GHz Band")
 | 
					    @pytest.mark.advance_ac
 | 
				
			||||||
    @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-2495", name="WIFI-2495")
 | 
					    @allure.title("Rate vs Range Test for AC Clients in BRIDGE Mode")
 | 
				
			||||||
    def test_rvr_bridge_dl_wpa2_personal_2g(self,get_test_library, setup_configuration, check_connectivity):
 | 
					    @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13335", name="WIFI-13335")
 | 
				
			||||||
        profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"}
 | 
					    def test_rvr_ac_bridge(self, get_test_library, setup_configuration, check_connectivity, selected_testbed):
 | 
				
			||||||
        ssid_name = profile_data["ssid_name"]
 | 
					        """
 | 
				
			||||||
        security_key = profile_data["security_key"]
 | 
					            Test Description:
 | 
				
			||||||
        security = "wpa2"
 | 
					            Range versus rate test intends to measure the rate-control,
 | 
				
			||||||
        mode = "BRIDGE"
 | 
					            baseband and RF chain performance of Wi-Fi device at different signal levels.
 | 
				
			||||||
        band = "twog"
 | 
					            The attenuation of signals due to range increase is achieved by
 | 
				
			||||||
        vlan = 1
 | 
					            adjusting the attenuator.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        result, description = get_test_library.rate_vs_range(ssid_name=ssid_name, security_key=security_key,
 | 
					            Marker:
 | 
				
			||||||
                                                                  security=security, mode=mode, band=band, vlan=vlan,
 | 
					            advance_ac and rate_vs_range and wpa2_personal and bridge
 | 
				
			||||||
                                                                  dut_data=setup_configuration, num_sta=1,
 | 
					
 | 
				
			||||||
                                                                  direction="DUT Transmit",
 | 
					            Note: Please refer to the PDF report for the Test Procedure, Pass/Fail Criteria, and Candela Score.
 | 
				
			||||||
                                                                  instance_name="BRIDGE_RVR_TWOG_DL",
 | 
					        """
 | 
				
			||||||
                                                                  pass_value={"strong": 100, "medium": 95, "weak": 14},
 | 
					        mode = "BRIDGE"
 | 
				
			||||||
                                                                  attenuations=[0, 10, 21, 24, 27, 30, 33, 36, 39, 42,
 | 
					        vlan = 1
 | 
				
			||||||
                                                                                45, 48, 51, 54, 57, 60, 63])
 | 
					        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:
 | 
					        if result:
 | 
				
			||||||
            assert True
 | 
					            assert True
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            assert False, description
 | 
					            assert False, description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
    @pytest.mark.wpa2_personal
 | 
					    @pytest.mark.wpa2_personal
 | 
				
			||||||
    @pytest.mark.twog
 | 
					    @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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        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])
 | 
					 | 
				
			||||||
        if result:
 | 
					 | 
				
			||||||
            assert True
 | 
					 | 
				
			||||||
        else:
 | 
					 | 
				
			||||||
            assert False, description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    @pytest.mark.performance_advanced
 | 
					 | 
				
			||||||
    @pytest.mark.wpa2_personal
 | 
					 | 
				
			||||||
    @pytest.mark.fiveg
 | 
					    @pytest.mark.fiveg
 | 
				
			||||||
    @allure.story('wpa2_personal 5 GHZ Band')
 | 
					    @pytest.mark.advance_ax
 | 
				
			||||||
    @allure.title("Bridge Mode Rate vs Range Test Download 5 GHz Band")
 | 
					    @allure.title("Rate vs Range Test for AX Clients in BRIDGE Mode")
 | 
				
			||||||
    @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-2499", name="WIFI-2499")
 | 
					    @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13335", name="WIFI-13335")
 | 
				
			||||||
    def test_rvr_bridge_dl_wpa2_personal_5g(self,get_test_library, setup_configuration, check_connectivity):
 | 
					    def test_rvr_ax_bridge(self, get_test_library, setup_configuration, check_connectivity, selected_testbed):
 | 
				
			||||||
        profile_data = {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"}
 | 
					        """
 | 
				
			||||||
        ssid_name = profile_data["ssid_name"]
 | 
					            Test Description:
 | 
				
			||||||
        security_key = profile_data["security_key"]
 | 
					            Range versus rate test intends to measure the rate-control,
 | 
				
			||||||
        security = "wpa2"
 | 
					            baseband and RF chain performance of Wi-Fi device at different signal levels.
 | 
				
			||||||
        mode = "BRIDGE"
 | 
					            The attenuation of signals due to range increase is achieved by
 | 
				
			||||||
        band = "fiveg"
 | 
					            adjusting the attenuator.
 | 
				
			||||||
        vlan = 1
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        result, description = get_test_library.rate_vs_range(ssid_name=ssid_name, security_key=security_key,
 | 
					            Marker:
 | 
				
			||||||
                                                                  security=security, mode=mode, band=band, vlan=vlan,
 | 
					            advance_ax and rate_vs_range and wpa2_personal and bridge
 | 
				
			||||||
                                                                  dut_data=setup_configuration, num_sta=1,
 | 
					
 | 
				
			||||||
                                                                  direction="DUT Transmit",
 | 
					            Note: Please refer to the PDF report for the Test Procedure, Pass/Fail Criteria, and Candela Score.
 | 
				
			||||||
                                                                  instance_name="BRIDGE_RVR_FIVEG_DL",
 | 
					        """
 | 
				
			||||||
                                                                  pass_value={"strong": 560, "medium": 220, "weak": 5},
 | 
					        mode = "BRIDGE"
 | 
				
			||||||
                                                                  attenuations=[0, 10, 21, 24, 27, 30, 33, 36, 39, 42,
 | 
					        vlan = 1
 | 
				
			||||||
                                                                                45, 48, 51, 54])
 | 
					        raw_line = [["skip_ac: 1"], ["skip_ax: 0"]]
 | 
				
			||||||
        if result:
 | 
					        result, description = get_test_library.tr398v2(mode=mode, vlan_id=vlan, test="rvr",
 | 
				
			||||||
            assert True
 | 
					                                                       dut_data=setup_configuration, move_to_influx=False,
 | 
				
			||||||
        else:
 | 
					                                                       testbed=selected_testbed, extra_raw_lines=raw_line)
 | 
				
			||||||
            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:
 | 
					        if result:
 | 
				
			||||||
            assert True
 | 
					            assert True
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@@ -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
 | 
					 | 
				
			||||||
@@ -8,143 +8,113 @@ import os
 | 
				
			|||||||
import pytest
 | 
					import pytest
 | 
				
			||||||
import allure
 | 
					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 = {
 | 
					setup_params_general = {
 | 
				
			||||||
    "mode": "BRIDGE",
 | 
					    "mode": "BRIDGE",
 | 
				
			||||||
    "ssid_modes": {
 | 
					    "ssid_modes": {
 | 
				
			||||||
        "wpa2_personal": [
 | 
					        "wpa2_personal": [
 | 
				
			||||||
            {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"},
 | 
					            {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"},
 | 
				
			||||||
            {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"}
 | 
					            {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"}
 | 
				
			||||||
            ]},
 | 
					        ]
 | 
				
			||||||
        "rf": {
 | 
					 | 
				
			||||||
            "2G": {"channel-width": 20},
 | 
					 | 
				
			||||||
            "5G": {"channel-width": 80},
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "radius": False,
 | 
					    "rf": {
 | 
				
			||||||
 | 
					        "5G": {
 | 
				
			||||||
 | 
					            'band': '5G',
 | 
				
			||||||
 | 
					            "channel": 36,
 | 
				
			||||||
 | 
					            "channel-width": 80
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "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(
 | 
					@pytest.mark.parametrize(
 | 
				
			||||||
    'setup_configuration',
 | 
					    'setup_configuration',
 | 
				
			||||||
    [setup_params_general],
 | 
					    [setup_params_general],
 | 
				
			||||||
    indirect=True,
 | 
					    indirect=True,
 | 
				
			||||||
    scope="class"
 | 
					    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")
 | 
					@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
 | 
					    @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"
 | 
					 | 
				
			||||||
        """
 | 
					 | 
				
			||||||
        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)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        if result:
 | 
					 | 
				
			||||||
            assert True
 | 
					 | 
				
			||||||
        else:
 | 
					 | 
				
			||||||
            assert False, description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-2446", name="WIFI-2446")
 | 
					 | 
				
			||||||
    @pytest.mark.fiveg
 | 
					    @pytest.mark.fiveg
 | 
				
			||||||
    @allure.title("Test for Receiver Sensitivity for 5G band")
 | 
					    @pytest.mark.advance_ac
 | 
				
			||||||
    def test_client_wpa2_personal_bridge_5g(self, get_test_library, setup_configuration, check_connectivity):
 | 
					    @allure.title("Receiver Sensitivity Test for AC Clients in BRIDGE Mode")
 | 
				
			||||||
        """Receiver Sensitivity Bridge Mode
 | 
					    @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13329", name="WIFI-13329")
 | 
				
			||||||
           pytest -m "rx_sensitivity_tests and bridge and wpa2_personal and fiveg"
 | 
					    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_5g", "appliedRadios": ["5G"], "security_key": "something"}
 | 
					 | 
				
			||||||
        ssid_name = profile_data["ssid_name"]
 | 
					 | 
				
			||||||
        security_key = profile_data["security_key"]
 | 
					 | 
				
			||||||
        security = "wpa2"
 | 
					 | 
				
			||||||
        mode = "BRIDGE"
 | 
					        mode = "BRIDGE"
 | 
				
			||||||
        band = "fiveg"
 | 
					 | 
				
			||||||
        vlan = 1
 | 
					        vlan = 1
 | 
				
			||||||
        dut_name = list(setup_configuration.keys())[0]
 | 
					        raw_line = [["skip_ac: 0"], ["skip_ax: 1"]]
 | 
				
			||||||
        dut_5g, dut_2g = "", ""
 | 
					        result, description = get_test_library.tr398v2(mode=mode, vlan_id=vlan, test="rxsens",
 | 
				
			||||||
        radios_2g, radios_5g, radios_ax = [], [], []
 | 
					                                                       dut_data=setup_configuration, move_to_influx=False,
 | 
				
			||||||
        data = get_test_library.json_get(_req_url="/port?fields=alias,port,mode")
 | 
					                                                       testbed=selected_testbed, extra_raw_lines=raw_line)
 | 
				
			||||||
        data = data['interfaces']
 | 
					        if result:
 | 
				
			||||||
        port, port_data = "", []
 | 
					            assert True
 | 
				
			||||||
        for i in data:
 | 
					        else:
 | 
				
			||||||
            for j in i:
 | 
					            assert False, description
 | 
				
			||||||
                if i[j]['mode'] != '':
 | 
					
 | 
				
			||||||
                    port_data.append(i)
 | 
					    @pytest.mark.wpa2_personal
 | 
				
			||||||
 | 
					    @pytest.mark.twog
 | 
				
			||||||
        for item in range(len(port_data)):
 | 
					    @pytest.mark.fiveg
 | 
				
			||||||
            for p in port_data[item]:
 | 
					    @pytest.mark.advance_ax
 | 
				
			||||||
                temp = port_data[item][p]['port'].split('.')
 | 
					    @allure.title("Receiver Sensitivity Test for AX Clients in BRIDGE Mode")
 | 
				
			||||||
                temp = list(map(int, temp))
 | 
					    @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13329", name="WIFI-13329")
 | 
				
			||||||
                temp = list(map(str, temp))
 | 
					    def test_rx_sensitivity_tests_ax_bridge(self, get_test_library, setup_configuration, check_connectivity,
 | 
				
			||||||
                port = ".".join(temp)
 | 
					                                            selected_testbed):
 | 
				
			||||||
                if port_data[item][p]['mode'] == '802.11bgn-AC':
 | 
					        """
 | 
				
			||||||
                    radios_2g.append(port + " " + port_data[item][p]['alias'])
 | 
					            Test Description:
 | 
				
			||||||
                if port_data[item][p]['mode'] == '802.11an-AC':
 | 
					            Receiver Sensitivity is a receiver's ability to receive and correctly demodulate weak signals.
 | 
				
			||||||
                    radios_5g.append(port + " " + port_data[item][p]['alias'])
 | 
					            This test provides a simplified measurement of the receiver's sensitivity, relative to the total
 | 
				
			||||||
                if port_data[item][p]['mode'] == '802.11abgn-AX':
 | 
					            attenuation inserted between the DUT and the STA. As that attenuation is increased, the STA is
 | 
				
			||||||
                    radios_ax.append(port + " " + port_data[item][p]['alias'])
 | 
					            limited to a single coding scheme, eventually causing the connection to degrade.
 | 
				
			||||||
        for i in setup_configuration[dut_name]['ssid_data']:
 | 
					            The point at which the connection degrades represents the receiver's approximate sensitivity.
 | 
				
			||||||
            get_test_library.dut_idx_mapping[str(i)] = list(setup_configuration[dut_name]['ssid_data'][i].values())
 | 
					            This is an approximate measurement only, where a detailed receiver sensitivity measurement would
 | 
				
			||||||
            if get_test_library.dut_idx_mapping[str(i)][3] == "5G":
 | 
					            typically be performed in a conducted test environment with calibrated transmitter power levels.
 | 
				
			||||||
                dut_5g = dut_name + ' ' + get_test_library.dut_idx_mapping[str(i)][0] + ' ' \
 | 
					            The test is repeated with multiple coding schemes, ensuring the DUT should smoothly
 | 
				
			||||||
                                                                                        '' + \
 | 
					            transition between coding schedules as the attenuation increases in normal operation.
 | 
				
			||||||
                         get_test_library.dut_idx_mapping[str(i)][4] + f' (1)'
 | 
					
 | 
				
			||||||
 | 
					            Marker:
 | 
				
			||||||
 | 
					            advance_ax and rx_sensitivity_tests and wpa2_personal and bridge
 | 
				
			||||||
        instance_name = "rx_sens_TR398"
 | 
					
 | 
				
			||||||
        result, description = get_test_library.tr398(radios_2g=radios_2g, radios_5g=radios_5g, radios_ax=radios_ax,
 | 
					            Note: Please refer to the PDF report for the Test Procedure, Pass/Fail Criteria, and Candela Score.
 | 
				
			||||||
                                                     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,
 | 
					        mode = "BRIDGE"
 | 
				
			||||||
                                                     test="rxsens", ssid_name=ssid_name, security_key=security_key,
 | 
					        vlan = 1
 | 
				
			||||||
                                                     security=security, move_to_influx=False, dut_data=setup_configuration,
 | 
					        raw_line = [["skip_ac: 1"], ["skip_ax: 0"]]
 | 
				
			||||||
                                                     tr398v2=True)
 | 
					        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:
 | 
					        if result:
 | 
				
			||||||
            assert True
 | 
					            assert True
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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
 | 
					 | 
				
			||||||
@@ -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
 | 
					 | 
				
			||||||
@@ -18,14 +18,24 @@ setup_params_general = {
 | 
				
			|||||||
        ]
 | 
					        ]
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "rf": {
 | 
					    "rf": {
 | 
				
			||||||
        "5G":{
 | 
					        "5G": {
 | 
				
			||||||
            "channel-width": 80},
 | 
					            'band': '5G',
 | 
				
			||||||
        "2G":{
 | 
					            "channel": 36,
 | 
				
			||||||
            "channel-width": 20}
 | 
					            "channel-width": 80
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "2G": {
 | 
				
			||||||
 | 
					            'band': '2G',
 | 
				
			||||||
 | 
					            "channel": 6,
 | 
				
			||||||
 | 
					            "channel-width": 20
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "radius": False
 | 
					    "radius": False
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@allure.feature("SPATIAL CONSISTENCY")
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@allure.feature("Spatial Consistency")
 | 
				
			||||||
@allure.parent_suite("Spatial Consistency Test")
 | 
					@allure.parent_suite("Spatial Consistency Test")
 | 
				
			||||||
@allure.suite(suite_name="BRIDGE Mode")
 | 
					@allure.suite(suite_name="BRIDGE Mode")
 | 
				
			||||||
@allure.sub_suite(sub_suite_name="WPA2 Personal")
 | 
					@allure.sub_suite(sub_suite_name="WPA2 Personal")
 | 
				
			||||||
@@ -38,107 +48,62 @@ setup_params_general = {
 | 
				
			|||||||
@pytest.mark.usefixtures("setup_configuration")
 | 
					@pytest.mark.usefixtures("setup_configuration")
 | 
				
			||||||
class Test_SpatialConsistency_Bridge(object):
 | 
					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.wpa2_personal
 | 
				
			||||||
    @pytest.mark.twog
 | 
					    @pytest.mark.twog
 | 
				
			||||||
    @pytest.mark.nss1
 | 
					    @pytest.mark.fiveg
 | 
				
			||||||
    def test_udp_download_nss1_wpa2_personal_2g(self, get_test_library, setup_configuration, check_connectivity):
 | 
					    @pytest.mark.advance_ac
 | 
				
			||||||
        profile_data = {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"}
 | 
					    @allure.title("Spatial Consistency Test for AC Clients in BRIDGE Mode")
 | 
				
			||||||
        ssid_name = profile_data["ssid_name"]
 | 
					    @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13336", name="WIFI-13336")
 | 
				
			||||||
        security_key = profile_data["security_key"]
 | 
					    def test_spatial_consistency_ac_bridge(self, get_test_library, setup_configuration, check_connectivity, selected_testbed):
 | 
				
			||||||
        security = "wpa2"
 | 
					        """
 | 
				
			||||||
        mode = "BRIDGE"
 | 
					            Test Description:
 | 
				
			||||||
        band = "twog"
 | 
					            Spatial consistency test intends to verify the Wi-Fi signal consistency in spatial
 | 
				
			||||||
        vlan = 1
 | 
					            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,
 | 
					            Marker:
 | 
				
			||||||
                                                                   security=security,mode=mode, band=band,vlan=vlan,
 | 
					            advance_ac and spatial_consistency and wpa2_personal and bridge
 | 
				
			||||||
                                                                   dut_data=setup_configuration,num_sta=1, spatial_streams=1,
 | 
					
 | 
				
			||||||
                                                                   instance_name="SPATIAL_NSS1_TWOG",
 | 
					            Note: Please refer to the PDF report for the Test Procedure, Pass/Fail Criteria, and Candela Score.
 | 
				
			||||||
                                                                   pass_value={"strong": 45, "medium": 35, "weak": 17},
 | 
					        """
 | 
				
			||||||
                                                                   attenuations=[10, 38, 48])
 | 
					        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:
 | 
					        if result:
 | 
				
			||||||
            assert True
 | 
					            assert True
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            assert False, description
 | 
					            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.wpa2_personal
 | 
				
			||||||
    @pytest.mark.twog
 | 
					    @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.fiveg
 | 
				
			||||||
    @pytest.mark.nss1
 | 
					    @pytest.mark.advance_ax
 | 
				
			||||||
    def test_udp_download_nss1_wpa2_personal_5g(self, get_test_library, setup_configuration, check_connectivity):
 | 
					    @allure.title("Spatial Consistency Test for AX Clients in BRIDGE Mode")
 | 
				
			||||||
        profile_data =  {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"}
 | 
					    @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13336", name="WIFI-13336")
 | 
				
			||||||
        ssid_name = profile_data["ssid_name"]
 | 
					    def test_spatial_consistency_ax_bridge(self, get_test_library, setup_configuration, check_connectivity,
 | 
				
			||||||
        security_key = profile_data["security_key"]
 | 
					                                           selected_testbed):
 | 
				
			||||||
        security = "wpa2"
 | 
					        """
 | 
				
			||||||
        mode = "BRIDGE"
 | 
					            Test Description:
 | 
				
			||||||
        band = "fiveg"
 | 
					            Spatial consistency test intends to verify the Wi-Fi signal consistency in spatial
 | 
				
			||||||
        vlan = 1
 | 
					            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,
 | 
					            Marker:
 | 
				
			||||||
                                                                   security=security, mode=mode, band=band, vlan=vlan,
 | 
					            advance_ax and spatial_consistency and wpa2_personal and bridge
 | 
				
			||||||
                                                                   dut_data=setup_configuration, num_sta=1,
 | 
					
 | 
				
			||||||
                                                                   spatial_streams=1,
 | 
					            Note: Please refer to the PDF report for the Test Procedure, Pass/Fail Criteria, and Candela Score.
 | 
				
			||||||
                                                                   instance_name="SPATIAL_NSS1_FIVEG",
 | 
					        """
 | 
				
			||||||
                                                                   pass_value={"strong": 250, "medium": 150, "weak": 75},
 | 
					        mode = "BRIDGE"
 | 
				
			||||||
                                                                   attenuations=[10, 25, 35])
 | 
					        vlan = 1
 | 
				
			||||||
        if result:
 | 
					        raw_line = [["skip_ac: 1"], ["skip_ax: 0"]]
 | 
				
			||||||
            assert True
 | 
					        result, description = get_test_library.tr398v2(mode=mode, vlan_id=vlan, test="spatial",
 | 
				
			||||||
        else:
 | 
					                                                       dut_data=setup_configuration, move_to_influx=False,
 | 
				
			||||||
            assert False, description
 | 
					                                                       testbed=selected_testbed, extra_raw_lines=raw_line)
 | 
				
			||||||
 | 
					 | 
				
			||||||
    @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])
 | 
					 | 
				
			||||||
        if result:
 | 
					        if result:
 | 
				
			||||||
            assert True
 | 
					            assert True
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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
 | 
					 | 
				
			||||||
@@ -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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		Reference in New Issue
	
	Block a user