#######################################################################################
# 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, cover

[tox:jenkins]
toxworkdir = /tmp/.tox
setenv = XDG_CACHE_HOME=/tmp/.cache

[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
allowlist_externals = bash
commands =
        reno new {posargs:new_feature}
        bash -c "sed -i -e '1 e head -16 tox.ini' releasenotes/notes/{posargs:new_feature}*.yaml"


#######################################################################################
[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
allowlist_externals = sh
commands =
        sh -c 'rm -f nosetests.xml'
        coverage erase
        # NG-RO
        nose2 -C --coverage NG-RO/osm_ng_ro -s NG-RO/osm_ng_ro
        sh -c 'mv .coverage .coverage_ng_ro'
        # RO-plugin
        # nose2 -C --coverage RO-plugin/osm_ro_plugin -s 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 -s 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 -s 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 -s 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 -s 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 -s 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 -s 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 -s 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 -s 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 -s 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 -s 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 -s 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 -s 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 -s 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 combine .coverage_ng_ro .coverage_rovim_openstack .coverage_rosdn_juniper_contrail
        coverage report --omit='*tests*'
        coverage html -d ./cover --omit='*tests*'
        coverage xml -o coverage.xml --omit='*tests*'


#######################################################################################
[testenv:flake8]
deps =
        flake8==6.1.0
        flake8-import-order
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==6.6.2
skip_install = true
allowlist_externals = bash
        [
commands =
        - bash -c "for file in requirements*.in ; do \
        UNSAFE="" ; \
        if [[ $file =~ 'dist' ]] ; then UNSAFE='--allow-unsafe' ; fi ; \
        pip-compile -rU --no-header $UNSAFE $file ;\
        out=`echo $file | sed 's/.in/.txt/'` ; \
        sed -i -e '1 e head -16 tox.ini' $out ;\
        done"
        - bash -c "sed -i 's/.*RO-plugin/-e RO-plugin/g' requirements-test.txt"


#######################################################################################
[testenv:dist_ng_ro]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
allowlist_externals = sh
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'


#######################################################################################
[testenv:dist_ro_plugin]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
allowlist_externals = sh
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'


#######################################################################################
[testenv:dist_ro_sdn_arista_cloudvision]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
allowlist_externals = sh
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'


#######################################################################################
[testenv:dist_ro_sdn_dpb]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
allowlist_externals = sh
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'


#######################################################################################
[testenv:dist_ro_sdn_dynpac]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
allowlist_externals = sh
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'


#######################################################################################
[testenv:dist_ro_sdn_floodlight_of]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
allowlist_externals = sh
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'


#######################################################################################
[testenv:dist_ro_sdn_ietfl2vpn]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
allowlist_externals = sh
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'


#######################################################################################
[testenv:dist_ro_sdn_juniper_contrail]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
allowlist_externals = sh
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'


#######################################################################################
[testenv:dist_ro_sdn_odl_of]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
allowlist_externals = sh
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'


#######################################################################################
[testenv:dist_ro_sdn_onos_of]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
allowlist_externals = sh
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'


#######################################################################################
[testenv:dist_ro_sdn_onos_vpls]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
allowlist_externals = sh
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'


#######################################################################################
[testenv:dist_ro_vim_aws]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
allowlist_externals = sh
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'


#######################################################################################
[testenv:dist_ro_vim_azure]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
allowlist_externals = sh
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'


#######################################################################################
[testenv:dist_ro_vim_openstack]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
allowlist_externals = sh
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'


#######################################################################################
[testenv:dist_ro_vim_openvim]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
allowlist_externals = sh
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'


#######################################################################################
[testenv:dist_ro_vim_vmware]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
allowlist_externals = sh
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'


#######################################################################################
[testenv:dist_ro_vim_gcp]
deps =  {[testenv]deps}
        -r{toxinidir}/requirements-dist.txt
skip_install = true
allowlist_externals = sh
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'


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