mirror of
				https://github.com/Telecominfraproject/wlan-testing.git
				synced 2025-10-31 02:48:11 +00:00 
			
		
		
		
	 bd97a51bf7
			
		
	
	bd97a51bf7
	
	
	
		
			
			* 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>
		
	
		
			
				
	
	
		
			389 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			389 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/python3
 | |
| '''
 | |
| 
 | |
| make sure pexpect is installed:
 | |
| $ sudo yum install python3-pexpect
 | |
| 
 | |
| You might need to install pexpect-serial using pip:
 | |
| $ pip3 install serial
 | |
| $ pip3 install pexpect-serial
 | |
| 
 | |
| ./openwrt_ctl.py -l stdout -u root -p TIP -s serial --tty ttyUSB0
 | |
| 
 | |
| # Set up reverse ssh tunnel
 | |
| ./openwrt_ctl.py --tty /dev/ttyAP1 --action ssh-tunnel \
 | |
|         --value "ssh -y -y -f -N -T -M -R 9999:localhost:22 lanforge@10.28.3.100" \
 | |
|         --value2 password-for-10.28.3.100 --log stdout --scheme serial --prompt root@Open
 | |
| '''
 | |
| 
 | |
| import sys
 | |
| 
 | |
| if sys.version_info[0] != 3:
 | |
|     print("This script requires Python 3")
 | |
|     exit()
 | |
| 
 | |
| try:
 | |
|     import importlib
 | |
|     re = importlib.import_module("re")
 | |
|     logging = importlib.import_module("logging")
 | |
|     time = importlib.import_module("time")
 | |
|     sleep = time.sleep
 | |
|     pexpect = importlib.import_module("pexpect")
 | |
|     serial = importlib.import_module("serial")
 | |
|     pexpect_serial = importlib.import_module("pexpect_serial")
 | |
|     SerialSpawn = pexpect_serial.SerialSpawn
 | |
|     pprint = importlib.import_module("pprint")
 | |
|     telnetlib = importlib.import_module("telnetlib")
 | |
|     argparse = importlib.import_module("argparse")
 | |
| except ImportError as e:
 | |
|     logging.error(e)
 | |
|     sys.exit("Python Import Error: " + str(e))
 | |
| 
 | |
| default_host = "localhost"
 | |
| default_ports = {
 | |
|     "serial": None,
 | |
|     "ssh": 22,
 | |
|     "telnet": 23
 | |
| }
 | |
| NL = "\n"
 | |
| CR = "\r\n"
 | |
| Q = '"'
 | |
| A = "'"
 | |
| FORMAT = '%(asctime)s %(name)s %(levelname)s: %(message)s'
 | |
| prompt = "root@OpenWrt:"
 | |
| 
 | |
| 
 | |
| def usage():
 | |
|     print("$0 used connect to OpenWrt AP or similar Linux machine:")
 | |
|     print("-d|--dest  IP address of the OpenWrt AP, for ssh/telnet scheme")
 | |
|     print("-o|--port  IP port of the OpenWrt AP, for ssh/telnet scheme")
 | |
|     print("-t|--tty   Serial port, if using serial scheme")
 | |
|     print("-u|--user  login name")
 | |
|     print("-p|--pass  password")
 | |
|     print("--prompt   Prompt to look for when commands are done (default: root@OpenWrt)")
 | |
|     print("-s|--scheme (serial|telnet|ssh): connect via serial, ssh or telnet")
 | |
|     print("-l|--log file log messages here")
 | |
|     print("--action (logread | journalctl | lurk | sysupgrade | download | upload | reboot | cmd | ssh-tunnel")
 | |
|     print("--value (option to help complete the action")
 | |
|     print("--value2 (option to help complete the action, dest filename for download, passwd for ssh-tunnel")
 | |
|     print("-h|--help")
 | |
| 
 | |
| 
 | |
| # see https://stackoverflow.com/a/13306095/11014343
 | |
| class FileAdapter(object):
 | |
|     def __init__(self, logger):
 | |
|         self.logger = logger
 | |
| 
 | |
|     def write(self, data):
 | |
|         # NOTE: data can be a partial line, multiple lines
 | |
|         data = data.strip()  # ignore leading/trailing whitespace
 | |
|         if data:  # non-blank
 | |
|             self.logger.info(data)
 | |
| 
 | |
|     def flush(self):
 | |
|         pass  # leave it to logging to flush properly
 | |
| 
 | |
| 
 | |
| def main():
 | |
|     global prompt
 | |
| 
 | |
|     parser = argparse.ArgumentParser(description="OpenWrt AP Control Script")
 | |
|     parser.add_argument("-d", "--dest", type=str, help="address of the cisco controller_tests")
 | |
