diff options
author | Lars Wirzenius <liw@liw.fi> | 2011-04-17 10:26:15 +0100 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2011-04-17 10:26:15 +0100 |
commit | 1d95d6f820c970eb7114ffe204e3702b72f37e08 (patch) | |
tree | 9d16a40a690264d38a0cab447c693fd67d2f6c0d | |
parent | 9a11790f02371b9dc829e8f88bddd8c938a1f4e7 (diff) | |
download | obnam-1d95d6f820c970eb7114ffe204e3702b72f37e08.tar.gz |
Add add-key and remove-key tests to blackboxtest.
-rwxr-xr-x | blackboxtest | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/blackboxtest b/blackboxtest index 73d64c08..7c36eb72 100755 --- a/blackboxtest +++ b/blackboxtest @@ -50,8 +50,9 @@ class ObnamTestCase(unittest.TestCase): ''' - # This is one of the keys in test-gpghome. + # These are the keys in test-gpghome. gpgkey = '3B1802F81B321347' + gpgkey2 = 'DF3D13AA11E69900' def setUp(self): self.client_name = 'client_name' @@ -498,6 +499,19 @@ class EncryptionTests(ObnamTestCase): output = self.obnam(['client-keys', '--repository', self.repo]) return [tuple(line.split()) for line in output.splitlines()] + def list_keys(self): + output = self.obnam(['list-keys', '--repository', self.repo]) + keys = dict() + latest_key = None + for line in output.splitlines(): + if line.startswith('key:'): + latest_key = line.split()[1] + else: + keys[latest_key] = keys.get(latest_key, []) + [line.strip()] + for key in keys: + keys[key].sort() + return keys + def test_has_client_key_after_backup(self): self.assertEqual(self.client_keys(), [(self.client_name, self.gpgkey)]) @@ -506,6 +520,22 @@ class EncryptionTests(ObnamTestCase): self.obnam(['remove-client', '--repository', self.repo, self.client_name]) self.assertEqual(self.client_keys(), []) + + def test_only_client_key_listed_initially(self): + self.assertEqual(self.list_keys().keys(), [self.gpgkey]) + + def test_adds_key(self): + self.obnam(['add-key', '--keyid', self.gpgkey2, + '--repository', self.repo]) + self.assertEqual(sorted(self.list_keys().keys()), + sorted([self.gpgkey, self.gpgkey2])) + + def test_removes_key(self): + self.obnam(['add-key', '--keyid', self.gpgkey2, + '--repository', self.repo]) + self.obnam(['remove-key', '--keyid', self.gpgkey2, + '--repository', self.repo]) + self.assertEqual(self.list_keys().keys(), [self.gpgkey]) if __name__ == '__main__': |