"""custom-html-bkp-bad — lifecycle ops for bad-backup/bad-restore RED canaries.

Intentionally has NO pre_backup hook: the marker is never seeded before backup,
so the backup snapshot has no ci-marker.txt. pre_restore writes "mutated" so that if
restore DOES bring back the snapshot, the marker is gone/still-mutated → test fails.
"""

from __future__ import annotations

from harness import lifecycle

MARKER_PATH = "/usr/share/nginx/html/ci-marker.txt"


def pre_restore(ctx) -> None:
    """Write 'mutated' to the marker before restore runs. If restore brings back the
    snapshot (which has no marker — never seeded by pre_backup), the marker ends up
    MISSING or 'mutated' after restore → test_restore_returns_state FAILS → restore=RED."""
    lifecycle.exec_in_app(ctx.domain, ["sh", "-c", f"echo mutated > {MARKER_PATH}"])
