* Changed the structure of Prov UI API's and Added new API's of Prov Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> * Added map, operators, service class and Config support functions Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> * Added Prov UI API Usecase testcase Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> * Changed the format of Provision service API functions Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> * Added new PROV API testcases Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> * Made some changes in Allure reporting of Prov API's testcases Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> * Changed Allure reporting Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> * Refactored name of API service files Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
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). Using [pytest] as the test execution framework. Using pylint for code quality monitoring. Using allure with Github Pages to report test outcome.
Follow the setps below to setup the environment for your development Environment
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
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:
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:
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:
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:
docker run -it -v %path_to_this_dir%/old_pytest wlan-tip-test