nucypher/tests/keystore/test_keystore.py

66 lines
2.2 KiB
Python
Raw Normal View History

2018-02-11 04:26:56 +00:00
import pytest
2018-02-11 04:26:56 +00:00
from datetime import datetime
2017-10-11 20:02:27 +00:00
from nkms.keystore import keystore, keypairs
2017-11-12 02:35:39 +00:00
from nkms.crypto import api as API
2018-02-11 04:26:56 +00:00
from umbral.keys import UmbralPrivateKey
2017-10-11 20:02:27 +00:00
2018-02-11 04:26:56 +00:00
def test_key_sqlite_keystore(test_keystore):
keypair = keypairs.SigningKeypair(generate_keys_if_needed=True)
# Test add pubkey
test_keystore.add_key(keypair)
2018-02-11 04:26:56 +00:00
# Test get pubkey
query_key = test_keystore.get_key(keypair.get_fingerprint())
assert keypair.serialize_pubkey() == query_key.serialize_pubkey()
2018-02-11 04:26:56 +00:00
# Test del pubkey
test_keystore.del_key(keypair.get_fingerprint())
2018-02-11 04:26:56 +00:00
with pytest.raises(keystore.NotFound):
del_key = test_keystore.get_key(keypair.get_fingerprint())
2018-02-11 04:26:56 +00:00
2018-02-11 04:26:56 +00:00
def test_policy_contract_sqlite_keystore(test_keystore):
alice_keypair_sig = keypairs.SigningKeypair(generate_keys_if_needed=True)
alice_keypair_enc = keypairs.EncryptingKeypair(generate_keys_if_needed=True)
bob_keypair_sig = keypairs.SigningKeypair(generate_keys_if_needed=True)
hrac = b'test'
# Test add PolicyContract
new_contract = test_keystore.add_policy_contract(
2018-02-13 22:38:33 +00:00
datetime.utcnow(), b'test', hrac, alice_pubkey_sig=alice_keypair_sig,
alice_signature=b'test'
2018-02-11 04:26:56 +00:00
)
# Test get PolicyContract
query_contract = test_keystore.get_policy_contract(hrac)
assert new_contract == query_contract
# Test del PolicyContract
test_keystore.del_policy_contract(hrac)
with pytest.raises(keystore.NotFound):
del_key = test_keystore.get_policy_contract(hrac)
def test_workorder_sqlite_keystore(test_keystore):
bob_keypair_sig1 = keypairs.SigningKeypair(generate_keys_if_needed=True)
bob_keypair_sig2 = keypairs.SigningKeypair(generate_keys_if_needed=True)
2018-02-11 04:26:56 +00:00
hrac = b'test'
# Test add workorder
new_workorder1 = test_keystore.add_workorder(bob_keypair_sig1, b'test0', hrac)
new_workorder2 = test_keystore.add_workorder(bob_keypair_sig2, b'test1', hrac)
2018-02-11 04:26:56 +00:00
# Test get workorder
query_workorders = test_keystore.get_workorders(hrac)
assert set([new_workorder1, new_workorder2]).issubset(query_workorders)
# Test del workorder
test_keystore.del_workorders(hrac)
with pytest.raises(keystore.NotFound):
del_key = test_keystore.get_workorders(hrac)