From ee03fac01d40e398739b2afa609372f6c394fc82 Mon Sep 17 00:00:00 2001 From: sushant Date: Thu, 27 May 2021 14:09:19 +0530 Subject: [PATCH] - changed chamberview logic and DUT - added lf_tools which holds chamberview class and functions - added comments Signed-off-by: sushant --- libs/lanforge/lf_tools.py | 81 +++++++++ tests/configuration.py | 122 +++++++++---- tests/conftest.py | 167 ++++-------------- .../_basic_test_setup/setup__e2e_resources.py | 55 +++--- tests/e2e/basic/conftest.py | 78 +++++++- 5 files changed, 308 insertions(+), 195 deletions(-) create mode 100644 libs/lanforge/lf_tools.py diff --git a/libs/lanforge/lf_tools.py b/libs/lanforge/lf_tools.py new file mode 100644 index 000000000..c971065c6 --- /dev/null +++ b/libs/lanforge/lf_tools.py @@ -0,0 +1,81 @@ +from create_chamberview import CreateChamberview +from create_chamberview_dut import DUT +import time + + +class ChamberView: + + def __init__(self, lanforge_data=None, access_point_data=None, debug=False, testbed=None): + self.lanforge_ip = lanforge_data["ip"] + self.lanforge_port = lanforge_data["port"] + self.twog_radios = lanforge_data["2.4G-Radio"] + self.fiveg_radios = lanforge_data["5G-Radio"] + self.ax_radios = lanforge_data["AX-Radio"] + self.upstream_port = lanforge_data["upstream"] + self.twog_prefix = lanforge_data["2.4G-Station-Name"] + self.fiveg_prefix = lanforge_data["5G-Station-Name"] + self.ax_prefix = lanforge_data["AX-Station-Name"] + self.uplink_port = lanforge_data["uplink"] # eth2 + self.upstream_subnet = lanforge_data["upstream_subnet"] + self.testbed = testbed + self.upstream_resources = self.upstream_port.split(".")[0] + "." + self.upstream_port.split(".")[1] + self.uplink_resources = self.uplink_port.split(".")[0] + "." + self.uplink_port.split(".")[1] + self.delete_old_scenario = True + # For chamber view + self.scenario_name = "TIP-" + self.testbed + + self.raw_line = [ + ["profile_link " + self.upstream_resources + " upstream-dhcp 1 NA NA " + self.upstream_port.split(".") + [2] + ",AUTO -1 NA"], + ["profile_link " + self.uplink_resources + " uplink-nat 1 'DUT: upstream LAN " + self.upstream_subnet + + "' NA " + self.uplink_port.split(".")[2] + " -1 NA"] + ] + # This is for rawline input | see create_chamberview_dut.py for more details + + self.CreateChamberview = CreateChamberview(self.lanforge_ip, self.lanforge_port) + + # for DUT + self.dut_name = testbed + self.ap_model = access_point_data[0]["model"] + self.version = access_point_data[0]["version"] + self.serial = access_point_data[0]["serial"] + + self.CreateDut = DUT(lfmgr=self.lanforge_ip, + port=self.lanforge_port, + dut_name=self.testbed, + sw_version=self.version, + hw_version=self.ap_model, + model_num=self.ap_model, + serial_num=self.serial + ) + self.CreateDut.ssid = [] + + # SSID data should be in this format + # [ + # ['ssid_idx=0 ssid=Default-SSID-2g password=12345678 bssid=90:3c:b3:94:48:58'], + # ['ssid_idx=1 ssid=Default-SSID-5gl password=12345678 bssid=90:3c:b3:94:48:59'] + # ] + + def Chamber_View(self): + if self.delete_old_scenario: + self.CreateChamberview.clean_cv_scenario(type="Network-Connectivity", scenario_name=self.scenario_name) + self.CreateChamberview.setup(create_scenario=self.scenario_name, + raw_line=self.raw_line + ) + self.CreateChamberview.build(self.scenario_name) + self.CreateChamberview.sync_cv() + time.sleep(2) + self.CreateChamberview.show_text_blob(None, None, True) # Show changes on GUI + self.CreateChamberview.sync_cv() + return self.CreateChamberview, self.scenario_name + + + def Create_Dut(self): + self.CreateDut.setup() + self.CreateDut.add_ssids() + self.CreateDut.cv_test.show_text_blob(None, None, True) # Show changes on GUI + self.CreateDut.cv_test.sync_cv() + time.sleep(2) + self.CreateDut.cv_test.show_text_blob(None, None, True) # Show changes on GUI + self.CreateDut.cv_test.sync_cv() + return self.CreateDut, self.dut_name diff --git a/tests/configuration.py b/tests/configuration.py index fff97989e..6f146489d 100644 --- a/tests/configuration.py +++ b/tests/configuration.py @@ -1,40 +1,7 @@ -""" -ec420 basic-03 -ecw5410 basic-01 -ecw5211 not available in basic -wf188n basic-05 -eap102 basic-06 -eap101 basic-02 -wf194c baisc-08-02 - -ssh -C -L 8800:lf1:4002 -L 8801:lf1:5901 -L 8802:lf1:8080 -L 8803:lab-ctlr:22 \ # basic-01 --L 8720:lf2:4002 -L 8721:lf2:5901 -L 8722:lf2:8080 -L 8723:lab-ctlr:22 \ # basic-02 --L 8830:lf3:4002 -L 8831:lf3:5901 -L 8832:lf3:8080 -L 8833:lab-ctlr:22 \ # basic-03 --L 8810:lf4:4002 -L 8811:lf4:5901 -L 8812:lf4:8080 -L 8813:lab-ctlr:22 \ # basic-04 --L 8850:lf12:4002 -L 8851:lf12:5901 -L 8852:lf12:8080 -L 8853:lab-ctlr4:22 \ # basic-05 --L 8860:lf13:4002 -L 8861:lf13:5901 -L 8862:lf13:8080 -L 8863:lab-ctlr4:22 \ # basic-06 --L 8870:lf14:4002 -L 8871:lf14:5901 -L 8872:lf14:8080 -L 8873:lab-ctlr4:22 \ # basic-07 --L 8880:lf15:4002 -L 8881:lf15:5901 -L 8882:lf15:8080 -L 8883:lab-ctlr4:22 \ # basic-08 -ubuntu@3.130.51.163 - - - -ssh -C -L 8800:lf1:4002 -L 8801:lf1:5901 -L 8802:lf1:8080 -L 8803:lab-ctlr:22 \ --L 8720:lf2:4002 -L 8721:lf2:5901 -L 8722:lf2:8080 -L 8723:lab-ctlr:22 \ --L 8830:lf3:4002 -L 8831:lf3:5901 -L 8832:lf3:8080 -L 8833:lab-ctlr:22 \ --L 8810:lf4:4002 -L 8811:lf4:5901 -L 8812:lf4:8080 -L 8813:lab-ctlr:22 \ --L 8850:lf12:4002 -L 8851:lf12:5901 -L 8852:lf12:8080 -L 8853:lab-ctlr4:22 \ --L 8860:lf13:4002 -L 8861:lf13:5901 -L 8862:lf13:8080 -L 8863:lab-ctlr4:22 \ --L 8870:lf14:4002 -L 8871:lf14:5901 -L 8872:lf14:8080 -L 8873:lab-ctlr4:22 \ --L 8880:lf15:4002 -L 8881:lf15:5901 -L 8882:lf15:8080 -L 8883:lab-ctlr4:22 \ -ubuntu@3.130.51.163 - -""" - CONFIGURATION = { - "basic-ext-04-01": { + "basic-ext-03-01": { "controller": { - 'url': "https://wlan-portal-svc-nola-ext-04.cicd.lab.wlan.tip.build", # API base url for the controller + 'url': "https://wlan-portal-svc-nola-ext-03.cicd.lab.wlan.tip.build", # API base url for the controller 'username': 'support@example.com', 'password': 'support', 'version': "1.1.0-SNAPSHOT", @@ -44,20 +11,94 @@ CONFIGURATION = { { 'model': 'ecw5410', 'mode': "wifi5", - 'serial': '903cb394486f', + 'serial': '903cb3944807', 'jumphost': True, - 'ip': "192.168.200.81", + 'ip': "192.168.200.230", 'username': "lanforge", 'password': "lanforge", 'port': 22, 'jumphost_tty': '/dev/ttyAP1', - 'version': "ecw5410-2021-04-23-30496b1" + 'version': "ecw5410-2021-03-30-pending-9cb289b" } ], "traffic_generator": { "name": "lanforge", "details": { - "ip": "192.168.200.81", + "ip": "localhost", + "port": 8080, + "2.4G-Radio": ["wiphy0"], + "5G-Radio": ["wiphy1"], + "AX-Radio": ["wiphy2"], + "upstream": "eth1", + "2.4G-Station-Name": "wlan0", + "5G-Station-Name": "wlan1", + "AX-Station-Name": "ax", + } + } + }, + "basic-ext-03-02": { + "controller": { + 'url': "https://wlan-portal-svc-nola-ext-03.cicd.lab.wlan.tip.build", # API base url for the controller + 'username': 'support@example.com', + 'password': 'support', + 'version': "1.1.0-SNAPSHOT", + 'commit_date': "2021-04-27" + }, + 'access_point': [ + { + 'model': 'ecw5410', + 'mode': 'wifi5', + 'serial': '903cb394486f', + 'jumphost': True, + 'ip': "192.168.200.233", + 'username': "lanforge", + 'password': "lanforge", + 'port': 22, + 'jumphost_tty': '/dev/ttyAP1', + 'version': "ecw5410-2021-04-26-pending-3fc41fa" + } + ], + "traffic_generator": { + "name": "lanforge", + "details": { + "ip": "192.168.200.233", + "port": 8080, + "2.4G-Radio": ["wiphy0"], + "5G-Radio": ["wiphy1"], + "AX-Radio": ["wiphy2"], + "upstream": "eth1", + "2.4G-Station-Name": "wlan0", + "5G-Station-Name": "wlan1", + "AX-Station-Name": "ax", + } + } + }, + "basic-ext-03-03": { + "controller": { + 'url': "https://wlan-portal-svc-nola-ext-03.cicd.lab.wlan.tip.build", # API base url for the controller + 'username': 'support@example.com', + 'password': 'support', + 'version': "1.1.0-SNAPSHOT", + 'commit_date': "2021-04-27" + }, + 'access_point': [ + { + 'model': 'ecw5410', + 'mode': 'wifi5', + 'serial': '903cb3944857', + 'jumphost': True, + 'ip': "192.168.200.80", + 'username': "lanforge", + 'password': "lanforge", + 'port': 22, + 'jumphost_tty': '/dev/ttyAP1', + 'version': "ecw5410-1.0.4-rc4" + } + ], + "traffic_generator": { + "name": "lanforge", + "details": { + "ip": "192.168.200.80", "port": 8080, "2.4G-Radio": ["wiphy0"], "5G-Radio": ["wiphy1"], @@ -150,3 +191,6 @@ TEST_CASES = { "nat_ssid_update": 8743, "vlan_ssid_update": 8744 } +# cmd = /bin/wlan_ap_redirector.sh ssl:opensync-redirector-nola-01.cicd.lab.wlan.tip.build:6643 +# radius server +# radsec diff --git a/tests/conftest.py b/tests/conftest.py index 52b16db01..4cad7e457 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -37,12 +37,10 @@ from configuration import CONFIGURATION from configuration import FIRMWARE from testrails.testrail_api import APIClient from testrails.reporting import Reporting +from cv_test_manager import cv_test import sta_connect2 from sta_connect2 import StaConnect2 -from cv_test_manager import cv_test -# from cv_test_manager import cv_test -from create_chamberview import CreateChamberview -from create_chamberview_dut import DUT + def pytest_addoption(parser): parser.addini("tr_url", "Test Rail URL") @@ -88,6 +86,41 @@ def pytest_addoption(parser): default=False, help="Stop using Testrails" ) + parser.addoption( + "--exit-on-fail", + action="store_true", + default=False, + help="use to stop execution if failure" + ) + + # Perfecto Parameters + parser.addini("perfectoURL", "Cloud URL") + parser.addini("securityToken", "Security Token") + parser.addini("platformName-iOS", "iOS Platform") + parser.addini("platformName-android", "Android Platform") + parser.addini("model-iOS", "iOS Devices") + parser.addini("model-android", "Android Devices") + parser.addini("bundleId-iOS", "iOS Devices") + parser.addini("bundleId-iOS-Settings", "iOS Settings App") + parser.addini("appPackage-android", "Android Devices") + parser.addini("wifi-SSID-5gl-Pwd", "Wifi 5g Password") + parser.addini("wifi-SSID-2g-Pwd", "Wifi 2g Password") + parser.addini("Default-SSID-5gl-perfecto-b", "Wifi 5g AP Name") + parser.addini("Default-SSID-2g-perfecto-b", "Wifi 2g AP Name") + parser.addini("Default-SSID-perfecto-b", "Wifi AP Name") + parser.addini("bundleId-iOS-Ping", "Ping Bundle ID") + parser.addini("browserType-iOS", "Mobile Browser Name") + parser.addini("projectName", "Project Name") + parser.addini("projectVersion", "Project Version") + parser.addini("jobName", "CI Job Name") + parser.addini("jobNumber", "CI Job Number") + parser.addini("reportTags", "Report Tags") + parser.addoption( + "--access-points-perfecto", + # nargs="+", + default=["Perfecto"], + help="list of access points to test" + ) """ @@ -189,59 +222,6 @@ def setup_controller(request, get_configuration, instantiate_access_point, sdk_client = False yield sdk_client -@pytest.fixture(scope="session") -def create_lanforge_chamberview_dut(get_configuration, testbed): - ap_model = get_configuration["access_point"][0]["model"] - version = get_configuration["access_point"][0]["version"] - serial = get_configuration["access_point"][0]["serial"] - # ap_model = get_configuration["access_point"][0]["model"] - lanforge_data = get_configuration['traffic_generator']['details'] - ip = lanforge_data["ip"] - port = lanforge_data["port"] - dut = DUT(lfmgr=ip, - port=port, - dut_name=testbed, - sw_version=version, - model_num=ap_model, - serial_num=serial - ) - dut.setup() - yield dut - -@pytest.fixture(scope="session") -def create_lanforge_chamberview(create_lanforge_chamberview_dut, get_configuration, testbed): - lanforge_data = get_configuration['traffic_generator']['details'] - ip = lanforge_data["ip"] - port = lanforge_data["port"] - upstream_port = lanforge_data["upstream"] # eth1 - uplink_port = lanforge_data["uplink"] # eth2 - upstream_subnet = lanforge_data["upstream_subnet"] - scenario_name = "TIP-" + testbed - upstream_res = upstream_port.split(".")[0] + "." + upstream_port.split(".")[1] - uplink_res = uplink_port.split(".")[0] + "." + uplink_port.split(".")[1] - print(ip) - print(upstream_port, upstream_res, upstream_port.split(".")[2]) - # "profile_link 1.1 upstream-dhcp 1 NA NA eth2,AUTO -1 NA" - # "profile_link 1.1 uplink-nat 1 'DUT: upstream LAN 10.28.2.1/24' NA eth1,eth2 -1 NA" - raw_line = [ - ["profile_link " + upstream_res + " upstream-dhcp 1 NA NA " + upstream_port.split(".")[2] + ",AUTO -1 NA"] - , ["profile_link " + uplink_res + " uplink-nat 1 'DUT: upstream LAN " - + upstream_subnet + "' NA " + uplink_port.split(".")[2] + " -1 NA"] - ] - print(raw_line) - Create_Chamberview = CreateChamberview(ip, port) - Create_Chamberview.clean_cv_scenario() - Create_Chamberview.clean_cv_scenario(type="Network-Connectivity", scenario_name=scenario_name) - - Create_Chamberview.setup(create_scenario=scenario_name, - raw_line=raw_line) - - Create_Chamberview.build(scenario_name) - Create_Chamberview.show_text_blob(None, None, True) # Show changes on GUI - yield Create_Chamberview - - - @pytest.fixture(scope="class") def instantiate_firmware(setup_controller, instantiate_jFrog, get_configuration): @@ -254,79 +234,6 @@ def instantiate_firmware(setup_controller, instantiate_jFrog, get_configuration) yield firmware_client_obj -@pytest.fixture(scope="class") -def get_latest_firmware(instantiate_firmware): - fw_version_list = [] - try: - - for fw_obj in instantiate_firmware: - latest_firmware = fw_obj.get_fw_version() - fw_version_list.append(latest_firmware) - except Exception as e: - print(e) - fw_version_list = [] - - yield fw_version_list - - -@pytest.fixture(scope="class") -def upload_firmware(should_upload_firmware, instantiate_firmware, get_latest_firmware): - firmware_id_list = [] - for i in range(0, len(instantiate_firmware)): - firmware_id = instantiate_firmware[i].upload_fw_on_cloud(fw_version=get_latest_firmware[i], - force_upload=should_upload_firmware) - firmware_id_list.append(firmware_id) - yield firmware_id_list - - -@pytest.fixture(scope="class") -def upgrade_firmware(request, instantiate_firmware, get_equipment_id, check_ap_firmware_cloud, get_latest_firmware, - should_upgrade_firmware): - status_list = [] - if get_latest_firmware != check_ap_firmware_cloud: - if request.config.getoption("--skip-upgrade"): - status = "skip-upgrade" - status_list.append(status) - else: - - for i in range(0, len(instantiate_firmware)): - status = instantiate_firmware[i].upgrade_fw(equipment_id=get_equipment_id, force_upload=False, - force_upgrade=should_upgrade_firmware) - status_list.append(status) - else: - if should_upgrade_firmware: - for i in range(0, len(instantiate_firmware)): - status = instantiate_firmware[i].upgrade_fw(equipment_id=get_equipment_id, force_upload=False, - force_upgrade=should_upgrade_firmware) - status_list.append(status) - else: - status = "skip-upgrade Version Already Available" - status_list.append(status) - yield status_list - - -@pytest.fixture(scope="class") -def check_ap_firmware_cloud(setup_controller, get_equipment_id): - ap_fw_list = [] - for i in get_equipment_id: - ap_fw_list.append(setup_controller.get_ap_firmware_old_method(equipment_id=i)) - yield ap_fw_list - - -@pytest.fixture(scope="class") -def check_ap_firmware_ssh(get_configuration): - active_fw_list = [] - try: - for access_point in get_configuration['access_point']: - ap_ssh = APNOS(access_point) - active_fw = ap_ssh.get_active_firmware() - active_fw_list.append(active_fw) - except Exception as e: - print(e) - active_fw_list = [] - yield active_fw_list - - """ Instantiate Reporting """ diff --git a/tests/e2e/basic/_basic_test_setup/setup__e2e_resources.py b/tests/e2e/basic/_basic_test_setup/setup__e2e_resources.py index a2a932def..7fd96d317 100644 --- a/tests/e2e/basic/_basic_test_setup/setup__e2e_resources.py +++ b/tests/e2e/basic/_basic_test_setup/setup__e2e_resources.py @@ -7,40 +7,45 @@ import pytest import time + @pytest.mark.configure_lanforge def test_configure_lanforge(configure_lanforge): - assert True -@pytest.mark.lanforge_scenario_setup_dut -def test_lanforge_scenario_setup_dut(create_lanforge_chamberview_dut): - print(create_lanforge_chamberview_dut) +@pytest.mark.setup_dut +def test_lanforge_scenario_setup_dut(create_lanforge_chamberview_dut, lf_tools): + object_name, dut_name = create_lanforge_chamberview_dut + # print(create_lanforge_chamberview_dut) ssid = [ - ['ssid_idx=0 ssid=Default-SSID-2g password=12345678 bssid=90:3c:b3:94:48:58'], - ['ssid_idx=1 ssid=Default-SSID-5gl password=12345678 bssid=90:3c:b3:94:48:59'] - ] - - create_lanforge_chamberview_dut.ssid = ssid - create_lanforge_chamberview_dut.setup() - create_lanforge_chamberview_dut.add_ssids() - create_lanforge_chamberview_dut.cv_test.show_text_blob(None, None, True) # Show changes on GUI - create_lanforge_chamberview_dut.cv_test.sync_cv() - time.sleep(2) - create_lanforge_chamberview_dut.cv_test.show_text_blob(None, None, True) # Show changes on GUI - create_lanforge_chamberview_dut.cv_test.sync_cv() + # how to add ssid example + # ['ssid_idx=0 ssid=Default-SSID-2g security=WPA password=12345678 bssid=90:3c:b3:94:48:58'], + # ['ssid_idx=1 ssid=Default-SSID-5gl security=WPA password=12345678 bssid=90:3c:b3:94:48:59'] + ] + if ssid: + lf_tools.CreateDut.ssid = ssid + lf_tools.Create_Dut() + print("Here") assert True -@pytest.mark.lanforge_scenario_setup -def test_lanforge_scenario_setup(create_lanforge_chamberview): - # raw_line = [ - # ["profile_link 1.1 vlan-100 1 NA NA eth2,AUTO -1 100"] - # ] - # print(create_lanforge_chamberview.setup_scenario(create_scenario="TIP-test",raw_line=raw_line)) - # create_lanforge_chamberview.build_scenario("TIP-test") + +@pytest.mark.setup_chamberview +def test_lanforge_scenario_setup(create_lanforge_chamberview, lf_tools): + raw_line = [ + # How to add in chamberview example, please look for create_chamberview.py for information + # ["profile_link 1.1 STA-AC 10 'DUT: " + lf_tools.dut_name + " Radio-1' tcp-dl-6m-vi wiphy0,AUTO -1"] + # ["profile_link 1.1 STA-AC 10 'DUT: temp Radio-1' tcp-dl-6m-vi wiphy0,AUTO -1"], to create stations + # ["profile_link 1.1 vlan-100 1 NA NA eth2,AUTO -1 100"] # add new list separated by commas to add in cv + # scenario + ] + if raw_line: + lf_tools.delete_old_scenario = False + lf_tools.raw_line = raw_line + lf_tools.Chamber_View() assert True + @pytest.mark.sanity @pytest.mark.bridge @pytest.mark.nat @@ -110,7 +115,8 @@ def test_ap_firmware(check_ap_firmware_ssh, get_latest_firmware, instantiate_tes assert check_ap_firmware_ssh == get_latest_firmware - +# adding comment here (previous git-conflict) +# ======= # """ # Test Case Module: setup test cases for basic test cases # Details: Firmware Upgrade @@ -192,4 +198,3 @@ def test_ap_firmware(check_ap_firmware_ssh, get_latest_firmware, instantiate_tes # msg='Cannot reach AP after upgrade to check CLI - re-test required') # # assert check_ap_firmware_ssh == get_latest_firmware - diff --git a/tests/e2e/basic/conftest.py b/tests/e2e/basic/conftest.py index 714c847d3..51f301c4c 100644 --- a/tests/e2e/basic/conftest.py +++ b/tests/e2e/basic/conftest.py @@ -1,6 +1,20 @@ import os import sys +for folder in 'py-json', 'py-scripts': + if folder not in sys.path: + sys.path.append(f'../lanforge/lanforge-scripts/{folder}') + +sys.path.append(f"../lanforge/lanforge-scripts/py-scripts/tip-cicd-sanity") + +sys.path.append(f'../libs') +sys.path.append(f'../libs/lanforge/') + +from LANforge.LFUtils import * + +if 'py-json' not in sys.path: + sys.path.append('../py-scripts') + sys.path.append( os.path.dirname( os.path.realpath(__file__) @@ -12,9 +26,53 @@ if "libs" not in sys.path: from controller.controller import ProfileUtility import time from lanforge.lf_tests import RunTest +from lanforge.lf_tools import ChamberView import pytest import allure +""" +Basic Setup Collector +""" + + +@pytest.fixture(scope="session") +def get_lanforge_data(testbed): + lanforge_data = {} + if CONFIGURATION[testbed]['traffic_generator']['name'] == 'lanforge': + lanforge_data = { + "lanforge_ip": CONFIGURATION[testbed]['traffic_generator']['details']['ip'], + "lanforge-port-number": CONFIGURATION[testbed]['traffic_generator']['details']['port'], + "lanforge_2dot4g": CONFIGURATION[testbed]['traffic_generator']['details']['2.4G-Radio'][0], + "lanforge_5g": CONFIGURATION[testbed]['traffic_generator']['details']['5G-Radio'][0], + "lanforge_2dot4g_prefix": CONFIGURATION[testbed]['traffic_generator']['details']['2.4G-Station-Name'], + "lanforge_5g_prefix": CONFIGURATION[testbed]['traffic_generator']['details']['5G-Station-Name'], + "lanforge_2dot4g_station": CONFIGURATION[testbed]['traffic_generator']['details']['2.4G-Station-Name'], + "lanforge_5g_station": CONFIGURATION[testbed]['traffic_generator']['details']['5G-Station-Name'], + "lanforge_bridge_port": CONFIGURATION[testbed]['traffic_generator']['details']['upstream'], + "lanforge_vlan_port": CONFIGURATION[testbed]['traffic_generator']['details']['upstream'] + ".100", + "vlan": 100 + } + yield lanforge_data + + +@pytest.fixture(scope="module") +def instantiate_profile(instantiate_controller): + try: + profile_object = ProfileUtility(sdk_client=instantiate_controller) + except Exception as e: + profile_object = False + yield profile_object + + +@pytest.fixture(scope="session") +def get_equipment_id(setup_controller, testbed, get_configuration): + equipment_id = 0 + if len(get_configuration['access_point']) == 1: + equipment_id = setup_controller.get_equipment_id( + serial_number=get_configuration['access_point'][0]['serial']) + print(equipment_id) + yield equipment_id + @pytest.fixture(scope="session") def instantiate_profile(): @@ -390,7 +448,7 @@ def setup_profiles(request, setup_controller, testbed, setup_vlan, get_equipment name="SSID Profiles in VIF Config and Controller: ") ap_ssh = get_apnos(get_configuration['access_point'][0], pwd="../libs/apnos/") - # This loop will check the VIF Config with VIF State +# This loop will check the VIF Config with VIF State test_cases['vifs'] = False for i in range(0, 18): vif_state = list(ap_ssh.get_vif_state_ssids()) @@ -421,11 +479,29 @@ def setup_profiles(request, setup_controller, testbed, setup_vlan, get_equipment yield test_cases +@pytest.fixture(scope="package") +def create_lanforge_chamberview(lf_tools): + scenario_object, scenario_name = lf_tools.Chamber_View() + return scenario_object, scenario_name + +@pytest.fixture(scope="package") +def create_lanforge_chamberview_dut(lf_tools): + dut_object, dut_name = lf_tools.Create_Dut() + return dut_object, dut_name + @pytest.fixture(scope="session") def lf_test(get_configuration): obj = RunTest(lanforge_data=get_configuration['traffic_generator']['details']) yield obj +@pytest.fixture(scope="package") +def lf_tools(get_configuration, testbed): + lf_tools_obj = ChamberView(lanforge_data=get_configuration['traffic_generator']['details'], + access_point_data=get_configuration['access_point'], + testbed=testbed) + yield lf_tools_obj + + @pytest.fixture(scope="session") def station_names_twog(request, get_configuration):