mirror of
https://github.com/Telecominfraproject/wlan-testing.git
synced 2026-01-27 10:23:37 +00:00
Wifi 6849 (#432)
* downlink mu-mimo test for Bridge-Open added * mu-mimo test cases for other security modes are added * Country code with channel division: 2Ghz,20Mhz, US and channel 1 * change in testcase execution * created country_code-US, with channel_width-20Mhz, channel_no-1 for 2G band * missed git_configuration param * checking from setup_params_general 'rf' to set radio config * added country_code_channel_division funtion * added radio config using radio_config * corrected allure report * marker name changes for security modes in mu-mimo test case * changed function name * check allure report * Added comment * allure report corrected * Created testcase for channel 2 in 2G band * checking allure report * added channel mode VHT in AP configuration which is common for both wifi-5 and wifi-6 AP, without channel-mode always getting channel mode HE * checking allure report * corrected json_get url * testcase for channel-2 in 20Mhz, US, 2G * file name changes in mu-mimo and sniff method added for pcap * corrected channel overwritten on second testcase * testcases for channels from 3 to 13 with US, 20Mhz, 2G * packet sniffing methods moved from lf_tools to lf_pcap * US have 2G channels from 1 to 11 * added print statement to verify IP and channel no * marker names and security key changed for all security modes * Checking again if client not assigned with IP * Testcases: US, 40Mhz, 2G, channels 1-11 * Testcases: US, 40Mhz, 5G, channels (36,44,52,60,100,108,132,140) * removed wrong testcases * Testcases: IN, (20Mhz, 40Mhz), 2G, channels 1-11 * Testcases: IN, 40Mhz, 5G, channels (36,44,52,60,100,108,132,140) * Testcases: CA, 20Mhz,40Mhz, 2G,5G, channels (1-11) (36,44,52,60,100,108,132,140) * Testcases: CA, 40Mhz, 5G, channels (36,44,52,60,100,108,132,140) * twog test cases added for mu-mimo for all security modes * radio assignment changed in raw line config * Testcases: CA, 5G, 80Mhz, channel (36, 52, 100, 132) * Testcases: IN, 5G, 80Mhz, channel (36, 52, 100, 132) * Testcases: US, 5G, 80Mhz, channel (36, 52, 100, 132) * Testcases: CA, 20Mhz, 5G, channel (36,40,44,48,52,56,60, 64, 100, 104, 108, 112, 116,132, 136, 140, 144) * Testcases: IN, 20Mhz, 5G, channel (36,40,44,48,52,56,60, 64, 100, 104, 108, 112, 116,132, 136, 140, 144) * Testcases: US, 20Mhz, 5G, channel (36,40,44,48,52,56,60, 64, 100, 104, 108, 112, 116,132, 136, 140, 144) * Added rf config improvements Signed-off-by: shivam <shivam.thakur@candelatech.com> * twog and fiveg markers removed from module level markers * added rf channel configuration to bridge mode Signed-off-by: anil-tegala <anil.tegala@candelatech.com> * allow-dfs disabled in 5G rf configuration Signed-off-by: anil-tegala <anil.tegala@candelatech.com> * channels changed in rf setup profiles Signed-off-by: anil-tegala <anil.tegala@candelatech.com> * pcap capture thread disabled from execution Signed-off-by: anil-tegala <anil.tegala@candelatech.com> * pcap capture thread disabled from execution Signed-off-by: anil-tegala <anil.tegala@candelatech.com> * ssid name changes in setup profiles Signed-off-by: anil-tegala <anil.tegala@candelatech.com> Co-authored-by: karthikaeyetea <karthika.subramani@candelatech.com> Co-authored-by: karthika <78941121+karthikaeyetea@users.noreply.github.com> Co-authored-by: shivam <shivam.thakur@candelatech.com>
This commit is contained in:
committed by
GitHub
parent
9ca2432a16
commit
8d86ef8c56
@@ -2,8 +2,10 @@
|
||||
# Used by Nightly_Sanity
|
||||
# This has different types of old_pytest like Single client connectivity, Single_Client_EAP, testrail_retest
|
||||
#########################################################################################################
|
||||
import datetime
|
||||
import sys
|
||||
import os
|
||||
import threading
|
||||
|
||||
import allure
|
||||
import pytest
|
||||
@@ -33,7 +35,6 @@ import csv
|
||||
from pull_report import Report
|
||||
from scp_util import SCP_File
|
||||
|
||||
|
||||
S = 12
|
||||
# from eap_connect import EAPConnect
|
||||
from test_ipv4_ttls import TTLSTest
|
||||
@@ -52,10 +53,13 @@ from attenuator_serial import AttenuatorSerial
|
||||
from lf_atten_mod_test import CreateAttenuator
|
||||
from lf_mesh_test import MeshTest
|
||||
from LANforge.lfcli_base import LFCliBase
|
||||
from lf_tr398_test import TR398Test
|
||||
from lf_pcap import LfPcap
|
||||
from sta_scan_test import StaScan
|
||||
realm = importlib.import_module("py-json.realm")
|
||||
Realm = realm.Realm
|
||||
|
||||
|
||||
class RunTest:
|
||||
|
||||
def __init__(self, configuration_data=None, local_report_path="../reports/", influx_params=None, run_lf=False, debug=False):
|
||||
@@ -106,6 +110,8 @@ class RunTest:
|
||||
self.rx_sensitivity_obj = None
|
||||
self.dualbandptest_obj = None
|
||||
self.msthpt_obj = None
|
||||
self.cvtest_obj = None
|
||||
self.pcap_obj = None
|
||||
self.influx_params = influx_params
|
||||
# self.influxdb = RecordInflux(_influx_host=influx_params["influx_host"],
|
||||
# _influx_port=influx_params["influx_port"],
|
||||
@@ -220,7 +226,7 @@ class RunTest:
|
||||
station_name=[], key_mgmt="WPA-EAP",
|
||||
pairwise="NA", group="NA", wpa_psk="DEFAULT",
|
||||
ttls_passwd="nolastart", ieee80211w=1,
|
||||
wep_key="NA", ca_cert="NA", eap="TTLS", identity="nolaradius",d_vlan=False,cleanup=True):
|
||||
wep_key="NA", ca_cert="NA", eap="TTLS", identity="nolaradius", d_vlan=False, cleanup=True):
|
||||
self.eap_connect = TTLSTest(host=self.lanforge_ip, port=self.lanforge_port,
|
||||
sta_list=station_name, vap=False, _debug_on=self.debug)
|
||||
|
||||
@@ -283,7 +289,7 @@ class RunTest:
|
||||
self.eap_connect.build(extra_securities=extra_securities)
|
||||
self.eap_connect.start(station_name, True, True)
|
||||
if d_vlan:
|
||||
self.station_ip = {}
|
||||
self.station_ip = {}
|
||||
for sta_name in station_name:
|
||||
# try:
|
||||
station_data_str = ""
|
||||
@@ -329,12 +335,13 @@ class RunTest:
|
||||
cx_data = cx_data + "\n"
|
||||
allure.attach(name="cx_data", body=str(cx_data))
|
||||
if cleanup:
|
||||
self.eap_connect.cleanup(station_name)
|
||||
self.eap_connect.cleanup(station_name)
|
||||
return self.eap_connect.passes()
|
||||
|
||||
def wifi_capacity(self, mode="BRIDGE", vlan_id=100, batch_size="1,5,10,20,40,64,128",
|
||||
instance_name="wct_instance", download_rate="1Gbps", influx_tags=[],
|
||||
upload_rate="1Gbps", protocol="TCP-IPv4", duration="60000", stations="", create_stations=True, sort="interleave", raw_lines=[]):
|
||||
upload_rate="1Gbps", protocol="TCP-IPv4", duration="60000", stations="", create_stations=True,
|
||||
sort="interleave", raw_lines=[]):
|
||||
instance_name = ''.join(random.choices(string.ascii_uppercase + string.digits, k=S))
|
||||
if mode == "BRIDGE":
|
||||
upstream_port = self.upstream_port
|
||||
@@ -940,22 +947,22 @@ class RunTest:
|
||||
|
||||
def mesh_test(self, instance_name=None, raw_lines=None, duration="60s"):
|
||||
self.mesh_obj = MeshTest(
|
||||
lf_host=self.lanforge_ip,
|
||||
lf_port=self.lanforge_port,
|
||||
ssh_port=self.lf_ssh_port,
|
||||
local_lf_report_dir=self.local_report_path,
|
||||
lf_user="lanforge",
|
||||
lf_password = "lanforge",
|
||||
instance_name = instance_name,
|
||||
duration = duration,
|
||||
config_name = "mesh_config",
|
||||
upstream = "1.2.2 eth2",
|
||||
upload_speed="85%",
|
||||
download_speed="85%",
|
||||
pull_report = True,
|
||||
load_old_cfg = False,
|
||||
raw_lines = raw_lines,
|
||||
)
|
||||
lf_host=self.lanforge_ip,
|
||||
lf_port=self.lanforge_port,
|
||||
ssh_port=self.lf_ssh_port,
|
||||
local_lf_report_dir=self.local_report_path,
|
||||
lf_user="lanforge",
|
||||
lf_password="lanforge",
|
||||
instance_name=instance_name,
|
||||
duration=duration,
|
||||
config_name="mesh_config",
|
||||
upstream="1.2.2 eth2",
|
||||
upload_speed="85%",
|
||||
download_speed="85%",
|
||||
pull_report=True,
|
||||
load_old_cfg=False,
|
||||
raw_lines=raw_lines,
|
||||
)
|
||||
self.mesh_obj.setup()
|
||||
self.mesh_obj.run()
|
||||
return self.mesh_obj
|
||||
@@ -963,12 +970,12 @@ class RunTest:
|
||||
def attenuator_serial_2g_radio(self, ssid="[BLANK]", passkey="[BLANK]", security="wpa2", mode="BRIDGE",
|
||||
vlan_id=100, sta_mode=0, station_name=[], lf_tools_obj=None):
|
||||
radio = self.twog_radios[0]
|
||||
#index 0 of atten_serial_radio will ser no of 1st 2g radio and index 1 will ser no of 2nd and 3rd 2g radio
|
||||
# index 0 of atten_serial_radio will ser no of 1st 2g radio and index 1 will ser no of 2nd and 3rd 2g radio
|
||||
atten_serial_radio = []
|
||||
atten_serial = self.attenuator_serial()
|
||||
self.Client_Connect_Using_Radio(ssid=ssid, passkey=passkey, security=security, mode=mode,
|
||||
vlan_id=vlan_id, radio=radio, sta_mode=sta_mode,
|
||||
station_name=station_name)
|
||||
vlan_id=vlan_id, radio=radio, sta_mode=sta_mode,
|
||||
station_name=station_name)
|
||||
signal1 = lf_tools_obj.station_data_query(station_name=station_name[0], query="signal")
|
||||
atten_sr = atten_serial[0].split(".")
|
||||
for i in range(4):
|
||||
@@ -985,12 +992,12 @@ class RunTest:
|
||||
def attenuator_serial_5g_radio(self, ssid="[BLANK]", passkey="[BLANK]", security="wpa2", mode="BRIDGE",
|
||||
vlan_id=100, sta_mode=0, station_name=[], lf_tools_obj=None):
|
||||
radio = self.fiveg_radios[0]
|
||||
#index 0 of atten_serial_radio will ser no of 1st 5g radio and index 1 will ser no of 2nd and 3rd 5g radio
|
||||
# index 0 of atten_serial_radio will ser no of 1st 5g radio and index 1 will ser no of 2nd and 3rd 5g radio
|
||||
atten_serial_radio = []
|
||||
atten_serial = self.attenuator_serial()
|
||||
self.Client_Connect_Using_Radio(ssid=ssid, passkey=passkey, security=security, mode=mode,
|
||||
vlan_id=vlan_id, radio=radio, sta_mode=sta_mode,
|
||||
station_name=station_name)
|
||||
vlan_id=vlan_id, radio=radio, sta_mode=sta_mode,
|
||||
station_name=station_name)
|
||||
signal1 = lf_tools_obj.station_data_query(station_name=station_name[0], query="signal")
|
||||
atten_sr = atten_serial[0].split(".")
|
||||
for i in range(4):
|
||||
@@ -1004,7 +1011,87 @@ class RunTest:
|
||||
self.Client_disconnect(station_name=station_name)
|
||||
return atten_serial_radio
|
||||
|
||||
def downlink_mu_mimo(self, radios_2g=[], radios_5g=[], radios_ax=[], dut_name="TIP", dut_5g="", dut_2g="", mode="BRIDGE", vlan_id=1, skip_2g=True, skip_5g=False):
|
||||
raw_line = []
|
||||
skip_twog = '1' if skip_2g else '0'
|
||||
skip_fiveg = '1' if skip_5g else '0'
|
||||
sniff_radio = 'wiphy6'
|
||||
channel = 149 if skip_2g else 11
|
||||
upstream_port = self.upstream_port
|
||||
|
||||
sets = [['Calibrate Attenuators', '0'], ['Receiver Sensitivity', '0'], ['Maximum Connection', '0'],
|
||||
['Maximum Throughput', '0'], ['Airtime Fairness', '0'], ['Range Versus Rate', '0'],
|
||||
['Spatial Consistency', '0'],
|
||||
['Multiple STAs Performance', '0'], ['Multiple Assoc Stability', '0'], ['Downlink MU-MIMO', '1'],
|
||||
['AP Coexistence', '0'], ['Long Term Stability', '0'], ['Skip 2.4Ghz Tests', f'{skip_twog}'],
|
||||
['Skip 5Ghz Tests', f'{skip_fiveg}'], ['2.4Ghz Channel', 'AUTO'], ['5Ghz Channel', 'AUTO']]
|
||||
for i in range(6):
|
||||
if i == 0 or i == 2:
|
||||
raw_line.append([f'radio-{i}: {radios_5g[0] if i == 0 else radios_5g[1]}'])
|
||||
if i == 1 or i == 3:
|
||||
raw_line.append([f'radio-{i}: {radios_2g[0] if i == 1 else radios_2g[1]}'])
|
||||
if i == 4 or i == 5:
|
||||
raw_line.append([f'radio-{i}: {radios_ax[0] if i == 4 else radios_ax[1]}'])
|
||||
|
||||
if len(raw_line) != 6:
|
||||
raw_line = [['radio-0: 1.1.5 wiphy1'], ['radio-1: 1.1.4 wiphy0'], ['radio-2: 1.1.7 wiphy3'],
|
||||
['radio-3: 1.1.6 wiphy2'], ['radio-4: 1.1.8 wiphy4'], ['radio-5: 1.1.9 wiphy5']]
|
||||
instance_name = "tr398-instance-{}".format(str(random.randint(0, 100000)))
|
||||
|
||||
if not os.path.exists("mu-mimo-config.txt"):
|
||||
with open("mu-mimo-config.txt", "wt") as f:
|
||||
for i in raw_line:
|
||||
f.write(str(i[0]) + "\n")
|
||||
f.close()
|
||||
|
||||
if mode == "BRIDGE" or mode == "NAT":
|
||||
upstream_port = self.upstream_port
|
||||
else:
|
||||
upstream_port = self.upstream_port + "." + str(vlan_id)
|
||||
print("Upstream Port: ", self.upstream_port)
|
||||
|
||||
self.pcap_obj = LfPcap(host=self.lanforge_ip, port=self.lanforge_port)
|
||||
self.cvtest_obj = TR398Test(lf_host=self.lanforge_ip,
|
||||
lf_port=self.lanforge_port,
|
||||
lf_user="lanforge",
|
||||
lf_password="lanforge",
|
||||
instance_name=instance_name,
|
||||
config_name="cv_dflt_cfg",
|
||||
upstream="1.1." + upstream_port,
|
||||
pull_report=True,
|
||||
local_lf_report_dir=self.local_report_path,
|
||||
load_old_cfg=False,
|
||||
dut2=dut_2g,
|
||||
dut5=dut_5g,
|
||||
raw_lines_file="mu-mimo-config.txt",
|
||||
enables=[],
|
||||
disables=[],
|
||||
raw_lines=[],
|
||||
sets=sets,
|
||||
test_rig=dut_name
|
||||
)
|
||||
self.cvtest_obj.setup()
|
||||
t1 = threading.Thread(target=self.cvtest_obj.run)
|
||||
t1.start()
|
||||
# t2 = threading.Thread(target=self.pcap_obj.sniff_packets, args=(sniff_radio, "mu-mimo", channel, 60))
|
||||
# if t1.is_alive():
|
||||
# time.sleep(180)
|
||||
# t2.start()
|
||||
while t1.is_alive():
|
||||
time.sleep(1)
|
||||
if os.path.exists("mu-mimo-config.txt"):
|
||||
os.remove("mu-mimo-config.txt")
|
||||
|
||||
report_name = self.cvtest_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1]
|
||||
influx = CSVtoInflux(influx_host=self.influx_params["influx_host"],
|
||||
influx_port=self.influx_params["influx_port"],
|
||||
influx_org=self.influx_params["influx_org"],
|
||||
influx_token=self.influx_params["influx_token"],
|
||||
influx_bucket=self.influx_params["influx_bucket"],
|
||||
path=report_name)
|
||||
influx.glob()
|
||||
return self.cvtest_obj
|
||||
|
||||
def scan_ssid(self, radio=""):
|
||||
'''This method for scan ssid data'''
|
||||
obj_scan = StaScan(host=self.lanforge_ip, port=self.lanforge_port, ssid="fake ssid", security="open", password="[BLANK]", radio=radio, sta_list=["sta0000"], csv_output="scan_ssid.csv")
|
||||
@@ -1078,17 +1165,17 @@ if __name__ == '__main__':
|
||||
"influx_tag": ["basic-03", "ec420"],
|
||||
}
|
||||
lanforge_data = {
|
||||
"ip": "192.168.200.10",
|
||||
"ip": "10.28.3.6",
|
||||
"port": 8080,
|
||||
"ssh_port": 22,
|
||||
"2.4G-Radio": ["wiphy0"],
|
||||
"5G-Radio": ["wiphy1"],
|
||||
"AX-Radio": [],
|
||||
"upstream": "1.1.eth1",
|
||||
"upstream_subnet": "192.168.200.1/24",
|
||||
"uplink": "1.1.eth2",
|
||||
"2.4G-Radio": ["1.1.wiphy4"],
|
||||
"5G-Radio": ["1.1.wiphy5"],
|
||||
"AX-Radio": ["1.1.wiphy0", "1.1.wiphy1", "1.1.wiphy2", "1.1.wiphy3"],
|
||||
"upstream": "1.1.eth2",
|
||||
"upstream_subnet": "10.28.2.1/24",
|
||||
"uplink": "1.1.eth3",
|
||||
"2.4G-Station-Name": "wlan0",
|
||||
"5G-Station-Name": "wlan0",
|
||||
"5G-Station-Name": "wlan1",
|
||||
"AX-Station-Name": "ax"
|
||||
}
|
||||
obj = RunTest(lanforge_data=lanforge_data, debug=False, influx_params=influx_params)
|
||||
@@ -1109,3 +1196,7 @@ if __name__ == '__main__':
|
||||
# print(a)
|
||||
# print(obj.eap_connect.json_get("port/1/1/sta0000?fields=ap,ip"))
|
||||
# obj.EAP_Connect(station_name=["sta0000", "sta0001"], eap="TTLS", ssid="testing_radius")
|
||||
|
||||
|
||||
# TODO: create new funtion
|
||||
# --> attach details to allure (ref:client_connectivity)
|
||||
@@ -6,6 +6,7 @@ influxdb-client
|
||||
pandas
|
||||
paramiko
|
||||
perfecto-py37
|
||||
pyshark
|
||||
pytest==6.2.2
|
||||
requests
|
||||
scp
|
||||
|
||||
0
tests/e2e/basic/downlink_mu_mimo_test/__init__.py
Normal file
0
tests/e2e/basic/downlink_mu_mimo_test/__init__.py
Normal file
156
tests/e2e/basic/downlink_mu_mimo_test/open/test_bridge_mode.py
Normal file
156
tests/e2e/basic/downlink_mu_mimo_test/open/test_bridge_mode.py
Normal file
@@ -0,0 +1,156 @@
|
||||
"""
|
||||
|
||||
Performance Test: Downlink MU-MIMO Test: Bridge Mode
|
||||
pytest -m "downlink_mu_mimo and bridge and open and fiveg"
|
||||
|
||||
"""
|
||||
import os
|
||||
import pytest
|
||||
import allure
|
||||
|
||||
pytestmark = [pytest.mark.downlink_mu_mimo, pytest.mark.bridge, pytest.mark.open]
|
||||
|
||||
setup_params_general = {
|
||||
"mode": "BRIDGE",
|
||||
"ssid_modes": {
|
||||
"open": [
|
||||
{"ssid_name": "mu-mimo-open-5g", "appliedRadios": ["5G"]},
|
||||
{"ssid_name": "mu-mimo-open-2g", "appliedRadios": ["2G"]}
|
||||
]
|
||||
},
|
||||
"rf": {
|
||||
"5G": {
|
||||
"band": '5G',
|
||||
"channel": 149,
|
||||
"channel-width": 80
|
||||
},
|
||||
"2G": {
|
||||
"band": '2G',
|
||||
"channel": 11,
|
||||
"channel-width": 20
|
||||
}
|
||||
},
|
||||
"radius": False
|
||||
}
|
||||
|
||||
|
||||
@allure.suite("performance")
|
||||
@allure.feature("BRIDGE MODE open security and Downlink MU_MIMO Test")
|
||||
@pytest.mark.parametrize(
|
||||
'setup_profiles',
|
||||
[setup_params_general],
|
||||
indirect=True,
|
||||
scope="class"
|
||||
)
|
||||
@pytest.mark.usefixtures("setup_profiles")
|
||||
class TestMuMimoBridge(object):
|
||||
"""
|
||||
Downlink MU-MIMO Test: Bridge Mode
|
||||
pytest -m downlink_mu_mimo and bridge
|
||||
"""
|
||||
|
||||
@allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6849",
|
||||
name="WIFI-6849")
|
||||
@pytest.mark.open
|
||||
@pytest.mark.fiveg
|
||||
def test_mu_mimo_open_bridge_5g(self, lf_tools, lf_test, create_lanforge_chamberview_dut):
|
||||
"""
|
||||
Downlink MU-MIMO Test: Bridge Mode
|
||||
pytest -m downlink_mu_mimo and bridge and open and fiveg
|
||||
"""
|
||||
dut_name = create_lanforge_chamberview_dut
|
||||
mode = "BRIDGE"
|
||||
vlan = 1
|
||||
dut_5g, dut_2g = "", ""
|
||||
radios_2g, radios_5g, radios_ax = [], [], []
|
||||
data = lf_tools.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'])
|
||||
|
||||
print(lf_tools.dut_idx_mapping)
|
||||
for i in lf_tools.dut_idx_mapping:
|
||||
if lf_tools.dut_idx_mapping[i][3] == "5G":
|
||||
dut_5g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] + ' (1)'
|
||||
print(dut_5g)
|
||||
if lf_tools.dut_idx_mapping[i][3] == "2G":
|
||||
dut_2g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] + ' (2)'
|
||||
print(dut_2g)
|
||||
mimo_obj = lf_test.downlink_mu_mimo(radios_2g=radios_2g, radios_5g=radios_5g, radios_ax=radios_ax, mode=mode,
|
||||
vlan_id=vlan, dut_name=dut_name, dut_5g=dut_5g, dut_2g=dut_2g, skip_2g=True,
|
||||
skip_5g=False)
|
||||
report_name = mimo_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1]
|
||||
lf_tools.attach_report_graphs(report_name=report_name, pdf_name="Downlink MU-MIMO Test")
|
||||
assert True
|
||||
|
||||
@allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6849",
|
||||
name="WIFI-6849")
|
||||
@pytest.mark.open
|
||||
@pytest.mark.twog
|
||||
def test_mu_mimo_open_bridge_2g(self, lf_tools, lf_test, create_lanforge_chamberview_dut):
|
||||
"""
|
||||
Downlink MU-MIMO Test: Bridge Mode
|
||||
pytest -m downlink_mu_mimo and bridge and open and twog
|
||||
"""
|
||||
print('lf tool')
|
||||
dut_name = create_lanforge_chamberview_dut
|
||||
mode = "BRIDGE"
|
||||
vlan = 1
|
||||
dut_5g, dut_2g = "", ""
|
||||
radios_2g, radios_5g, radios_ax = [], [], []
|
||||
data = lf_tools.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)
|
||||
print(port)
|
||||
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'])
|
||||
|
||||
print(lf_tools.dut_idx_mapping)
|
||||
for i in lf_tools.dut_idx_mapping:
|
||||
if lf_tools.dut_idx_mapping[i][3] == "5G":
|
||||
dut_5g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][
|
||||
4] + ' (1)'
|
||||
print(dut_5g)
|
||||
if lf_tools.dut_idx_mapping[i][3] == "2G":
|
||||
dut_2g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][
|
||||
4] + ' (2)'
|
||||
print(dut_2g)
|
||||
mimo_obj = lf_test.downlink_mu_mimo(radios_2g=radios_2g, radios_5g=radios_5g, radios_ax=radios_ax,
|
||||
mode=mode,
|
||||
vlan_id=vlan, dut_name=dut_name, dut_5g=dut_5g, dut_2g=dut_2g,
|
||||
skip_2g=False,
|
||||
skip_5g=True)
|
||||
report_name = mimo_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1]
|
||||
lf_tools.attach_report_graphs(report_name=report_name, pdf_name="Downlink MU-MIMO Test")
|
||||
assert True
|
||||
140
tests/e2e/basic/downlink_mu_mimo_test/open/test_nat_mode.py
Normal file
140
tests/e2e/basic/downlink_mu_mimo_test/open/test_nat_mode.py
Normal file
@@ -0,0 +1,140 @@
|
||||
"""
|
||||
|
||||
Performance Test: Downlink MU-MIMO Test: NAT Mode
|
||||
pytest -m "downlink_mu_mimo and nat and open and fiveg"
|
||||
|
||||
"""
|
||||
import os
|
||||
import pytest
|
||||
import allure
|
||||
|
||||
pytestmark = [pytest.mark.downlink_mu_mimo, pytest.mark.nat, pytest.mark.open]
|
||||
|
||||
setup_params_general = {
|
||||
"mode": "NAT",
|
||||
"ssid_modes": {
|
||||
"open": [
|
||||
{"ssid_name": "mu-mimo-5g", "appliedRadios": ["5G"]},
|
||||
{"ssid_name": "mu-mimo-2g", "appliedRadios": ["2G"]}
|
||||
]
|
||||
},
|
||||
"rf": [],
|
||||
"radius": False
|
||||
}
|
||||
|
||||
|
||||
@allure.suite("performance")
|
||||
@allure.feature("NAT MODE open security and Downlink MU_MIMO Test")
|
||||
@pytest.mark.parametrize(
|
||||
'setup_profiles',
|
||||
[setup_params_general],
|
||||
indirect=True,
|
||||
scope="class"
|
||||
)
|
||||
@pytest.mark.usefixtures("setup_profiles")
|
||||
class TestMuMimoNat(object):
|
||||
"""
|
||||
Downlink MU-MIMO Test: NAT MODE
|
||||
pytest -m downlink_mu_mimo and nat
|
||||
"""
|
||||
|
||||
@allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6849",
|
||||
name="WIFI-6849")
|
||||
@pytest.mark.open
|
||||
@pytest.mark.fiveg
|
||||
def test_mu_mimo_open_nat_5g(self, lf_tools, lf_test, create_lanforge_chamberview_dut):
|
||||
"""
|
||||
Downlink MU-MIMO Test: NAT Mode
|
||||
pytest -m downlink_mu_mimo and nat and open and fiveg
|
||||
"""
|
||||
dut_name = create_lanforge_chamberview_dut
|
||||
mode = "NAT"
|
||||
vlan = 1
|
||||
dut_5g, dut_2g = "", ""
|
||||
radios_2g, radios_5g, radios_ax = [], [], []
|
||||
data = lf_tools.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'])
|
||||
|
||||
print(lf_tools.dut_idx_mapping)
|
||||
for i in lf_tools.dut_idx_mapping:
|
||||
if lf_tools.dut_idx_mapping[i][3] == "5G":
|
||||
dut_5g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] + ' (1)'
|
||||
print(dut_5g)
|
||||
if lf_tools.dut_idx_mapping[i][3] == "2G":
|
||||
dut_2g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] + ' (2)'
|
||||
print(dut_2g)
|
||||
mimo_obj = lf_test.downlink_mu_mimo(radios_2g=radios_2g, radios_5g=radios_5g, radios_ax=radios_ax, mode=mode,
|
||||
vlan_id=vlan, dut_name=dut_name, dut_5g=dut_5g, dut_2g=dut_2g, skip_2g=True,
|
||||
skip_5g=False)
|
||||
report_name = mimo_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1]
|
||||
lf_tools.attach_report_graphs(report_name=report_name, pdf_name="Downlink MU-MIMO Test")
|
||||
assert True
|
||||
|
||||
@allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6849",
|
||||
name="WIFI-6849")
|
||||
@pytest.mark.open
|
||||
@pytest.mark.fiveg
|
||||
def test_mu_mimo_open_nat_2g(self, lf_tools, lf_test, create_lanforge_chamberview_dut):
|
||||
"""
|
||||
Downlink MU-MIMO Test: NAT Mode
|
||||
pytest -m downlink_mu_mimo and nat and open and twog
|
||||
"""
|
||||
dut_name = create_lanforge_chamberview_dut
|
||||
mode = "NAT"
|
||||
vlan = 1
|
||||
dut_5g, dut_2g = "", ""
|
||||
radios_2g, radios_5g, radios_ax = [], [], []
|
||||
data = lf_tools.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'])
|
||||
|
||||
print(lf_tools.dut_idx_mapping)
|
||||
for i in lf_tools.dut_idx_mapping:
|
||||
if lf_tools.dut_idx_mapping[i][3] == "5G":
|
||||
dut_5g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] + ' (1)'
|
||||
print(dut_5g)
|
||||
if lf_tools.dut_idx_mapping[i][3] == "2G":
|
||||
dut_2g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] + ' (2)'
|
||||
print(dut_2g)
|
||||
mimo_obj = lf_test.downlink_mu_mimo(radios_2g=radios_2g, radios_5g=radios_5g, radios_ax=radios_ax, mode=mode,
|
||||
vlan_id=vlan, dut_name=dut_name, dut_5g=dut_5g, dut_2g=dut_2g, skip_2g=False,
|
||||
skip_5g=True)
|
||||
report_name = mimo_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1]
|
||||
lf_tools.attach_report_graphs(report_name=report_name, pdf_name="Downlink MU-MIMO Test")
|
||||
assert True
|
||||
|
||||
140
tests/e2e/basic/downlink_mu_mimo_test/open/test_vlan_mode.py
Normal file
140
tests/e2e/basic/downlink_mu_mimo_test/open/test_vlan_mode.py
Normal file
@@ -0,0 +1,140 @@
|
||||
"""
|
||||
|
||||
Performance Test: Downlink MU-MIMO Test: VLAN Mode
|
||||
pytest -m "downlink_mu_mimo and vlan and open and fiveg"
|
||||
|
||||
"""
|
||||
import os
|
||||
import pytest
|
||||
import allure
|
||||
|
||||
pytestmark = [pytest.mark.downlink_mu_mimo, pytest.mark.vlan, pytest.mark.open]
|
||||
|
||||
setup_params_general = {
|
||||
"mode": "VLAN",
|
||||
"ssid_modes": {
|
||||
"open": [
|
||||
{"ssid_name": "mu-mimo-5g", "appliedRadios": ["5G"], "vlan":100},
|
||||
{"ssid_name": "mu-mimo-2g", "appliedRadios": ["2G"], "vlan":100}
|
||||
]
|
||||
},
|
||||
"rf": [],
|
||||
"radius": False
|
||||
}
|
||||
|
||||
|
||||
@allure.suite("performance")
|
||||
@allure.feature("VLAN MODE open security and Downlink MU_MIMO Test")
|
||||
@pytest.mark.parametrize(
|
||||
'setup_profiles',
|
||||
[setup_params_general],
|
||||
indirect=True,
|
||||
scope="class"
|
||||
)
|
||||
@pytest.mark.usefixtures("setup_profiles")
|
||||
class TestMuMimoVlan(object):
|
||||
"""
|
||||
Downlink MU-MIMO Test: VLAN Mode
|
||||
pytest -m downlink_mu_mimo and vlan
|
||||
"""
|
||||
|
||||
@allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6849",
|
||||
name="WIFI-6849")
|
||||
@pytest.mark.open
|
||||
@pytest.mark.fiveg
|
||||
def test_mu_mimo_open_vlan_5g(self, lf_tools, lf_test, create_lanforge_chamberview_dut):
|
||||
"""
|
||||
Downlink MU-MIMO Test: VLAN Mode
|
||||
pytest -m downlink_mu_mimo and vlan and open and fiveg
|
||||
"""
|
||||
dut_name = create_lanforge_chamberview_dut
|
||||
mode = "VLAN"
|
||||
vlan = 1
|
||||
dut_5g, dut_2g = "", ""
|
||||
radios_2g, radios_5g, radios_ax = [], [], []
|
||||
data = lf_tools.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'])
|
||||
|
||||
print(lf_tools.dut_idx_mapping)
|
||||
for i in lf_tools.dut_idx_mapping:
|
||||
if lf_tools.dut_idx_mapping[i][3] == "5G":
|
||||
dut_5g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] + ' (1)'
|
||||
print(dut_5g)
|
||||
if lf_tools.dut_idx_mapping[i][3] == "2G":
|
||||
dut_2g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] + ' (2)'
|
||||
print(dut_2g)
|
||||
mimo_obj = lf_test.downlink_mu_mimo(radios_2g=radios_2g, radios_5g=radios_5g, radios_ax=radios_ax, mode=mode,
|
||||
vlan_id=vlan, dut_name=dut_name, dut_5g=dut_5g, dut_2g=dut_2g, skip_2g=True,
|
||||
skip_5g=False)
|
||||
report_name = mimo_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1]
|
||||
lf_tools.attach_report_graphs(report_name=report_name, pdf_name="Downlink MU-MIMO Test")
|
||||
assert True
|
||||
|
||||
@allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6849",
|
||||
name="WIFI-6849")
|
||||
@pytest.mark.open
|
||||
@pytest.mark.twog
|
||||
def test_mu_mimo_open_vlan_2g(self, lf_tools, lf_test, create_lanforge_chamberview_dut):
|
||||
"""
|
||||
Downlink MU-MIMO Test: VLAN Mode
|
||||
pytest -m downlink_mu_mimo and vlan and open and twog
|
||||
"""
|
||||
dut_name = create_lanforge_chamberview_dut
|
||||
mode = "VLAN"
|
||||
vlan = 1
|
||||
dut_5g, dut_2g = "", ""
|
||||
radios_2g, radios_5g, radios_ax = [], [], []
|
||||
data = lf_tools.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'])
|
||||
|
||||
print(lf_tools.dut_idx_mapping)
|
||||
for i in lf_tools.dut_idx_mapping:
|
||||
if lf_tools.dut_idx_mapping[i][3] == "5G":
|
||||
dut_5g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] + ' (1)'
|
||||
print(dut_5g)
|
||||
if lf_tools.dut_idx_mapping[i][3] == "2G":
|
||||
dut_2g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] + ' (2)'
|
||||
print(dut_2g)
|
||||
mimo_obj = lf_test.downlink_mu_mimo(radios_2g=radios_2g, radios_5g=radios_5g, radios_ax=radios_ax, mode=mode,
|
||||
vlan_id=vlan, dut_name=dut_name, dut_5g=dut_5g, dut_2g=dut_2g, skip_2g=False,
|
||||
skip_5g=True)
|
||||
report_name = mimo_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1]
|
||||
lf_tools.attach_report_graphs(report_name=report_name, pdf_name="Downlink MU-MIMO Test")
|
||||
assert True
|
||||
|
||||
@@ -0,0 +1,156 @@
|
||||
"""
|
||||
|
||||
Performance Test: Downlink MU-MIMO Test: Bridge Mode
|
||||
pytest -m "downlink_mu_mimo and bridge and wpa2_personal"
|
||||
|
||||
"""
|
||||
import os
|
||||
import pytest
|
||||
import allure
|
||||
|
||||
pytestmark = [pytest.mark.downlink_mu_mimo, pytest.mark.bridge, pytest.mark.wpa2_personal]
|
||||
|
||||
setup_params_general = {
|
||||
"mode": "BRIDGE",
|
||||
"ssid_modes": {
|
||||
"wpa2_personal": [
|
||||
{"ssid_name": "mu-mimo-wpa2-5g", "appliedRadios": ["5G"], "security_key": "something"},
|
||||
{"ssid_name": "mu-mimo-wpa2-2g", "appliedRadios": ["2G"], "security_key": "something"}
|
||||
]
|
||||
},
|
||||
"rf": {
|
||||
"5G": {
|
||||
"band": '5G',
|
||||
"channel": 149,
|
||||
"channel-width": 80
|
||||
},
|
||||
"2G": {
|
||||
"band": '2G',
|
||||
"channel": 11,
|
||||
"channel-width": 20
|
||||
}
|
||||
},
|
||||
"radius": False
|
||||
}
|
||||
|
||||
|
||||
@allure.suite("performance")
|
||||
@allure.feature("BRIDGE MODE wpa2_personal security and Downlink MU_MIMO Test")
|
||||
@pytest.mark.parametrize(
|
||||
'setup_profiles',
|
||||
[setup_params_general],
|
||||
indirect=True,
|
||||
scope="class"
|
||||
)
|
||||
@pytest.mark.usefixtures("setup_profiles")
|
||||
class TestMuMimoBridge(object):
|
||||
"""
|
||||
Downlink MU-MIMO Test: Bridge Mode
|
||||
pytest -m downlink_mu_mimo and bridge
|
||||
"""
|
||||
|
||||
@allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6849",
|
||||
name="WIFI-6849")
|
||||
@pytest.mark.wpa2_personal
|
||||
@pytest.mark.fiveg
|
||||
def test_mu_mimo_wpa2_personal_bridge_5g(self, lf_tools, lf_test, create_lanforge_chamberview_dut):
|
||||
"""
|
||||
Downlink MU-MIMO Test: Bridge Mode
|
||||
pytest -m downlink_mu_mimo and bridge and wpa2_personal and fiveg
|
||||
"""
|
||||
dut_name = create_lanforge_chamberview_dut
|
||||
mode = "BRIDGE"
|
||||
vlan = 1
|
||||
dut_5g, dut_2g = "", ""
|
||||
radios_2g, radios_5g, radios_ax = [], [], []
|
||||
data = lf_tools.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'])
|
||||
|
||||
print(lf_tools.dut_idx_mapping)
|
||||
for i in lf_tools.dut_idx_mapping:
|
||||
if lf_tools.dut_idx_mapping[i][3] == "5G":
|
||||
dut_5g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] + ' (1)'
|
||||
print(dut_5g)
|
||||
if lf_tools.dut_idx_mapping[i][3] == "2G":
|
||||
dut_2g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] + ' (2)'
|
||||
print(dut_2g)
|
||||
mimo_obj = lf_test.downlink_mu_mimo(radios_2g=radios_2g, radios_5g=radios_5g, radios_ax=radios_ax, mode=mode,
|
||||
vlan_id=vlan, dut_name=dut_name, dut_5g=dut_5g, dut_2g=dut_2g, skip_2g=True,
|
||||
skip_5g=False)
|
||||
report_name = mimo_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1]
|
||||
lf_tools.attach_report_graphs(report_name=report_name, pdf_name="Downlink MU-MIMO Test")
|
||||
assert True
|
||||
|
||||
@allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6849",
|
||||
name="WIFI-6849")
|
||||
@pytest.mark.wpa2_personal
|
||||
@pytest.mark.twog
|
||||
def test_mu_mimo_wpa2_personal_bridge_2g(self, lf_tools, lf_test, create_lanforge_chamberview_dut):
|
||||
"""
|
||||
Downlink MU-MIMO Test: Bridge Mode
|
||||
pytest -m downlink_mu_mimo and bridge and wpa2_personal and twog
|
||||
"""
|
||||
print('lf tool')
|
||||
dut_name = create_lanforge_chamberview_dut
|
||||
mode = "BRIDGE"
|
||||
vlan = 1
|
||||
dut_5g, dut_2g = "", ""
|
||||
radios_2g, radios_5g, radios_ax = [], [], []
|
||||
data = lf_tools.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)
|
||||
print(port)
|
||||
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'])
|
||||
|
||||
print(lf_tools.dut_idx_mapping)
|
||||
for i in lf_tools.dut_idx_mapping:
|
||||
if lf_tools.dut_idx_mapping[i][3] == "5G":
|
||||
dut_5g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][
|
||||
4] + ' (1)'
|
||||
print(dut_5g)
|
||||
if lf_tools.dut_idx_mapping[i][3] == "2G":
|
||||
dut_2g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][
|
||||
4] + ' (2)'
|
||||
print(dut_2g)
|
||||
mimo_obj = lf_test.downlink_mu_mimo(radios_2g=radios_2g, radios_5g=radios_5g, radios_ax=radios_ax,
|
||||
mode=mode,
|
||||
vlan_id=vlan, dut_name=dut_name, dut_5g=dut_5g, dut_2g=dut_2g,
|
||||
skip_2g=False,
|
||||
skip_5g=True)
|
||||
report_name = mimo_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1]
|
||||
lf_tools.attach_report_graphs(report_name=report_name, pdf_name="Downlink MU-MIMO Test")
|
||||
assert True
|
||||
@@ -0,0 +1,145 @@
|
||||
"""
|
||||
|
||||
Performance Test: Downlink MU-MIMO Test: NAT Mode
|
||||
pytest -m "downlink_mu_mimo and nat and wpa2_personal and fiveg"
|
||||
|
||||
"""
|
||||
import os
|
||||
import pytest
|
||||
import allure
|
||||
|
||||
pytestmark = [pytest.mark.downlink_mu_mimo, pytest.mark.nat, pytest.mark.wpa2_personal]
|
||||
|
||||
setup_params_general = {
|
||||
"mode": "NAT",
|
||||
"ssid_modes": {
|
||||
"wpa2_personal": [
|
||||
{"ssid_name": "mu-mimo-5g", "appliedRadios": ["5G"], "security_key": "something"},
|
||||
{"ssid_name": "mu-mimo-2g", "appliedRadios": ["2G"], "security_key": "something"}
|
||||
]
|
||||
},
|
||||
"rf": [],
|
||||
"radius": False
|
||||
}
|
||||
|
||||
|
||||
@allure.suite("performance")
|
||||
@allure.feature("NAT MODE wpa2_personal security and Downlink MU_MIMO Test")
|
||||
@pytest.mark.parametrize(
|
||||
'setup_profiles',
|
||||
[setup_params_general],
|
||||
indirect=True,
|
||||
scope="class"
|
||||
)
|
||||
@pytest.mark.usefixtures("setup_profiles")
|
||||
class TestMuMimoNat(object):
|
||||
"""
|
||||
Downlink MU-MIMO Test: nat Mode
|
||||
pytest -m downlink_mu_mimo and nat
|
||||
"""
|
||||
|
||||
@allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6849",
|
||||
name="WIFI-6849")
|
||||
@pytest.mark.wpa2_personal
|
||||
@pytest.mark.fiveg
|
||||
def test_mu_mimo_wpa2_personal_nat_5g(self, lf_tools, lf_test, create_lanforge_chamberview_dut):
|
||||
"""
|
||||
Downlink MU-MIMO Test: nat Mode
|
||||
pytest -m downlink_mu_mimo and nat and wpa2_personal and fiveg
|
||||
"""
|
||||
dut_name = create_lanforge_chamberview_dut
|
||||
mode = "NAT"
|
||||
vlan = 1
|
||||
dut_5g, dut_2g = "", ""
|
||||
radios_2g, radios_5g, radios_ax = [], [], []
|
||||
data = lf_tools.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'])
|
||||
|
||||
print(lf_tools.dut_idx_mapping)
|
||||
for i in lf_tools.dut_idx_mapping:
|
||||
if lf_tools.dut_idx_mapping[i][3] == "5G":
|
||||
dut_5g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] + ' (1)'
|
||||
print(dut_5g)
|
||||
if lf_tools.dut_idx_mapping[i][3] == "2G":
|
||||
dut_2g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] + ' (2)'
|
||||
print(dut_2g)
|
||||
mimo_obj = lf_test.downlink_mu_mimo(radios_2g=radios_2g, radios_5g=radios_5g, radios_ax=radios_ax, mode=mode,
|
||||
vlan_id=vlan, dut_name=dut_name, dut_5g=dut_5g, dut_2g=dut_2g, skip_2g=True,
|
||||
skip_5g=False)
|
||||
report_name = mimo_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1]
|
||||
lf_tools.attach_report_graphs(report_name=report_name, pdf_name="Downlink MU-MIMO Test")
|
||||
assert True
|
||||
|
||||
@allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6849",
|
||||
name="WIFI-6849")
|
||||
@pytest.mark.wpa2_personal
|
||||
@pytest.mark.twog
|
||||
def test_mu_mimo_wpa2_personal_nat_2g(self, lf_tools, lf_test, create_lanforge_chamberview_dut):
|
||||
"""
|
||||
Downlink MU-MIMO Test: Nat Mode
|
||||
pytest -m downlink_mu_mimo and nat and wpa2_personal and twog
|
||||
"""
|
||||
print('lf tool')
|
||||
dut_name = create_lanforge_chamberview_dut
|
||||
mode = "NAT"
|
||||
vlan = 1
|
||||
dut_5g, dut_2g = "", ""
|
||||
radios_2g, radios_5g, radios_ax = [], [], []
|
||||
data = lf_tools.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)
|
||||
print(port)
|
||||
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'])
|
||||
|
||||
print(lf_tools.dut_idx_mapping)
|
||||
for i in lf_tools.dut_idx_mapping:
|
||||
if lf_tools.dut_idx_mapping[i][3] == "5G":
|
||||
dut_5g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][
|
||||
4] + ' (1)'
|
||||
print(dut_5g)
|
||||
if lf_tools.dut_idx_mapping[i][3] == "2G":
|
||||
dut_2g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][
|
||||
4] + ' (2)'
|
||||
print(dut_2g)
|
||||
mimo_obj = lf_test.downlink_mu_mimo(radios_2g=radios_2g, radios_5g=radios_5g, radios_ax=radios_ax,
|
||||
mode=mode,
|
||||
vlan_id=vlan, dut_name=dut_name, dut_5g=dut_5g, dut_2g=dut_2g,
|
||||
skip_2g=False,
|
||||
skip_5g=True)
|
||||
report_name = mimo_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1]
|
||||
lf_tools.attach_report_graphs(report_name=report_name, pdf_name="Downlink MU-MIMO Test")
|
||||
assert True
|
||||
@@ -0,0 +1,145 @@
|
||||
"""
|
||||
|
||||
Performance Test: Downlink MU-MIMO Test: VLAN Mode
|
||||
pytest -m "downlink_mu_mimo and vlan and wpa2_personal"
|
||||
|
||||
"""
|
||||
import os
|
||||
import pytest
|
||||
import allure
|
||||
|
||||
pytestmark = [pytest.mark.downlink_mu_mimo, pytest.mark.vlan, pytest.mark.wpa2_personal]
|
||||
|
||||
setup_params_general = {
|
||||
"mode": "VLAN",
|
||||
"ssid_modes": {
|
||||
"wpa2_personal": [
|
||||
{"ssid_name": "mu-mimo-5g", "appliedRadios": ["5G"], "security_key": "something", "vlan":100},
|
||||
{"ssid_name": "mu-mimo-2g", "appliedRadios": ["2G"], "security_key": "something", "vlan":100}
|
||||
]
|
||||
},
|
||||
"rf": [],
|
||||
"radius": False
|
||||
}
|
||||
|
||||
|
||||
@allure.suite("performance")
|
||||
@allure.feature("VLAN MODE wpa2_personal security and Downlink MU_MIMO Test")
|
||||
@pytest.mark.parametrize(
|
||||
'setup_profiles',
|
||||
[setup_params_general],
|
||||
indirect=True,
|
||||
scope="class"
|
||||
)
|
||||
@pytest.mark.usefixtures("setup_profiles")
|
||||
class TestMuMimoNat(object):
|
||||
"""
|
||||
Downlink MU-MIMO Test: VLAN Mode
|
||||
pytest -m downlink_mu_mimo and vlan
|
||||
"""
|
||||
|
||||
@allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6849",
|
||||
name="WIFI-6849")
|
||||
@pytest.mark.wpa2_personal
|
||||
@pytest.mark.fiveg
|
||||
def test_mu_mimo_wpa2_personal_vlan_5g(self, lf_tools, lf_test, create_lanforge_chamberview_dut):
|
||||
"""
|
||||
Downlink MU-MIMO Test: VLAN Mode
|
||||
pytest -m downlink_mu_mimo and vlan and wpa2_personal and fiveg
|
||||
"""
|
||||
dut_name = create_lanforge_chamberview_dut
|
||||
mode = "VLAN"
|
||||
vlan = 1
|
||||
dut_5g, dut_2g = "", ""
|
||||
radios_2g, radios_5g, radios_ax = [], [], []
|
||||
data = lf_tools.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'])
|
||||
|
||||
print(lf_tools.dut_idx_mapping)
|
||||
for i in lf_tools.dut_idx_mapping:
|
||||
if lf_tools.dut_idx_mapping[i][3] == "5G":
|
||||
dut_5g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] + ' (1)'
|
||||
print(dut_5g)
|
||||
if lf_tools.dut_idx_mapping[i][3] == "2G":
|
||||
dut_2g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] + ' (2)'
|
||||
print(dut_2g)
|
||||
mimo_obj = lf_test.downlink_mu_mimo(radios_2g=radios_2g, radios_5g=radios_5g, radios_ax=radios_ax, mode=mode,
|
||||
vlan_id=vlan, dut_name=dut_name, dut_5g=dut_5g, dut_2g=dut_2g, skip_2g=True,
|
||||
skip_5g=False)
|
||||
report_name = mimo_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1]
|
||||
lf_tools.attach_report_graphs(report_name=report_name, pdf_name="Downlink MU-MIMO Test")
|
||||
assert True
|
||||
|
||||
@allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6849",
|
||||
name="WIFI-6849")
|
||||
@pytest.mark.wpa2_personal
|
||||
@pytest.mark.twog
|
||||
def test_mu_mimo_wpa2_personal_nat_2g(self, lf_tools, lf_test, create_lanforge_chamberview_dut):
|
||||
"""
|
||||
Downlink MU-MIMO Test: Bridge Mode
|
||||
pytest -m downlink_mu_mimo and nat and wpa2_personal and twog
|
||||
"""
|
||||
print('lf tool')
|
||||
dut_name = create_lanforge_chamberview_dut
|
||||
mode = "VLAN"
|
||||
vlan = 1
|
||||
dut_5g, dut_2g = "", ""
|
||||
radios_2g, radios_5g, radios_ax = [], [], []
|
||||
data = lf_tools.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)
|
||||
print(port)
|
||||
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'])
|
||||
|
||||
print(lf_tools.dut_idx_mapping)
|
||||
for i in lf_tools.dut_idx_mapping:
|
||||
if lf_tools.dut_idx_mapping[i][3] == "5G":
|
||||
dut_5g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][
|
||||
4] + ' (1)'
|
||||
print(dut_5g)
|
||||
if lf_tools.dut_idx_mapping[i][3] == "2G":
|
||||
dut_2g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][
|
||||
4] + ' (2)'
|
||||
print(dut_2g)
|
||||
mimo_obj = lf_test.downlink_mu_mimo(radios_2g=radios_2g, radios_5g=radios_5g, radios_ax=radios_ax,
|
||||
mode=mode,
|
||||
vlan_id=vlan, dut_name=dut_name, dut_5g=dut_5g, dut_2g=dut_2g,
|
||||
skip_2g=False,
|
||||
skip_5g=True)
|
||||
report_name = mimo_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1]
|
||||
lf_tools.attach_report_graphs(report_name=report_name, pdf_name="Downlink MU-MIMO Test")
|
||||
assert True
|
||||
@@ -0,0 +1,156 @@
|
||||
"""
|
||||
|
||||
Performance Test: Downlink MU-MIMO Test: Bridge Mode
|
||||
pytest -m "downlink_mu_mimo and bridge and wpa3_personal"
|
||||
|
||||
"""
|
||||
import os
|
||||
import pytest
|
||||
import allure
|
||||
|
||||
pytestmark = [pytest.mark.downlink_mu_mimo, pytest.mark.bridge, pytest.mark.wpa3_personal]
|
||||
|
||||
setup_params_general = {
|
||||
"mode": "BRIDGE",
|
||||
"ssid_modes": {
|
||||
"wpa3_personal": [
|
||||
{"ssid_name": "mu-mimo-wpa3-5g", "appliedRadios": ["5G"], "security_key": "something"},
|
||||
{"ssid_name": "mu-mimo-wpa3-2g", "appliedRadios": ["2G"], "security_key": "something"}
|
||||
]
|
||||
},
|
||||
"rf": {
|
||||
"5G": {
|
||||
"band": '5G',
|
||||
"channel": 149,
|
||||
"channel-width": 80
|
||||
},
|
||||
"2G": {
|
||||
"band": '2G',
|
||||
"channel": 11,
|
||||
"channel-width": 20
|
||||
}
|
||||
},
|
||||
"radius": False
|
||||
}
|
||||
|
||||
|
||||
@allure.suite("performance")
|
||||
@allure.feature("BRIDGE MODE wpa3_personal security and Downlink MU_MIMO Test")
|
||||
@pytest.mark.parametrize(
|
||||
'setup_profiles',
|
||||
[setup_params_general],
|
||||
indirect=True,
|
||||
scope="class"
|
||||
)
|
||||
@pytest.mark.usefixtures("setup_profiles")
|
||||
class TestMuMimoBridge(object):
|
||||
"""
|
||||
Downlink MU-MIMO Test: Bridge Mode
|
||||
pytest -m downlink_mu_mimo and bridge
|
||||
"""
|
||||
|
||||
@allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6849",
|
||||
name="WIFI-6849")
|
||||
@pytest.mark.wpa3_personal
|
||||
@pytest.mark.fiveg
|
||||
def test_mu_mimo_wpa3_personal_bridge_5g(self, lf_tools, lf_test, create_lanforge_chamberview_dut):
|
||||
"""
|
||||
Downlink MU-MIMO Test: Bridge Mode
|
||||
pytest -m downlink_mu_mimo and bridge and wpa3_personal and fiveg
|
||||
"""
|
||||
dut_name = create_lanforge_chamberview_dut
|
||||
mode = "BRIDGE"
|
||||
vlan = 1
|
||||
dut_5g, dut_2g = "", ""
|
||||
radios_2g, radios_5g, radios_ax = [], [], []
|
||||
data = lf_tools.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'])
|
||||
|
||||
print(lf_tools.dut_idx_mapping)
|
||||
for i in lf_tools.dut_idx_mapping:
|
||||
if lf_tools.dut_idx_mapping[i][3] == "5G":
|
||||
dut_5g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] + ' (1)'
|
||||
print(dut_5g)
|
||||
if lf_tools.dut_idx_mapping[i][3] == "2G":
|
||||
dut_2g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] + ' (2)'
|
||||
print(dut_2g)
|
||||
mimo_obj = lf_test.downlink_mu_mimo(radios_2g=radios_2g, radios_5g=radios_5g, radios_ax=radios_ax, mode=mode,
|
||||
vlan_id=vlan, dut_name=dut_name, dut_5g=dut_5g, dut_2g=dut_2g, skip_2g=True,
|
||||
skip_5g=False)
|
||||
report_name = mimo_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1]
|
||||
lf_tools.attach_report_graphs(report_name=report_name, pdf_name="Downlink MU-MIMO Test")
|
||||
assert True
|
||||
|
||||
@allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6849",
|
||||
name="WIFI-6849")
|
||||
@pytest.mark.wpa3_personal
|
||||
@pytest.mark.twog
|
||||
def test_mu_mimo_wpa3_personal_bridge_2g(self, lf_tools, lf_test, create_lanforge_chamberview_dut):
|
||||
"""
|
||||
Downlink MU-MIMO Test: Bridge Mode
|
||||
pytest -m downlink_mu_mimo and bridge and wpa3_personal and twog
|
||||
"""
|
||||
print('lf tool')
|
||||
dut_name = create_lanforge_chamberview_dut
|
||||
mode = "BRIDGE"
|
||||
vlan = 1
|
||||
dut_5g, dut_2g = "", ""
|
||||
radios_2g, radios_5g, radios_ax = [], [], []
|
||||
data = lf_tools.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)
|
||||
print(port)
|
||||
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'])
|
||||
|
||||
print(lf_tools.dut_idx_mapping)
|
||||
for i in lf_tools.dut_idx_mapping:
|
||||
if lf_tools.dut_idx_mapping[i][3] == "5G":
|
||||
dut_5g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][
|
||||
4] + ' (1)'
|
||||
print(dut_5g)
|
||||
if lf_tools.dut_idx_mapping[i][3] == "2G":
|
||||
dut_2g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][
|
||||
4] + ' (2)'
|
||||
print(dut_2g)
|
||||
mimo_obj = lf_test.downlink_mu_mimo(radios_2g=radios_2g, radios_5g=radios_5g, radios_ax=radios_ax,
|
||||
mode=mode,
|
||||
vlan_id=vlan, dut_name=dut_name, dut_5g=dut_5g, dut_2g=dut_2g,
|
||||
skip_2g=False,
|
||||
skip_5g=True)
|
||||
report_name = mimo_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1]
|
||||
lf_tools.attach_report_graphs(report_name=report_name, pdf_name="Downlink MU-MIMO Test")
|
||||
assert True
|
||||
@@ -0,0 +1,145 @@
|
||||
"""
|
||||
|
||||
Performance Test: Downlink MU-MIMO Test: NAT Mode
|
||||
pytest -m "downlink_mu_mimo and nat and wpa3_personal and fiveg"
|
||||
|
||||
"""
|
||||
import os
|
||||
import pytest
|
||||
import allure
|
||||
|
||||
pytestmark = [pytest.mark.downlink_mu_mimo, pytest.mark.nat, pytest.mark.wpa3_personal]
|
||||
|
||||
setup_params_general = {
|
||||
"mode": "NAT",
|
||||
"ssid_modes": {
|
||||
"wpa3_personal": [
|
||||
{"ssid_name": "mu-mimo-5g", "appliedRadios": ["5G"], "security_key": "something"},
|
||||
{"ssid_name": "mu-mimo-2g", "appliedRadios": ["2G"], "security_key": "something"}
|
||||
]
|
||||
},
|
||||
"rf": [],
|
||||
"radius": False
|
||||
}
|
||||
|
||||
|
||||
@allure.suite("performance")
|
||||
@allure.feature("NAT MODE wpa3_personal security and Downlink MU_MIMO Test")
|
||||
@pytest.mark.parametrize(
|
||||
'setup_profiles',
|
||||
[setup_params_general],
|
||||
indirect=True,
|
||||
scope="class"
|
||||
)
|
||||
@pytest.mark.usefixtures("setup_profiles")
|
||||
class TestMuMimoNat(object):
|
||||
"""
|
||||
Downlink MU-MIMO Test: NAT Mode
|
||||
pytest -m downlink_mu_mimo and nat
|
||||
"""
|
||||
|
||||
@allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6849",
|
||||
name="WIFI-6849")
|
||||
@pytest.mark.wpa3_personal
|
||||
@pytest.mark.fiveg
|
||||
def test_mu_mimo_wpa3_personal_nat_5g(self, lf_tools, lf_test, create_lanforge_chamberview_dut):
|
||||
"""
|
||||
Downlink MU-MIMO Test: NAT Mode
|
||||
pytest -m downlink_mu_mimo and nat and wpa3_personal and fiveg
|
||||
"""
|
||||
dut_name = create_lanforge_chamberview_dut
|
||||
mode = "NAT"
|
||||
vlan = 1
|
||||
dut_5g, dut_2g = "", ""
|
||||
radios_2g, radios_5g, radios_ax = [], [], []
|
||||
data = lf_tools.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'])
|
||||
|
||||
print(lf_tools.dut_idx_mapping)
|
||||
for i in lf_tools.dut_idx_mapping:
|
||||
if lf_tools.dut_idx_mapping[i][3] == "5G":
|
||||
dut_5g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] + ' (1)'
|
||||
print(dut_5g)
|
||||
if lf_tools.dut_idx_mapping[i][3] == "2G":
|
||||
dut_2g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] + ' (2)'
|
||||
print(dut_2g)
|
||||
mimo_obj = lf_test.downlink_mu_mimo(radios_2g=radios_2g, radios_5g=radios_5g, radios_ax=radios_ax, mode=mode,
|
||||
vlan_id=vlan, dut_name=dut_name, dut_5g=dut_5g, dut_2g=dut_2g, skip_2g=True,
|
||||
skip_5g=False)
|
||||
report_name = mimo_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1]
|
||||
lf_tools.attach_report_graphs(report_name=report_name, pdf_name="Downlink MU-MIMO Test")
|
||||
assert True
|
||||
|
||||
@allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6849",
|
||||
name="WIFI-6849")
|
||||
@pytest.mark.wpa3_personal
|
||||
@pytest.mark.twog
|
||||
def test_mu_mimo_wpa3_personal_nat_2g(self, lf_tools, lf_test, create_lanforge_chamberview_dut):
|
||||
"""
|
||||
Downlink MU-MIMO Test: Bridge Mode
|
||||
pytest -m downlink_mu_mimo and bridge and wpa3_personal and twog
|
||||
"""
|
||||
print('lf tool')
|
||||
dut_name = create_lanforge_chamberview_dut
|
||||
mode = "NAT"
|
||||
vlan = 1
|
||||
dut_5g, dut_2g = "", ""
|
||||
radios_2g, radios_5g, radios_ax = [], [], []
|
||||
data = lf_tools.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)
|
||||
print(port)
|
||||
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'])
|
||||
|
||||
print(lf_tools.dut_idx_mapping)
|
||||
for i in lf_tools.dut_idx_mapping:
|
||||
if lf_tools.dut_idx_mapping[i][3] == "5G":
|
||||
dut_5g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][
|
||||
4] + ' (1)'
|
||||
print(dut_5g)
|
||||
if lf_tools.dut_idx_mapping[i][3] == "2G":
|
||||
dut_2g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][
|
||||
4] + ' (2)'
|
||||
print(dut_2g)
|
||||
mimo_obj = lf_test.downlink_mu_mimo(radios_2g=radios_2g, radios_5g=radios_5g, radios_ax=radios_ax,
|
||||
mode=mode,
|
||||
vlan_id=vlan, dut_name=dut_name, dut_5g=dut_5g, dut_2g=dut_2g,
|
||||
skip_2g=False,
|
||||
skip_5g=True)
|
||||
report_name = mimo_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1]
|
||||
lf_tools.attach_report_graphs(report_name=report_name, pdf_name="Downlink MU-MIMO Test")
|
||||
assert True
|
||||
@@ -0,0 +1,145 @@
|
||||
"""
|
||||
|
||||
Performance Test: Downlink MU-MIMO Test: VLAN Mode
|
||||
pytest -m "downlink_mu_mimo and vlan and wpa3_personal and fiveg"
|
||||
|
||||
"""
|
||||
import os
|
||||
import pytest
|
||||
import allure
|
||||
|
||||
pytestmark = [pytest.mark.downlink_mu_mimo, pytest.mark.vlan, pytest.mark.wpa3_personal]
|
||||
|
||||
setup_params_general = {
|
||||
"mode": "VLAN",
|
||||
"ssid_modes": {
|
||||
"wpa3_personal": [
|
||||
{"ssid_name": "mu-mimo-5g", "appliedRadios": ["5G"], "security_key": "something", "vlan": 100},
|
||||
{"ssid_name": "mu-mimo-2g", "appliedRadios": ["2G"], "security_key": "something", "vlan": 100}
|
||||
]
|
||||
},
|
||||
"rf": [],
|
||||
"radius": False
|
||||
}
|
||||
|
||||
|
||||
@allure.suite("performance")
|
||||
@allure.feature("VLAN MODE wpa3_personal security and Downlink MU_MIMO Test")
|
||||
@pytest.mark.parametrize(
|
||||
'setup_profiles',
|
||||
[setup_params_general],
|
||||
indirect=True,
|
||||
scope="class"
|
||||
)
|
||||
@pytest.mark.usefixtures("setup_profiles")
|
||||
class TestMuMimoNat(object):
|
||||
"""
|
||||
Downlink MU-MIMO Test: VLAN Mode
|
||||
pytest -m downlink_mu_mimo and vlan
|
||||
"""
|
||||
|
||||
@allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6849",
|
||||
name="WIFI-6849")
|
||||
@pytest.mark.wpa3_personal
|
||||
@pytest.mark.fiveg
|
||||
def test_mu_mimo_wpa3_personal_vlan_5g(self, lf_tools, lf_test, create_lanforge_chamberview_dut):
|
||||
"""
|
||||
Downlink MU-MIMO Test: VLAN Mode
|
||||
pytest -m downlink_mu_mimo and vlan and wpa3_personal and fiveg
|
||||
"""
|
||||
dut_name = create_lanforge_chamberview_dut
|
||||
mode = "VLAN"
|
||||
vlan = 1
|
||||
dut_5g, dut_2g = "", ""
|
||||
radios_2g, radios_5g, radios_ax = [], [], []
|
||||
data = lf_tools.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'])
|
||||
|
||||
print(lf_tools.dut_idx_mapping)
|
||||
for i in lf_tools.dut_idx_mapping:
|
||||
if lf_tools.dut_idx_mapping[i][3] == "5G":
|
||||
dut_5g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] + ' (1)'
|
||||
print(dut_5g)
|
||||
if lf_tools.dut_idx_mapping[i][3] == "2G":
|
||||
dut_2g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] + ' (2)'
|
||||
print(dut_2g)
|
||||
mimo_obj = lf_test.downlink_mu_mimo(radios_2g=radios_2g, radios_5g=radios_5g, radios_ax=radios_ax, mode=mode,
|
||||
vlan_id=vlan, dut_name=dut_name, dut_5g=dut_5g, dut_2g=dut_2g, skip_2g=True,
|
||||
skip_5g=False)
|
||||
report_name = mimo_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1]
|
||||
lf_tools.attach_report_graphs(report_name=report_name, pdf_name="Downlink MU-MIMO Test")
|
||||
assert True
|
||||
|
||||
@allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6849",
|
||||
name="WIFI-6849")
|
||||
@pytest.mark.wpa3_personal
|
||||
@pytest.mark.twog
|
||||
def test_mu_mimo_wpa3_personal_vlan_5g(self, lf_tools, lf_test, create_lanforge_chamberview_dut):
|
||||
"""
|
||||
Downlink MU-MIMO Test: Vlan Mode
|
||||
pytest -m downlink_mu_mimo and vlan and wpa3_personal and twog
|
||||
"""
|
||||
print('lf tool')
|
||||
dut_name = create_lanforge_chamberview_dut
|
||||
mode = "VLAN"
|
||||
vlan = 1
|
||||
dut_5g, dut_2g = "", ""
|
||||
radios_2g, radios_5g, radios_ax = [], [], []
|
||||
data = lf_tools.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)
|
||||
print(port)
|
||||
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'])
|
||||
|
||||
print(lf_tools.dut_idx_mapping)
|
||||
for i in lf_tools.dut_idx_mapping:
|
||||
if lf_tools.dut_idx_mapping[i][3] == "5G":
|
||||
dut_5g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][
|
||||
4] + ' (1)'
|
||||
print(dut_5g)
|
||||
if lf_tools.dut_idx_mapping[i][3] == "2G":
|
||||
dut_2g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][
|
||||
4] + ' (2)'
|
||||
print(dut_2g)
|
||||
mimo_obj = lf_test.downlink_mu_mimo(radios_2g=radios_2g, radios_5g=radios_5g, radios_ax=radios_ax,
|
||||
mode=mode,
|
||||
vlan_id=vlan, dut_name=dut_name, dut_5g=dut_5g, dut_2g=dut_2g,
|
||||
skip_2g=False,
|
||||
skip_5g=True)
|
||||
report_name = mimo_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1]
|
||||
lf_tools.attach_report_graphs(report_name=report_name, pdf_name="Downlink MU-MIMO Test")
|
||||
assert True
|
||||
@@ -0,0 +1,156 @@
|
||||
"""
|
||||
|
||||
Performance Test: Downlink MU-MIMO Test: Bridge Mode
|
||||
pytest -m "downlink_mu_mimo and bridge and wpa_personal"
|
||||
|
||||
"""
|
||||
import os
|
||||
import pytest
|
||||
import allure
|
||||
|
||||
pytestmark = [pytest.mark.downlink_mu_mimo, pytest.mark.bridge, pytest.mark.wpa_personal]
|
||||
|
||||
setup_params_general = {
|
||||
"mode": "BRIDGE",
|
||||
"ssid_modes": {
|
||||
"wpa_personal": [
|
||||
{"ssid_name": "mu-mimo-wpa-5g", "appliedRadios": ["5G"], "security_key": "something"},
|
||||
{"ssid_name": "mu-mimo-wpa-2g", "appliedRadios": ["2G"], "security_key": "something"}
|
||||
]
|
||||
},
|
||||
"rf": {
|
||||
"5G": {
|
||||
"band": '5G',
|
||||
"channel": 149,
|
||||
"channel-width": 80
|
||||
},
|
||||
"2G": {
|
||||
"band": '2G',
|
||||
"channel": 11,
|
||||
"channel-width": 20
|
||||
}
|
||||
},
|
||||
"radius": False
|
||||
}
|
||||
|
||||
|
||||
@allure.suite("performance")
|
||||
@allure.feature("BRIDGE MODE wpa_personal security and Downlink MU_MIMO Test")
|
||||
@pytest.mark.parametrize(
|
||||
'setup_profiles',
|
||||
[setup_params_general],
|
||||
indirect=True,
|
||||
scope="class"
|
||||
)
|
||||
@pytest.mark.usefixtures("setup_profiles")
|
||||
class TestMuMimoBridge(object):
|
||||
"""
|
||||
Downlink MU-MIMO Test: Bridge Mode
|
||||
pytest -m downlink_mu_mimo and bridge
|
||||
"""
|
||||
|
||||
@allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6849",
|
||||
name="WIFI-6849")
|
||||
@pytest.mark.wpa_personal
|
||||
@pytest.mark.fiveg
|
||||
def test_mu_mimo_wpa_personal_bridge_5g(self, lf_tools, lf_test, create_lanforge_chamberview_dut):
|
||||
"""
|
||||
Downlink MU-MIMO Test: Bridge Mode
|
||||
pytest -m downlink_mu_mimo and bridge and wpa_personal and fiveg
|
||||
"""
|
||||
dut_name = create_lanforge_chamberview_dut
|
||||
mode = "BRIDGE"
|
||||
vlan = 1
|
||||
dut_5g, dut_2g = "", ""
|
||||
radios_2g, radios_5g, radios_ax = [], [], []
|
||||
data = lf_tools.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'])
|
||||
|
||||
print(lf_tools.dut_idx_mapping)
|
||||
for i in lf_tools.dut_idx_mapping:
|
||||
if lf_tools.dut_idx_mapping[i][3] == "5G":
|
||||
dut_5g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] + ' (1)'
|
||||
print(dut_5g)
|
||||
if lf_tools.dut_idx_mapping[i][3] == "2G":
|
||||
dut_2g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] + ' (2)'
|
||||
print(dut_2g)
|
||||
mimo_obj = lf_test.downlink_mu_mimo(radios_2g=radios_2g, radios_5g=radios_5g, radios_ax=radios_ax, mode=mode,
|
||||
vlan_id=vlan, dut_name=dut_name, dut_5g=dut_5g, dut_2g=dut_2g, skip_2g=True,
|
||||
skip_5g=False)
|
||||
report_name = mimo_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1]
|
||||
lf_tools.attach_report_graphs(report_name=report_name, pdf_name="Downlink MU-MIMO Test")
|
||||
assert True
|
||||
|
||||
@allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6849",
|
||||
name="WIFI-6849")
|
||||
@pytest.mark.wpa3_personal
|
||||
@pytest.mark.twog
|
||||
def test_mu_mimo_wpa_personal_bridge_2g(self, lf_tools, lf_test, create_lanforge_chamberview_dut):
|
||||
"""
|
||||
Downlink MU-MIMO Test: Bridge Mode
|
||||
pytest -m downlink_mu_mimo and bridge and wpa3_personal and twog
|
||||
"""
|
||||
print('lf tool')
|
||||
dut_name = create_lanforge_chamberview_dut
|
||||
mode = "BRIDGE"
|
||||
vlan = 1
|
||||
dut_5g, dut_2g = "", ""
|
||||
radios_2g, radios_5g, radios_ax = [], [], []
|
||||
data = lf_tools.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)
|
||||
print(port)
|
||||
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'])
|
||||
|
||||
print(lf_tools.dut_idx_mapping)
|
||||
for i in lf_tools.dut_idx_mapping:
|
||||
if lf_tools.dut_idx_mapping[i][3] == "5G":
|
||||
dut_5g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][
|
||||
4] + ' (1)'
|
||||
print(dut_5g)
|
||||
if lf_tools.dut_idx_mapping[i][3] == "2G":
|
||||
dut_2g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][
|
||||
4] + ' (2)'
|
||||
print(dut_2g)
|
||||
mimo_obj = lf_test.downlink_mu_mimo(radios_2g=radios_2g, radios_5g=radios_5g, radios_ax=radios_ax,
|
||||
mode=mode,
|
||||
vlan_id=vlan, dut_name=dut_name, dut_5g=dut_5g, dut_2g=dut_2g,
|
||||
skip_2g=False,
|
||||
skip_5g=True)
|
||||
report_name = mimo_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1]
|
||||
lf_tools.attach_report_graphs(report_name=report_name, pdf_name="Downlink MU-MIMO Test")
|
||||
assert True
|
||||
@@ -0,0 +1,145 @@
|
||||
"""
|
||||
|
||||
Performance Test: Downlink MU-MIMO Test: NAT Mode
|
||||
pytest -m "downlink_mu_mimo and Nat and wpa_personal"
|
||||
|
||||
"""
|
||||
import os
|
||||
import pytest
|
||||
import allure
|
||||
|
||||
pytestmark = [pytest.mark.downlink_mu_mimo, pytest.mark.nat, pytest.mark.wpa_personal]
|
||||
|
||||
setup_params_general = {
|
||||
"mode": "NAT",
|
||||
"ssid_modes": {
|
||||
"wpa_personal": [
|
||||
{"ssid_name": "mu-mimo-5g", "appliedRadios": ["5G"], "security_key": "something"},
|
||||
{"ssid_name": "mu-mimo-2g", "appliedRadios": ["2G"], "security_key": "something"}
|
||||
]
|
||||
},
|
||||
"rf": [],
|
||||
"radius": False
|
||||
}
|
||||
|
||||
|
||||
@allure.suite("performance")
|
||||
@allure.feature("NAT MODE wpa_personal security and Downlink MU_MIMO Test")
|
||||
@pytest.mark.parametrize(
|
||||
'setup_profiles',
|
||||
[setup_params_general],
|
||||
indirect=True,
|
||||
scope="class"
|
||||
)
|
||||
@pytest.mark.usefixtures("setup_profiles")
|
||||
class TestMuMimoNat(object):
|
||||
"""
|
||||
Downlink MU-MIMO Test: NAT Mode
|
||||
pytest -m downlink_mu_mimo and nat
|
||||
"""
|
||||
|
||||
@allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6849",
|
||||
name="WIFI-6849")
|
||||
@pytest.mark.wpa_personal
|
||||
@pytest.mark.fiveg
|
||||
def test_mu_mimo_wpa_personal_nat_5g(self, lf_tools, lf_test, create_lanforge_chamberview_dut):
|
||||
"""
|
||||
Downlink MU-MIMO Test: NAT Mode
|
||||
pytest -m downlink_mu_mimo and nat and wpa_personal and fiveg
|
||||
"""
|
||||
dut_name = create_lanforge_chamberview_dut
|
||||
mode = "NAT"
|
||||
vlan = 1
|
||||
dut_5g, dut_2g = "", ""
|
||||
radios_2g, radios_5g, radios_ax = [], [], []
|
||||
data = lf_tools.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'])
|
||||
|
||||
print(lf_tools.dut_idx_mapping)
|
||||
for i in lf_tools.dut_idx_mapping:
|
||||
if lf_tools.dut_idx_mapping[i][3] == "5G":
|
||||
dut_5g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] + ' (1)'
|
||||
print(dut_5g)
|
||||
if lf_tools.dut_idx_mapping[i][3] == "2G":
|
||||
dut_2g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] + ' (2)'
|
||||
print(dut_2g)
|
||||
mimo_obj = lf_test.downlink_mu_mimo(radios_2g=radios_2g, radios_5g=radios_5g, radios_ax=radios_ax, mode=mode,
|
||||
vlan_id=vlan, dut_name=dut_name, dut_5g=dut_5g, dut_2g=dut_2g, skip_2g=True,
|
||||
skip_5g=False)
|
||||
report_name = mimo_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1]
|
||||
lf_tools.attach_report_graphs(report_name=report_name, pdf_name="Downlink MU-MIMO Test")
|
||||
assert True
|
||||
|
||||
@allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6849",
|
||||
name="WIFI-6849")
|
||||
@pytest.mark.wpa_personal
|
||||
@pytest.mark.twog
|
||||
def test_mu_mimo_wpa_personal_nat_2g(self, lf_tools, lf_test, create_lanforge_chamberview_dut):
|
||||
"""
|
||||
Downlink MU-MIMO Test: Bridge Mode
|
||||
pytest -m downlink_mu_mimo and nat and wpa_personal and twog
|
||||
"""
|
||||
print('lf tool')
|
||||
dut_name = create_lanforge_chamberview_dut
|
||||
mode = "NAT"
|
||||
vlan = 1
|
||||
dut_5g, dut_2g = "", ""
|
||||
radios_2g, radios_5g, radios_ax = [], [], []
|
||||
data = lf_tools.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)
|
||||
print(port)
|
||||
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'])
|
||||
|
||||
print(lf_tools.dut_idx_mapping)
|
||||
for i in lf_tools.dut_idx_mapping:
|
||||
if lf_tools.dut_idx_mapping[i][3] == "5G":
|
||||
dut_5g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][
|
||||
4] + ' (1)'
|
||||
print(dut_5g)
|
||||
if lf_tools.dut_idx_mapping[i][3] == "2G":
|
||||
dut_2g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][
|
||||
4] + ' (2)'
|
||||
print(dut_2g)
|
||||
mimo_obj = lf_test.downlink_mu_mimo(radios_2g=radios_2g, radios_5g=radios_5g, radios_ax=radios_ax,
|
||||
mode=mode,
|
||||
vlan_id=vlan, dut_name=dut_name, dut_5g=dut_5g, dut_2g=dut_2g,
|
||||
skip_2g=False,
|
||||
skip_5g=True)
|
||||
report_name = mimo_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1]
|
||||
lf_tools.attach_report_graphs(report_name=report_name, pdf_name="Downlink MU-MIMO Test")
|
||||
assert True
|
||||
@@ -0,0 +1,145 @@
|
||||
"""
|
||||
|
||||
Performance Test: Downlink MU-MIMO Test: VLAN Mode
|
||||
pytest -m "downlink_mu_mimo and vlan and wpa_personal"
|
||||
|
||||
"""
|
||||
import os
|
||||
import pytest
|
||||
import allure
|
||||
|
||||
pytestmark = [pytest.mark.downlink_mu_mimo, pytest.mark.vlan, pytest.mark.wpa_personal]
|
||||
|
||||
setup_params_general = {
|
||||
"mode": "VLAN",
|
||||
"ssid_modes": {
|
||||
"wpa_personal": [
|
||||
{"ssid_name": "mu-mimo-5g", "appliedRadios": ["5G"], "security_key": "something", "vlan":100},
|
||||
{"ssid_name": "mu-mimo-2g", "appliedRadios": ["2G"], "security_key": "something", "vlan":100}
|
||||
]
|
||||
},
|
||||
"rf": [],
|
||||
"radius": False
|
||||
}
|
||||
|
||||
|
||||
@allure.suite("performance")
|
||||
@allure.feature("VLAN MODE wpa_personal security and Downlink MU_MIMO Test")
|
||||
@pytest.mark.parametrize(
|
||||
'setup_profiles',
|
||||
[setup_params_general],
|
||||
indirect=True,
|
||||
scope="class"
|
||||
)
|
||||
@pytest.mark.usefixtures("setup_profiles")
|
||||
class TestMuMimoNat(object):
|
||||
"""
|
||||
Downlink MU-MIMO Test: VLAN Mode
|
||||
pytest -m downlink_mu_mimo and vlan
|
||||
"""
|
||||
|
||||
@allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6849",
|
||||
name="WIFI-6849")
|
||||
@pytest.mark.wpa_personal
|
||||
@pytest.mark.fiveg
|
||||
def test_mu_mimo_wpa_personal_vlan_5g(self, lf_tools, lf_test, create_lanforge_chamberview_dut):
|
||||
"""
|
||||
Downlink MU-MIMO Test: VLAN Mode
|
||||
pytest -m downlink_mu_mimo and vlan and wpa_personal and fiveg
|
||||
"""
|
||||
dut_name = create_lanforge_chamberview_dut
|
||||
mode = "VLAN"
|
||||
vlan = 1
|
||||
dut_5g, dut_2g = "", ""
|
||||
radios_2g, radios_5g, radios_ax = [], [], []
|
||||
data = lf_tools.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'])
|
||||
|
||||
print(lf_tools.dut_idx_mapping)
|
||||
for i in lf_tools.dut_idx_mapping:
|
||||
if lf_tools.dut_idx_mapping[i][3] == "5G":
|
||||
dut_5g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] + ' (1)'
|
||||
print(dut_5g)
|
||||
if lf_tools.dut_idx_mapping[i][3] == "2G":
|
||||
dut_2g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][4] + ' (2)'
|
||||
print(dut_2g)
|
||||
mimo_obj = lf_test.downlink_mu_mimo(radios_2g=radios_2g, radios_5g=radios_5g, radios_ax=radios_ax, mode=mode,
|
||||
vlan_id=vlan, dut_name=dut_name, dut_5g=dut_5g, dut_2g=dut_2g, skip_2g=True,
|
||||
skip_5g=False)
|
||||
report_name = mimo_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1]
|
||||
lf_tools.attach_report_graphs(report_name=report_name, pdf_name="Downlink MU-MIMO Test")
|
||||
assert True
|
||||
|
||||
@allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-6849",
|
||||
name="WIFI-6849")
|
||||
@pytest.mark.wpa_personal
|
||||
@pytest.mark.twog
|
||||
def test_mu_mimo_wpa_personal_vlan_2g(self, lf_tools, lf_test, create_lanforge_chamberview_dut):
|
||||
"""
|
||||
Downlink MU-MIMO Test: Bridge Mode
|
||||
pytest -m downlink_mu_mimo and bridge and wpa3_personal and twog
|
||||
"""
|
||||
print('lf tool')
|
||||
dut_name = create_lanforge_chamberview_dut
|
||||
mode = "VLAN"
|
||||
vlan = 1
|
||||
dut_5g, dut_2g = "", ""
|
||||
radios_2g, radios_5g, radios_ax = [], [], []
|
||||
data = lf_tools.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)
|
||||
print(port)
|
||||
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'])
|
||||
|
||||
print(lf_tools.dut_idx_mapping)
|
||||
for i in lf_tools.dut_idx_mapping:
|
||||
if lf_tools.dut_idx_mapping[i][3] == "5G":
|
||||
dut_5g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][
|
||||
4] + ' (1)'
|
||||
print(dut_5g)
|
||||
if lf_tools.dut_idx_mapping[i][3] == "2G":
|
||||
dut_2g = dut_name + ' ' + lf_tools.dut_idx_mapping[i][0] + ' ' + lf_tools.dut_idx_mapping[i][
|
||||
4] + ' (2)'
|
||||
print(dut_2g)
|
||||
mimo_obj = lf_test.downlink_mu_mimo(radios_2g=radios_2g, radios_5g=radios_5g, radios_ax=radios_ax,
|
||||
mode=mode,
|
||||
vlan_id=vlan, dut_name=dut_name, dut_5g=dut_5g, dut_2g=dut_2g,
|
||||
skip_2g=False,
|
||||
skip_5g=True)
|
||||
report_name = mimo_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1]
|
||||
lf_tools.attach_report_graphs(report_name=report_name, pdf_name="Downlink MU-MIMO Test")
|
||||
assert True
|
||||
@@ -58,6 +58,7 @@ class TestCountryCA20Mhz5GChannel36(object):
|
||||
pytest -m "country_code and twentyMhz and wpa2 and fiveg and channel36"
|
||||
"""
|
||||
profile_data = setup_params_general1["ssid_modes"]["wpa2_personal"][1]
|
||||
|
||||
ssid = profile_data["ssid_name"]
|
||||
security_key = profile_data["security_key"]
|
||||
security = "wpa2"
|
||||
|
||||
@@ -384,6 +384,7 @@ class TestCountryIN40Mhz5GChannel108(object):
|
||||
setup_params_general7 = {
|
||||
"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"}
|
||||
]},
|
||||
|
||||
@@ -683,8 +683,8 @@ class Fixtures_2x:
|
||||
# Apply config
|
||||
instantiate_profile_obj.push_config(serial_number=get_equipment_ref[0])
|
||||
|
||||
|
||||
print(instantiate_profile_obj.base_profile_config)
|
||||
|
||||
config = json.loads(str(instantiate_profile_obj.base_profile_config).replace(" ", "").replace("'", '"').replace("True", "true"))
|
||||
config["uuid"] = 0
|
||||
|
||||
|
||||
Reference in New Issue
Block a user