summaryrefslogtreecommitdiff
path: root/summainlib_tests.py
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2010-01-01 03:14:11 +0200
committerLars Wirzenius <liw@liw.fi>2010-01-01 03:14:11 +0200
commit2220cc038941de88a26b981e797c091f7869e8d5 (patch)
tree20a1d542df720572ea20771fee85da3657d2bd0f /summainlib_tests.py
parent37810eaf498b82c8fb54bcf22c0861ad2c370d69 (diff)
downloadsummain-2220cc038941de88a26b981e797c091f7869e8d5.tar.gz
Add support for computing SHA-1 of files. Currently assumes it is
a regular file.
Diffstat (limited to 'summainlib_tests.py')
-rw-r--r--summainlib_tests.py31
1 files changed, 30 insertions, 1 deletions
diff --git a/summainlib_tests.py b/summainlib_tests.py
index b88f7b8..a3553ca 100644
--- a/summainlib_tests.py
+++ b/summainlib_tests.py
@@ -27,6 +27,30 @@ class FakeStatResult(object):
setattr(self, name, value)
+class FakeSha1(object):
+
+ def update(self, data):
+ pass
+
+ def hexdigest(self):
+ return 'abc'
+
+
+class FakeOpenFile(object):
+
+ def __call__(self, filename):
+ self.data = 'some data'
+ return self
+
+ def read(self, amount):
+ data = self.data[:amount]
+ self.data = self.data[len(data):]
+ return data
+
+ def close(self):
+ pass
+
+
class FilesystemObjectTests(unittest.TestCase):
def setUp(self):
@@ -40,7 +64,9 @@ class FilesystemObjectTests(unittest.TestCase):
st_gid=0)
def new(self, name):
- return summainlib.FilesystemObject(name, stat_result=self.st)
+ return summainlib.FilesystemObject(name, stat_result=self.st,
+ sha1=FakeSha1(),
+ open_file=FakeOpenFile())
def test_formats_simple_name_identically(self):
self.assertEqual(self.new('foo')['Name'], 'foo')
@@ -79,3 +105,6 @@ class FilesystemObjectTests(unittest.TestCase):
def test_formats_group_correctly(self):
self.assertEqual(self.new('foo')['Group'], 'root')
+ def test_formats_sha1_correctly_for_regular_file(self):
+ self.assertEqual(self.new('foo')['Sha-1'], 'abc')
+