test: fix templates paths, CLI gating, and stress-suite harness

- tests/**: update templates/ → decnet/templates/ paths after module move
- tests/mysql_spinup.sh: use root:root and asyncmy driver
- tests/test_auto_spawn.py: patch decnet.cli.utils._pid_dir (package split)
- tests/test_cli.py: set DECNET_MODE=master in api-command tests
- tests/stress/conftest.py: run locust out-of-process via its CLI + CSV
  stats shim to avoid urllib3 RecursionError from late gevent monkey-patch;
  raise uvicorn startup timeout to 60s, accept 401 from auth-gated health,
  strip inherited DECNET_* env, surface stderr on 0-request runs
- tests/stress/test_stress.py: loosen baseline thresholds to match hw
This commit is contained in:
2026-04-19 23:50:53 -04:00
parent 262a84ca53
commit 195580c74d
22 changed files with 219 additions and 60 deletions

View File

@@ -1,5 +1,5 @@
"""
Unit tests for the JA3/JA3S parsing logic in templates/sniffer/server.py.
Unit tests for the JA3/JA3S parsing logic in decnet/templates/sniffer/server.py.
Imports the parser functions directly via sys.path manipulation, with
syslog_bridge mocked out (it's a container-side stub at template build time).
@@ -21,7 +21,7 @@ import pytest
_SNIFFER_DIR = str(Path(__file__).parent.parent / "decnet" / "templates" / "sniffer")
def _load_sniffer():
"""Load templates/sniffer/server.py with syslog_bridge stubbed out."""
"""Load decnet/templates/sniffer/server.py with syslog_bridge stubbed out."""
# Stub the syslog_bridge module that server.py imports
_stub = types.ModuleType("syslog_bridge")
_stub.SEVERITY_INFO = 6