#######################################################################################
# Copyright ETSI Contributors and Others.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#######################################################################################

[tox]
envlist = black, flake8, safety

[tox:jenkins]
toxworkdir = /tmp/.tox

[testenv]
usedevelop = True
basepython = python3
setenv = VIRTUAL_ENV={envdir}
         PYTHONDONTWRITEBYTECODE = 1
deps =  -r{toxinidir}/requirements.txt
parallel_show_output = true


#######################################################################################
[testenv:release_notes]
deps = reno
skip_install = true
commands =
        reno new {posargs:new_feature}


#######################################################################################
[testenv:black]
deps = black
skip_install = true
commands =
        black --check --diff NG-RO
        black --check --diff RO-plugin
        black --check --diff RO-SDN-arista_cloudvision
        black --check --diff RO-SDN-dpb
        black --check --diff RO-SDN-dynpac
        black --check --diff RO-SDN-floodlight_openflow
        black --check --diff RO-SDN-ietfl2vpn
        black --check --diff RO-SDN-juniper_contrail
        black --check --diff RO-SDN-odl_openflow
        black --check --diff RO-SDN-onos_openflow
        black --check --diff RO-SDN-onos_vpls
        black --check --diff RO-VIM-aws
        black --check --diff RO-VIM-azure
        black --check --diff RO-VIM-openstack
        black --check --diff RO-VIM-openvim
        black --check --diff RO-VIM-vmware
        black --check --diff RO-VIM-gcp
        black --check --diff integration-tests


#######################################################################################
[testenv:cover]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dev.txt
        -r{toxinidir}/requirements-test.txt
skip_install = true
commands =
        sh -c 'rm -f nosetests.xml'
        coverage erase
        # NG-RO
        - nose2 -C --coverage NG-RO/osm_ng_ro
        sh -c 'mv .coverage .coverage_ng_ro'
        # RO-plugin
        - nose2 -C --coverage RO-plugin/osm_ro_plugin
        sh -c 'mv .coverage .coverage_ro_plugin'
        # RO-SDN-arista_cloudvision
        - nose2 -C --coverage RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision
        sh -c 'mv .coverage .coverage_rosdn_arista_cloudvision'
        # RO-SDN-dpb
        - nose2 -C --coverage RO-SDN-dpb/osm_rosdn_dpb
        sh -c 'mv .coverage .coverage_rosdn_dpb'
        # RO-SDN-dynpac
        - nose2 -C --coverage RO-SDN-dynpac/osm_rosdn_dynpac
        sh -c 'mv .coverage .coverage_rosdn_dynpac'
        # RO-SDN-floodlight_openflow
        - nose2 -C --coverage RO-SDN-floodlight_openflow/osm_rosdn_floodlightof
        sh -c 'mv .coverage .coverage_rosdn_floodlightof'
        # RO-SDN-ietfl2vpn
        - nose2 -C --coverage RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn
        sh -c 'mv .coverage .coverage_rosdn_ietfl2vpn'
        # RO-SDN-juniper_contrail
        - nose2 -C --coverage RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail
        sh -c 'mv .coverage .coverage_rosdn_juniper_contrail'
        # RO-SDN-odl_openflow
        - nose2 -C --coverage RO-SDN-odl_openflow/osm_rosdn_odlof
        sh -c 'mv .coverage .coverage_rosdn_odlof'
        # RO-SDN-onos_openflow
        - nose2 -C --coverage RO-SDN-onos_openflow/osm_rosdn_onosof
        sh -c 'mv .coverage .coverage_rosdn_onosof'
        # RO-SDN-onos_vpls
        - nose2 -C --coverage RO-SDN-onos_vpls/osm_rosdn_onos_vpls
        sh -c 'mv .coverage .coverage_rosdn_onos_vpls'
        # RO-VIM-aws
        - nose2 -C --coverage RO-VIM-aws/osm_rovim_aws
        sh -c 'mv .coverage .coverage_rovim_aws'
        # RO-VIM-azure
        - nose2 -C --coverage RO-VIM-azure/osm_rovim_azure
        sh -c 'mv .coverage .coverage_rovim_azure'
        # RO-VIM-openstack
        - nose2 -C --coverage RO-VIM-openstack/osm_rovim_openstack -s RO-VIM-openstack/osm_rovim_openstack
        sh -c 'mv .coverage .coverage_rovim_openstack'
        # RO-VIM-openvim
        - nose2 -C --coverage RO-VIM-openvim/osm_rovim_openvim
        sh -c 'mv .coverage .coverage_rovim_openvim'
        # RO-VIM-vmware
        - nose2 -C --coverage RO-VIM-vmware/osm_rovim_vmware -s RO-VIM-vmware/osm_rovim_vmware
        sh -c 'mv .coverage .coverage_rovim_vmware'
        # RO-VIM-gcp
        - nose2 -C --coverage RO-VIM-gcp/osm_rovim_gcp
        sh -c 'mv .coverage .coverage_rovim_gcp'
        # Combine results and generate reports
        coverage combine .coverage_ng_ro .coverage_ro_plugin .coverage_rosdn_arista_cloudvision .coverage_rosdn_dpb .coverage_rosdn_dynpac .coverage_rosdn_floodlightof .coverage_rosdn_ietfl2vpn .coverage_rosdn_juniper_contrail .coverage_rosdn_odlof .coverage_rosdn_onos_vpls .coverage_rosdn_onosof .coverage_rovim_aws .coverage_rovim_azure .coverage_rovim_openvim .coverage_rovim_gcp # .coverage_rovim_openstack .coverage_rovim_vmware
        coverage report --omit='*tests*'
        coverage html -d ./cover --omit='*tests*'
        coverage xml -o coverage.xml --omit='*tests*'
