-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathtest_ldproofs.py
More file actions
40 lines (31 loc) · 1.32 KB
/
test_ldproofs.py
File metadata and controls
40 lines (31 loc) · 1.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import datetime
import unittest
from trinsicokapi import didkey, ldproofs
from trinsicokapi.okapi_utils import dictionary_to_struct
from trinsicokapi.proto.okapi.keys.v1 import GenerateKeyRequest, KeyType, JsonWebKey
from trinsicokapi.proto.okapi.proofs.v1 import CreateProofRequest, LdSuite
class LdProofsTests(unittest.TestCase):
def test_generate_capability_invocation_proof_with_jcs(self):
capability_dict = {
"@context": "https://w3id.org/security/v2",
"target": "urn:trinsic:wallets:noop",
"proof": {"created": datetime.datetime.now().isoformat()},
}
capability = dictionary_to_struct(capability_dict)
print(capability)
request = GenerateKeyRequest()
request.key_type = KeyType.KEY_TYPE_ED25519
response = didkey.generate(request)
signing_key: JsonWebKey = [key for key in response.key if key.crv == "Ed25519"][
0
]
proof_request = CreateProofRequest(
document=capability,
key=signing_key,
suite=LdSuite.LD_SUITE_JCSED25519SIGNATURE2020,
)
signed_capability = ldproofs.create(proof_request)
self.assertIsNotNone(signed_capability)
self.assertIsNotNone(signed_capability.signed_document)
if __name__ == "__main__":
unittest.main()