#!/usr/bin/env python3 """Focused tests for the store-domain split debt baseline contract.""" from __future__ import annotations import copy import importlib.util from pathlib import Path SCRIPT = Path(__file__).with_name("check-store-domain-split-guardrails.py") SPEC = importlib.util.spec_from_file_location("store_domain_split_guardrails", SCRIPT) if SPEC is None or SPEC.loader is None: raise RuntimeError(f"cannot load {SCRIPT}") guardrail = importlib.util.module_from_spec(SPEC) SPEC.loader.exec_module(guardrail) def require(condition: bool, message: str) -> None: if not condition: raise AssertionError(message) baseline = guardrail.load_baseline(None) require(not guardrail.baseline_validation_errors(baseline), "tracked baseline must be complete") missing_owner = copy.deepcopy(baseline) del missing_owner["debtMetadata"]["internal/store/app"]["owner"] require( any("missing owner" in error for error in guardrail.baseline_validation_errors(missing_owner)), "package debt without an owner must be rejected", ) missing_metric = copy.deepcopy(baseline) del missing_metric["targets"]["internal/store/app"]["loc"] require( any("metric missing" in error for error in guardrail.baseline_validation_errors(missing_metric)), "deleting one metric ceiling must be rejected", ) unknown_metric = copy.deepcopy(baseline) unknown_metric["targets"]["internal/store/app"]["mystery"] = 1 require( any("metric unknown" in error for error in guardrail.baseline_validation_errors(unknown_metric)), "unknown metric ceilings must be rejected", ) for invalid in (-1, 1.5, True, "1"): invalid_metric = copy.deepcopy(baseline) invalid_metric["targets"]["internal/store/app"]["loc"] = invalid require( any( "non-negative integer" in error for error in guardrail.baseline_validation_errors(invalid_metric) ), f"invalid metric ceiling must be rejected: {invalid!r}", ) require(not baseline["plannedChildPackages"], "prospective child packages must not be pre-approved") new_taskboard_child = copy.deepcopy(baseline) new_taskboard_child["existingChildPackages"]["internal/store/taskboard"] = [ "internal/store/taskboard/discussion" ] require( guardrail.unexpected_child_packages(baseline, new_taskboard_child) == ["internal/store/taskboard/discussion"], "an unproved taskboard child package must be rejected", ) allowed = [{"from": "internal/store/app", "to": "internal/service/appruntime"}] require(not guardrail.store_to_service_edge_failures(allowed, allowed), "registered edge must pass") require( guardrail.store_to_service_edge_failures([], allowed) == ["new production store-to-service edge: internal/store/app -> internal/service/appruntime"], "an unregistered store-to-service edge must fail", ) require( guardrail.store_to_service_edge_failures(allowed, []) == ["stale production store-to-service debt entry: internal/store/app -> internal/service/appruntime"], "a removed edge must force its debt entry to be retired", ) print("store domain split guardrail tests: ok")