WIFI-5076 : Enabled the option to skip the lanforge interaction when running interop

Signed-off-by: shivam <shivam.thakur@candelatech.com>
This commit is contained in:
shivam
2021-10-26 00:28:54 +05:30
parent f335141d25
commit 75f8dbc381
4 changed files with 56 additions and 36 deletions

View File

@@ -97,6 +97,13 @@ def pytest_addoption(parser):
help="skip updating firmware on the AP (useful for local testing)"
)
parser.addoption(
"--skip-lanforge",
action="store_true",
default=False,
help="skip to do any interactions on lanforge (to be used in case of interop)"
)
# change behaviour
parser.addoption(
"--exit-on-fail",
@@ -260,6 +267,11 @@ def get_sdk_version(fixtures_ver):
yield version
@pytest.fixture(scope="session")
def skip_lf(request):
yield request.config.getoption("skip-lanforge")
# Controller Fixture
@pytest.fixture(scope="session")
def setup_controller(request, get_configuration, add_env_properties, fixtures_ver):
@@ -542,26 +554,32 @@ def traffic_generator_connectivity(testbed, get_configuration):
@pytest.fixture(scope="session")
def create_lanforge_chamberview_dut(lf_tools):
dut_object, dut_name = lf_tools.Create_Dut()
def create_lanforge_chamberview_dut(lf_tools, skip_lf):
if not skip_lf:
dut_object, dut_name = lf_tools.Create_Dut()
return dut_name
@pytest.fixture(scope="session")
def lf_tools(get_configuration, testbed):
def lf_tools(get_configuration, testbed, skip_lf):
""" Create a DUT on LANforge"""
obj = ChamberView(lanforge_data=get_configuration["traffic_generator"]["details"],
testbed=testbed, access_point_data=get_configuration["access_point"])
if not skip_lf:
obj = ChamberView(lanforge_data=get_configuration["traffic_generator"]["details"],
testbed=testbed, access_point_data=get_configuration["access_point"])
else:
obj = False
yield obj
@pytest.fixture(scope="session")
def lf_test(get_configuration, setup_influx, request):
if request.config.getoption("--exit-on-fail"):
obj = RunTest(lanforge_data=get_configuration['traffic_generator']['details'], influx_params=setup_influx, debug=True)
if request.config.getoption("--exit-on-fail") is False:
obj = RunTest(lanforge_data=get_configuration['traffic_generator']['details'], influx_params=setup_influx, debug=False)
def lf_test(get_configuration, setup_influx, request, skip_lf):
if not skip_lf:
if request.config.getoption("--exit-on-fail"):
obj = RunTest(lanforge_data=get_configuration['traffic_generator']['details'], influx_params=setup_influx,
debug=True)
if request.config.getoption("--exit-on-fail") is False:
obj = RunTest(lanforge_data=get_configuration['traffic_generator']['details'], influx_params=setup_influx,
debug=False)
yield obj

View File

@@ -195,39 +195,39 @@ def setup_vlan():
@pytest.fixture(scope="class")
def setup_profiles(request, setup_controller, testbed, get_equipment_ref, fixtures_ver,
def setup_profiles(request, setup_controller, testbed, get_equipment_ref, fixtures_ver, skip_lf,
instantiate_profile, get_markers, create_lanforge_chamberview_dut, lf_tools,
get_security_flags, get_configuration, radius_info, get_apnos, radius_accounting_info):
lf_tools.reset_scenario()
param = dict(request.param)
if skip_lf:
# VLAN Setup
if request.param["mode"] == "VLAN":
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.add_vlan(vlan_ids=vlan_list)
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.add_vlan(vlan_ids=vlan_list)
# call this, if 1.x
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)
radius_accounting_info, skip_lf=skip_lf)
yield return_var

View File

@@ -85,7 +85,7 @@ class Fixtures_1x:
def setup_profiles(self, 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):
get_security_flags, get_configuration, radius_info, get_apnos, radius_accounting_info, skip_lf=False):
instantiate_profile = instantiate_profile(sdk_client=setup_controller)
vlan_id, mode = 0, 0

View File

@@ -324,7 +324,8 @@ class Fixtures_2x:
def setup_profiles(self, 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):
get_security_flags, get_configuration, radius_info, get_apnos,
radius_accounting_info, skip_lf=False):
instantiate_profile_obj = instantiate_profile(sdk_client=setup_controller)
print(1, instantiate_profile_obj.sdk_client)
@@ -660,8 +661,9 @@ class Fixtures_2x:
]
ssid_data.append(ssid)
lf_tools.ssid_list.append(ssid_info_sdk[interface][0])
lf_tools.dut_idx_mapping = idx_mapping
lf_tools.update_ssid(ssid_data=ssid_data)
if skip_lf:
lf_tools.dut_idx_mapping = idx_mapping
lf_tools.update_ssid(ssid_data=ssid_data)
except Exception as e:
print(e)
pass