- tests/lasuite-docs/PARITY.md: parity table for health_check.py (ported); oidc_login.py + upload_conversion.py documented as Q3.1 follow-up needing OIDC env wiring; ≥2 recipe-specific tests rationale (test_oidc_with_keycloak + test_auth_required). - tests/lasuite-docs/functional/test_health_check.py: parity port of recipe-info/lasuite-docs/tests/health_check.py — HTTP 200/301/302 from root. - tests/lasuite-docs/functional/test_auth_required.py: NEW recipe-specific — GET /api/v1.0/users/me/ asserts 401/403 (auth required). Non-vacuous: distinguishes correctly-wired OIDC gate from anonymous access (200), missing route (404), broken (5xx). The Q2.4 acceptance test (test_oidc_with_keycloak.py) continues to verify the dep resolver + SSO harness against the per-run keycloak dep (F2-5 fix verified cold; see ccci-f25-verify.log). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
29 lines
1.2 KiB
Python
29 lines
1.2 KiB
Python
"""lasuite-docs — parity port of recipe-maintainer's health_check.py (Phase 2 P2).
|
|
|
|
SOURCE: references/recipe-maintainer/recipe-info/lasuite-docs/tests/health_check.py
|
|
|
|
The original asserted HTTP 200 from `https://lasuite-docs.<DOMAIN_SUFFIX>`. The cc-ci port
|
|
preserves the assertion shape — non-error HTTP from the served root — adapted to the ephemeral
|
|
per-run domain via the `live_app` fixture. Runs in the custom tier against the shared post-install
|
|
live deployment.
|
|
"""
|
|
|
|
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_lasuite_docs_returns_200(live_app):
|
|
"""Parity with recipe-info/lasuite-docs/tests/health_check.py: HTTP 200 from `/`."""
|
|
url = f"https://{live_app}/"
|
|
# accept 200 (frontend SPA shell) — lasuite-docs serves the SPA at root unauthenticated;
|
|
# the SPA itself bootstraps via /api/v1.0/users/me/ which requires OIDC (separate test).
|
|
status, _ = harness_http.retry_http_get(url, expect_status=(200, 301, 302), max_wait=60, interval=3)
|
|
assert status in (200, 301, 302), (
|
|
f"lasuite-docs at {url} returned HTTP {status} (expected 200/301/302)"
|
|
)
|