"""bluesky-pds — Phase-2 health_check (recipe-maintainer corpus has no health_check.py). Tests the PDS's `/xrpc/_health` endpoint; asserts 200 + JSON with a `version` field. """ 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_pds_health_returns_version(live_app): """GET /xrpc/_health → 200, JSON {"version": "..."}.""" url = f"https://{live_app}/xrpc/_health" status, body = harness_http.retry_http_get(url, expect_status=200, max_wait=60, interval=3) assert status == 200, f"GET {url} HTTP {status} (expected 200)" assert ( isinstance(body, dict) and isinstance(body.get("version"), str) and body["version"] ), f"GET {url} response is not the expected health envelope: {body!r}"