Files
wlan-testing/libs/controller/README.md
2021-04-20 16:10:00 -04:00

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
```