mirror of
https://github.com/Telecominfraproject/wlan-testing.git
synced 2025-10-31 19:08:01 +00:00
Update Band Steering testcase
Signed-off-by: bhargavi-ct <bhargavimamidipaka@candelatech.com>
This commit is contained in:
@@ -2755,6 +2755,11 @@ class UProfileUtility:
|
||||
ssid_info[options] = ssid_data[options]
|
||||
if options == "captive":
|
||||
ssid_info[options] = ssid_data[options]
|
||||
if options == "wifi-steering":
|
||||
ssid_info[options] = ssid_data[options]
|
||||
ssid_info["services"] = ["wifi-steering"]
|
||||
if options == "roaming" and ssid_data[options] == True:
|
||||
ssid_info[options] = ssid_data[options]
|
||||
for i in ssid_data["appliedRadios"]:
|
||||
ssid_info["wifi-bands"].append(i)
|
||||
ssid_info['encryption'] = {}
|
||||
@@ -2798,6 +2803,13 @@ class UProfileUtility:
|
||||
if options == "captive":
|
||||
ssid_info[options] = ssid_data[options]
|
||||
ssid_info["services"] = ["captive"]
|
||||
if options == "wifi-steering":
|
||||
ssid_info[options] = ssid_data[options]
|
||||
ssid_info["services"] = ["wifi-steering"]
|
||||
if options == "roaming" and ssid_data[options] == True:
|
||||
ssid_info[options] = ssid_data[options]
|
||||
|
||||
|
||||
for i in ssid_data["appliedRadios"]:
|
||||
ssid_info["wifi-bands"].append(i)
|
||||
ssid_info['encryption'] = {}
|
||||
@@ -2819,6 +2831,7 @@ class UProfileUtility:
|
||||
"port": radius_accounting_data["port"],
|
||||
"secret": radius_accounting_data["secret"]
|
||||
}
|
||||
|
||||
if self.mode == "NAT":
|
||||
self.base_profile_config['interfaces'][1]['ssids'].append(ssid_info)
|
||||
if open_roaming is True:
|
||||
|
||||
@@ -1,95 +0,0 @@
|
||||
{
|
||||
"uuid": 2,
|
||||
"radios": [
|
||||
{
|
||||
"band": "5G",
|
||||
"country": "CA",
|
||||
"channel-mode": "HE",
|
||||
"channel-width": 80
|
||||
},
|
||||
{
|
||||
"band": "2G",
|
||||
"country": "CA",
|
||||
"channel-mode": "HE",
|
||||
"channel-width": 80
|
||||
}
|
||||
],
|
||||
"interfaces": [
|
||||
{
|
||||
"name": "WAN",
|
||||
"role": "upstream",
|
||||
"ethernet": [
|
||||
{
|
||||
"select-ports": [
|
||||
"WAN*"
|
||||
]
|
||||
}
|
||||
],
|
||||
"ipv4": {
|
||||
"addressing": "dynamic"
|
||||
},
|
||||
"ssids": [
|
||||
{
|
||||
"name": "bandsteering_2",
|
||||
"wifi-bands": [
|
||||
"5G",
|
||||
"2G"
|
||||
],
|
||||
"bss-mode": "ap",
|
||||
"encryption": {
|
||||
"proto": "psk2",
|
||||
"key": "password@123",
|
||||
"ieee80211w": "optional"
|
||||
},
|
||||
"roaming": true,
|
||||
|
||||
"services": [ "wifi-steering" ]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "LAN",
|
||||
"role": "downstream",
|
||||
"services": [ "ssh" ],
|
||||
"ethernet": [
|
||||
{
|
||||
"select-ports": [
|
||||
"LAN*"
|
||||
]
|
||||
}
|
||||
],
|
||||
"ipv4": {
|
||||
"addressing": "static",
|
||||
"subnet": "192.168.1.1/24",
|
||||
"dhcp": {
|
||||
"lease-first": 10,
|
||||
"lease-count": 100,
|
||||
"lease-time": "6h"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"metrics": {
|
||||
"statistics": {
|
||||
"interval": 120,
|
||||
"types": [ "ssids", "lldp", "clients" ]
|
||||
},
|
||||
"health": {
|
||||
"interval": 120
|
||||
}
|
||||
},
|
||||
"services": {
|
||||
"wifi-steering": {
|
||||
"mode": "local",
|
||||
"network": "upstream",
|
||||
"assoc-steering": true,
|
||||
"required-snr": -85,
|
||||
"required-probe-snr": -80,
|
||||
"required-roam-snr": -80,
|
||||
"load-kick-threshold": 90
|
||||
},
|
||||
"ssh": {
|
||||
"port": 22
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10,16 +10,49 @@ pytestmark = [pytest.mark.band_steering_tests, pytest.mark.bridge]
|
||||
setup_params_general = {
|
||||
"mode": "BRIDGE",
|
||||
"ssid_modes": {
|
||||
"wpa2_personal": [{"ssid_name": "bandsteering_2", "appliedRadios": ["2G"], "security_key": "something"},
|
||||
{"ssid_name": "bandsteering_2", "appliedRadios": ["5G"], "security_key": "something"}]},
|
||||
"rf": {},
|
||||
"wpa2_personal": [
|
||||
{"ssid_name": "bandsteering_2",
|
||||
"appliedRadios": ["2G", "5G"],
|
||||
"security": "psk2",
|
||||
"security_key": "password@123",
|
||||
"roaming": True,
|
||||
"wifi-steering":
|
||||
{
|
||||
"mode": "local",
|
||||
"network": "upstream",
|
||||
"assoc-steering": True,
|
||||
"required-snr": -85,
|
||||
"required-probe-snr": -80,
|
||||
"required-roam-snr": -80,
|
||||
"load-kick-threshold": 90
|
||||
}
|
||||
}
|
||||
]},
|
||||
"rf": {
|
||||
"2G": {
|
||||
"band": "2G",
|
||||
"country": "CA",
|
||||
"channel-width": 80,
|
||||
"channel-mode": "HE"
|
||||
},
|
||||
"5G": {
|
||||
"band": "5G",
|
||||
"country": "CA",
|
||||
"channel-width": 80,
|
||||
"channel-mode": "HE"
|
||||
},
|
||||
"6G": {
|
||||
"band": "6G",
|
||||
"channel-mode": "HE"
|
||||
}
|
||||
},
|
||||
"radius": False
|
||||
}
|
||||
|
||||
@allure.feature("Band Steering")
|
||||
@allure.parent_suite("Band Steering Tests")
|
||||
@allure.suite(suite_name="BRIDGE Mode")
|
||||
@allure.sub_suite(sub_suite_name="General security mode Band Steering")
|
||||
@allure.suite(suite_name="WPA2 PERSONAL")
|
||||
@allure.sub_suite(sub_suite_name="Test Band Steering with WPA2 Personal")
|
||||
@pytest.mark.parametrize(
|
||||
'setup_configuration',
|
||||
[setup_params_general],
|
||||
@@ -42,7 +75,7 @@ class TestBandSteering(object):
|
||||
@allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-14518", name="JIRA LINK")
|
||||
def test_band_steering_wpa2_personal(self, get_test_library, get_target_object, check_connectivity,
|
||||
setup_configuration, client_type, get_testbed_details):
|
||||
""" wpa2 personal
|
||||
""" Validate steering and data path connectivity
|
||||
pytest -m "band_steering_tests and bridge and wpa2_personal"
|
||||
"""
|
||||
profile_data = {"ssid_name": "bandsteering_2", "appliedRadios": ["2G", "5G"]}
|
||||
@@ -52,39 +85,12 @@ class TestBandSteering(object):
|
||||
mode = "BRIDGE"
|
||||
band = "twog"
|
||||
num_sta = 1
|
||||
|
||||
#BandSteering Configuration
|
||||
test_file_dir = os.path.dirname(os.path.abspath(__file__))
|
||||
file_path = os.path.join(test_file_dir, 'bandsteer_config.json')
|
||||
with open(file_path, 'r') as file:
|
||||
json_string = file.read()
|
||||
config_data = json.loads(json_string)
|
||||
|
||||
device_name = get_testbed_details['device_under_tests'][0]['identifier']
|
||||
payload = {"configuration": json.dumps(config_data), "serialNumber": device_name, "UUID": 2}
|
||||
|
||||
path = "device/" + device_name + "/configure"
|
||||
uri = get_target_object.controller_library_object.build_uri(path)
|
||||
logging.info(f"uri::{uri}")
|
||||
resp = requests.post(uri, data=json.dumps(payload, indent=2),
|
||||
headers=get_target_object.controller_library_object.make_headers(), verify=False,
|
||||
timeout=120)
|
||||
|
||||
logging.info(f"response:,{resp}")
|
||||
if resp.status_code == 200:
|
||||
logging.info("BandSteering configuration applied successfully")
|
||||
allure.attach(name=f"Response for Configuration - {resp.status_code} {resp.reason}",
|
||||
body=str(resp.json()))
|
||||
else:
|
||||
allure.attach(name=f"Response for Configuration - {resp.status_code} {resp.reason}",
|
||||
body=f"TEST FAILED, Configuration is not applied successful {str(resp.json())}")
|
||||
|
||||
pass_fail, message = get_test_library.band_steering_test(ssid=ssid, passkey=security_key, security=security,
|
||||
mode=mode, band=band, pre_cleanup=False, num_sta=num_sta, scan_ssid=True,
|
||||
station_data=["ip", "alias", "mac", "channel", "port type", "security",
|
||||
"ap", "parent dev"],
|
||||
allure_attach=True, dut_data=setup_configuration,
|
||||
get_target_object=get_target_object, config_data=config_data)
|
||||
get_target_object=get_target_object, get_testbed_details=get_testbed_details)
|
||||
|
||||
if not pass_fail:
|
||||
pytest.fail(f"Test failed with the following reasons: \n{message}")
|
||||
Reference in New Issue
Block a user