AgentSkillsCN

netalertx-testing-workflow

在 NetAlertX 的 Devcontainer 环境中运行并调试测试。当用户需要运行测试、检查测试失败情况、调试测试故障,或执行 pytest 测试时,可使用此技能。

SKILL.md
--- frontmatter
name: netalertx-testing-workflow
description: Run and debug tests in the NetAlertX devcontainer. Use this when asked to run tests, check test failures, debug failing tests, or execute pytest.

Testing Workflow

Pre-Flight Check (MANDATORY)

Before running any tests, always check for existing failures first:

  1. Use the testFailure tool to gather current failure information
  2. Review the failures to understand what's already broken
  3. Only then proceed with test execution

Running Tests

Use VS Code's testing interface or the runTests tool with appropriate parameters:

  • To run all tests: invoke runTests without file filter
  • To run specific test file: invoke runTests with the test file path
  • To run failed tests only: invoke runTests with --lf flag

Test Location

Tests live in test/ directory. App code is under server/.

PYTHONPATH is preconfigured to include the following which should meet all needs:

  • /app # the primary location where python runs in the production system
  • /app/server # symbolic link to /wprkspaces/NetAlertX/server
  • /app/front/plugins # symbolic link to /workspaces/NetAlertX/front/plugins
  • /opt/venv/lib/pythonX.Y/site-packages
  • /workspaces/NetAlertX/test
  • /workspaces/NetAlertX/server
  • /workspaces/NetAlertX
  • /usr/lib/pythonX.Y/site-packages

Authentication in Tests

Retrieve API_TOKEN using Python (not shell):

python
from helper import get_setting_value
token = get_setting_value("API_TOKEN")

Troubleshooting 403 Forbidden

  1. Ensure backend is running (use devcontainer-services skill)
  2. Verify config loaded: get_setting_value("API_TOKEN") returns non-empty
  3. Re-run startup if needed (use devcontainer-setup skill)

Docker Test Image

If container changes affect tests, rebuild the test image first:

bash
docker buildx build -t netalertx-test .

This takes ~30 seconds unless venv stage changes (~90s).