1.8 KiB
mattermost-lts — parity & coverage map (Phase 2)
P2 — Parity port
No recipe-maintainer corpus exists for mattermost-lts (/srv/recipe-maintainer/recipe-info/ has
no mattermost-lts/ entry). P2 (parity) is therefore vacuously satisfied — there are no
recipe-info/mattermost-lts/tests/*.py scripts to port. Coverage is delivered entirely via the
generic lifecycle tiers (install/upgrade/backup/restore) + the recipe-specific functional tests below.
Lifecycle (generic tiers — Phase 1d/1e)
mattermost-lts ships no test_<op>.py overlays, so the generic install/upgrade/backup/restore
tiers run by default (the Phase-1e invariant: no overlay ⇒ generic runs). The stack bundles its own
postgres in-compose (no external dep), so no dependency resolution is needed.
P3 — Recipe-specific functional tests
functional/test_health_check.pytest_root_serves— web app served at/(200/302).test_system_ping_ok— GET/api/v4/system/ping→{"status":"OK"}(proves the mattermost server + API router are live, not a Traefik fallback).
functional/test_create_message.py— §4.3 prescribed create-an-object + read-it-back (planned, authored against the live instance): create the first user (system admin) → login → create team → create channel → POST a message → GET it back → assert the message text round-trips. (In progress — requires response-header access for the mattermost loginToken; harness.http extension pending.)
P4 — Backup data-integrity
Planned ops.py: pre_backup seeds an identifiable message via the API; pre_restore mutates/wipes;
the restore assertion re-reads the message and asserts it survived (recipe-aware, not health-only).
(Follows once the create-message API flow is proven green.)