Skip to content

Commit 4ff0ea2

Browse files
bhargavi-ctbhargavi-ct
andauthored
Client Connectivity Tests with WPA3-192 Enterprise (#1080)
* Add new testcases for wpa3-192 security Signed-off-by: bhargavi-ct <bhargavimamidipaka@candelatech.com> * Update wpa3-192 testcases in client connectivity Signed-off-by: bhargavi-ct <bhargavimamidipaka@candelatech.com> * Add wpa3-192 in encryption lookup in controller.py Signed-off-by: bhargavi-ct <bhargavimamidipaka@candelatech.com> * Add wpa3-192 enterprise testcases in sanity suite Signed-off-by: bhargavi-ct <bhargavimamidipaka@candelatech.com> * Add wpa3-192 testcases for NAT mode Signed-off-by: bhargavi-ct <bhargavimamidipaka@candelatech.com> * Update wpa3-192 NAT mode testcases Signed-off-by: bhargavi-ct <bhargavimamidipaka@candelatech.com> * Add wpa3-192 NAT mode testcases in sanity Signed-off-by: bhargavi-ct <bhargavimamidipaka@candelatech.com> * Add ow_regression_lf marker to wpa3-192 enterprise test cases Signed-off-by: bhargavi-ct <bhargavimamidipaka@candelatech.com> * Update sub_suite_name for wpa3-192 testcases Signed-off-by: bhargavi-ct <bhargavimamidipaka@candelatech.com> --------- Signed-off-by: bhargavi-ct <bhargavimamidipaka@candelatech.com> Co-authored-by: bhargavi-ct <bhargavimamidipaka@candelatech.com>
1 parent aeae2ca commit 4ff0ea2

4 files changed

Lines changed: 272 additions & 8 deletions

File tree

libs/tip_2x/controller.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2587,7 +2587,8 @@ def encryption_lookup(self, encryption="psk"):
25872587
"wpa2": "eap",
25882588
"wpa3": "eap",
25892589
"wpa-mixed": "eap",
2590-
"wpa3-mixed": "sae"
2590+
"wpa3-mixed": "sae",
2591+
"wpa3-192": "eap"
25912592
}
25922593
if encryption in encryption_mapping.keys():
25932594
return encryption_mapping[encryption]

tests/conftest.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ def get_security_flags():
250250
"""used to get the essential markers on security and band"""
251251
# Add more classifications as we go
252252
security = ["open", "wpa", "wep", "wpa2_personal", "wpa3_personal", "wpa3_personal_mixed",
253-
"wpa_wpa2_enterprise_mixed", "wpa2_eap", "wpa2_only_eap",
253+
"wpa_wpa2_enterprise_mixed", "wpa2_eap", "wpa2_only_eap", "wpa3_enterprise_192",
254254
"wpa_wpa2_personal_mixed", "wpa_enterprise", "wpa2_enterprise", "wpa3_enterprise_mixed",
255255
"wpa3_enterprise", "twog", "fiveg", "sixg", "fiveg_lower", "fiveg_upper", "radius", "owe", "owe_transition"]
256256
yield security

tests/e2e/basic/validation_of_operating_modes/bridge_mode/client_connectivity/test_enterprise_ttls.py

Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -344,4 +344,136 @@ def test_wpa3_enterprise_mixed_5g(self, get_test_library, get_dut_logs_per_test_
344344
identity=identity, num_sta=num_stations,
345345
dut_data=setup_configuration)
346346

