/
Art86
/
DefectDojo-DevSecOps
Обзор
Документация
Войти
/
Art86
/
DefectDojo-DevSecOps
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
docker/entrypoint-unit-tests-devDocker.sh
90 строк
3 KB
valentijnscholten
Locations V3: add import performance test and autocorrect counts (#14501)
16 мар 2026, 17:48
Не верифицирован
16 мар 2026, 17:48
5dc55a3
Код
Авторство
О чём код?
#!/bin/bash # Run available unittests with a setup for local dev: # - Make migrations and apply any needed changes # - Leave container up after running tests to allow debugging, rerunning tests, etc. set -x set -e set -v . /secret-file-loader.sh . /reach_database.sh cd /app # Unset the database URL so that we can force the DD_TEST_DATABASE_NAME (see django "DATABASES" configuration in settings.dist.py) unset DD_DATABASE_URL # Unset the celery broker URL so that we can force the other DD_CELERY_BROKER settings unset DD_CELERY_BROKER_URL wait_for_database_to_be_reachable python3 manage.py makemigrations --no-input --check --dry-run --verbosity 3 || { cat <<-EOF ******************************************************************************** You made changes to the models without creating a DB migration for them. **NEVER** change existing migrations, create a new one. If you're not familiar with migrations in Django, please read the great documentation thoroughly: https://docs.djangoproject.com/en/5.0/topics/migrations/ ******************************************************************************** EOF exit 1 } python3 manage.py migrate # do the check with Django stack python3 manage.py check python3 manage.py spectacular --fail-on-warn > /dev/null || { cat <<-EOF ******************************************************************************** You made changes to the REST API without applying the correct schema annotations These schema annotations are needed to allow for the correct generation of the OpenAPI (v3) schema's and documentation. Review the warnings generated by drf-spectacular and see "dojo/api_v2/views.py" and/or "dojo/api_v2/serializers.py". You can check for warnings locally by running python3 manage.py spectacular > /dev/null This will output only warnings/errors, or nothing if everything is OK. More info at: https://drf-spectacular.readthedocs.io/en/latest/customization.html ******************************************************************************** EOF python3 manage.py spectacular > /dev/null } echo "Unit Tests" echo "------------------------------------------------------------" # Removing parallel and shuffle for now to maintain stability python3 manage.py test unittests -v 3 --keepdb --no-input --exclude-tag="non-parallel" --exclude-tag="performance" || { exit 1; } python3 manage.py test unittests -v 3 --keepdb --no-input --tag="non-parallel" --exclude-tag="performance" || { exit 1; } # you can select a single file to "test" unit tests # python3 manage.py test unittests.test_importers_performance.TestDojoImporterPerformance --keepdb -v 3 &> /app/dev2.log # or even a single method # python3 manage.py test unittests.tools.test_npm_audit_scan_parser.TestNpmAuditParser.test_npm_audit_parser_many_vuln_npm7 --keepdb -v 3 echo "End of tests. Leaving the container up" tail -f /dev/null