add final acceptance verification

This commit is contained in:
Marco0300
2026-09-03 13:02:04 +02:00
parent 9622f76977
commit 561efe8855
10 changed files with 718 additions and 1 deletions
+54
View File
@@ -0,0 +1,54 @@
import json
import unittest
from pathlib import Path
ROOT = Path(__file__).resolve().parents[3]
import sys
sys.path.insert(0, str(ROOT / "scripts"))
from final_acceptance import build_capacity_smoke, validate_report
class Phase17AcceptanceTests(unittest.TestCase):
def test_capacity_smoke_is_bounded_and_deterministic(self):
first = build_capacity_smoke()
second = build_capacity_smoke()
self.assertEqual(first, second)
self.assertEqual(first["pagination"]["requested_page_size"], 100)
self.assertEqual(first["pagination"]["returned_items"], 100)
self.assertEqual(first["pagination"]["synthetic_total"], 1000)
self.assertEqual(first["large_batch"]["input_items"], 5000)
self.assertLessEqual(first["large_batch"]["retained_items"], 100)
self.assertTrue(first["bounded"])
def test_report_schema_rejects_missing_or_wrong_fields(self):
report = {
"report": "phase17-final-acceptance",
"version": 1,
"scope": "local-repository-acceptance",
"passed": True,
"checks": {},
"capacity_smoke": build_capacity_smoke(),
"blockers": [],
"limitations": [],
}
self.assertEqual(validate_report(report), [])
missing = dict(report)
del missing["checks"]
self.assertTrue(validate_report(missing))
wrong = dict(report)
wrong["passed"] = "yes"
self.assertTrue(validate_report(wrong))
def test_report_serialization_is_stable(self):
from final_acceptance import deterministic_json
report = {
"z": 1,
"a": {"items": [{"b": 2, "a": 1}]},
}
self.assertEqual(deterministic_json(report), deterministic_json(json.loads(deterministic_json(report))))
if __name__ == "__main__":
unittest.main()