347+
assert passes == "PASS", result
348+
349+
350+
351+
# Wpa3-192
352+
setup_params_enterprise= {
353+
"mode": "BRIDGE",
354+
"ssid_modes": {
355+
"wpa3_enterprise_192": [
356+
{"ssid_name": "OpenWifi_wpa3192_2g", "appliedRadios": ["2G"]},
357+
{"ssid_name": "OpenWifi_wpa3192_5g", "appliedRadios": ["5G"]},
358+
{"ssid_name": "OpenWifi_wpa3192_6g", "appliedRadios": ["6G"]}],
359+
},
360+
"rf": {
361+
"2G": {
362+
"band": "2G",
363+
"channel": 6,
364+
"channel-width": 20 }
365+
,
366+
"5G": {
367+
"band": "5G",
368+
"channel": 36,
369+
"channel-width": 80 }
370+
,
371+
"6G": {
372+
"band": "6G",
373+
"channel": 33,
374+
"channel-width": 320 }
375+
},
376+
"radius": True,
377+
}
378+
379+
@allure.parent_suite("Client Connectivity Tests")
380+
@allure.feature("Client Connectivity")
381+
@allure.suite(suite_name="BRIDGE Mode")
382+
@allure.sub_suite(sub_suite_name="WPA3-192 Enterprise Client Connectivity")
383+
@pytest.mark.parametrize(
384+
'setup_configuration',
385+
[setup_params_enterprise],
386+
indirect=True,
387+
scope="class"
388+
)
389+
@pytest.mark.ow_regression_lf
390+
@pytest.mark.usefixtures("setup_configuration")
391+
@pytest.mark.wpa3_enterprise_192
392+
class TestBridgeModeEnterpriseTTLSSuiteA(object):
393+
""" SuiteA Enterprise Test Cases
394+
pytest -m "client_connectivity_tests and bridge and enterprise and ttls and suiteA"
395+
"""
396+
@pytest.mark.sixg
397+
@pytest.mark.twog
398+
@allure.title("Test for wpa3-192 enterprise 6 GHz")
399+
def test_wpa3_192_enterprise_6g(self, get_test_library, get_dut_logs_per_test_case, get_test_device_logs,
400+
get_target_object, num_stations, setup_configuration, check_connectivity, radius_info):
401+
"""
402+
wpa3-192 enterprise 6g
403+
pytest -m "client_connectivity_tests and bridge and ttls and wpa3_enterprise_192 and sixg"
404+
"""
405+
profile_data = {"ssid_name": "OpenWifi_wpa3192_6g", "appliedRadios": ["6G"]}
406+
ssid_name = profile_data["ssid_name"]
407+
security = "wpa3"
408+
mode = "BRIDGE"
409+
band = "sixg"
410+
ttls_passwd = radius_info["password"]
411+
eap = "TTLS"
412+
identity = radius_info['user']
413+
key_mgmt = "WPA-EAP-SUITE-B-192"
414+
passes, result = get_test_library.enterprise_client_connectivity_test(ssid=ssid_name, security=security,
415+
mode=mode, band=band, eap=eap,
416+
ttls_passwd=ttls_passwd,
417+
identity=identity, num_sta=num_stations,
418+
dut_data=setup_configuration,
419+
ieee80211w=2, pairwise="GCMP-256",
420+
group="GCMP-256",
421+
key_mgmt=key_mgmt)
422+
423+
assert passes == "PASS", result
424+
425+
@pytest.mark.fiveg
426+
@allure.title("Test for wpa3-192 enterprise 5 GHz")
427+
def test_wpa3_192_enterprise_5g(self, get_test_library, get_dut_logs_per_test_case, get_test_device_logs,
428+
get_target_object, num_stations, setup_configuration, check_connectivity, radius_info):
429+
"""
430+
wpa3-192 enterprise 5g
431+
pytest -m "client_connectivity_tests and bridge and ttls and wpa3_enterprise_192 and fiveg"
432+
"""
433+
profile_data = {"ssid_name": "OpenWifi_wpa3192_5g", "appliedRadios": ["5G"]}
434+
ssid_name = profile_data["ssid_name"]
435+
security = "wpa3"
436+
mode = "BRIDGE"
437+
band = "fiveg"
438+
ttls_passwd = radius_info["password"]
439+
eap = "TTLS"
440+
identity = radius_info['user']
441+
key_mgmt = "WPA-EAP-SUITE-B-192"
442+
passes, result = get_test_library.enterprise_client_connectivity_test(ssid=ssid_name, security=security,
443+
mode=mode, band=band, eap=eap,
444+
ttls_passwd=ttls_passwd,
445+
identity=identity, num_sta=num_stations,
446+
dut_data=setup_configuration,
447+
ieee80211w=2, pairwise="GCMP-256",
448+
group="GCMP-256",
449+
key_mgmt=key_mgmt)
450+
451+
assert passes == "PASS", result
452+
453+
@pytest.mark.twog
454+
@allure.title("Test for wpa3-192 enterprise 2 GHz")
455+
def test_wpa3_192_enterprise_2g(self, get_test_library, get_dut_logs_per_test_case, get_test_device_logs,
456+
get_target_object, num_stations, setup_configuration, check_connectivity, radius_info):
457+
"""
458+
wpa3-192 enterprise 2g
459+
pytest -m "client_connectivity_tests and bridge and ttls and wpa3_enterprise_192 and twog and not sixg"
460+
"""
461+
profile_data = {"ssid_name": "OpenWifi_wpa3192_2g", "appliedRadios": ["2G"]}
462+
ssid_name = profile_data["ssid_name"]
463+
security = "wpa3"
464+
mode = "BRIDGE"
465+
band = "twog"
466+
ttls_passwd = radius_info["password"]
467+
eap = "TTLS"
468+
identity = radius_info['user']
469+
key_mgmt = "WPA-EAP-SUITE-B-192"
470+
passes, result = get_test_library.enterprise_client_connectivity_test(ssid=ssid_name, security=security,
471+
mode=mode, band=band, eap=eap,
472+
ttls_passwd=ttls_passwd,
473+
identity=identity, num_sta=num_stations,
474+
dut_data=setup_configuration,
475+
ieee80211w=2, pairwise="GCMP-256",
476+
group="GCMP-256",
477+
key_mgmt=key_mgmt)
478+
347479
assert passes == "PASS", result

