add tests

This commit is contained in:
Eshan Ramesh 2020-05-28 00:38:14 -04:00
parent 45c53d61d3
commit 1a0fa82677
2 changed files with 43 additions and 0 deletions

View file

@ -40,6 +40,21 @@ class TestKeyring(keyring.backend.KeyringBackend):
def delete_password(self, servicename, username):
self.keys[servicename][username] = None
class NoKeyring(keyring.backend.KeyringBackend):
"""A test keyring that just stores its values in a hash"""
priority = 2
keys = defaultdict(dict)
def set_password(self, servicename, username, password):
raise keyring.errors.NoKeyringError
def get_password(self, servicename, username):
raise keyring.errors.NoKeyringError
def delete_password(self, servicename, username):
raise keyring.errors.NoKeyringError
# set the keyring for keyring lib
keyring.set_keyring(TestKeyring())
@ -201,6 +216,10 @@ def set_keychain(context, journal, password):
keyring.set_password("jrnl", journal, password)
@when('we disable the keychain')
def disable_keychain(context):
keyring.core.set_keyring(NoKeyring())
@then("we should get an error")
def has_error(context):
assert context.exit_status != 0, context.exit_status