|     parser.add_argument("-o", "--port", type=int, help="control port on the controller_tests")
 | |
|     parser.add_argument("-u", "--user", type=str, help="credential login/username")
 | |
|     parser.add_argument("-p", "--passwd", type=str, help="credential password")
 | |
|     parser.add_argument("-P", "--prompt", type=str, help="Prompt to look for")
 | |
|     parser.add_argument("-s", "--scheme", type=str, choices=["serial", "ssh", "telnet"],
 | |
|                         help="Connect via serial, ssh or telnet")
 | |
|     parser.add_argument("-t", "--tty", type=str, help="tty serial device")
 | |
|     parser.add_argument("-l", "--log", type=str, help="logfile for messages, stdout means output to console")
 | |
|     parser.add_argument("--action", type=str, help="perform action",
 | |
|                         choices=["logread", "journalctl", "lurk", "sysupgrade", "sysupgrade-n", "download", "upload",
 | |
|                                  "reboot", "cmd", "ssh-tunnel"])
 | |
|     parser.add_argument("--value", type=str, help="set value")
 | |
|     parser.add_argument("--value2", type=str, help="set value2")
 | |
|     tty = None
 | |
| 
 | |
|     args = None
 | |
|     try:
 | |
|         args = parser.parse_args()
 | |
|         host = args.dest
 | |
|         scheme = args.scheme
 | |
|         port = args.port
 | |
|         # port = (default_ports[scheme], args.port)[args.port != None]
 | |
|         user = args.user
 | |
|         passwd = args.passwd
 | |
|         logfile = args.log
 | |
|         tty = args.tty;
 | |
|         if (args.prompt != None):
 | |
|             prompt = args.prompt
 | |
|         filehandler = None
 | |
|     except Exception as e:
 | |
|         logging.exception(e);
 | |
|         usage()
 | |
|         exit(2);
 | |
| 
 | |
|     console_handler = logging.StreamHandler()
 | |
|     formatter = logging.Formatter(FORMAT)
 | |
|     logg = logging.getLogger(__name__)
 | |
|     logg.setLevel(logging.DEBUG)
 | |
|     file_handler = None
 | |
|     if (logfile is not None):
 | |
|         if (logfile != "stdout"):
 | |
|             file_handler = logging.FileHandler(logfile, "w")
 | |
|             file_handler.setLevel(logging.DEBUG)
 | |
|             file_handler.setFormatter(formatter)
 | |
|             logg.addHandler(file_handler)
 | |
|             logging.basicConfig(format=FORMAT, handlers=[file_handler])
 | |
|         else:
 | |
|             # stdout logging
 | |
|             logging.basicConfig(format=FORMAT, handlers=[console_handler])
 | |
| 
 | |
|     CCPROMPT = prompt
 | |
| 
 | |
|     ser = None
 | |
|     egg = None  # think "eggpect"
 | |
|     try:
 | |
|         if (scheme == "serial"):
 | |
|             # eggspect = pexpect.fdpexpect.fdspan(telcon, logfile=sys.stdout.buffer)
 | |
| 
 | |
|             ser = serial.Serial(tty, 115200, timeout=5)
 | |
| 
 | |
|             egg = SerialSpawn(ser);
 | |
|             egg.logfile = FileAdapter(logg)
 | |
|             egg.sendline(NL)
 | |
|             has_reset = False
 | |
|             if args.value == "reset-from-console":
 | |
|                 has_reset = True
 | |
|             try:
 | |
|                 logg.info("prompt: %s user: %s  passwd: %s" % (prompt, user, passwd))
 | |
|                 while True:
 | |
|                     i = egg.expect([prompt, "Please press Enter to activate", "login:", "Password:", "IPQ6018#"],
 | |
|                                    timeout=3)
 | |
|                     logg.info("expect-0: %i" % (i))
 | |
|                     if (i == 0):
 | |
|                         logg.info("Found prompt, login complete.")
 | |
|                         break
 | |
|                     if (i == 1):
 | |
|                         logg.info("Sending newline")
 | |
|                         egg.setdline(NL)
 | |
|                     if (i == 2):
 | |
|                         logg.info("Sending username: %s" % (user))
 | |
|                         egg.sendline(user)
 | |
|                     if (i == 3):
 | |
|                         logg.info("Sending password: %s" % (passwd))
 | |
|                         egg.sendline(passwd)
 | |
|                     if (i == 4):  # in bootloader
 | |
|                         if has_reset:
 | |
|                             logg.info("In boot loader, will reset and sleep 30 seconds")
 | |
|                             egg.sendline("reset")
 | |
|                             time.sleep(30)
 | |
