mirror of
https://github.com/jokob-sk/NetAlertX.git
synced 2026-04-05 09:41:56 -07:00
1.9 KiB
1.9 KiB
name, description
| name | description |
|---|---|
| testing-workflow | Guide for running tests within the NetAlertX environment. Detailed instructions for standard unit tests (fast), full suites (slow), and handling authentication. |
Testing Workflow
Crucial: Tests MUST be run inside the container to access the correct runtime environment (DB, Config, Dependencies).
1. Standard Unit Tests (Recommended)
By default, run the standard unit test suite. This excludes slow tests marked with docker (requires socket access) or feature_complete (extended coverage).
docker exec <CONTAINER_ID> bash -c "cd /workspaces/NetAlertX && pytest -m 'not docker and not feature_complete'"
2. Full Test Suite (Slow)
To run all tests, including integration tests that require Docker socket access and extended feature coverage:
docker exec <CONTAINER_ID> bash -c "cd /workspaces/NetAlertX && pytest"
3. Running Specific Tests
To run a specific file or folder:
docker exec <CONTAINER_ID> bash -c "cd /workspaces/NetAlertX && pytest <path_to_test>"
Example:
docker exec <CONTAINER_ID> bash -c "cd /workspaces/NetAlertX && pytest test/api_endpoints/test_mcp_extended_endpoints.py"
Authentication in Tests
The test environment uses API_TOKEN. The most reliable way to retrieve the current token from a running container is:
docker exec <CONTAINER_ID> python3 -c "from helper import get_setting_value; print(get_setting_value('API_TOKEN'))"
Troubleshooting
If tests fail with 403 Forbidden or empty tokens:
- Verify server is running and use the setup script (
/workspaces/NetAlertX/.devcontainer/scripts/setup.sh) if required. - Verify
app.confinside the container:docker exec <ID> cat /data/config/app.conf - Verify Python can read it:
docker exec <ID> python3 -c "from helper import get_setting_value; print(get_setting_value('API_TOKEN'))"