summaryrefslogtreecommitdiff
path: root/obnamlib/repo_interface.py
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2016-03-17 19:37:28 +0200
committerLars Wirzenius <liw@liw.fi>2016-03-17 20:55:26 +0200
commitfea456ea4005bb740014fd2e2702ec43ebb8399c (patch)
tree79b1ab3547fe95c4320e69ec02e04d6bfde84b6b /obnamlib/repo_interface.py
parente6ec2ffbad0164b04005e3ca1014c6752a088c27 (diff)
downloadobnam-fea456ea4005bb740014fd2e2702ec43ebb8399c.tar.gz
Add RepositoryInterface.get_client_checksum_key
Diffstat (limited to 'obnamlib/repo_interface.py')
-rw-r--r--obnamlib/repo_interface.py16
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')