[tox] skipsdist = True skip_missing_interpreters = true envlist = py39,py310,py311 [testenv] allowlist_externals = poetry sudo node skip_install = true envdir = {toxworkdir}/globalenv commands_pre = poetry install -E ldap poetry run aleksis-admin vite build poetry run aleksis-admin collectstatic --no-input commands = poetry run pytest --cov=. {posargs} aleksis/ setenv= NODE_PATH=cache/node_modules/ [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] commands = poetry run black --check --diff aleksis/ poetry run isort -c --diff --stdout aleksis/ poetry run flake8 {posargs} aleksis/ node cache/node_modules/.bin/prettier --check . node cache/node_modules/.bin/eslint aleksis/**/*/frontend/**/*.{js,vue} [testenv:security] commands = poetry show --no-dev poetry run safety check --full-report [testenv:build] commands_pre = poetry install poetry run sh -c "cd aleksis; aleksis-admin compilemessages" commands = poetry build [testenv:docs] commands = poetry run make -C docs/ html {posargs} [testenv:reformat] commands = poetry run isort aleksis/ poetry run black aleksis/ node cache/node_modules/.bin/prettier --write . [testenv:makemessages] 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 [flake8] max_line_length = 100 exclude = migrations,tests ignore = BLK100,E203,E231,W503,D100,D101,D102,D103,D104,D105,D106,D107,RST215,RST214,F821,F841,S106,T100,T101,DJ05 [isort] profile = black line_length = 100 default_section = THIRDPARTY known_first_party = aleksis known_django = django skip = migrations sections = FUTURE,STDLIB,DJANGO,THIRDPARTY,FIRSTPARTY,LOCALFOLDER [pytest] DJANGO_SETTINGS_MODULE = aleksis.core.settings junit_family = legacy [coverage:run] omit = */migrations/* */tests/* .tox/* manage.py