diff options
author | Lars Wirzenius <liw@liw.fi> | 2016-03-17 19:37:28 +0200 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2016-03-17 20:55:26 +0200 |
commit | fea456ea4005bb740014fd2e2702ec43ebb8399c (patch) | |
tree | 79b1ab3547fe95c4320e69ec02e04d6bfde84b6b /obnamlib/repo_interface.py | |
parent | e6ec2ffbad0164b04005e3ca1014c6752a088c27 (diff) | |
download | obnam-fea456ea4005bb740014fd2e2702ec43ebb8399c.tar.gz |
Add RepositoryInterface.get_client_checksum_key
Diffstat (limited to 'obnamlib/repo_interface.py')
-rw-r--r-- | obnamlib/repo_interface.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/obnamlib/repo_interface.py b/obnamlib/repo_interface.py index 6ab93ccd..3bba872f 100644 --- a/obnamlib/repo_interface.py +++ b/obnamlib/repo_interface.py @@ -575,6 +575,10 @@ class RepositoryInterface(object): '''Return list of allowed per-client keys for thist format.''' raise NotImplementedError() + def get_client_checksum_key(self, client_name): + '''Return file key for preferred checksum for client, or None.''' + raise NotImplementedError() + def get_client_key(self, client_name, key): '''Return current value of a key for a given client. @@ -779,7 +783,6 @@ class RepositoryInterface(object): self.set_file_key(generation_id, filename, key, None) def get_file_chunk_ids(self, generation_id, filename): - '''Get the list of chunk ids for a file.''' raise NotImplementedError() @@ -1945,6 +1948,17 @@ class RepositoryInterfaceTests(unittest.TestCase): # pragma: no cover gen_id_2, '/foo/bar', obnamlib.REPO_FILE_SYMLINK_TARGET) self.assertEqual(value_2, 'second') + def test_returns_an_acceptable_checksum_file_key_or_none(self): + self.setup_client() + self.assertTrue( + self.repo.get_client_checksum_key('fooclient') in + [None, + obnamlib.REPO_FILE_MD5, + obnamlib.REPO_FILE_SHA224, + obnamlib.REPO_FILE_SHA256, + obnamlib.REPO_FILE_SHA384, + obnamlib.REPO_FILE_SHA512]) + def test_new_file_has_no_chunk_ids(self): gen_id = self.create_generation() self.repo.add_file(gen_id, '/foo/bar') |