Fixes Db bulk delete assertion; Renames several key test method calls

pull/163/head
Kieran R Prasch 2018-02-13 16:39:24 -08:00
parent 6428337ab5
commit 022087f67a
4 changed files with 15 additions and 15 deletions

View File

@ -41,14 +41,13 @@ class Keypair(object):
or as a bytestring.
:param as_bytes: Return the pubkey as bytes?
:return: The serialized pubkey in bytes
"""
if as_b64:
return self.pubkey.to_bytes()
return bytes(self.pubkey)
def get_fingerprint(self):
def fingerprint(self):
"""
Hashes the key using keccak-256 and returns the hexdigest in bytes.

View File

@ -30,7 +30,8 @@ class KeyStore(object):
:param sqlalchemy_engine: SQLAlchemy engine object to create session
"""
self.session = sessionmaker(bind=sqlalchemy_engine)()
Session = sessionmaker(bind=sqlalchemy_engine)
self.session = Session()
def add_key(self, key, is_signing=True) -> Key:
"""
@ -38,7 +39,7 @@ class KeyStore(object):
:return: The newly added key object.
"""
fingerprint = key.get_fingerprint()
fingerprint = key.fingerprint()
key_data = key.serialize_pubkey()
new_key = Key(fingerprint, key_data, is_signing)
@ -47,7 +48,6 @@ class KeyStore(object):
self.session.commit()
return new_key
def get_key(self, fingerprint: bytes) -> Union[keypairs.EncryptingKeypair,
keypairs.SigningKeypair]:
"""
@ -68,7 +68,6 @@ class KeyStore(object):
else:
return keypairs.EncryptingKeypair(pubkey)
def del_key(self, fingerprint: bytes):
"""
Deletes a key from the KeyStore.
@ -143,5 +142,7 @@ class KeyStore(object):
"""
Deletes a Workorder from the Keystore.
"""
workorders = self.session.query(Workorder).filter_by(hrac=hrac).delete()
workorders = self.session.query(Workorder).filter_by(hrac=hrac)
deleted = workorders.delete()
self.session.commit()
return deleted

View File

@ -43,7 +43,7 @@ def test_keypair_fingerprint():
umbral_pubkey = UmbralPrivateKey.gen_key().get_pubkey()
new_keypair = keypairs.Keypair(umbral_pubkey)
fingerprint = new_keypair.get_fingerprint()
fingerprint = new_keypair.fingerprint()
assert fingerprint != None
umbral_fingerprint = sha3.keccak_256(bytes(umbral_pubkey)).hexdigest().encode()

View File

@ -13,13 +13,13 @@ def test_key_sqlite_keystore(test_keystore):
test_keystore.add_key(keypair)
# Test get pubkey
query_key = test_keystore.get_key(keypair.get_fingerprint())
query_key = test_keystore.get_key(keypair.fingerprint())
assert keypair.serialize_pubkey() == query_key.serialize_pubkey()
# Test del pubkey
test_keystore.del_key(keypair.get_fingerprint())
test_keystore.del_key(keypair.fingerprint())
with pytest.raises(keystore.NotFound):
del_key = test_keystore.get_key(keypair.get_fingerprint())
del_key = test_keystore.get_key(keypair.fingerprint())
def test_policy_contract_sqlite_keystore(test_keystore):
@ -57,9 +57,9 @@ def test_workorder_sqlite_keystore(test_keystore):
# Test get workorder
query_workorders = test_keystore.get_workorders(hrac)
assert set([new_workorder1, new_workorder2]).issubset(query_workorders)
assert {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)
deleted = test_keystore.del_workorders(hrac)
assert deleted > 0
assert test_keystore.get_workorders(hrac).count() == 0