generated from coulomb/repo-seed
quality gate layer
This commit is contained in:
@@ -9,6 +9,7 @@ from pathlib import Path
|
||||
|
||||
from guide_board.discovery import discover_extensions
|
||||
from guide_board.execution import run_assessment
|
||||
from guide_board.gates import evaluate_trend_gates
|
||||
from guide_board.planning import (
|
||||
build_run_plan,
|
||||
validate_assessment_profile,
|
||||
@@ -145,6 +146,53 @@ class CoreArchitectureTests(unittest.TestCase):
|
||||
{"blocked": -1, "manual": 1, "skipped": 1},
|
||||
)
|
||||
|
||||
gate = evaluate_trend_gates(
|
||||
trend,
|
||||
target_profile_ref="sample-repository",
|
||||
assessment_profile_ref="sample-noop-assessment",
|
||||
)
|
||||
assert_valid(gate, "gate-summary")
|
||||
self.assertEqual(gate["status"], "passed")
|
||||
self.assertEqual(gate["passed_groups"], 1)
|
||||
|
||||
missing_gate = evaluate_trend_gates(
|
||||
trend,
|
||||
target_profile_ref="missing-target",
|
||||
)
|
||||
self.assertEqual(missing_gate["status"], "failed")
|
||||
self.assertEqual(missing_gate["groups"][0]["checks"][0]["id"], "history-present")
|
||||
|
||||
def test_fails_gate_for_regressed_run_history(self) -> None:
|
||||
with TemporaryDirectory() as temporary_directory:
|
||||
runs_dir = Path(temporary_directory)
|
||||
_write_retention_summary(
|
||||
runs_dir / "run-old",
|
||||
"run-old",
|
||||
"2026-05-07T10:00:00+00:00",
|
||||
"completed",
|
||||
{"manual": 1},
|
||||
0,
|
||||
1,
|
||||
)
|
||||
_write_retention_summary(
|
||||
runs_dir / "run-new",
|
||||
"run-new",
|
||||
"2026-05-07T11:00:00+00:00",
|
||||
"blocked",
|
||||
{"blocked": 1},
|
||||
2,
|
||||
1,
|
||||
)
|
||||
|
||||
gate = evaluate_trend_gates(build_trend_summary(runs_dir))
|
||||
assert_valid(gate, "gate-summary")
|
||||
|
||||
self.assertEqual(gate["status"], "failed")
|
||||
checks = {check["id"]: check for check in gate["groups"][0]["checks"]}
|
||||
self.assertEqual(checks["latest-status"]["status"], "failed")
|
||||
self.assertEqual(checks["unexpected-findings"]["status"], "failed")
|
||||
self.assertEqual(checks["trend-regression"]["status"], "failed")
|
||||
|
||||
def test_runs_cmis_preflight_against_local_endpoint(self) -> None:
|
||||
server = HTTPServer(("127.0.0.1", 0), _CmisHandler)
|
||||
thread = threading.Thread(target=server.serve_forever)
|
||||
|
||||
Reference in New Issue
Block a user