authentic/tox.ini

139 lines
3.2 KiB
INI

# Tox (http://tox.testrun.org/) is a tool for running tests
# in multiple virtualenvs. This configuration file will run the
# test suite on all supported python versions. To use it, "pip install tox"
# and then run "tox" from this directory.
[tox]
toxworkdir = {env:TMPDIR:/tmp}/tox-{env:USER}/authentic/
envlist =
code-style
authentic-py3-dj111-drf39
authentic-py3-dj22-drf39
[tox:jenkins]
envlist =
pylint
rbac-py3-dj111
rbac-py3-dj22
authentic-py3-dj111-drf34
authentic-py3-dj111-drf39
authentic-py3-dj22-drf39
[testenv]
setenv =
authentic: AUTHENTIC2_SETTINGS_FILE=tests/settings.py
authentic: DJANGO_SETTINGS_MODULE=authentic2.settings
rbac: DJANGO_SETTINGS_MODULE=django_rbac.test_settings
authentic: TESTS=tests/
authentic-oldldap: TESTS=tests/test_ldap.py
rbac: TESTS=tests_rbac/
DB_ENGINE=django.db.backends.postgresql_psycopg2
SETUPTOOLS_USE_DISTUTILS=stdlib
JUNIT={tty::-o junit_suite_name={envname} --junit-xml=junit-{envname}.xml}
COVERAGE={tty::--cov --cov-append --cov-report xml --cov-report html --cov-config=tox.ini}
fast: FAST=--nomigrations
reusedb: REUSEDB=--reuse-db
!nosw: SW={tty:--sw:}
slow: PYTESTOPTIONS={env:PYTESTOPTIONS:} --slow
passenv=
BRANCH_NAME
# support for pg_virtualenv
PGPORT
PGHOST
PGUSER
PGPASSWORD
PYTESTOPTIONS
deps =
pip > 9
dj111: django<2.0
dj22: django<2.3
django-tables<2.0
psycopg2-binary
coverage
pytest-cov
pytest-django
pytest-random
mock<4
pytest!=5.3.3
lxml
cssselect
django-webtest
Markdown<3
WebTest
pyquery
httmock
pytz
pytest-freezegun
faker
enum34<=1.1.6
ldaptools>=0.15
oldldap: python-ldap<3
py2: django-appconf<1.0.4
py2: django-filter<2
py3: django-filter<2.3
drf34: djangorestframework>=3.4,<3.4.1
drf39: djangorestframework>=3.9.2,<3.10
usedevelop = True
commands =
py2: ./getlasso.sh
py3: ./getlasso3.sh
authentic: ./check-migrations.sh
rbac,authentic: py.test {env:PYTESTOPTIONS:} {env:FAST:} {env:REUSEDB:} {env:COVERAGE:} {env:JUNIT:} {env:SW:} {posargs:{env:TESTS} --random-group}
[testenv:pylint]
basepython = python3
setenv =
DJANGO_SETTINGS_MODULE=authentic2.settings
SETUPTOOLS_USE_DISTUTILS=stdlib
deps =
pylint
pylint-django
psycopg2-binary
commands =
./getlasso3.sh
bash -c 'pylint -f parseable --rcfile pylint.rc src/authentic2_idp_cas src/authentic2_auth_oidc src/authentic2_idp_oidc src/authentic2_auth_saml src/authentic2 src/django_rbac src/authentic2_auth_fc | tee pylint.out'
[testenv:manage]
usedevelop = True
setenv =
DJANGO_SETTINGS_MODULE=authentic2.settings
AUTHENTIC2_SETTINGS_FILE=local_settings.py
deps =
psycopg2-binary
django-debug-toolbar
ipython
ipdb
commands =
./getlasso3.sh
./authentic2-ctl {posargs:--help}
[testenv:code-style]
skip_install = true
deps =
pre-commit
commands =
pre-commit run black --all-files --show-diff-on-failure
pre-commit run isort --all-files --show-diff-on-failure
[pytest]
filterwarnings =
ignore
once:::authentic2.*
junit_family=xunit2
[coverage:run]
source =
authentic2
authentic2_auth_fc
authentic2_auth_oidc
authentic2_auth_saml
authentic2_idp_cas
authentic2_idp_oidc
django_rbac
branch = True