tests/e2e/basic/validation_of_operating_modes/nat_mode/client_connectivity/test_enterprise_ttls.py

Lines changed: 137 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import pytest
99

1010
pytestmark = [pytest.mark.client_connectivity_tests, pytest.mark.nat, pytest.mark.enterprise, pytest.mark.ttls,
11-
pytest.mark.ucentral, pytest.mark.sanity, pytest.mark.uc_sanity, pytest.mark.ow_sanity_lf]
11+
pytest.mark.ucentral, pytest.mark.sanity, pytest.mark.uc_sanity]
1212

1313
setup_params_enterprise = {
1414
"mode": "NAT",
@@ -27,7 +27,7 @@
2727
"radius": True
2828
}
2929

30-
30+
@pytest.mark.ow_sanity_lf
3131
@allure.parent_suite("Client Connectivity Tests")
3232
@allure.feature("Client Connectivity")
3333
@allure.suite(suite_name="NAT Mode")
@@ -221,7 +221,7 @@ def test_wpa3_enterprise_5g(self, get_test_library, get_dut_logs_per_test_case,
221221
"radius": True
222222
}
223223

224-
224+
@pytest.mark.ow_sanity_lf
225225
@allure.parent_suite("Client Connectivity Tests")
226226
@allure.feature("Client Connectivity")
227227
@allure.suite(suite_name="NAT Mode")
@@ -233,7 +233,7 @@ def test_wpa3_enterprise_5g(self, get_test_library, get_dut_logs_per_test_case,
233233
scope="class"
234234
)
235235
@pytest.mark.usefixtures("setup_configuration")
236-
class TestNATModeEnterpriseTTLSSuiteTwo(object):
236+
class TestNATModeEnterpriseTTLSSuiteOne(object):
237237
""" SuiteA Enterprise Test Cases
238238
pytest -m "client_connectivity_tests and nat and enterprise and ttls and suiteB"
239239
"""
@@ -365,6 +365,7 @@ def test_wpa3_enterprise_mixed_5g(self, get_test_library, get_dut_logs_per_test_
365365
},
366366
"radius": True
367367
}
368+
@pytest.mark.ow_sanity_lf
368369
@allure.parent_suite("Client Connectivity Tests")
369370
@allure.feature("Client Connectivity")
370371
@allure.suite(suite_name="NAT Mode")
@@ -378,9 +379,9 @@ def test_wpa3_enterprise_mixed_5g(self, get_test_library, get_dut_logs_per_test_
378379
@pytest.mark.usefixtures("setup_configuration")
379380
@pytest.mark.wpa3_enterprise
380381
@pytest.mark.twog
381-
class TestNATModeEnterpriseTTLSSuiteC(object):
382+
class TestNATModeEnterpriseTTLSSuiteTwo(object):
382383
""" SuiteC Enterprise Test Cases
383-
pytest -m "client_connectivity_tests and nat and enterprise and ttls and suiteC"
384+
pytest -m "client_connectivity_tests and nat and enterprise and ttls and suiteB"
384385
"""
385386

386387
@pytest.mark.wpa3_enterprise
@@ -410,3 +411,133 @@ def test_wpa3_enterprise_6g(self, get_test_library, get_dut_logs_per_test_case,
410411
key_mgmt="WPA-EAP-SHA256")
411412

412413
assert passes == "PASS", result
414+
415+
# Wpa3-192
416+
setup_params_enterprise= {
417+
"mode": "NAT",
418+
"ssid_modes": {
419+
"wpa3_enterprise_192": [
420+
{"ssid_name": "OpenWifi_wpa3192_2g", "appliedRadios": ["2G"]},
421+
{"ssid_name": "OpenWifi_wpa3192_5g", "appliedRadios": ["5G"]},
422+
{"ssid_name": "OpenWifi_wpa3192_6g", "appliedRadios": ["6G"]}],
423+
},
424+
"rf": {
425+
"2G": {
426+
"band": "2G",
427+
"channel": 6,
428+
"channel-width": 20 }
429+
,
430+
"5G": {
431+
"band": "5G",
432+
"channel": 36,
433+
"channel-width": 80 }
434+
,
435+
"6G": {
436+
"band": "6G",
437+
"channel": 33,
438+
"channel-width": 320 }
439+
},
440+
"radius": True,
441+
}
442+
443+
@pytest.mark.ow_regression_lf
444+
@allure.parent_suite("Client Connectivity Tests")
445+
@allure.feature("Client Connectivity")
446+
@allure.suite(suite_name="NAT Mode")
447+
@allure.sub_suite(sub_suite_name="WPA3-192 Enterprise Client Connectivity")
448+
@pytest.mark.parametrize(
449+
'setup_configuration',
450+
[setup_params_enterprise],
451+
indirect=True,
452+
scope="class"
453+
)
454+
@pytest.mark.usefixtures("setup_configuration")
455+
@pytest.mark.wpa3_enterprise_192
456+
class TestNATModeEnterpriseTTLSSuiteC(object):
457+
""" SuiteA Enterprise Test Cases
458+
pytest -m "client_connectivity_tests and nat and enterprise and ttls and suiteA"
459+
"""
460+
@pytest.mark.sixg
461+
@pytest.mark.twog
462+
@allure.title("Test for wpa3-192 enterprise 6 GHz")
463+
def test_wpa3_192_enterprise_6g(self, get_test_library, get_dut_logs_per_test_case, get_test_device_logs,
464+
get_target_object, num_stations, setup_configuration, check_connectivity, radius_info):
465+
"""
466+
wpa3 enterprise 6g
467+
pytest -m "client_connectivity_tests and nat and ttls and wpa3_enterprise_192 and sixg"
468+
"""
469+
profile_data = {"ssid_name": "OpenWifi_wpa3192_6g", "appliedRadios": ["6G"]}
470+
ssid_name = profile_data["ssid_name"]
471+
security = "wpa3"
472+
mode = "NAT-WAN"
473+
band = "sixg"
474+
ttls_passwd = radius_info["password"]
475+
eap = "TTLS"
476+
identity = radius_info['user']
477+
key_mgmt = "WPA-EAP-SUITE-B-192"
478+
passes, result = get_test_library.enterprise_client_connectivity_test(ssid=ssid_name, security=security,
479+
mode=mode, band=band, eap=eap,
480+
ttls_passwd=ttls_passwd,
481+
identity=identity, num_sta=num_stations,
482+
dut_data=setup_configuration,
483+
ieee80211w=2, pairwise="GCMP-256",
484+
group="GCMP-256",
485+
key_mgmt=key_mgmt)
486+
487+
assert passes == "PASS", result
488+
489+
@pytest.mark.fiveg
490+
@allure.title("Test for wpa3-192 enterprise 5 GHz")
491+
def test_wpa3_192_enterprise_5g(self, get_test_library, get_dut_logs_per_test_case, get_test_device_logs,
492+
get_target_object, num_stations, setup_configuration, check_connectivity, radius_info):
493+
"""
494+
wpa3 enterprise 5g
495+
pytest -m "client_connectivity_tests and nat and ttls and wpa3_enterprise_192 and fiveg"
496+
"""
497+
profile_data = {"ssid_name": "OpenWifi_wpa3192_5g", "appliedRadios": ["5G"]}
498+
ssid_name = profile_data["ssid_name"]
499+
security = "wpa3"
500+
mode = "NAT-WAN"
501+
band = "fiveg"
502+
ttls_passwd = radius_info["password"]
503+
eap = "TTLS"
504+
identity = radius_info['user']
505+
key_mgmt = "WPA-EAP-SUITE-B-192"
506+
passes, result = get_test_library.enterprise_client_connectivity_test(ssid=ssid_name, security=security,
507+
mode=mode, band=band, eap=eap,
508+
ttls_passwd=ttls_passwd,
509+
identity=identity, num_sta=num_stations,
510+
dut_data=setup_configuration,
511+
ieee80211w=2, pairwise="GCMP-256",
512+
group="GCMP-256",
513+
key_mgmt=key_mgmt)
514+
515+
assert passes == "PASS", result
516+
517+
@pytest.mark.twog
518+
@allure.title("Test for wpa3-192 enterprise 2 GHz")
519+
def test_wpa3_192_enterprise_2g(self, get_test_library, get_dut_logs_per_test_case, get_test_device_logs,
520+
get_target_object, num_stations, setup_configuration, check_connectivity, radius_info):
521+
"""
522+
wpa3 enterprise 2g
523+
pytest -m "client_connectivity_tests and nat and ttls and wpa3_enterprise_192 and twog and not sixg"
524+
"""
525+
profile_data = {"ssid_name": "OpenWifi_wpa3192_2g", "appliedRadios": ["2G"]}
526+
ssid_name = profile_data["ssid_name"]
527+
security = "wpa3"
528+
mode = "NAT-WAN"
529+
band = "twog"
530+
ttls_passwd = radius_info["password"]
531+
eap = "TTLS"
532+
identity = radius_info['user']
533+
key_mgmt = "WPA-EAP-SUITE-B-192"
534+
passes, result = get_test_library.enterprise_client_connectivity_test(ssid=ssid_name, security=security,
535+
mode=mode, band=band, eap=eap,
536+
ttls_passwd=ttls_passwd,
537+
identity=identity, num_sta=num_stations,
538+
dut_data=setup_configuration,
539+
ieee80211w=2, pairwise="GCMP-256",
540+
group="GCMP-256",
541+
key_mgmt=key_mgmt)
542+
543+
assert passes == "PASS", result

0 commit comments

Comments
 (0)