"""plausible — Phase-2 health_check."""

from __future__ import annotations

import os
import sys

sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "..", "..", "runner"))
from harness import http as harness_http  # noqa: E402


def test_plausible_root_serves(live_app):
    """GET /api/health → 200 (clickhouse+postgres ready).

    `/` is NOT a reliable health probe (500s during datastore init; 302s to
    /register once ready — and 500'd permanently under the pre-2026-06-11
    62-char SECRET_KEY_BASE, see recipe_meta.EXTRA_ENV); the dedicated
    /api/health endpoint is.
    """
    # The custom tier runs AFTER the backup/restore tier, which disrupts postgres under the app and
    # restarts it. v3 (community-edition) then boots through `sleep 10` + `db createdb` + `db migrate`
    # + cache warmers before /api/health flips to 200, which does not fit in 60s — that is what put
    # this recipe RED on build 1224 while install/upgrade/backup/restore all passed. The assertion is
    # unchanged (still a hard 200 from the real readiness endpoint); only the wait matches the boot
    # profile the recipe already declares via recipe_meta.HTTP_TIMEOUT (1200).
    url = f"https://{live_app}/api/health"
    status, _ = harness_http.retry_http_get(url, expect_status=(200,), max_wait=300, interval=5)
    assert status == 200, f"GET {url} HTTP {status}"
