mirror of
https://github.com/Telecominfraproject/wlan-testing.git
synced 2025-11-01 11:28:09 +00:00
59 lines
2.2 KiB
Markdown
59 lines
2.2 KiB
Markdown
# Controller Library
|
|
|
|
###cloudsdk.py : This Library Consists of the following-
|
|
1. class ConfigureController : Base Configuration Class
|
|
2. class Controller(ConfigureController) : Main Cloudsdk Class
|
|
3. class ProfileUtility : Used to CRUD over CloudSDK Profiles Utility
|
|
4. class JFrogUtility : Used for Artifactory Utils, Get latest Build, Upload Firmware etc.
|
|
|
|
###Note: cloudsdk.py has libraries that uses Swagger Autogenerated Code.
|
|
### Setup The Environment For using the cloudsdk library
|
|
|
|
Using Swagger Autogenerated CloudSDK Library pypi package (implemented with [swagger codegen](https://github.com/swagger-api/swagger-codegen)).
|
|
Using [pytest] as the test execution framework.
|
|
Using [pylint](http://pylint.pycqa.org) for code quality monitoring.
|
|
Using [allure](https://docs.qameta.io/allure/#_about) with Github Pages to report test outcome.
|
|
|
|
### Follow the setps below to setup the environment for your development Environment
|
|
|
|
```shell
|
|
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
|
|
```
|
|
|
|
after that do the following in this folder
|
|
```shell
|
|
pip3 install -r requirements.txt
|
|
```
|
|
|
|
Now your cloud sdk code is downloaded with all of the dependencies and you can start working on the solution
|
|
|
|
### Docker
|
|
|
|
Alternatively you can use provided dockerfiles to develop\lint your code:
|
|
|
|
```shell
|
|
docker build -t wlan-cloud-test -f Dockerfile .
|
|
docker build -t wlan-cloud-lint -f Dockerfile-lint .
|
|
```
|
|
|
|
and then you can do something like this to lint your code:
|
|
|
|
```shell
|
|
docker run -it --rm -v %path_to_this_dir%/old_pytest wlan-tip-lint -d protected-access *py # for now
|
|
docker run -it --rm -v %path_to_this_dir%/old_pytest wlan-tip-lint *py # for future
|
|
```
|
|
|
|
to have a better output (sorted by line numbers) you can do something like this:
|
|
|
|
```shell
|
|
docker run -it --rm --entrypoint sh -v %path_to_this_dir%/old_pytest wlan-tip-lint -- -c 'pylint *py | sort -t ":" -k 2,2n'
|
|
```
|
|
|
|
and you can use something like this to develop your code:
|
|
|
|
```shell
|
|
docker run -it -v %path_to_this_dir%/old_pytest wlan-tip-test
|
|
``` |