38 lines
2.3 KiB
Markdown
38 lines
2.3 KiB
Markdown
# Hope multi-user qualification
|
|
|
|
## Offline regression suite (no NAS or model calls)
|
|
|
|
```sh
|
|
python -m venv .venv-tests
|
|
.venv-tests/bin/python -m pip install pytest pytest-asyncio -r control/requirements.txt
|
|
.venv-tests/bin/python -m pytest --noconftest tests/unit/test_accounts.py tests/unit/test_provisioner.py tests/unit/test_token_bootstrap.py tests/unit/test_deploy_rollback.py -q
|
|
agent/.venv/bin/python -m unittest discover -s tests/unit -p test_hermes_llm.py -v
|
|
```
|
|
|
|
Covers authorization, revocation, CSRF, lifecycle/restart failures, Docker ownership, authenticated server-derived room routing, SSE framing, content-only output, cancellation, redacted errors, and wait/final-answer callbacks.
|
|
|
|
## Azure English voice regression
|
|
|
|
```sh
|
|
.venv-tests/bin/python -m pytest --noconftest tests/unit/test_voice_catalog.py tests/unit/test_voice_settings_ui.py -q
|
|
```
|
|
|
|
Catalog tests mock Azure and the authenticated account boundary. Browser tests
|
|
require Playwright Chromium and use local assets with mocked APIs, never the NAS.
|
|
They cover the Ava Omni default, legacy HD preference migration, English accents,
|
|
search/selection, cache/failure recovery, and anonymous/revoked-account denial.
|
|
Derived Omni personas follow Microsoft's documented naming convention; individual
|
|
voice synthesis and regional availability still require live Azure qualification.
|
|
|
|
## Legacy tests
|
|
|
|
Top-level `test_*.py` and `conftest.py` describe the former OpenWebUI/MCP architecture and default to live Unraid. **Do not run them as the migrated regression suite.** Retained only as historical references: weather/dispatch/local memory and anonymous-token assumptions no longer apply. Hope Music remains an independent deployment.
|
|
|
|
## Live qualification
|
|
|
|
Explicitly opt in with administrator-created test accounts. Never put passwords or bearer tokens in test source/argv. Confirm anonymous denial, browser login/admin creation, ready private containers, direct Hermes content, tool progress and final reply, normal-user administration denial, account deletion/container removal/session revocation, logout room revocation, and account-scoped history isolation.
|
|
|
|
API/UI/stream evidence is not physical microphone or iPhone audio/interruption qualification. Recorded results and limitations are in `QUALIFICATION.md`.
|
|
|
|
Keep credentials in protected ignored runtime files; never print response tokens or Docker environment contents.
|