mirror of
https://github.com/quay/quay.git
synced 2025-04-18 10:44:06 +03:00
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.
100 lines
3.2 KiB
INI
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}'
|