whitelist_externals = sh


#######################################################################################
[testenv:flake8]
deps = flake8
skip_install = true
commands =
        - flake8 NG-RO/osm_ng_ro/ NG-RO/setup.py
        - flake8 RO-plugin/osm_ro_plugin/ RO-plugin/setup.py
        - flake8 RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision/ RO-SDN-arista_cloudvision/setup.py
        - flake8 RO-SDN-dpb/osm_rosdn_dpb/ RO-SDN-dpb/setup.py
        - flake8 RO-SDN-dynpac/osm_rosdn_dynpac/ RO-SDN-dynpac/setup.py
        - flake8 RO-SDN-floodlight_openflow/osm_rosdn_floodlightof/ RO-SDN-floodlight_openflow/setup.py
        - flake8 RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn/ RO-SDN-ietfl2vpn/setup.py
        - flake8 RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/ RO-SDN-juniper_contrail/setup.py
        - flake8 RO-SDN-odl_openflow/osm_rosdn_odlof/ RO-SDN-odl_openflow/setup.py
        - flake8 RO-SDN-onos_openflow/osm_rosdn_onosof/ RO-SDN-onos_openflow/setup.py
        - flake8 RO-SDN-onos_vpls/osm_rosdn_onos_vpls/ RO-SDN-onos_vpls/setup.py
        - flake8 RO-VIM-aws/osm_rovim_aws/ RO-VIM-aws/setup.py
        - flake8 RO-VIM-azure/osm_rovim_azure/ RO-VIM-azure/setup.py
        - flake8 RO-VIM-openstack/osm_rovim_openstack/ RO-VIM-openstack/setup.py
        - flake8 RO-VIM-openvim/osm_rovim_openvim/ RO-VIM-openvim/setup.py
        - flake8 RO-VIM-vmware/osm_rovim_vmware/vimconn_vmware.py RO-VIM-vmware/osm_rovim_vmware/tests/test_vimconn_vmware.py RO-VIM-vmware/setup.py
        - flake8 RO-VIM-gcp/osm_rovim_gcp/ RO-VIM-gcp/setup.py
        - flake8 integration-tests/


#######################################################################################
[testenv:pylint]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dev.txt
        -r{toxinidir}/requirements-test.txt
        pylint
skip_install = true
commands =
        - pylint -E NG-RO/osm_ng_ro
        - pylint -E RO-plugin/osm_ro_plugin
        - pylint -E RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision
        - pylint -E RO-SDN-dpb/osm_rosdn_dpb
        - pylint -E RO-SDN-dynpac/osm_rosdn_dynpac
        - pylint -E RO-SDN-floodlight_openflow/osm_rosdn_floodlightof
        - pylint -E RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn
        - pylint -E RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail
        - pylint -E RO-SDN-odl_openflow/osm_rosdn_odlof
        - pylint -E RO-SDN-onos_openflow/osm_rosdn_onosof
        - pylint -E RO-SDN-onos_vpls/osm_rosdn_onos_vpls
        - pylint -E RO-VIM-aws/osm_rovim_aws
        - pylint -E RO-VIM-azure/osm_rovim_azure
        - pylint -E RO-VIM-openstack/osm_rovim_openstack
        - pylint -E RO-VIM-openvim/osm_rovim_openvim
        - pylint -E RO-VIM-vmware/osm_rovim_vmware
        - pylint -E RO-VIM-gcp/osm_rovim_gcp


#######################################################################################
[testenv:safety]
setenv =
        LC_ALL=C.UTF-8
        LANG=C.UTF-8
deps =  {[testenv]deps}
        safety
skip_install = true
commands =
        - safety check --full-report


