Files
Jyotisha/tests/test_technique_promotion_audit_kp_gochara_muhurta.py
2026-07-21 16:52:58 +08:00

39 lines
1.5 KiB
Python

from __future__ import annotations
import json
from pathlib import Path
from scripts.technique_promotion_audit_kp_gochara_muhurta import build_audit
ROOT = Path(__file__).resolve().parents[1]
def test_kp_gochara_muhurta_audit_splits_runtime_presence() -> None:
audit = build_audit(ROOT)
statuses = {item["technique_id"]: item["current_call_status"] for item in audit["items"]}
assert audit["scope"] == "technique_promotion_audit_kp_gochara_muhurta"
assert audit["truth_policy"] == "runtime_presence_not_oracle_closure"
assert statuses["panchanga_calendar"] == "partial"
assert statuses["muhurta_dashaflow_candidate"] == "oss_reference_not_main_runtime"
assert statuses["kp_astrology"] == "reference_only_not_main_runtime"
assert statuses["gochara_event_timing_template"] == "template_reference_not_main_runtime"
def test_kp_gochara_muhurta_audit_records_reuse_boundaries() -> None:
audit = build_audit(ROOT)
for item in audit["items"]:
assert item["reuse_decision"] in {"do_not_duplicate_runtime", "license_audit_before_reuse", "reference_only"}
assert item["next_action"]
assert item["claim_boundary"]
assert item["source_or_license_boundary"]
def test_kp_gochara_muhurta_audit_artifact_exists() -> None:
artifact = ROOT / "references/oracle/technique_promotion_audit_kp_gochara_muhurta_2026_07_19.json"
data = json.loads(artifact.read_text(encoding="utf-8"))
assert data["summary"] == {
"items_checked": 4,
"formally_called_count": 0,
"reference_only_count": 3,
}