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