38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
from pathlib import Path
|
|
|
|
ROOT = Path(__file__).resolve().parents[1]
|
|
RFC = ROOT / "docs" / "rfcs" / "canonical-session-resolution.md"
|
|
RFC_INDEX = ROOT / "docs" / "rfcs" / "README.md"
|
|
CONTRACTS = ROOT / "docs" / "CONTRACTS.md"
|
|
|
|
|
|
def test_canonical_session_resolution_rfc_is_indexed():
|
|
assert RFC.exists(), "canonical session resolution RFC must exist"
|
|
|
|
rel = "docs/rfcs/canonical-session-resolution.md"
|
|
rfc_index = RFC_INDEX.read_text(encoding="utf-8")
|
|
contracts = CONTRACTS.read_text(encoding="utf-8")
|
|
|
|
assert "canonical-session-resolution.md" in rfc_index
|
|
assert rel in contracts
|
|
|
|
|
|
def test_canonical_session_resolution_contract_names_entrypoints_and_outputs():
|
|
text = RFC.read_text(encoding="utf-8")
|
|
|
|
required_terms = [
|
|
"URL route",
|
|
"query parameter",
|
|
"localStorage",
|
|
"sidebar",
|
|
"pre_compression_snapshot",
|
|
"canonical_visible_session_id",
|
|
"continuation_session_id",
|
|
"parent_session_id",
|
|
"direct session open",
|
|
"browser boot restore",
|
|
]
|
|
|
|
missing = [term for term in required_terms if term not in text]
|
|
assert missing == []
|