Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a02669-87ee-7a31-b111-edc95a16e0fa
89 lines
2.7 KiB
Python
89 lines
2.7 KiB
Python
from __future__ import annotations
|
|
|
|
import importlib.util
|
|
import json
|
|
import unittest
|
|
from datetime import UTC, datetime
|
|
from pathlib import Path
|
|
|
|
|
|
ROOT = Path(__file__).resolve().parents[1]
|
|
|
|
|
|
def load(name: str, path: Path):
|
|
spec = importlib.util.spec_from_file_location(name, path)
|
|
assert spec and spec.loader
|
|
module = importlib.util.module_from_spec(spec)
|
|
spec.loader.exec_module(module)
|
|
return module
|
|
|
|
|
|
candidate = load(
|
|
"wp0024_t02_driver_candidate",
|
|
ROOT / "scripts" / "wp0024-t02-driver-candidate.py",
|
|
)
|
|
harness = load(
|
|
"audit_core_database_lease_recovery_for_driver_contract",
|
|
ROOT / "scripts" / "audit-core-database-lease-recovery.py",
|
|
)
|
|
|
|
|
|
class DriverCandidateTests(unittest.TestCase):
|
|
def setUp(self) -> None:
|
|
self.contract = candidate.load_contract()
|
|
|
|
def test_contract_exactly_matches_harness_evidence_keys(self) -> None:
|
|
phase_keys = {
|
|
phase: set(record["keys"])
|
|
for phase, record in self.contract["phases"].items()
|
|
}
|
|
self.assertEqual(harness.EXPECTED_DRIVER_KEYS, phase_keys)
|
|
self.assertEqual(
|
|
"RAILIANCE-WP-0024-T02-SYNTHETIC-01",
|
|
self.contract["contract_id"],
|
|
)
|
|
|
|
def test_candidate_receipt_round_trip(self) -> None:
|
|
source = {
|
|
"source_repo": "audit-core",
|
|
"source_revision": "a" * 40,
|
|
"source_path": "scripts/lease-load.py",
|
|
"driver_revision": "sha256:" + "b" * 64,
|
|
}
|
|
receipt = candidate.build_receipt(
|
|
self.contract,
|
|
source,
|
|
"audit-core",
|
|
now=datetime(2026, 8, 22, 14, 0, tzinfo=UTC),
|
|
)
|
|
message = {
|
|
"from_agent": "audit-core",
|
|
"subject": candidate.subject(receipt),
|
|
"body": candidate.canonical(receipt),
|
|
}
|
|
self.assertEqual(receipt, candidate.parse_message(message, self.contract))
|
|
self.assertFalse(receipt["registration_executed_driver"])
|
|
self.assertFalse(receipt["secret_values_observed"])
|
|
|
|
def test_wrong_contract_digest_is_rejected(self) -> None:
|
|
receipt = candidate.build_receipt(
|
|
self.contract,
|
|
{
|
|
"source_repo": "audit-core",
|
|
"source_revision": "a" * 40,
|
|
"source_path": "scripts/lease-load.py",
|
|
"driver_revision": "sha256:" + "b" * 64,
|
|
},
|
|
"audit-core",
|
|
)
|
|
receipt["contract_digest"] = "0" * 64
|
|
message = {
|
|
"from_agent": "audit-core",
|
|
"subject": candidate.subject(receipt),
|
|
"body": json.dumps(receipt),
|
|
}
|
|
self.assertIsNone(candidate.parse_message(message, self.contract))
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|