This commit is contained in:
1 parent
0e1a2ad008
commit
34f4923566
28 files changed
+3932
-81
No files matched your search
@@ -16,6 +16,7 @@ from gewu.domain.validation import (
|
||||
assertion_digest,
|
||||
edge_assertion_digest,
|
||||
evidence_digest,
|
||||
prepare_proposal_digests,
|
||||
proposal_payload_digest,
|
||||
validate_proposal,
|
||||
)
|
||||
@@ -51,6 +52,33 @@ def test_supported_exact_citation_and_both_bundle_policies_are_eligible() -> Non
|
||||
assert set(report.affected_policy_ids) == {"dome-policy", "shared"}
|
||||
|
||||
|
||||
def test_proposal_digest_preparation_fills_all_dependent_claim_digests() -> None:
|
||||
draft = proposal().model_dump(mode="json")
|
||||
draft.pop("payload_digest")
|
||||
for operation in draft["operations"]:
|
||||
node = operation.get("node")
|
||||
if node is None:
|
||||
continue
|
||||
for group in ("claims", "assumptions", "limitations"):
|
||||
for claim in node.get(group, []):
|
||||
claim["assessment"].pop("assertion_digest")
|
||||
claim["assessment"].pop("evidence_digests")
|
||||
for evidence in claim["evidence"]:
|
||||
evidence.pop("assertion_path")
|
||||
evidence.pop("assertion_digest")
|
||||
|
||||
prepared = prepare_proposal_digests(draft)
|
||||
|
||||
assert prepared.payload_digest == proposal_payload_digest(prepared)
|
||||
assert prepared.operations[1].node is not None
|
||||
claim = prepared.operations[1].node.claims[0]
|
||||
assert claim.evidence[0].assertion_path == "claims[0].text"
|
||||
assert claim.evidence[0].assertion_digest == assertion_digest(claim.text)
|
||||
assert claim.assessment.assertion_digest == assertion_digest(claim.text)
|
||||
assert claim.assessment.evidence_digests == (evidence_digest(claim.evidence[0]),)
|
||||
assert _validate(prepared).status == "eligible"
|
||||
|
||||
|
||||
def test_transcript_timestamp_locator_must_match_the_cited_cue() -> None:
|
||||
transcript_bytes = (
|
||||
b"WEBVTT\n\n"
|
||||
|
||||
Reference in new issue
Block a user