|                             egg.sendline(NL)
 | |
|                             sys.exit(1)
 | |
|                         else:
 | |
|                             print("BOOTLOADER-CONSOLE-IPQ6018#")
 | |
|                             break
 | |
|                     else:
 | |
|                         logg.info("Found prompt, login complete.")
 | |
|                         break
 | |
|             except Exception as e:
 | |
|                 # maybe something like 'logread -f' is running?
 | |
|                 # send ctrl-c
 | |
|                 egg.send(chr(3))
 | |
| 
 | |
|         elif (scheme == "ssh"):
 | |
|             # Not implemented/tested currently. --Ben
 | |
|             if (port is None):
 | |
|                 port = 22
 | |
|             cmd = "ssh -p%d %s@%s" % (port, user, host)
 | |
|             logg.info("Spawn: " + cmd + NL)
 | |
|             egg = pexpect.spawn(cmd)
 | |
|             # egg.logfile_read = sys.stdout.buffer
 | |
|             egg.logfile = FileAdapter(logg)
 | |
|             i = egg.expect(["password:", "continue connecting (yes/no)?"], timeout=3)
 | |
|             time.sleep(0.1)
 | |
|             if i == 1:
 | |
|                 egg.sendline('yes')
 | |
|                 egg.expect('password:')
 | |
|             sleep(0.1)
 | |
|             egg.sendline(passwd)
 | |
| 
 | |
|         elif (scheme == "telnet"):
 | |
|             # Not implemented/tested currently. --Ben
 | |
|             if (port is None):
 | |
|                 port = 23
 | |
|             cmd = "telnet %s %d" % (host, port)
 | |
|             logg.info("Spawn: " + cmd + NL)
 | |
|             egg = pexpect.spawn(cmd)
 | |
|             egg.logfile = FileAdapter(logg)
 | |
|             time.sleep(0.1)
 | |
|             egg.sendline(' ')
 | |
|             egg.expect('User\:')
 | |
|             egg.sendline(user)
 | |
|             egg.expect('Password\:')
 | |
|             egg.sendline(passwd)
 | |
|             egg.sendline('config paging disable')
 | |
|         else:
 | |
|             usage()
 | |
|             exit(1)
 | |
|     except Exception as e:
 | |
|         logging.exception(e);
 | |
| 
 | |
|     command = None
 | |
| 
 | |
|     CLOSEDBYREMOTE = "closed by remote host."
 | |
|     CLOSEDCX = "Connection to .* closed."
 | |
| 
 | |
|     try:
 | |
|         egg.expect(CCPROMPT)
 | |
|     except Exception as e:
 | |
|         egg.sendline(NL)
 | |
| 
 | |
|     TO = 10
 | |
|     wait_forever = False
 | |
| 
 | |
|     # Clean pending output
 | |
|     egg.sendline("echo __hello__")
 | |
|     egg.expect("__hello__")
 | |
|     egg.expect(CCPROMPT)
 | |
| 
 | |
|     logg.info("Action[%s] Value[%s] Value2[%s]" % (args.action, args.value, args.value2))
 | |
| 
 | |
|     if (args.action == "reboot"):
 | |
|         command = "reboot"
 | |
|         TO = 60
 | |
| 
 | |
|     if (args.action == "cmd"):
 | |
|         if (args.value is None):
 | |
|             raise Exception("cmd requires value to be set.")
 | |
|         command = "%s" % (args.value)
 | |
| 
 | |
|     if (args.action == "logread"):
 | |
|         command = "logread -f"
 | |
|         TO = 1
 | |
|         wait_forever = True
 | |
| 
 | |
|     if (args.action == "journalctl"):
 | |
|         command = "journalctl -f"
 | |
|         TO = 1
 | |
|         wait_forever = True
 | |
| 
 | |
|     if (args.action == "lurk"):
 | |
|         command = "date"
 | |
|         TO = 1
 | |
|         wait_forever = True
 | |
| 
 | |
|     if (args.action == "ssh-tunnel"):
 | |
|         command = "%s" % (args.value)
 | |
|         passwd = "%s" % (args.value2)
 | |
|         logg.info("Command[%s]" % command)
 | |
|         egg.sendline(command);
 | |
| 
 | |
|         i = egg.expect(["password:", "Do you want to continue connecting"], timeout=5)
 | |
|         if i == 1:
 | |
|             egg.sendline("y")
 | |
|             egg.expect("password:", timeout=5)
 | |
|         egg.sendline(passwd)
 | |
|         egg.expect(CCPROMPT, timeout=20)
 | |
|         return
 | |
| 
 | |
|     if ((args.action == "sysupgrade") or (args.action == "sysupgrade-n")):
 | |