#######################################################################################
[testenv:pip-compile]
deps =  pip-tools==5.5.0
skip_install = true
commands =
        - sh -c "for file in requirements*.in ; do pip-compile -rU --no-header $file ;\
        out=`echo $file | sed 's/.in/.txt/'` ; \
        sed -i -e '1 e head -16 tox.ini' $out ;\
        done"
        - sh -c "sed -i 's/.*RO-plugin/-e RO-plugin/g' requirements-test.txt"
whitelist_externals = sh


#######################################################################################
[testenv:dist_ng_ro]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
changedir = {toxinidir}/NG-RO
commands =
        sh -c 'rm -rf osm_ng_ro/requirements.txt deb_dist dist osm_ng_ro.egg-info osm_ng_ro*.tar.gz'
        sh -c 'cp ../requirements.txt osm_ng_ro/requirements.txt'
        python3 setup.py --command-packages=stdeb.command sdist_dsc
        sh -c 'cd deb_dist/osm-ng-ro*/ && dpkg-buildpackage -rfakeroot -uc -us'
whitelist_externals = sh

#######################################################################################
[testenv:dist_ro_plugin]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
changedir = {toxinidir}/RO-plugin
commands =
        sh -c 'rm -rf deb_dist dist osm_ro_plugin.egg-info osm_ro_plugin*.tar.gz'
        python3 setup.py --command-packages=stdeb.command sdist_dsc
        sh -c 'cd deb_dist/osm-ro-plugin*/ && dpkg-buildpackage -rfakeroot -uc -us'
whitelist_externals = sh

#######################################################################################
[testenv:dist_ro_sdn_arista_cloudvision]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
changedir = {toxinidir}/RO-SDN-arista_cloudvision
commands =
        sh -c 'rm -rf deb_dist dist osm_rosdn_arista_cloudvision.egg-info osm_rosdn_arista_cloudvision*.tar.gz'
        python3 setup.py --command-packages=stdeb.command sdist_dsc
        sh -c 'cd deb_dist/osm-rosdn-arista-cloudvision*/ && dpkg-buildpackage -rfakeroot -uc -us'
whitelist_externals = sh

#######################################################################################
[testenv:dist_ro_sdn_dpb]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
changedir = {toxinidir}/RO-SDN-dpb
commands =
        sh -c 'rm -rf deb_dist dist osm_rosdn_dpb.egg-info osm_rosdn_dpb*.tar.gz'
        python3 setup.py --command-packages=stdeb.command sdist_dsc
        sh -c 'cd deb_dist/osm-rosdn-dpb*/ && dpkg-buildpackage -rfakeroot -uc -us'
whitelist_externals = sh

#######################################################################################
[testenv:dist_ro_sdn_dynpac]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
changedir = {toxinidir}/RO-SDN-dynpac
commands =
        sh -c 'rm -rf deb_dist dist osm_rosdn_dynpac.egg-info osm_rosdn_dynpac*.tar.gz'
        python3 setup.py --command-packages=stdeb.command sdist_dsc
        sh -c 'cd deb_dist/osm-rosdn-dynpac*/ && dpkg-buildpackage -rfakeroot -uc -us'
whitelist_externals = sh

#######################################################################################
[testenv:dist_ro_sdn_floodlight_of]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
changedir = {toxinidir}/RO-SDN-floodlight_openflow
commands =
        sh -c 'rm -rf deb_dist dist osm_rosdn_floodlightof.egg-info osm_rosdn_floodlightof*.tar.gz'
        python3 setup.py --command-packages=stdeb.command sdist_dsc
        sh -c 'cd deb_dist/osm-rosdn-floodlightof*/ && dpkg-buildpackage -rfakeroot -uc -us'
whitelist_externals = sh

#######################################################################################
[testenv:dist_ro_sdn_ietfl2vpn]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
changedir = {toxinidir}/RO-SDN-ietfl2vpn
commands =
        sh -c 'rm -rf deb_dist dist osm_rosdn_ietfl2vpn.egg-info osm_rosdn_ietfl2vpn*.tar.gz'
        python3 setup.py --command-packages=stdeb.command sdist_dsc
        sh -c 'cd deb_dist/osm-rosdn-ietfl2vpn*/ && dpkg-buildpackage -rfakeroot -uc -us'
whitelist_externals = sh

#######################################################################################
[testenv:dist_ro_sdn_juniper_contrail]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
changedir = {toxinidir}/RO-SDN-juniper_contrail
commands =
        sh -c 'rm -rf deb_dist dist osm_rosdn_juniper_contrail.egg-info osm_rosdn_juniper_contrail*.tar.gz'
        python3 setup.py --command-packages=stdeb.command sdist_dsc
        sh -c 'cd deb_dist/osm-rosdn-juniper-contrail*/ && dpkg-buildpackage -rfakeroot -uc -us'
whitelist_externals = sh

