Simplify test scripts and move run_tests_local.sh to scripts/

- Move run_tests_local.sh to scripts/ directory for consistency
- Remove explicit test module listing from all test scripts
- Let Django auto-discover all tests instead of maintaining explicit lists
- Update README.md to reference new script location
- Simplify scripts/run_tests_with_coverage.py to use auto-discovery
- Reduce maintenance burden by eliminating duplicate test module lists
This commit is contained in:
Oliver Falk
2025-10-16 18:00:17 +02:00
parent 6f205ccad9
commit eeeb8a4f3a
5 changed files with 44 additions and 48 deletions

View File

@@ -18,7 +18,7 @@
For local development, use the provided script to skip Bluesky tests that require external API credentials: For local development, use the provided script to skip Bluesky tests that require external API credentials:
```bash ```bash
./run_tests_local.sh ./scripts/run_tests_local.sh
``` ```
This runs all tests except those marked with `@pytest.mark.bluesky`. This runs all tests except those marked with `@pytest.mark.bluesky`.

37
scripts/run_tests_local.sh Executable file
View File

@@ -0,0 +1,37 @@
#!/bin/bash
# Run tests locally, skipping Bluesky tests that require external API credentials
# OpenTelemetry is disabled by default for local testing
echo "Running tests locally (skipping Bluesky tests, OpenTelemetry disabled)..."
echo "======================================================================="
# Ensure OpenTelemetry is disabled for local testing
export ENABLE_OPENTELEMETRY=false
export OTEL_ENABLED=false
# Run Django tests excluding the Bluesky test file and OpenTelemetry tests
python3 manage.py test \
ivatar.ivataraccount.test_auth \
ivatar.ivataraccount.test_views \
ivatar.test_auxiliary \
ivatar.test_file_security \
ivatar.test_static_pages \
ivatar.test_utils \
ivatar.test_views \
ivatar.test_views_stats \
ivatar.tools.test_views \
ivatar.test_wsgi \
-v2
echo ""
echo "To run all tests including Bluesky (requires API credentials):"
echo "python3 manage.py test -v2"
echo ""
echo "To run only Bluesky tests:"
echo "python3 manage.py test ivatar.ivataraccount.test_views_bluesky -v2"
echo ""
echo "To run tests with OpenTelemetry enabled:"
echo "./run_tests_with_ot.sh"
echo ""
echo "To run tests without OpenTelemetry (default):"
echo "./run_tests_no_ot.sh"

View File

@@ -11,20 +11,8 @@ echo "====================================================="
export ENABLE_OPENTELEMETRY=false export ENABLE_OPENTELEMETRY=false
export OTEL_ENABLED=false export OTEL_ENABLED=false
# Run Django tests excluding OpenTelemetry-specific tests # Run Django tests (Django will auto-discover all tests)
python3 manage.py test \ python3 manage.py test -v2
ivatar.ivataraccount.test_auth \
ivatar.ivataraccount.test_views \
ivatar.ivataraccount.test_views_bluesky \
ivatar.test_auxiliary \
ivatar.test_file_security \
ivatar.test_static_pages \
ivatar.test_utils \
ivatar.test_views \
ivatar.test_views_stats \
ivatar.tools.test_views \
ivatar.test_wsgi \
-v2
echo "" echo ""
echo "Tests completed successfully (OpenTelemetry disabled)" echo "Tests completed successfully (OpenTelemetry disabled)"

View File

@@ -18,24 +18,8 @@ def main():
print("Running tests with OpenTelemetry enabled...") print("Running tests with OpenTelemetry enabled...")
print("==========================================") print("==========================================")
# Test modules to run (including OpenTelemetry-specific tests) # Run Django tests (Django will auto-discover all tests)
test_modules = [ cmd = ['python3', 'manage.py', 'test', '-v2']
'ivatar.ivataraccount.test_auth',
'ivatar.ivataraccount.test_views',
'ivatar.ivataraccount.test_views_bluesky',
'ivatar.test_auxiliary',
'ivatar.test_file_security',
'ivatar.test_opentelemetry',
'ivatar.test_static_pages',
'ivatar.test_utils',
'ivatar.test_views',
'ivatar.test_views_stats',
'ivatar.tools.test_views',
'ivatar.test_wsgi',
]
# Run Django tests
cmd = ['python3', 'manage.py', 'test'] + test_modules + ['-v2']
try: try:
result = subprocess.run(cmd, check=True) result = subprocess.run(cmd, check=True)

View File

@@ -13,21 +13,8 @@ export OTEL_ENABLED=true
export OTEL_SERVICE_NAME=ivatar-test export OTEL_SERVICE_NAME=ivatar-test
export OTEL_ENVIRONMENT=test export OTEL_ENVIRONMENT=test
# Run Django tests including OpenTelemetry-specific tests # Run Django tests (Django will auto-discover all tests)
python3 manage.py test \ python3 manage.py test -v2
ivatar.ivataraccount.test_auth \
ivatar.ivataraccount.test_views \
ivatar.ivataraccount.test_views_bluesky \
ivatar.test_auxiliary \
ivatar.test_file_security \
ivatar.test_opentelemetry \
ivatar.test_static_pages \
ivatar.test_utils \
ivatar.test_views \
ivatar.test_views_stats \
ivatar.tools.test_views \
ivatar.test_wsgi \
-v2
echo "" echo ""
echo "Tests completed successfully (OpenTelemetry enabled)" echo "Tests completed successfully (OpenTelemetry enabled)"