1
0
mirror of https://github.com/quay/quay.git synced 2025-04-18 10:44:06 +03:00
quay/tox.ini
Syed Ahmed e9161cb3ae
robots: Add robot federation for keyless auth (PROJQUAY-7803) (#3207)
robots: Add robot federation for keyless auth (PROJQUAY-7652)

adds the ability to configure federated auth for robots by
using external OIDC providers. Each robot can be configured
to have multiple external OIDC providers as the source for
authentication.
2024-09-24 11:32:38 -04:00

100 lines
3.2 KiB
INI

[tox]
envlist = py39-{unit,registry,e2e,mysql,psql}
skipsdist = True
[pytest]
norecursedirs = node_modules
testpaths = ./
python_files = **/test/test*.py
log_cli = 0
log_cli_level = INFO
[testenv]
deps =
-r{toxinidir}/requirements-dev.txt
setenv =
PYTHONDONTWRITEBYTECODE = 1
PYTHONPATH={toxinidir}{:}{toxinidir}
TEST=true
MARKERS="not e2e"
registry: FILE=test/registry/registry_tests.py
e2e: MARKERS="e2e"
# TODO(kleesc): Re-enable buildman tests after buildman rewrite
commands =
python --version
alembic upgrade head
pytest --timeout=3600 -m {env:MARKERS} --exitfirst --ignore=buildman/test/test_buildman.py -vv {env:FILE:} {posargs}
[docker:mysql]
image = mysql:5.7
healthcheck_cmd = mysql -uroot -D information_schema -e "SELECT * FROM plugins LIMIT 0;"
healthcheck_interval = 25
healthcheck_timeout = 10
healthcheck_retries = 3
healthcheck_start_period = 25
ports = 3306:3306/tcp
environment =
MYSQL_DATABASE=quay_ci
MYSQL_PASSWORD=quay
MYSQL_ALLOW_EMPTY_PASSWORD=1
MYSQL_USER=quay
[testenv:py39-unit]
setenv =
PYTHONDONTWRITEBYTECODE = 1
PYTHONPATH={toxinidir}{:}{toxinidir}
TEST=true
SKIP_DB_SCHEMA=true
MARKERS="not e2e"
TEST_DATABASE_URI=sqlite:///test/data/sqlite_test.db
commands =
python --version
alembic upgrade head
pytest --timeout=3600 -m {env:MARKERS} --exitfirst --ignore=buildman/test/test_buildman.py -vv {env:FILE:} {posargs}
[testenv:py39-mysql]
setenv =
PYTHONDONTWRITEBYTECODE = 1
PYTHONPATH={toxinidir}{:}{toxinidir}
TEST=true
SKIP_DB_SCHEMA=true
MARKERS="not e2e"
docker = mysql
whitelist_internals = /bin/sh
allowlist_externals = /bin/sh
# TODO(kleesc): Re-enable buildman tests after buildman rewrite
commands =
python --version
/bin/sh -c "TEST_DATABASE_URI=mysql+pymysql://quay:quay@127.0.0.1:$MYSQL_3306_TCP_PORT/quay_ci alembic upgrade head"
/bin/sh -c 'TEST_DATABASE_URI=mysql+pymysql://quay:quay@127.0.0.1:$MYSQL_3306_TCP_PORT/quay_ci pytest --timeout=3600 -m {env:MARKERS} --exitfirst --ignore=buildman/test/test_buildman.py -vv {env:FILE:} {posargs}'
[docker:postgres]
image = postgres:12.1
healthcheck_cmd = PGPASSWORD=root pg_isready -U postgres
healthcheck_interval = 5
healthcheck_timeout = 10
healthcheck_retries = 3
healthcheck_start_period = 10
environment =
POSTGRES_DB=quay_ci
POSTGRES_PASSWORD=quay
POSTGRES_USER=quay
[testenv:py39-psql]
# TODO(kleesc): Re-enable buildman tests after buildman rewrite
setenv =
PYTHONDONTWRITEBYTECODE = 1
PYTHONPATH={toxinidir}{:}{toxinidir}
TEST=true
SKIP_DB_SCHEMA=true
MARKERS="not e2e"
docker = postgres
whitelist_internals = /bin/sh
allowlist_externals = /bin/sh
# TODO(kleesc): Re-enable buildman tests after buildman rewrite
commands =
python --version
/bin/sh -c "docker exec $(docker ps -q -n 1) psql -U quay -d quay_ci -c 'CREATE EXTENSION IF NOT EXISTS pg_trgm;'"
/bin/sh -c "TEST_DATABASE_URI=postgresql://quay:quay@127.0.0.1:$POSTGRES_5432_TCP_PORT/quay_ci alembic upgrade head"
/bin/sh -c 'TEST_DATABASE_URI=postgresql://quay:quay@127.0.0.1:$POSTGRES_5432_TCP_PORT/quay_ci pytest --timeout=3600 -m {env:MARKERS} --exitfirst --ignore=buildman/test/test_buildman.py -vv {env:FILE:} {posargs}'