mirror of
https://github.com/Telecominfraproject/wlan-testing.git
synced 2025-10-29 18:12:34 +00:00
* Added rate-limiting in both android_test and ios_test
* Removed ow_sanity_lf marker
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added ow_sanity_lf marker
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Removed ow_sanity_lf marker
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Removed ow_sanity_lf marker
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added ow_sanity_lf marker
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added missing methods
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Modified as per new framework
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added ow_sanity_lf marker for channel 11
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added rate-limiting test_cases
* added ow_sanity_lf marker to multipsk & multivlan tests
* Added allure_testcase-links for client_connect in validation_of_operating_modes(bridge,nat,vlan)
* Added ow_sanity_lf marker
* Removed unwanted ow_sanity_lf marker
* allure suite and titles changed for mpsk & mvlan tests
Signed-off-by: anil-tegala <anil.tegala@candelatech.com>
* Added rate_limiting test_cases with jira links in validation_of_operating_mode(bridge,nat,vlan)
* Added rate_radius_info and rate_radius_accounting_info
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Modified code for two test cases as per new infra
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Addded radius_auth_data radius_acc_data
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added radius_auth_data and radius_acc_data for rate limiting with radius test cases
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added basic-07
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Converted num station in int
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Removed unnecessary interop testbed details from lab_info
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added Enterprise cleint connect and client connectivity tests in Android
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added Enterprise cleint connect and client connectivity tests in iOS
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added new sanity marker for Interop testcases
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added Enterprise mode client connect test cases in Interop
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added random string addition in Interop testcases for setup profiles ssids
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added random string addition in Interop testcases for setup profiles ssids
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* changed WAN upstream port for interop testbeds
* Added the logic for retest the ucentral connectivity if it is disconnected
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* Added NAT-WAN
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* gw - get commands api fix
* Removed sanity marker on vlan testcases
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* FIxed issue in DFS
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Changed allure report name for Enterprise mode
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added Pytest exit in case of error when testbed data is not available
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* Fixed the string concat from previous commit
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* Added check_connectivity fixture on every client_connectivity and dfs test case
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* Made some bug fixes on testcases
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Changed profile data in testcases to match setup params
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added new fix in manual pytest execution workflow as per master
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added new fix in sanity workflow as per master
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Changed ssid names in setup params of general test cases
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added Enterprise mode library support for wifi connect
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Removed Interop sanity marker from test connectivity file
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* commented newly added methods for test connectivity
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* commented traffic_generator_connectivity
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* changed as new infra
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Removed interop_uc_sanity
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Removed marker description
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added needed step for S20,S10 for forget ssid
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Fixed the ap libs command for ucentral restart
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* Added test controller connectivity
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* Changed markers as per pytest.ini
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Refractored dvlan
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
* Added eth table and max station table in allure for test_traffic_generator_connectivity
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* changed scope of Interop testcase name fixture
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added the fix for rate limiting test with vlans. Added Access Point connectivity Tests
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* Changed scope of get test lib fixture
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Changed markers
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added run-lf condition in check_connectivity
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added test case in the library function of setup_perfecto mobile data
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Removed interop testcase name fixture
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added new fail msg for Interop tests for better debugging
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added fix for testcase name in setup perfecto data
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added check_connectivity
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added ow_sanity_lf marker
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Refractored DVLAN
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
* Added lab_info.json back due to unexpected deletion
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
* Added skip-all work with all test cases and removed the broken test cases
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* Renoved the unwanted print for getting marker
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* Provided vlan id in list
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added proper feature and parent suite
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* [WIFI-11228] Add: manual workflow step with details on namespace (#727)
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* fixed incorrect security parameter in MVLAN test functions
Signed-off-by: anil-tegala <anil.tegala@candelatech.com>
* Added Comments on the Library Functions for Proper Understanding
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added 6G RADIO Config data
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* Removed the sync_repos.bash as it is not needed now
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* Added proper suite, subsuite, parent suite, feature, title
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Changed method name wifi_capacity to rate_limiting_test
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Refactored dvlan in wpa3_eap
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
* old mvlan test files removed
Signed-off-by: anil-tegala <anil.tegala@candelatech.com>
* marker name corrections in SDK API tests
Signed-off-by: anil-tegala <anil.tegala@candelatech.com>
* descritpion and marker changes in mvlan tests
Signed-off-by: anil-tegala <anil.tegala@candelatech.com>
* Added suite,sub_suite,parent,feature for IN,RU,SG
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
* Modified as per new freamework and enhanced allure and changed file name to dynamic qos
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Changed country from CA to US
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added 6g in get_applied_ssid_info method
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Changed manager ip to localhost
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added FMS Tests
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* added basic-08 & advance-01 info for tunneling
Signed-off-by: anil-tegala <anil.tegala@candelatech.com>
* Added improvements around pass and fail for ap connectivity and added basic lab_info format
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* Added proper feature, parent suite, suite, sub_suite and title
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added Toggle-Wifi Button Functionality for both android and ios tests file
Signed-off-by: tarun-candela <tarunkumar.madabathula@candelatech.com>
* Added toggle_wifi_mode test-cases for bridge,nat,vlan modes
Signed-off-by: tarun-candela <tarunkumar.madabathula@candelatech.com>
* Added fix for 2.4g based bssid band data
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* rempved rate_limiting_tests marker
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Refractored channel vs country code
* Corrected setup_basic_configuration
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
* Added reports dir creation logic
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* vlan id's passed to test functions in mvlan
Signed-off-by: anil-tegala <anil.tegala@candelatech.com>
* removed security_key from open test case
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Fixed scan ssid issue in vlan
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Fixed scan ssid issue and wrong security issue
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* changed vlan id for test_disable_vlan_wpa2_2g test case
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Changed dataplane_throughput_test marker to dataplane_tests
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Changed password for controller
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* updated controller credentials in lab-info & tunnel_bash
Signed-off-by: anil-tegala <anil.tegala@candelatech.com>
* Fixed TypeError: can only concatenate str (not dict) to str issue
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Changed parent_suite from OpenWifi Dynamic Vlan Test to Dynamic Vlan Test
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Fix: resolved Pixel 4 scroll down issue, by modifying scrollDown() in android_libs.py
Signed-off-by: tarun-candela <tarunkumar.madabathula@candelatech.com>
* reverted old password in controller info
Signed-off-by: anil-tegala <anil.tegala@candelatech.com>
* IP validation issue in DVLAN
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
* Removed traffic_generator_connectivity test case and Modification for allure enhancement
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Changed parent suite and suite
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Renamed dynamic_qos_tests to rate_limiting_with_radius_tests
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Changed parent suite to Throughput Benchmark Test
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added missing key_mgmt for wp3
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* key_mgmt issue in DVLAN-wpa3e
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
* Added security markers
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* [WIFI-11619] Upd: Docker instructions update (#739)
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* DVLAN admin_up issue
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
* Added pk_passwd and num_stations
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added num_stations
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added num_stations, execution_number and In tls added pk_passwd argument
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added max stations
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added client_scale_tests
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added 6GHz test cases
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added new test channels
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
* Added execution_number in parametrize
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* added new marker for general security mode testcases in Interop
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Changed one ssid with internet variable logic for Interop android
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added proper feature, parent_suite, suite, sub_suite, title in allure report for client_scale_test and dataplane_throughput_test
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Changed the teardown logic in android tests
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added global devicemodel in teardown function of Android
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added return statement for IP address
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added return statement for IP address
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Changed ip addr of rate limiting radius server to 10.28.3.100
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Changed ingress-rate to 10 and egress-rate to 5
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added pre-cleanup for deleting existing stations
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* [WIFI-11619] Fix: Docker example command
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* Changed RATE LIMITING RADIUS SERVER ip to 10.28.3.100
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added wpa personal and open bridge test cases for client scale test
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added Toggle Airplane Mode
* Added toggle airplane mode test-cases (NAT, VLAN)
Signed-off-by: karthikeyan <karthikeyan.thirumurthy@candelatech.com>
* Added toggle airplane mode functionality in perfecto library
Signed-off-by: karthikeyan <karthikeyan.thirumurthy@candelatech.com>
* Changed teardown func placement in android tests to accomodate perfecto report
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Refactored client-isolation test-cases
Signed-off-by: tarun-candela <tarunkumar.madabathula@candelatech.com>
* refactored multi-station performance test-cases
Signed-off-by: tarun-candela <tarunkumar.madabathula@candelatech.com>
* Added logic to setup_configuration_data() to support for multi-band combinations
Signed-off-by: tarun-candela <tarunkumar.madabathula@candelatech.com>
* allure attachments for client-isolation test_cases
Signed-off-by: tarun-candela <tarunkumar.madabathula@candelatech.com>
* [WIFI-11619] Fix: workflow dependencies
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* [WIFI-11619] Dbg: runtime user
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* [WIFI-11619] Chg: set files permissions
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* [WIFI-11619] Dbg: add step for status
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* Adjusted parameters in rate limiting for perfecto interop
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* [WIFI-11619] Add: git commit the changes
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* [WIFI-11619] Add: git commit the changes
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* [WIFI-11619] Add: git commit the changes
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* [WIFI-11619] Add: git commit the changes
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* [WIFI-11619] Add: git commit the changes
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* [WIFI-11619] Chg: GitHub Pages dir
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* [WIFI-11619] Chg: GitHub Pages dir
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* Added extra parameters in rate limiting test to accomodate lanforge testcases in Perfecto Interop
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* [WIFI-11619] Add: README note
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* Rectified ssid parameter in Perfecto Interop
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Changed ssid to ssid_name in Interop rate limiting testcases
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Removed execution number logic (NAT-LAN logic) for NAT mode ttls test cases
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Refactored multi-asso-disasso
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
* Revert "Added logic to setup_configuration_data() to support for multi-band combinations"
This reverts commit cef8a23315.
* Added try and except logic in push_config
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Fixed Config sent from Gateway is Received by AP, But not Applied by AP issue and added AP logs during config fails
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Removed resp is None logic
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added Interop sanity marker in connectivity tests
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Updated nat mode & create_vlan parameter for Multi Station Performance test-cases
Signed-off-by: tarun-candela <tarunkumar.madabathula@candelatech.com>
* Added title, suite for multi-asso-disasso
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
* Added table results for multi-station-performance test-cases
Signed-off-by: tarun-candela <tarunkumar.madabathula@candelatech.com>
* Updated Readme file in wlan-testing
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* Added check_connectivity arg
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
* Added title,suite for VLAN-multi-asso-disasso
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
* Refactored rx_sens from rx_sensitivity test to TR-398 Issue 2
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
* Resolved conflicts in Lab_info.json
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added Open Passpoint required data in Configuration.py
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added Open roaming configuration Fixture
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added Open Roaming support code in Controller libs and tip_2x
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added sample testcase of open roaming for checking
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added Comments in Open roaming testcase
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Modified upload_rate for wifi_capacity
Signed-off-by: tarun-candela <tarunkumar.madabathula@candelatech.com>
* Removed unnecessary Passpoint data
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Removed unnecessary Passpoint data in configuration.py
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Adding new Jira links and Descriptions
Signed-off-by: Rajendra <rajendra.pappu@candelatech.com>
* added passpoint info to tunnel bash
Signed-off-by: anil-tegala <anil.tegala@candelatech.com>
* created 5g tests for rxsens
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
* Modified multi station performance udp_download test-cases for test result table
Signed-off-by: tarun-candela <tarunkumar.madabathula@candelatech.com>
* Deleted wifi_capacity_test
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added or removed performance marker for performance suite
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Enhanced allure report for sanity
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added sanity test plans and markers
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Removed unnecessary marker
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added Interop Testplan markers in testplan.md file
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Removed emoji's from testplan file
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added emoji's from testplan file
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added some formatting in texts in testplan file
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Removed some formatting in texts in testplan file
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added some formatting in texts in testplan file
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added jira links, description and markers for new sanity testcases
Signed-off-by: anil-tegala <anil.tegala@candelatech.com>
* Added markers and description for some more of sanity suite testcases
Signed-off-by: Jyothsna-setti <jyothsna.polamarasetty@candelatech.com>
* Added test plans md file in readme.md file
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added test plans md file in readme.md file
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Changed marker expressions in Testplans.md file
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Removed wrong duplicate parent_suite
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added test description
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Removed unwanted marker and Added test description
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Removed duplicate function name
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Modified parent suite
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Modified parent suite and feature name
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* modified mode of udaya AP from wifi6 to wifi5
Signed-off-by: anil-tegala <anil.tegala@candelatech.com>
* Logging response info for configuration push
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
Signed-off-by: anil-tegala <anil.tegala@candelatech.com>
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
Signed-off-by: shivam <shivam.thakur@candelatech.com>
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
Signed-off-by: tarun-candela <tarunkumar.madabathula@candelatech.com>
Signed-off-by: karthikeyan <karthikeyan.thirumurthy@candelatech.com>
Signed-off-by: Rajendra <rajendra.pappu@candelatech.com>
Signed-off-by: Jyothsna-setti <jyothsna.polamarasetty@candelatech.com>
Co-authored-by: tarun-candela <tarunkumar.madabathula@candelatech.com>
Co-authored-by: anil-tegala <anil.tegala@candelatech.com>
Co-authored-by: haricharan-jaka <haricharan.jaka@candelatech.com>
Co-authored-by: shivam <shivam.thakur@candelatech.com>
Co-authored-by: karthikaeyetea <karthika.subramani@candelatech.com>
Co-authored-by: Dmitry Dunaev <83591011+dunaev-opsfleet@users.noreply.github.com>
Co-authored-by: Dmitry Dunaev <dmitry@opsfleet.com>
Co-authored-by: karthikeyan <karthikeyan.thirumurthy@candelatech.com>
Co-authored-by: Rajendra <rajendra.pappu@candelatech.com>
Co-authored-by: Jyothsna-setti <jyothsna.polamarasetty@candelatech.com>
604 lines
30 KiB
Python
604 lines
30 KiB
Python
"""
|
|
This class consists of functions which checks the schema of the configuration for lab
|
|
Whether the schema contains all the necessary key-value pairs or not
|
|
If not it will inform the required key-value pair
|
|
End of the program called every function that checks all the schema data
|
|
"""
|
|
import logging
|
|
import re
|
|
|
|
|
|
class SchemaCheck:
|
|
"""
|
|
Global variables are declared for easy modification and checks of some data
|
|
"""
|
|
global target_var, dut_keys, tg_keys, testbed_name
|
|
target_var = "dut_lib_template"
|
|
testbed_name = 'basic'
|
|
|
|
def __init__(self, configuration=None):
|
|
logging.basicConfig(format='%(asctime)s - %(message)s', level=logging.INFO)
|
|
self.configuration = configuration
|
|
self.testbed_list = None
|
|
self.len_testbed_list = None
|
|
self.key_check_arr = ['target', 'controller', 'device_under_tests', 'traffic_generator']
|
|
|
|
def set_data(self):
|
|
"""
|
|
This Function sets the value of how many testbeds are there in the schema input file and stores the number of it
|
|
"""
|
|
testbed_list = []
|
|
for key in self.configuration:
|
|
print(key)
|
|
testbed_list.append(key)
|
|
print(testbed_list)
|
|
self.testbed_list = testbed_list
|
|
self.len_testbed_list = len(testbed_list)
|
|
|
|
def key_check(self):
|
|
"""
|
|
This fun checks the keys of the testbeds present in schema such as target, controller, DUT, traffic generator
|
|
"""
|
|
arr = []
|
|
for a in range(self.len_testbed_list):
|
|
for key in self.configuration[self.testbed_list[a]]:
|
|
print(key)
|
|
arr.append(key)
|
|
print(arr)
|
|
if arr == self.key_check_arr:
|
|
arr.clear()
|
|
print("All keys are present in the schema for Testbed")
|
|
logging.info("All keys are present in the schema for Testbed")
|
|
else:
|
|
arr.clear()
|
|
logging.error("Not all the keys required present in schema for Testbed")
|
|
|
|
def target_check(self):
|
|
"""
|
|
This function checks the global target we have declared is matching in the schema or not
|
|
"""
|
|
global target_var
|
|
for a in range(self.len_testbed_list):
|
|
if self.configuration[self.testbed_list[a]]['target'] == target_var:
|
|
logging.info("Target is matching")
|
|
else:
|
|
logging.error("Target variable is not matching")
|
|
|
|
def controller_check(self):
|
|
"""
|
|
This func checks the keys of Controller such as Url, Username and password
|
|
"""
|
|
arr = ['url', 'username', 'password']
|
|
lis = []
|
|
for a in range(self.len_testbed_list):
|
|
for key in self.configuration[self.testbed_list[a]]['controller']:
|
|
lis.append(key)
|
|
print(self.testbed_list[a], "->", lis)
|
|
if lis == arr:
|
|
lis.clear()
|
|
print("All keys are present in the Controller data of schema")
|
|
logging.info("All keys are present in the Controller data of schema")
|
|
else:
|
|
lis.clear()
|
|
logging.error("Not all the Controller keys required present in schema")
|
|
|
|
def dut_keys_check(self):
|
|
"""
|
|
This func checks DUT keys if every key is present in the schema or not
|
|
"""
|
|
global dut_keys
|
|
arr, arr2, arr3 = [], [], []
|
|
dut_keys = ['model', 'supported_bands', 'supported_modes', 'wan_port', 'lan_port', 'ssid', 'mode', 'identifier',
|
|
'method', 'host_ip', 'host_username', 'host_password', 'host_ssh_port', 'serial_tty',
|
|
'firmware_version']
|
|
for a in range(self.len_testbed_list):
|
|
for b in range(len(self.configuration[self.testbed_list[a]]['device_under_tests'])):
|
|
for key in self.configuration[self.testbed_list[a]]['device_under_tests'][b]:
|
|
arr.append(key)
|
|
arr2 = list(set(dut_keys) - set(arr))
|
|
arr3.append(arr2)
|
|
# print(arr3)
|
|
arr.clear()
|
|
for a in range(len(arr3)):
|
|
if len(arr3[a]) == 0:
|
|
logging.info("All keys of DUT are present")
|
|
self.dut_values_check()
|
|
elif len(arr3[a]) == 1:
|
|
if arr3[a][0] == 'ssid':
|
|
logging.warning("Ssid key is not present" + str(self.testbed_list[a]) + "->" + str(arr3[a]))
|
|
self.dut_values_check()
|
|
else:
|
|
logging.error(
|
|
"Required keys of DUT are not present, Please include those" + str(self.testbed_list[a])
|
|
+ "->" + str(arr3[a]))
|
|
else:
|
|
logging.error(
|
|
"Not all Keys of DUT required are present" + str(self.testbed_list[a]) + "->" + str(arr3[a]))
|
|
|
|
def dut_values_check(self):
|
|
"""
|
|
This func checks whether all the values of DUT Keys are valid or not. Use it after dut_keys_check()
|
|
"""
|
|
global dut_keys
|
|
print("DUT Key->value Check")
|
|
for a in range(self.len_testbed_list):
|
|
for b in range(len(self.configuration[self.testbed_list[a]]['device_under_tests'])):
|
|
for key, value in self.configuration[self.testbed_list[a]]['device_under_tests'][b].items():
|
|
# print(key, value)
|
|
# print(type(value))
|
|
if key == 'model':
|
|
if type(value) == str:
|
|
logging.info("Model key->values are present and eligible")
|
|
else:
|
|
logging.error(
|
|
"Model key->values which are present are not eligible" + str(key) + "->" + str(value))
|
|
elif key == 'supported_bands':
|
|
if type(value) == list:
|
|
logging.info("Supported bands key->values are present and eligible")
|
|
else:
|
|
logging.error(
|
|
"Supported bands key->values which are present are not eligible" + str(key) + "->" +
|
|
str(value))
|
|
elif key == 'supported_modes':
|
|
if type(value) == list:
|
|
logging.info("Supported modes key->values are present and eligible")
|
|
else:
|
|
logging.error(
|
|
"Supported modes key->values which are present are not eligible" + str(key) + "->" +
|
|
str(value))
|
|
elif key == 'wan_port':
|
|
if type(value) == str:
|
|
x = re.search("\d.\d.", value)
|
|
if x is not None:
|
|
logging.info("Wan port key->values are present and eligible")
|
|
else:
|
|
logging.error(
|
|
"Wan port key->values which are present are not eligible" + str(key) + "->" +
|
|
str(value))
|
|
elif key == 'lan_port':
|
|
if value is None or type(value) == str:
|
|
if type(value) == str:
|
|
x = re.search("\d.\d.", value)
|
|
if x is not None:
|
|
logging.info("Lan port key->values are present and eligible")
|
|
else:
|
|
logging.error("Lan port key->values are present and not eligible")
|
|
else:
|
|
logging.info("Lan port is null or None")
|
|
else:
|
|
logging.error("Lan port key->values which are present are not eligible" + str(key) + "->" +
|
|
str(value))
|
|
elif key == 'ssid':
|
|
if type(value) == dict:
|
|
self.ssid_data_check()
|
|
logging.info("Ssid key->values are present and eligible")
|
|
else:
|
|
logging.error("Ssid key->values which are present are not eligible" + str(key) + "->" +
|
|
str(value))
|
|
elif key == 'mode':
|
|
if type(value) == str:
|
|
logging.info("Mode key->values are present and eligible")
|
|
else:
|
|
logging.error("Mode key->values which are present are not eligible" + str(key) + "->" +
|
|
str(value))
|
|
elif key == 'identifier':
|
|
if type(value) == str and type(value) is not None:
|
|
logging.info("Identifier key->values are present and eligible")
|
|
else:
|
|
logging.error(
|
|
"Identifier key->values which are present are not eligible" + str(key) + "->" +
|
|
str(value))
|
|
elif key == 'method':
|
|
if type(value) == str and (value == 'serial' or value == 'ssh' or value == 'telnet'):
|
|
logging.info("Method key->values are present and eligible")
|
|
else:
|
|
logging.error("Method key->values which are present are not eligible" + str(key) + "->" +
|
|
str(value))
|
|
elif key == 'host_ip':
|
|
if type(value) == str:
|
|
logging.info("Host IP key->values are present and eligible")
|
|
else:
|
|
logging.error("Host IP key->values which are present are not eligible" + str(key) + "->" +
|
|
str(value))
|
|
elif key == 'host_username':
|
|
if type(value) == str:
|
|
logging.info("Host Username key->values are present and eligible")
|
|
else:
|
|
logging.error(
|
|
"Host Username key->values which are present are not eligible" + str(key) + "->" +
|
|
str(value))
|
|
elif key == 'host_password':
|
|
if type(value) == str:
|
|
logging.info("Host Password key->values are present and eligible")
|
|
else:
|
|
logging.error(
|
|
"Host Password key->values which are present are not eligible" + str(key) + "->" +
|
|
str(value))
|
|
elif key == 'host_ssh_port':
|
|
if type(value) == int:
|
|
logging.info("Host ssh Port key->values are present and eligible")
|
|
else:
|
|
logging.error(
|
|
"Host ssh Port key->values which are present are not eligible" + str(key) + "->" +
|
|
str(value))
|
|
elif key == 'serial_tty':
|
|
if type(value) == str:
|
|
logging.info("Serial tty key->values are present and eligible")
|
|
else:
|
|
logging.error(
|
|
"Serial tty key->values which are present are not eligible" + str(key) + "->" +
|
|
str(value))
|
|
elif key == 'firmware_version':
|
|
if type(value) == str:
|
|
logging.info("Firmware version key->values are present and eligible")
|
|
else:
|
|
logging.error(
|
|
"Firmware version key->values which are present are not eligible" + str(key) + "->" +
|
|
str(value))
|
|
|
|
def traffic_generator_keys_check(self):
|
|
"""
|
|
THis Func checks the Traffic generator keys are present in the schema or not. It should be called after
|
|
dut_values_check()
|
|
"""
|
|
global tg_keys
|
|
tg_keys = ['name', 'testbed', 'scenario', 'details']
|
|
lis = []
|
|
for count in range(self.len_testbed_list):
|
|
for key in self.configuration[self.testbed_list[count]]['traffic_generator']:
|
|
lis.append(key)
|
|
print(self.testbed_list[count], "->", lis)
|
|
if lis == tg_keys:
|
|
lis.clear()
|
|
print("All keys are present in the Traffic generator data of schema")
|
|
logging.info("All keys are present in the Traffic generator data of schema")
|
|
self.traffic_generator_values_check(count)
|
|
else:
|
|
lis.clear()
|
|
logging.error("Not all the Traffic generator keys required are present in schema")
|
|
|
|
def ssid_data_check(self):
|
|
"""
|
|
This func has to check the Ssid data check in DUT values if SSid key is present in it
|
|
"""
|
|
pass
|
|
|
|
def traffic_generator_values_check(self, count):
|
|
"""
|
|
This func validates the traffic generator values and is called from traffic_generator_keys_check() after
|
|
keys are checked
|
|
"""
|
|
global testbed_name
|
|
logging.info("Traffic generator Key->value check")
|
|
for key, value in self.configuration[self.testbed_list[count]]['traffic_generator'].items():
|
|
if key == 'name':
|
|
if type(value) == str:
|
|
logging.info("Name key->value are present and Eligible")
|
|
else:
|
|
logging.error("Name key->values which are present are not eligible" + str(key) + "->" +
|
|
str(value))
|
|
elif key == 'testbed':
|
|
if type(value) == str and value == testbed_name:
|
|
logging.info("Testbed key->value are present and Eligible")
|
|
else:
|
|
logging.error("Testbed key->values which are present are not eligible" + str(key) + "->" +
|
|
str(value))
|
|
elif key == 'scenario':
|
|
if type(value) == str and (value == 'dhcp-bridge' or value == 'dhcp-external'):
|
|
logging.info("Scenario key->value are present and Eligible")
|
|
else:
|
|
logging.error("Scenario key->values which are present are not eligible" + str(key) + "->" +
|
|
str(value))
|
|
elif key == 'details':
|
|
if type(value) == dict:
|
|
self.tg_details_data_keys_check(count)
|
|
logging.info("Details key->value are present and Eligible")
|
|
else:
|
|
logging.error("Details key->values which are present are not eligible" + str(key) + "->" +
|
|
str(value))
|
|
|
|
def tg_details_data_keys_check(self, count):
|
|
"""
|
|
This Func checks the Details data keys of Traffic generator and is called in traffic_generator_values_check()
|
|
after details key is validated there for further validation of details dict
|
|
"""
|
|
global tg_details_keys
|
|
tg_details_keys = ['manager_ip', 'http_port', 'ssh_port', 'setup', 'wan_ports', 'lan_ports', 'uplink_nat_ports']
|
|
lis = []
|
|
for key in self.configuration[self.testbed_list[count]]['traffic_generator']['details']:
|
|
lis.append(key)
|
|
print(self.testbed_list[count], "->", lis)
|
|
if lis == tg_details_keys:
|
|
lis.clear()
|
|
print("All keys are present in the Traffic generator Details data of schema")
|
|
logging.info("All keys are present in the Traffic generator Details data of schema")
|
|
self.tg_details_values_check(count)
|
|
else:
|
|
lis.clear()
|
|
logging.error("Not all the Traffic generator Details keys required are present in schema")
|
|
|
|
def tg_details_values_check(self, count):
|
|
"""
|
|
This Func validates the Details data Values of Traffic generator and is called in tg_details_data_keys_check()
|
|
after details keys are validated
|
|
"""
|
|
logging.info("Traffic generator Key->value check")
|
|
for key, value in self.configuration[self.testbed_list[count]]['traffic_generator']['details'].items():
|
|
if key == 'manager_ip':
|
|
if type(value) == str:
|
|
logging.info("Manager ip key->value are present and Eligible")
|
|
else:
|
|
logging.error("Manager ip key->values which are present are not eligible" + str(key) + "->" +
|
|
str(value))
|
|
elif key == 'http_port':
|
|
if type(value) == int:
|
|
logging.info("Http port key->value are present and Eligible")
|
|
else:
|
|
logging.error("Http port key->values which are present are not eligible" + str(key) + "->" +
|
|
str(value))
|
|
elif key == 'ssh_port':
|
|
if type(value) == int:
|
|
logging.info("Ssh port key->value are present and Eligible")
|
|
else:
|
|
logging.error("Ssh port key->values which are present are not eligible" + str(key) + "->" +
|
|
str(value))
|
|
elif key == 'setup':
|
|
if type(value) == dict:
|
|
key2 = self.configuration[self.testbed_list[count]]['traffic_generator']['details']['setup']
|
|
value2 = self.configuration[self.testbed_list[count]]['traffic_generator']['details']['setup'][
|
|
'method']
|
|
if key2 == 'method':
|
|
if type(value2) == str:
|
|
if value2 == 'build':
|
|
logging.info("Method - Build key->value are present and Eligible")
|
|
elif value2 == 'load':
|
|
if key2['DB'] == str:
|
|
logging.info("Method - Load key->value are present and Eligible")
|
|
else:
|
|
logging.error("Method key->values which are present are not eligible" + str(key) +
|
|
"->" +
|
|
str(value))
|
|
logging.info("Setup key->value are present and Eligible")
|
|
else:
|
|
logging.error("Setup key->values which are present are not eligible" + str(key) + "->" +
|
|
str(value))
|
|
elif key == 'wan_ports':
|
|
if type(value) == dict:
|
|
self.tg_ports_data_keys_check(key, count)
|
|
else:
|
|
logging.error("Wan Ports data is not eligible")
|
|
elif key == 'lan_ports':
|
|
if type(value) == dict:
|
|
# self.tg_ports_data_keys_check(key, count)
|
|
pass
|
|
else:
|
|
logging.error("Lan Ports data is not eligible")
|
|
elif key == 'uplink_nat_ports':
|
|
if type(value) == dict:
|
|
self.tg_ports_data_keys_check(key, count)
|
|
else:
|
|
logging.error("Uplink nat Ports data is not eligible")
|
|
|
|
def tg_ports_data_keys_check(self, key, count):
|
|
"""
|
|
This Func validates the Ports data Values of Traffic generator and is called in tg_details_values_check()
|
|
after details values are validated. It will check for patterns like 1.1.eth2
|
|
"""
|
|
ports = self.configuration[self.testbed_list[count]]['traffic_generator']['details'][key]
|
|
print("Data of ---------------", key)
|
|
print(ports)
|
|
for key1, value1 in ports.items():
|
|
if type(key1) == str and type(value1) == dict:
|
|
x = re.search("\d.\d.", key1)
|
|
if x is not None:
|
|
logging.info("Key of" + str(key) + "->" + str(key1) + "is eligible")
|
|
self.tg_ports_addressing_check(value1)
|
|
else:
|
|
logging.error("Key of" + str(key) + "->" + str(key1) + "is not eligible")
|
|
else:
|
|
logging.error("Key of" + str(key) + "->" + str(key1) + "is not eligible and is not a string")
|
|
|
|
@staticmethod
|
|
def tg_ports_addressing_check(value):
|
|
"""
|
|
This function checks the addressing data if values present has ip address pattern or not. It is called in
|
|
tg_ports_data_keys_check()
|
|
"""
|
|
print("Value--------------")
|
|
print(value)
|
|
if value['addressing'] == 'static':
|
|
for key, value2 in value.items():
|
|
if key == 'ip':
|
|
value2 = re.match("^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$", value2)
|
|
if value2 is not None:
|
|
logging.info("Ip is present and eligible in ports")
|
|
elif key == 'gateway_ip':
|
|
value2 = re.match("^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\/\d*$", value2)
|
|
if value2 is not None:
|
|
logging.info("Gateway Ip is present and eligible in ports")
|
|
elif key == 'ip_mask':
|
|
value2 = re.match("^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$", value2)
|
|
if value2 is not None:
|
|
logging.info("Ip Mask is present and eligible in ports")
|
|
elif key == 'dns_servers' and type(value2) == str:
|
|
logging.info("DNS server is present and eligible in ports")
|
|
elif key == 'addressing':
|
|
logging.info("Skipping Addressing ,As it is already verified")
|
|
else:
|
|
logging.error("Please look into the Ports data")
|
|
elif value['addressing'] == 'dynamic':
|
|
pass
|
|
elif value['addressing'] == 'dhcp-server':
|
|
for key, value2 in value.items():
|
|
if key == 'ip':
|
|
value2 = re.match("^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$", value2)
|
|
if value2 is not None:
|
|
logging.info("Ip is present and eligible in ports")
|
|
elif key == 'gateway_ip':
|
|
value2 = re.match("^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\/\d*$", value2)
|
|
if value2 is not None:
|
|
logging.info("Gateway Ip is present and eligible in ports")
|
|
elif key == 'ip_mask':
|
|
value2 = re.match("^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$", value2)
|
|
if value2 is not None:
|
|
logging.info("Ip Mask is present and eligible in ports")
|
|
elif key == 'dns_servers' and type(value2) == str:
|
|
logging.info("DNS server is present and eligible in ports")
|
|
elif key == 'addressing':
|
|
logging.info("Skipping Addressing ,As it is already verified")
|
|
else:
|
|
logging.error("Please look into the Ports data")
|
|
|
|
|
|
if __name__ == '__main__':
|
|
var = {
|
|
"CONFIGURATION": {
|
|
'basic-06': {
|
|
'target': 'dut_lib_template',
|
|
'controller': {
|
|
'url': 'https://sec-qa01.cicd.lab.wlan.tip.build:16001',
|
|
'username': 'tip@ucentral.com',
|
|
'password': 'OpenWifi%123'
|
|
},
|
|
'device_under_tests': [{
|
|
'model': 'edgecore_eap102', # Will be string
|
|
'supported_bands': ['2G', '5G'], # ['2G', '5G', '6G']
|
|
'supported_modes': ['BRIDGE', 'NAT', 'VLAN'], # Will remain same
|
|
'wan_port': '1.1.eth2', # Has to be
|
|
'lan_port': '1.1.eth2', # Has to be null or none
|
|
'ssid': { # Has to be seperate func
|
|
'2g-ssid': 'OpenWifi',
|
|
'5g-ssid': 'OpenWifi',
|
|
'6g-ssid': 'OpenWifi',
|
|
'2g-password': 'OpenWifi',
|
|
'5g-password': 'OpenWifi',
|
|
'6g-password': 'OpenWifi',
|
|
'2g-encryption': 'WPA2',
|
|
'5g-encryption': 'WPA2',
|
|
'6g-encryption': 'WPA3',
|
|
'2g-bssid': '68:7d:b4:5f:5c:31',
|
|
'5g-bssid': '68:7d:b4:5f:5c:3c',
|
|
'6g-bssid': '68:7d:b4:5f:5c:38'
|
|
},
|
|
'mode': 'wifi6', # ['wifi5', 'wifi6', 'wifi6e']
|
|
'identifier': '903cb39d6918', # Has to be not Null
|
|
'method': 'serial', # Has to be serial, ssh, telnet
|
|
'host_ip': 'localhost', # Ip or localhost
|
|
'host_username': 'lanforge', # Str
|
|
'host_password': 'pumpkin77', # Str
|
|
'host_ssh_port': 8852, # Int
|
|
'serial_tty': '/dev/ttyAP2', # Str
|
|
'firmware_version': 'next-latest' # Str
|
|
}],
|
|
'traffic_generator': {
|
|
'name': 'lanforge', # STR
|
|
'testbed': 'basic', # [basic, ]
|
|
'scenario': 'dhcp-bridge', # dhcp-bridge, dhcp-external
|
|
'details': {
|
|
'manager_ip': 'localhost', # Str or ip
|
|
'http_port': 8850, # int
|
|
'ssh_port': 8851, # int
|
|
'setup': {'method': 'build', 'DB': 'Test_Scenario_Automation'},
|
|
# Method-> build/load, if load-> DB
|
|
'wan_ports': { # addressing(dhcp-server, static, dynamic) Subnet-> ip/ cannot be eth2(1.1.eth2)
|
|
'1.1.eth2': {'addressing': 'dhcp-server', 'subnet': '172.16.0.1/16', 'dhcp': { # DICT
|
|
'lease-first': 10, # int
|
|
'lease-count': 10000, # int
|
|
'lease-time': '6h' # str
|
|
}
|
|
}
|
|
},
|
|
'lan_ports': {
|
|
|
|
},
|
|
'uplink_nat_ports': {
|
|
'1.1.eth3': {
|
|
'addressing': 'static', # If static -> need ip, g_ip, ip_mask, dns
|
|
'ip': '10.28.2.17',
|
|
'gateway_ip': '10.28.2.1/24',
|
|
'ip_mask': '255.255.255.0',
|
|
'dns_servers': 'BLANK'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"advance-03": {
|
|
"target": "dut_lib_template",
|
|
"controller": {
|
|
"url": "https://sec-qa01.cicd.lab.wlan.tip.build:16001",
|
|
"username": "tip@ucentral.com",
|
|
"password": "OpenWifi%123"
|
|
},
|
|
"device_under_tests": [{
|
|
"model": "cig_wf196",
|
|
"supported_bands": ["2G", "5G", "6G"],
|
|
"supported_modes": ["BRIDGE", "NAT", "VLAN"],
|
|
"wan_port": "1.3.eth2",
|
|
"lan_port": None,
|
|
"ssid": {
|
|
"2g-ssid": "OpenWifi",
|
|
"5g-ssid": "OpenWifi",
|
|
"6g-ssid": "OpenWifi",
|
|
"2g-password": "OpenWifi",
|
|
"5g-password": "OpenWifi",
|
|
"6g-password": "OpenWifi",
|
|
"2g-encryption": "WPA2",
|
|
"5g-encryption": "WPA2",
|
|
"6g-encryption": "WPA3",
|
|
"2g-bssid": "68:7d:b4:5f:5c:31",
|
|
"5g-bssid": "68:7d:b4:5f:5c:3c",
|
|
"6g-bssid": "68:7d:b4:5f:5c:38"
|
|
},
|
|
"mode": "wifi6e",
|
|
"identifier": "824f816011e4",
|
|
"method": "serial",
|
|
"host_ip": "localhost",
|
|
"host_username": "lanforge",
|
|
"host_password": "pumpkin77",
|
|
"host_ssh_port": 8902,
|
|
"serial_tty": "/dev/ttyAP0",
|
|
"firmware_version": "next-latest"
|
|
}],
|
|
"traffic_generator": {
|
|
"name": "lanforge",
|
|
"testbed": "basic",
|
|
"scenario": "dhcp-bridge",
|
|
"details": {
|
|
"manager_ip": "10.28.3.117",
|
|
"http_port": 8900,
|
|
"ssh_port": 8901,
|
|
"setup": {"method": "build", "DB": "Test_Scenario_Automation"},
|
|
"wan_ports": {
|
|
"1.3.eth2": {"addressing": "dhcp-server", "subnet": "172.16.0.1/16", "dhcp": {
|
|
"lease-first": 10,
|
|
"lease-count": 10000,
|
|
"lease-time": "6h"
|
|
}
|
|
}
|
|
},
|
|
"lan_ports": {
|
|
|
|
},
|
|
"uplink_nat_ports": {
|
|
"1.3.eth3": {
|
|
"addressing": "static",
|
|
"ip": "10.28.2.39",
|
|
"gateway_ip": "10.28.2.1/24",
|
|
"ip_mask": "255.255.255.0",
|
|
"dns_servers": "BLANK"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
obj = SchemaCheck(var["CONFIGURATION"])
|
|
obj.set_data()
|
|
obj.key_check()
|
|
obj.target_check()
|
|
obj.controller_check()
|
|
obj.dut_values_check()
|
|
obj.traffic_generator_keys_check()
|