
update dockerfile for python deckhand install add deckhand version to chart 1.0 add chart version 0.2.0 update all packages to latest in requirements.txt update zuul jobs for focal and python 3.8 remove zuul job functional-uwsgi-py38 in favor of functional-docker-py38 update tox config typecast to string in re.sub() function add stestr to test-requirements.txt add SQLAlchemy jsonpickle sphinx-rtd-theme stestr to requirements.txt deprecated function: BarbicanException -> BarbicanClientException fix mock import using unittest fix import collections to collections.abc fix for collections modules for older than python 3.10 versions. deprecated function: json -> to_json deprecated function: werkzeug.contrib.profiler -> werkzeug.middleware.profiler deprecated function: falcon.AIP -> falcon.App deprecation warning: switch from resp.body to resp.text rename fixtures to dh_fixtures because there is an imported module fixtures switch from stream.read to bounded_stream.read deprecated function: falcon process_response needed additional parameter deprecated function: falcon default_exception_handler changed parameter order move from MagicMock object to falcon test generated object to fix incompatability with upgraded Falcon module. Adjust gabbi tests to fix incompatability with upgraded DeepDiff module update Makefile to execute ubuntu_focal update HTK (helmtoolkit) unpin barbican to pass integration tests Use helm 3 in chart build. `helm serve` is removed in helm 3 so this moves to using local `file://` dependencies [0] instead. Change-Id: I180416f480edea1b8968d80c993b3e1fcc95c08d
146 lines
4.0 KiB
INI
146 lines
4.0 KiB
INI
[tox]
|
|
minversion = 3.4
|
|
# Flag indicating to perform the packaging operation or not.
|
|
# Set it to true when using tox for an application, instead of a library.
|
|
skipsdist = True
|
|
envlist = py38,py38-{postgresql},functional,cover,pep8,bandit,docs
|
|
|
|
[testenv]
|
|
# Install the current package in development mode with develop mode
|
|
usedevelop = True
|
|
allowlist_externals = bash
|
|
find
|
|
rm
|
|
flake8
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
OS_TEST_PATH=./deckhand/tests/unit
|
|
LANGUAGE=en_US
|
|
LC_ALL=en_US.utf-8
|
|
passenv =
|
|
OS_STDOUT_CAPTURE
|
|
OS_STDERR_CAPTURE
|
|
OS_TEST_TIMEOUT
|
|
OS_TEST_LOCK_PATH
|
|
OS_TEST_PATH
|
|
http_proxy
|
|
HTTP_PROXY
|
|
https_proxy
|
|
HTTPS_PROXY
|
|
no_proxy
|
|
NO_PROXY
|
|
DECKHAND_IMAGE
|
|
DECKHAND_TEST_URL
|
|
DECKHAND_TEST_DIR
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
rm -Rf .testrepository/times.dbm
|
|
|
|
[testenv:venv]
|
|
basepython=python3
|
|
commands =
|
|
{posargs}
|
|
|
|
[testenv:py38]
|
|
commands =
|
|
{[testenv]commands}
|
|
stestr run {posargs}
|
|
stestr slowest
|
|
|
|
[testenv:py38-postgresql]
|
|
commands =
|
|
{[testenv]commands}
|
|
bash {toxinidir}/tools/run_pifpaf.sh '{posargs}'
|
|
allowlist_externals =
|
|
bash
|
|
find
|
|
rm
|
|
|
|
[testenv:functional]
|
|
basepython=python3
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
stestr --test-path deckhand/tests/common/ run --serial --slowest --force-subunit-trace --color {posargs}
|
|
|
|
[testenv:functional-dev]
|
|
basepython=python3
|
|
# Minimalistic functional test job for running Deckhand functional tests
|
|
# via uwsgi. Uses pifpaf for DB instantiation. Useful for developers.
|
|
# Requires PostgreSQL be installed on host.
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
pifpaf run postgresql -- {toxinidir}/tools/functional-tests.sh "{posargs}"
|
|
|
|
[testenv:cover]
|
|
basepython = python3
|
|
setenv = {[testenv]setenv}
|
|
PYTHON=coverage run --source deckhand --parallel-mode
|
|
commands =
|
|
coverage erase
|
|
find . -type f -name "*.pyc" -delete
|
|
stestr run {posargs}
|
|
coverage combine
|
|
coverage html -d cover
|
|
coverage xml -o cover/coverage.xml
|
|
coverage report
|
|
|
|
[testenv:bandit]
|
|
basepython = python3
|
|
commands = bandit -r deckhand -x deckhand/tests -n 5
|
|
|
|
[testenv:genconfig]
|
|
basepython = python3
|
|
commands = oslo-config-generator --config-file=etc/deckhand/config-generator.conf
|
|
|
|
[testenv:genpolicy]
|
|
basepython = python3
|
|
commands = oslopolicy-sample-generator --config-file=etc/deckhand/policy-generator.conf
|
|
|
|
[testenv:pep8]
|
|
basepython = python3
|
|
deps =
|
|
.[bandit]
|
|
{[testenv]deps}
|
|
commands =
|
|
# Whitespace linter
|
|
bash {toxinidir}/tools/whitespace-linter.sh
|
|
# Perform the actual pep8
|
|
flake8 {posargs}
|
|
# Run security linter as part of the pep8 gate instead of using separate job.
|
|
bandit -r deckhand -x deckhand/tests -n 5
|
|
|
|
[flake8]
|
|
# [H106] Don't put vim configuration in source files.
|
|
# [H203] Use assertIs(Not)None to check for None.
|
|
# [H204] Use assert(Not)Equal to check for equality.
|
|
# [H205] Use assert(Greater|Less)(Equal) for comparison.
|
|
# [H210] Require 'autospec', 'spec', or 'spec_set' in mock.patch/mock.patch.object calls
|
|
# [H904] Delay string interpolations at logging calls.
|
|
enable-extensions = H106,H203,H204,H205,H210,H904
|
|
# [E731] Do not assign a lambda expression, use a def. This reduces readability in some cases.
|
|
ignore = E731,F405,H405,W504,H306
|
|
exclude = .venv,.git,.tox,dist,*lib/python*,*egg,build,releasenotes,doc,alembic/versions
|
|
|
|
[testenv:docs]
|
|
basepython = python3
|
|
deps =
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands =
|
|
bash {toxinidir}/tools/build-docs.sh
|
|
|
|
[testenv:releasenotes]
|
|
basepython = python3
|
|
deps = -r{toxinidir}/doc/requirements.txt
|
|
commands =
|
|
rm -rf releasenotes/build
|
|
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
|
allowlist_externals =
|
|
rm
|