mirror of
https://github.com/theupdateframework/python-tuf
synced 2026-05-24 10:08:28 +00:00
tests: Add VerificationResult tests
Signed-off-by: Jussi Kukkonen <jkukkonen@google.com>
This commit is contained in:
parent
bfea673893
commit
14edf3d044
1 changed files with 43 additions and 0 deletions
|
|
@ -41,12 +41,14 @@
|
|||
Metadata,
|
||||
MetaFile,
|
||||
Root,
|
||||
RootVerificationResult,
|
||||
Signature,
|
||||
Snapshot,
|
||||
SuccinctRoles,
|
||||
TargetFile,
|
||||
Targets,
|
||||
Timestamp,
|
||||
VerificationResult,
|
||||
)
|
||||
from tuf.api.serialization import DeserializationError, SerializationError
|
||||
from tuf.api.serialization.json import JSONSerializer
|
||||
|
|
@ -470,6 +472,47 @@ def test_signed_verify_delegate(self) -> None:
|
|||
Snapshot.type, snapshot_md.signed_bytes, snapshot_md.signatures
|
||||
)
|
||||
|
||||
def test_verification_result(self) -> None:
|
||||
vr = VerificationResult(3, {"a": None}, {"b": None})
|
||||
self.assertEqual(vr.missing, 2)
|
||||
self.assertFalse(vr.verified)
|
||||
self.assertFalse(vr)
|
||||
|
||||
# Add a signature
|
||||
vr.signed["c"] = None
|
||||
self.assertEqual(vr.missing, 1)
|
||||
self.assertFalse(vr.verified)
|
||||
self.assertFalse(vr)
|
||||
|
||||
# Add last missing signature
|
||||
vr.signed["d"] = None
|
||||
self.assertEqual(vr.missing, 0)
|
||||
self.assertTrue(vr.verified)
|
||||
self.assertTrue(vr)
|
||||
|
||||
# Add one more signature
|
||||
vr.signed["e"] = None
|
||||
self.assertEqual(vr.missing, 0)
|
||||
self.assertTrue(vr.verified)
|
||||
self.assertTrue(vr)
|
||||
|
||||
def test_root_verification_result(self) -> None:
|
||||
vr1 = VerificationResult(3, {"a": None}, {"b": None})
|
||||
vr2 = VerificationResult(1, {"c": None}, {"b": None})
|
||||
|
||||
vr = RootVerificationResult(vr1, vr2)
|
||||
self.assertEqual(vr.signed, {"a": None, "c": None})
|
||||
self.assertEqual(vr.unsigned, {"b": None})
|
||||
self.assertFalse(vr.verified)
|
||||
self.assertFalse(vr)
|
||||
|
||||
vr1.signed["c"] = None
|
||||
vr1.signed["f"] = None
|
||||
self.assertEqual(vr.signed, {"a": None, "c": None, "f": None})
|
||||
self.assertEqual(vr.unsigned, {"b": None})
|
||||
self.assertTrue(vr.verified)
|
||||
self.assertTrue(vr)
|
||||
|
||||
def test_signed_get_verification_result(self) -> None:
|
||||
# Setup: Load test metadata and keys
|
||||
root_path = os.path.join(self.repo_dir, "metadata", "root.json")
|
||||
|
|
|
|||
Loading…
Reference in a new issue