Skip to content
Snippets Groups Projects
tox.ini 2.09 KiB
Newer Older
Tom Teichler's avatar
Tom Teichler committed
[tox]
skipsdist = True
skip_missing_interpreters = true
envlist = py39,py310,py311
Tom Teichler's avatar
Tom Teichler committed

[testenv]
Aleksolotl's avatar
Aleksolotl committed
allowlist_externals =
    poetry
    yarnpkg
Tom Teichler's avatar
Tom Teichler committed
skip_install = true
commands_pre =
Aleksolotl's avatar
Aleksolotl committed
     poetry install --all-extras
     poetry run aleksis-admin vite build
     poetry run aleksis-admin collectstatic --no-input
Tom Teichler's avatar
Tom Teichler committed
commands =
    poetry run pytest --cov=. {posargs} aleksis/
Tom Teichler's avatar
Tom Teichler committed

[testenv:selenium]
setenv =
    TEST_SCREENSHOT_PATH = {env:TEST_SCREENSHOT_PATH:.tox/screenshots}
    TEST_SELENIUM_HUB = {env:TEST_SELENIUM_HUB:http://127.0.0.1:4444/wd/hub}
    TEST_SELENIUM_BROWSERS = {env:TEST_SELENIUM_BROWSERS:chrome,firefox}
    TEST_HOST = {env:TEST_HOST:172.17.0.1}

[testenv:lint]
Aleksolotl's avatar
Aleksolotl committed
commands_pre =
    poetry install --only=dev
Aleksolotl's avatar
Aleksolotl committed
    yarnpkg --cwd=.dev-js
Tom Teichler's avatar
Tom Teichler committed
commands =
Aleksolotl's avatar
Aleksolotl committed
    poetry run ruff check {posargs} aleksis/
Aleksolotl's avatar
Aleksolotl committed
    yarnpkg --cwd=.dev-js run prettier --ignore-path={toxinidir}/.prettierignore {posargs} --check ..
    yarnpkg --cwd=.dev-js run eslint ../aleksis/**/*/frontend/**/*.{js,vue} --config={toxinidir}/.eslintrc.js
Tom Teichler's avatar
Tom Teichler committed

[testenv:security]
Aleksolotl's avatar
Aleksolotl committed
commands_pre =
    poetry install --all-extras
Tom Teichler's avatar
Tom Teichler committed
commands =
    poetry show --no-dev
    poetry run safety check --full-report

[testenv:build]
commands_pre =
    poetry run sh -c "cd aleksis; aleksis-admin compilemessages"
Tom Teichler's avatar
Tom Teichler committed
commands = poetry build

[testenv:docs]
Aleksolotl's avatar
Aleksolotl committed
commands_pre =
    poetry install
Tom Teichler's avatar
Tom Teichler committed
commands = poetry run make -C docs/ html {posargs}

[testenv:reformat]
Aleksolotl's avatar
Aleksolotl committed
commands_pre =
    poetry install --only=dev
Aleksolotl's avatar
Aleksolotl committed
    yarnpkg --cwd=.dev-js
Tom Teichler's avatar
Tom Teichler committed
commands =
Aleksolotl's avatar
Aleksolotl committed
    poetry run ruff format aleksis/
Aleksolotl's avatar
Aleksolotl committed
    yarnpkg --cwd=.dev-js run prettier --ignore-path={toxinidir}/.prettierignore --write ..
Tom Teichler's avatar
Tom Teichler committed

[testenv:makemessages]
Aleksolotl's avatar
Aleksolotl committed
commands_pre =
    poetry install
commands =
    poetry run aleksis-admin makemessages --no-wrap -e html,txt,py,email -i static -l ar -l de_DE -l fr -l nb_NO -l tr_TR -l la -l uk -l ru
    poetry run aleksis-admin makemessages --no-wrap -d djangojs -i **/node_modules -l ar -l de_DE -l fr -l nb_NO -l tr_TR -l la -l uk -l ru
Tom Teichler's avatar
Tom Teichler committed
[pytest]
DJANGO_SETTINGS_MODULE = aleksis.core.settings
junit_family = legacy

[coverage:run]
omit =
    */migrations/*
    */tests/*
    .tox/*
    manage.py