Files
wlan-testing/tests/e2e/basic/conftest.py
yadavnikita 6bc8d9edbe Wifi 8295 (#533)
* adding dependencies bash file

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added cc.1 option and fixture version

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added controller 3x files

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* calling controller logic

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added more functions

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added cc.1 functionality to different fixtures

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added cc.1  fixture to setup_profile

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* cc.1 fixture

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* lanforge scripts

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* test function

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added realtive path and more function to controller access

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* testcase

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added wpa2 functionality

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* get slot id and ssid name

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* made change to add_env_properties

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added fixture line in setup_profiles

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added fixture line in setup_profiles

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added accurate way of creating wlan

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added controller log option

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added 2g options

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added cc option to add tations

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added cc option to add tations

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added cc option

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added cc option

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* adding lanforge changes

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* create non mesh dut

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* cal bssid 2g and 5g method

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* edited get ap config slot and controller log

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* adddd tst2g and test5g testcase

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added modification to fixture3x

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* testbed info

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added everything

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* remove laforge scripts

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* sync lanforge-scripts

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* comment out multi test

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* changed class name

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* remove roam directory

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* optimized code by calling basic_roam function from lftest

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* checking bssids after creating wlan

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added time calculation, rssi and cx-time reporting

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* created layer3

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* changed station name

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added rx packets

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* increased wait time

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* chaged logic for calculating 5g and 2g bssid also added 11r_log method

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* aadded create_n_client,json_get,create_l3x,get_cx,get_l3_values,attachfile,basic_roam,multi_roam methods

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* adde lf_report() fixture

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added test basic roam 5g

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added roam setup

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added report library

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added multi_roam

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added dtim function

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added start sniffer stop sniff and query data

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* made it generic to support dtim and 11r

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added logic code for hard roam and query sniff

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added multi hard roam

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* uncommenting

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added cisco-lab-02

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added ft over ds config

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added ftotd_psk method

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added something

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added classsification of tests

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* modified multi_hard_roam

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* iteration, client and roaming delay created

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* hard roam 5g method

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* hard roam 2g method

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added 0db0 ap info to testbed-02

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added 6e option and commentes while loop

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* enable_ft_sae

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* duration for roam

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* duration in 5g function

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* sae option

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* otd 5g test case

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* ota 6g testcase

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* Fixed the path for import

Signed-off-by: shivam <shivam.thakur@candelatech.com>

* controller.py: enable_ft_dot1x_wpa3, set_channel_width, set_channel

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* dot1x 6g testcase

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* updated lab_info

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* updated channel width and channel

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* updated hard roam

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* 2g 5g and 6g testcases in one file

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* string var in duration

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* 802.1x in multi hard roam

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* removing 5g testcase

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* removing 6g testcase

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* report.py: table using pandas

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* lf_test.py: added function of hard roam

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* hard roam using lanforge test function testcase

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* add dut name to hard roam function

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* add dut name to hard roam 5g

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* controller.py: enable_ft_dot1x_sha256_wpa3

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* lf_test.py: added pass fail

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* lf_test.py: twog radio added to hard roam class

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* test_roam_ota.py: 2g, 5g, 6g testcase modified

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* fixtures_3x.py: ft-dot1x-sha256 feature added

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* lab_info.json: lab info updtaed

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* reports: remove report directory

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* controller.py:show_wireless_client_sum

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* lf_hard_roam: modified

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* disble enable all bands fixtures

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* lf_report to cc_1

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* ota test case

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* mdification

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* lf_tests: identity and pass

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* conftest: varg

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* testcase correction

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* lab file

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* controller.py: enable_ft_dot1x_sha256_wpa3 enable radius

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* radius info

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* deleted all unused functions

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* modification to tetcase

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* radius data missing

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* remove example.py

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* remove lanforge reports

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* updated lab json

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* remove lanforge_log_0.txt

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* remove lanforge_log_1.txt

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* remove report.py

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* use pull_report

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* make it as master

* remove cc dp

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* remove unwanted thing

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* remove unwanted things

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* Added pdfkit,matplotlib

Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>

* Resolved the key error

Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>

Co-authored-by: shivam <shivam.thakur@candelatech.com>
Co-authored-by: jitendracandela <jitendra.kushavah@candelatech.com>
2022-06-08 17:45:15 +05:30

153 lines
5.1 KiB
Python

import json
import os
import sys
sys.path.append(
os.path.dirname(
os.path.realpath(__file__)
)
)
if "libs" not in sys.path:
sys.path.append(f'../libs')
from controller.controller_1x.controller import ProfileUtility
from controller.controller_2x.controller import UProfileUtility
from controller.controller_3x.controller import CController
import time
from lanforge.lf_tools import ChamberView
import pytest
import allure
@pytest.fixture(scope="session")
def instantiate_profile(request):
if request.config.getoption("1.x"):
yield ProfileUtility
elif request.config.getoption("cc.1"):
yield CController
else:
yield UProfileUtility
@pytest.fixture(scope="session")
def create_lanforge_chamberview(lf_tools):
scenario_object, scenario_name = lf_tools.Chamber_View()
return scenario_name
@pytest.fixture(scope="session")
def create_lanforge_chamberview_dut(lf_tools, run_lf):
if not run_lf:
dut_object, dut_name = lf_tools.Create_Dut()
return dut_name
return ""
@pytest.fixture(scope="class")
def setup_profiles(request, setup_controller, testbed, get_equipment_ref, fixtures_ver, reset_scenario_lf,
instantiate_profile, get_markers, create_lanforge_chamberview_dut, lf_tools, run_lf,
get_security_flags, get_configuration, radius_info, get_apnos, radius_accounting_info, cc_1):
param = dict(request.param)
# VLAN Setup
if request.param["mode"] == "VLAN":
vlan_list = list()
refactored_vlan_list = list()
ssid_modes = request.param["ssid_modes"].keys()
for mode in ssid_modes:
for ssid in range(len(request.param["ssid_modes"][mode])):
if "vlan" in request.param["ssid_modes"][mode][ssid]:
vlan_list.append(request.param["ssid_modes"][mode][ssid]["vlan"])
else:
pass
if vlan_list:
[refactored_vlan_list.append(x) for x in vlan_list if x not in refactored_vlan_list]
vlan_list = refactored_vlan_list
for i in range(len(vlan_list)):
if vlan_list[i] > 4095 or vlan_list[i] < 1:
vlan_list.pop(i)
if request.param["mode"] == "VLAN":
lf_tools.reset_scenario()
lf_tools.add_vlan(vlan_ids=vlan_list)
# call this, if 1.x
print("fixture version ", fixtures_ver)
if cc_1:
return_var = fixtures_ver.setup_profiles(request, param, run_lf, instantiate_profile, get_configuration, get_markers, lf_tools)
else:
return_var = fixtures_ver.setup_profiles(request, param, setup_controller, testbed, get_equipment_ref,
instantiate_profile,
get_markers, create_lanforge_chamberview_dut, lf_tools,
get_security_flags, get_configuration, radius_info, get_apnos,
radius_accounting_info, run_lf=run_lf)
yield return_var
@pytest.fixture(scope="session")
def station_names_twog(request, get_configuration):
station_names = []
for i in range(0, int(request.config.getini("num_stations"))):
station_names.append(get_configuration["traffic_generator"]["details"]["2.4G-Station-Name"] + "0" + str(i))
yield station_names
@pytest.fixture(scope="session")
def station_names_fiveg(request, get_configuration):
station_names = []
for i in range(0, int(request.config.getini("num_stations"))):
station_names.append(get_configuration["traffic_generator"]["details"]["5G-Station-Name"] + "0" + str(i))
yield station_names
@pytest.fixture(scope="session")
def station_names_ax(request, get_configuration):
station_names = []
for i in range(0, int(request.config.getini("num_stations"))):
station_names.append(get_configuration["traffic_generator"]["details"]["AX-Station-Name"] + "0" + str(i))
yield station_names
@pytest.fixture(scope="session")
def num_stations(request):
num_sta = int(request.config.getini("num_stations"))
yield num_sta
@pytest.fixture(scope="class")
def get_vif_state(get_apnos, get_configuration, request, lf_tools, run_lf):
if request.config.getoption("1.x"):
ap_ssh = get_apnos(get_configuration['access_point'][0], pwd="../libs/apnos/", sdk="1.x")
vif_state = list(ap_ssh.get_vif_state_ssids())
vif_state.sort()
yield vif_state
else:
yield lf_tools.ssid_list
@pytest.fixture(scope="session")
def dfs_start(fixtures_ver, get_apnos, get_configuration):
dfs_start = fixtures_ver.dfs(get_apnos, get_configuration)
yield dfs_start
@pytest.fixture(scope="class")
def get_vlan_list(get_apnos, get_configuration):
ap_ssh = get_apnos(get_configuration['access_point'][0], pwd="../libs/apnos/")
vlan_list = list(ap_ssh.get_vlan())
vlan_list.sort()
yield vlan_list
@pytest.fixture(scope="session")
def reset_scenario_lf(request, lf_tools, run_lf):
if not run_lf:
lf_tools.reset_scenario()
def teardown_session():
lf_tools.reset_scenario()
request.addfinalizer(teardown_session)
yield ""