Mirrors lasuite-drive machinery (sibling La Suite recipe): install_steps.sh wires OIDC at install
(client_id from deps, scopes 'openid email'); ops.py + test_{install,upgrade,backup,restore}.py
lifecycle overlays (postgres meet/meet ci_marker data-integrity); functional/test_health_check.py
(parity) + test_oidc_with_keycloak.py (password-grant JWT vs dep keycloak, realm lasuite-meet-<6hex>).
§4.3 meeting_flow + webrtc specifics next (after install+OIDC validated). No setup_custom_tests.sh
(no post-deploy step — OIDC at install, no minio/collabora).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
23 lines
861 B
Python
23 lines
861 B
Python
"""lasuite-meet — BACKUP overlay (Phase 1e HC3): assertion-only + additive.
|
|
|
|
ops.pre_backup wrote "original" into postgres before the backup op (pg_backup.sh dumps the DB); the
|
|
orchestrator performed the backup once (generic tier asserted a snapshot artifact). This overlay
|
|
ADDS: the seeded row is intact at backup time."""
|
|
|
|
import os
|
|
import sys
|
|
|
|
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "..", "runner"))
|
|
from harness import lifecycle # noqa: E402
|
|
|
|
|
|
def _psql(domain, sql):
|
|
cmd = f'PGPASSWORD=$(cat /run/secrets/postgres_p) psql -U meet -d meet -tAc "{sql}"'
|
|
return lifecycle.exec_in_app(domain, ["sh", "-c", cmd], service="db").strip()
|
|
|
|
|
|
def test_backup_captures_state(live_app):
|
|
assert (
|
|
_psql(live_app, "SELECT v FROM ci_marker;") == "original"
|
|
), "the seeded postgres state was not present at backup time"
|