
This patch set adds integration tests to Deckhand where "integration" means the interaction between Deckhand, Barbican and Keystone. OSH is used to deploy Keystone and Barbican and Docker to deploy PostgreSQL and Deckhand. Unlike functional testing in Deckhand, all integration tests use the default in-code policy defaults and an admin token supplied by keystone to validate authN and authZ. The test scenarios consist of Deckhand secret lifecycle management as well as document rendering with secrets retrieved from Barbican. Change-Id: Ib5ae1b345b2a4bd579671ec4ae9a232c2e3887dc
99 lines
2.9 KiB
INI
99 lines
2.9 KiB
INI
[tox]
|
||
envlist = py{35,27},py{35,27}-{postgresql},cover,pep8,bandit,docs
|
||
|
||
[testenv]
|
||
usedevelop = True
|
||
whitelist_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
|
||
deps = -r{toxinidir}/requirements.txt
|
||
-r{toxinidir}/test-requirements.txt
|
||
commands =
|
||
find . -type f -name "*.pyc" -delete
|
||
rm -Rf .testrepository/times.dbm
|
||
|
||
[testenv:py27]
|
||
commands =
|
||
{[testenv]commands}
|
||
stestr run {posargs}
|
||
stestr slowest
|
||
|
||
[testenv:py27-postgresql]
|
||
commands =
|
||
{[testenv]commands}
|
||
{toxinidir}/tools/run_pifpaf.sh '{posargs}'
|
||
|
||
[testenv:py35]
|
||
commands =
|
||
{[testenv]commands}
|
||
stestr run {posargs}
|
||
stestr slowest
|
||
|
||
[testenv:py35-postgresql]
|
||
commands =
|
||
{[testenv]commands}
|
||
{toxinidir}/tools/run_pifpaf.sh '{posargs}'
|
||
|
||
[testenv:functional]
|
||
setenv = VIRTUAL_ENV={envdir}
|
||
OS_TEST_PATH=./deckhand/tests/functional
|
||
LANGUAGE=en_US
|
||
deps = -r{toxinidir}/requirements.txt
|
||
-r{toxinidir}/test-requirements.txt
|
||
commands =
|
||
find . -type f -name "*.pyc" -delete
|
||
{toxinidir}/tools/functional-tests.sh '{posargs}'
|
||
|
||
[testenv:cover]
|
||
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]
|
||
whitelist_externals = bandit
|
||
commands =
|
||
bandit -r deckhand -x deckhand/tests -n 5
|
||
|
||
[testenv:releasenotes]
|
||
deps = -r{toxinidir}/docs/requirements.txt
|
||
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
||
|
||
[testenv:genconfig]
|
||
commands = oslo-config-generator --config-file=etc/deckhand/config-generator.conf
|
||
|
||
[testenv:genpolicy]
|
||
commands = oslopolicy-sample-generator --config-file=etc/deckhand/policy-generator.conf
|
||
|
||
[testenv:pep8]
|
||
commands = flake8 {posargs}
|
||
|
||
[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
|
||
ignore = E127,E128,E129,E131,H405
|
||
exclude = .venv,.git,.tox,dist,*lib/python*,*egg,build,releasenotes,docs,alembic/versions
|
||
|
||
[testenv:docs]
|
||
deps = -r{toxinidir}/docs/requirements.txt
|
||
commands =
|
||
rm -rf docs/build
|
||
python setup.py build_sphinx {posargs}
|