"""Mode contract bundle (MAS-WP-0010 T02/T03/T07): vendored copies, fixtures, flows, and the gateway event schema checked against real gateway output.""" from pathlib import Path import pytest from mas_core.discovery import Response, discover from mas_gateway.core import Resolver, build_event, message_meta_from_rfc822 from mas_modes import event_errors from mas_modes.runner import run_mode_corpus ROOT = Path(__file__).resolve().parents[1] BUNDLE = ROOT / "mas-modes-v0.1-spec" VENDORED = ROOT / "mas_modes" @pytest.mark.parametrize("rel", sorted(str(p.relative_to(BUNDLE)) for p in BUNDLE.glob("*/*.json"))) def test_vendored_copy_matches_bundle(rel): assert (BUNDLE / rel).read_bytes() == (VENDORED / rel).read_bytes() def test_mode_corpus(): rep = run_mode_corpus() assert rep.ok, rep.failures assert rep.passed >= 170 @pytest.mark.parametrize("recipient", [ "ticket!callback@great-service.example", "ticket=GS-1+comments@great-service.example", "bernd.worsch@great-service.example", "ticket=PR42$4@great-service.example", "x@unknown.invalid"]) def test_gateway_events_match_schema(recipient): raw = (b"Authentication-Results: great-service.example; dmarc=pass header.from=example.net\r\n" b"From: c@example.net\r\nTo: x@great-service.example\r\nSubject: s\r\n\r\nbody\r\n") offline = lambda host, **kw: discover(host, transport=lambda u, t: Response(404, {}, b"")) # noqa: E731 resolver = Resolver.with_statute_files( [ROOT / "examples/statute/great-service.example/.well-known/mas"], discover_fn=offline) event = build_event(recipient, message_meta_from_rfc822(raw, "great-service.example"), resolver) assert event_errors(event) == [], event