#######################################################################################
[testenv:dist_ro_sdn_odl_of]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
changedir = {toxinidir}/RO-SDN-odl_openflow
commands =
        sh -c 'rm -rf deb_dist dist osm_rosdn_odlof.egg-info osm_rosdn_odlof*.tar.gz'
        python3 setup.py --command-packages=stdeb.command sdist_dsc
        sh -c 'cd deb_dist/osm-rosdn-odlof*/ && dpkg-buildpackage -rfakeroot -uc -us'
whitelist_externals = sh

#######################################################################################
[testenv:dist_ro_sdn_onos_of]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
changedir = {toxinidir}/RO-SDN-onos_openflow
commands =
        sh -c 'rm -rf deb_dist dist osm_rosdn_onosof.egg-info osm_rosdn_onosof*.tar.gz'
        python3 setup.py --command-packages=stdeb.command sdist_dsc
        sh -c 'cd deb_dist/osm-rosdn-onosof*/ && dpkg-buildpackage -rfakeroot -uc -us'
whitelist_externals = sh

#######################################################################################
[testenv:dist_ro_sdn_onos_vpls]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
changedir = {toxinidir}/RO-SDN-onos_vpls
commands =
        sh -c 'rm -rf deb_dist dist osm_rosdn_onos_vpls.egg-info osm_rosdn_onos_vpls*.tar.gz'
        python3 setup.py --command-packages=stdeb.command sdist_dsc
        sh -c 'cd deb_dist/osm-rosdn-onos-vpls*/ && dpkg-buildpackage -rfakeroot -uc -us'
whitelist_externals = sh

#######################################################################################
[testenv:dist_ro_vim_aws]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
changedir = {toxinidir}/RO-VIM-aws
commands =
        sh -c 'rm -rf deb_dist dist osm_rovim_aws.egg-info osm_rovim_aws*.tar.gz'
        python3 setup.py --command-packages=stdeb.command sdist_dsc
        sh -c 'cd deb_dist/osm-rovim-aws*/ && dpkg-buildpackage -rfakeroot -uc -us'
whitelist_externals = sh

#######################################################################################
[testenv:dist_ro_vim_azure]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
changedir = {toxinidir}/RO-VIM-azure
commands =
        sh -c 'rm -rf deb_dist dist osm_rovim_azure.egg-info osm_rovim_azure*.tar.gz'
        python3 setup.py --command-packages=stdeb.command sdist_dsc
        sh -c 'cd deb_dist/osm-rovim-azure*/ && dpkg-buildpackage -rfakeroot -uc -us'
whitelist_externals = sh

#######################################################################################
[testenv:dist_ro_vim_openstack]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
changedir = {toxinidir}/RO-VIM-openstack
commands =
        sh -c 'rm -rf deb_dist dist osm_rovim_openstack.egg-info osm_rovim_openstack*.tar.gz'
        python3 setup.py --command-packages=stdeb.command sdist_dsc
        sh -c 'cd deb_dist/osm-rovim-openstack*/ && dpkg-buildpackage -rfakeroot -uc -us'
whitelist_externals = sh

#######################################################################################
[testenv:dist_ro_vim_openvim]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
changedir = {toxinidir}/RO-VIM-openvim
commands =
        sh -c 'rm -rf deb_dist dist osm_rovim_openvim.egg-info osm_rovim_openvim*.tar.gz'
        python3 setup.py --command-packages=stdeb.command sdist_dsc
        sh -c 'cd deb_dist/osm-rovim-openvim*/ && dpkg-buildpackage -rfakeroot -uc -us'
whitelist_externals = sh

#######################################################################################
[testenv:dist_ro_vim_vmware]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
changedir = {toxinidir}/RO-VIM-vmware
commands =
        sh -c 'rm -rf deb_dist dist osm_rovim_vmware.egg-info osm_rovim_vmware*.tar.gz'
        python3 setup.py --command-packages=stdeb.command sdist_dsc
        sh -c 'cd deb_dist/osm-rovim-vmware*/ && dpkg-buildpackage -rfakeroot -uc -us'
whitelist_externals = sh

#######################################################################################
[testenv:dist_ro_vim_gcp]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
changedir = {toxinidir}/RO-VIM-gcp
commands =
        sh -c 'rm -rf deb_dist dist osm_rovim_gcp.egg-info osm_rovim_gcp*.tar.gz'
        python3 setup.py --command-packages=stdeb.command sdist_dsc
        sh -c 'cd deb_dist/osm-rovim-gcp*/ && dpkg-buildpackage -rfakeroot -uc -us'
whitelist_externals = sh


#######################################################################################
[flake8]
ignore =
        W291,
        W293,
        W503,
        W605,
        E123,
        E125,
        E203,
        E226,
        E241
exclude =
        .git,
        __pycache__,
        .tox,
max-line-length = 120
show-source = True
builtins = _
