* WIFI-7868: Added ow_sanity_lf suite for sanity restructuring
Added client connectivity tests under the ow_sanity_lf
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* [WIFI-7869] Fix: regression testing AWS variables placement
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* [WIFI-7779] Add: helm deploy support for mailer envs (#517)
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* Also pin kubectl version when destroying namespace
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* [WIFI-7604] Add workflows to test deployment upgrade paths (#471)
* Create and switch to composite action for Docker Compose in Kubernetes deployment
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Add missing inputs to composite action
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Add input for hashed password and adapt variable names
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Fix input variable names
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Add Docker Compose upgrade test workflow
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Get deploy script according to deployment_version input
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Hard-code branch for testing
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Re-add RTTY_TOKEN for testing previous release upgrades
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* [WIFI-7697] Move deploy related files from wlan-testing to wlan-cloud-ucentral-deploy (#472)
* Change composite actions and workflows to use wlan-cloud-ucentral-deploy repo
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Checkout target branch matching with deployment version
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Remove working-directory option
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Rename image version variables to enable search and replace in deploy script
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Remove defaults from action inputs
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Try removing owsub and owanalytics ports for 2.4 deployment
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Actually remove ports since commenting out doesn't work
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* [WIFI-7766] Switch Docker Compose testing workflow to deployment on EC2 (#499)
* Switch from Kubernetes pod to EC2 instance deployment
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Fix indentation
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Add VPC subnet ID to use existing security group
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Move env variable definition to executed SSH command
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Remove defaults from inputs to avoid overwriting deployment_version
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Fix syntax
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Fix variable syntax
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Add my own SSH key for debugging
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Revert "Add my own SSH key for debugging"
This reverts commit e4a9fee140.
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Increase AWS instance size
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Update package lists before installing
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Add curl insecure option and append self-signed REST API cert to AP cert trust store
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Pass FLAGS variable to clustersysteminfo Docker container
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Switch to github.run_number for uniqueness
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Start Docker manually on instance
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Install Docker using the repository
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Do not destroy created instances for debugging
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Quote selfsigned_restapi_ca
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Split SSH commands into multiple lines for better readability
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Fix syntax
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Fix typo
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Revert "Split SSH commands into multiple lines for better readability"
This reverts commit c08ec026cfe3915e36cef3215226b41dd0319ed8.
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Revert "Fix syntax"
This reverts commit f408cfd19f5cf01d6b1d1f78c930897f9442c7de.
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Add debugging output for REST API CA cert
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Add: RTTY_TOKEN env for older versions support
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* Download self-signed REST API CA cert directly to virtual AP
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Switch to self-signed certs
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Fix variable name
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Fix step name
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Change hostname and use sudo to add hosts entry
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Fix syntax
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Actually add IP to hosts entry
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Fix missing hostname in AP hosts entry
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Adapt Docker Compose upgrade workflow to EC2 instance deployment
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Configure Docker to log to logstash input
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Fix Docker daemon config
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Add missing EOF
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Fix indentation
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Fix syntax
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Try to fix syntax again
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Use different delimiter
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Fix conflict after rebase
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Fix workflow syntax
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Disable StrictHostKeyChecking in workflow
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
Co-authored-by: Dmitry Dunaev <dmitry@opsfleet.com>
* Remove obsolete inputs and add RTTY_TOKEN to other workflows as well
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Fix value file names
Signed-off-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
* Wifi 7858 (#518)
* Crated a new file for FMS related testcases
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Removed Fms system ifo test case from gateway service file
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added Location related test cases of Prov UI
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added Location related functions for support
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Changed the function name
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Changed the allure attachment names on edit functions
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* WIFI-7868: Added multivlan scenarios in ow_sanity and removed Some of the rate limiting as they take a long time to complete
Added few up, dw, up+dw in rate limit for ow_sanity_lf
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* WIFI-7868 : Added dvlan and rate limit from radius in sanity suite and reduced the rate limiting tests as they are taking alot of time
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* WIFI-7868 Adding some marker improvements to reduce number of test cases and increase coverage
optimised rate limiting, added dvlan, added rate limit with radius
Signed-off-by: shivam <shivam.thakur@candelatech.com>
Co-authored-by: Dmitry Dunaev <dmitry@opsfleet.com>
Co-authored-by: Dmitry Dunaev <83591011+dunaev-opsfleet@users.noreply.github.com>
Co-authored-by: Johann Hoffmann <johann.hoffmann@mailbox.org>
Co-authored-by: Haricharan Jaka <87761091+haricharan-jaka@users.noreply.github.com>
TIP Open WiFi Test Automation
Overview
This repository contains the test automation framework and scripts for TIP Open WiFi. Test Framework is implemented in pytest
The vision is to create an open test framework to ensure production grade Open Wifi Solution.
This test automation tied into our overall tooling at TIP as shown below:
General guidelines
This testing code adheres to generic pep8 style guidelines, most notably:
Using pytest as the test execution framework.
Using pylint for code quality monitoring.
We are using the pylint package to do the linting. Documentation for it can be found here.
In general, the customizations are possible via the .pylintrc file:
- Line length below 120 characters is fine (search for max-line-length)
- No new line at the end of file is fine (search for missing-final-newline)
- Multiple new lines at the end of file are fine (search for trailing-newlines)
- Indent using 4 spaces (search for indent-string)
In future we should enforce a policy, where we cannot merge a code where the pylint scoe goes below 7:
pylint --fail-under=7 *py
the command above would produce a non-zero exit code if the score drops below 7.
TIP Controller Integration
Using Swagger Autogenerated CloudSDK Library pypi package (implemented with swagger codegen).
Reporting
Currently we use the pytest allure integration to create visual reports for the test outcomes.
Additionally we generate overview pages, e.g. like this one to consolidate multiple test reports of the same test type.
These overview pages are being deployed by this workflow and their configuration is set in this file.
Miscellaneous
- Do not use old style string formatting:
"Hello %s" % var; usef"Hello {var}instead - use
"""in Docstrings
Useful links
https://docs.pytest.org/en/latest/example/markers.html
https://docs.pytest.org/en/latest/usage.html
http://pythontesting.net/framework/pytest/pytest-introduction/
Test status
Best Practice
- Ensure to have a python version > 3
- We strongly recommend to use virtualenv to ensure that your dev environment sandbox is created.
Code style
All code must be written in python 3 and conform to PEP 8 style guide. The test framework is built using pytest.
Directory Structure
├── lanforge - /* to be migrated */
├── libs
│ ├── controller_tests -/* Library Support for controller_tests part */
├── apnos -/* Library Support for Access Points (uses AP SSH) */
│ ├── lanforge -/* Library Support for LanForge Traffic Generator */
│ ├── perfecto -/* Library Support for Perfecto Systems */
│ ├── testrails -/* Result Visualization (will be depreciated ) */
├── tests -/* Pytest cases Directory */
│ ├── _basic_test_setup
│ ├── access_point_tests
│ ├── controller_tests
│ ├── e2e
├── advanced
├── basic
├── interOp
├── mdu
|── mesh
|── scale
|── README.md -/* Pytest framework and testcases information */
Test Automation Setup Instructions
# Let's assume '~/automation' directory for setting wlan-testing
cd ~/
mkdir automation
cd automation
git clone https://github.com/Telecominfraproject/wlan-testing
git clone https://github.com/Telecominfraproject/wlan-lanforge-scripts
cd wlan-testing
./sync_repos.bash
mkdir ~/.pip
echo "[global]" > ~/.pip/pip.conf
echo "index-url = https://pypi.org/simple" >> ~/.pip/pip.conf
echo "extra-index-url = https://tip-read:tip-read@tip.jfrog.io/artifactory/api/pypi/tip-wlan-python-pypi-local/simple" >> ~/.pip/pip.conf
pip3 install -r requirements.txt
cd tests
vim configuration.py # Setup your testbed data info here
# Check if everything is good
pytest --collect-only
# for visualizing allure reports, Install nodejs
# Set Java home
# install allure command
npm install -g allure-commandline --save-dev
Executing and Contributing new test cases
Follow instructions provided here to understand the Testing Framework, and How to run and write new tests
Issue Reporting
Please submit issues using our JIRA project here
Use the Test Automation backlog

