railiance-infra/tests/test_reef_exposure.py
codex 61c6082ea8
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Gate reef web ports on exposure grants
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a02669-87ee-7a31-b111-edc95a16e0fa
2026-08-22 12:34:25 +02:00

57 lines
1.9 KiB
Python

from __future__ import annotations
import importlib.util
import copy
import unittest
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
SPEC = importlib.util.spec_from_file_location("reef_exposure", ROOT / "scripts" / "validate-reef-exposure.py")
assert SPEC and SPEC.loader
module = importlib.util.module_from_spec(SPEC)
SPEC.loader.exec_module(module)
GrantError = module.GrantError
validate = module.validate
VALID = {
"kind": "substrate-reef",
"reef_id": "reef-example",
"primary_rail": "rail-kubernetes",
"exposure": {
"posture": "public",
"grants": [
{"port": 80, "reason": "redirect", "approved_on": "2026-08-22", "residual_risk_owner": "infra"},
{"port": 443, "reason": "tls", "approved_on": "2026-08-22", "residual_risk_owner": "infra"},
],
},
}
class ReefExposureTests(unittest.TestCase):
def test_valid_public_web_grants(self) -> None:
self.assertEqual([80, 443], validate(VALID, [80, 443])["validated_ports"])
def test_private_reef_fails(self) -> None:
payload = {**VALID, "exposure": {"posture": "private"}}
with self.assertRaisesRegex(GrantError, "must be public"):
validate(payload, [443])
def test_missing_port_fails(self) -> None:
payload = copy.deepcopy(VALID)
payload["exposure"]["grants"] = payload["exposure"]["grants"][:1]
with self.assertRaisesRegex(GrantError, "port 443"):
validate(payload, [443])
def test_kubernetes_api_is_never_grantable(self) -> None:
with self.assertRaisesRegex(GrantError, "operator-only"):
validate(VALID, [6443])
def test_provider_delegated_reef_fails(self) -> None:
payload = {key: value for key, value in VALID.items() if key != "primary_rail"}
with self.assertRaisesRegex(GrantError, "provider-delegated"):
validate(payload, [443])
if __name__ == "__main__":
unittest.main()