|         command = "scp %s /tmp/new_img.bin" % (args.value)
 | |
|         logg.info("Command[%s]" % command)
 | |
|         egg.sendline(command);
 | |
| 
 | |
|         i = egg.expect(["password:", "Do you want to continue connecting"], timeout=5)
 | |
|         if i == 1:
 | |
|             egg.sendline("y")
 | |
|             egg.expect("password:", timeout=5)
 | |
|         egg.sendline("lanforge")
 | |
|         egg.expect(CCPROMPT, timeout=20)
 | |
|         if (args.action == "sysupgrade-n"):
 | |
|             egg.sendline("sysupgrade -n /tmp/new_img.bin")
 | |
|         else:
 | |
|             egg.sendline("sysupgrade /tmp/new_img.bin")
 | |
|         egg.expect("link becomes ready", timeout=100)
 | |
|         return
 | |
| 
 | |
|     if (args.action == "download"):
 | |
|         command = "scp %s /tmp/%s" % (args.value, args.value2)
 | |
|         logg.info("Command[%s]" % command)
 | |
|         egg.sendline(command);
 | |
| 
 | |
|         i = egg.expect(["password:", "Do you want to continue connecting", "Network unreachable"], timeout=5)
 | |
|         if i == 2:
 | |
|             print("Network unreachable, wait 15 seconds and try again.")
 | |
|             time.sleep(15)
 | |
|             command = "scp %s /tmp/%s" % (args.value, args.value2)
 | |
|             logg.info("Command[%s]" % command)
 | |
|             egg.sendline(command);
 | |
| 
 | |
|             i = egg.expect(["password:", "Do you want to continue connecting", "Network unreachable"], timeout=5)
 | |
|         if i == 2:
 | |
|             print("ERROR:  Could not connect to LANforge to get download file")
 | |
|             exit(2)
 | |
|         if i == 1:
 | |
|             egg.sendline("y")
 | |
|             egg.expect("password:", timeout=5)
 | |
|         egg.sendline("lanforge")
 | |
|         egg.expect(CCPROMPT, timeout=20)
 | |
|         return
 | |
| 
 | |
|     if (args.action == "upload"):
 | |
|         command = "scp %s %s" % (args.value, args.value2)
 | |
|         logg.info("Command[%s]" % command)
 | |
|         egg.sendline(command);
 | |
| 
 | |
|         i = egg.expect(["password:", "Do you want to continue connecting", "Network unreachable"], timeout=5)
 | |
|         if i == 2:
 | |
|             print("Network unreachable, wait 15 seconds and try again.")
 | |
|             time.sleep(15)
 | |
|             command = "scp /tmp/%s %s" % (args.value, args.value2)
 | |
|             logg.info("Command[%s]" % command)
 | |
|             egg.sendline(command);
 | |
| 
 | |
|             i = egg.expect(["password:", "Do you want to continue connecting", "Network unreachable"], timeout=5)
 | |
|         if i == 2:
 | |
|             print("ERROR:  Could not connect to LANforge to put upload file")
 | |
|             exit(2)
 | |
|         if i == 1:
 | |
|             egg.sendline("y")
 | |
|             egg.expect("password:", timeout=5)
 | |
|         egg.sendline("lanforge")
 | |
|         egg.expect(CCPROMPT, timeout=20)
 | |
|         return
 | |
| 
 | |
|     if (command is None):
 | |
|         logg.info("No command specified, going to log out.")
 | |
|     else:
 | |
|         logg.info("Command[%s]" % command)
 | |
|         egg.sendline(command);
 | |
|         while True:
 | |
|             try:
 | |
|                 i = egg.expect([CCPROMPT, "kmodloader: done loading kernel", "\n"], timeout=TO)
 | |
|                 print(egg.before.decode('utf-8', 'ignore'))
 | |
|                 if i == 1:
 | |
|                     egg.sendline(' ')
 | |
|                     egg.expect(CCPROMPT, timeout=20)
 | |
|                     print(egg.before.decode('utf-8', 'ignore'))
 | |
|                 if i == 2:  # new line of text, just print and continue
 | |
|                     continue
 | |
|                 # wait_forever = False
 | |
|                 if not wait_forever:
 | |
|                     break
 | |
| 
 | |
|             except Exception as e:
 | |
|                 # Some commands take a long time (logread -f)
 | |
|                 if not wait_forever:
 | |
|                     logging.exception(e)
 | |
|                     break
 | |
| 
 | |
| 
 | |
| # ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
 | |
| if __name__ == '__main__':
 | |
|     main()
 | |
| 
 | |
| ####
 | |
| ####
 | |
| ####
 |