diff options
Diffstat (limited to 'summainlib_tests.py')
-rw-r--r-- | summainlib_tests.py | 50 |
1 files changed, 27 insertions, 23 deletions
diff --git a/summainlib_tests.py b/summainlib_tests.py index 4ec3da5..f8bcc27 100644 --- a/summainlib_tests.py +++ b/summainlib_tests.py @@ -20,13 +20,6 @@ import unittest import summainlib -class FakeStatResult(object): - - def __init__(self, *args, **kwargs): - for name, value in kwargs.iteritems(): - setattr(self, name, value) - - class FakeChecksummer(object): def update(self, data): @@ -63,7 +56,7 @@ class FakeReadlink(object): self.parent = parent def __call__(self, filename): - if stat.S_ISLNK(self.parent.st.st_mode): + if stat.S_ISLNK(self.parent.st[summainlib.RESULT_MODE]): self.target = 'symlink' else: self.target = '' @@ -73,14 +66,17 @@ class FakeReadlink(object): class FilesystemObjectTests(unittest.TestCase): def setUp(self): - self.st = FakeStatResult(st_mtime=1262307723.123456789, - st_mode=stat.S_IFREG | 0644, - st_ino=12765, - st_dev=42, - st_nlink=2, - st_size=1, - st_uid=0, - st_gid=0) + self.st = { + summainlib.RESULT_MTIME_SEC: 1262307723, + summainlib.RESULT_MTIME_NSEC: 123456789, + summainlib.RESULT_MODE: stat.S_IFREG | 0644, + summainlib.RESULT_INO: 12765, + summainlib.RESULT_DEV: 42, + summainlib.RESULT_NLINK: 2, + summainlib.RESULT_SIZE: 1, + summainlib.RESULT_UID: 0, + summainlib.RESULT_GID: 0 + } self.nn = summainlib.NumberNormalizer() self.pn = summainlib.SamePath() @@ -88,7 +84,7 @@ class FilesystemObjectTests(unittest.TestCase): def new(self, name, mode=None): if mode is not None: - self.st.st_mode = mode + self.st[summainlib.RESULT_MODE] = mode return summainlib.FilesystemObject(name, self.nn, self.pn, self.exclude, stat_result=self.st, @@ -113,7 +109,7 @@ class FilesystemObjectTests(unittest.TestCase): def test_formats_mtime_correctly(self): self.assertEqual(self.new('foo')['Mtime'], - '2010-01-01 01:02:03.123457 +0000') + '2010-01-01 01:02:03.123456789 +0000') def test_formats_mode_for_regular_file_correctly(self): self.assertEqual(self.new('foo')['Mode'], '100644') @@ -153,7 +149,7 @@ class FilesystemObjectTests(unittest.TestCase): self.assertEqual(self.new('foo')['SHA512'], 'abc') def test_formats_checksums_correctly_for_special_file(self): - self.st.st_mode = stat.S_IFDIR | 0755 + self.st[summainlib.RESULT_MODE] = stat.S_IFDIR | 0755 self.assertEqual(self.new('foo')['MD5'], '') self.assertEqual(self.new('foo')['SHA1'], '') self.assertEqual(self.new('foo')['SHA224'], '') @@ -162,7 +158,7 @@ class FilesystemObjectTests(unittest.TestCase): self.assertEqual(self.new('foo')['SHA512'], '') def test_formats_target_correctly_for_symlink(self): - self.st.st_mode = stat.S_IFLNK | 0777 + self.st[summainlib.RESULT_MODE] = stat.S_IFLNK | 0777 self.assertEqual(self.new('foo')['Target'], 'symlink') def test_formats_target_correctly_for_regular_file(self): @@ -189,9 +185,17 @@ class FilesystemObjectNormalizedNumbersTests(unittest.TestCase): self.nn.reset() def new(self, name): - st = FakeStatResult(st_ino=self.ino, st_dev=self.dev, st_mtime=0, - st_mode=stat.S_IFREG|0, st_nlink=1, st_size=0, - st_uid=0, st_gid=0) + st = { + summainlib.RESULT_INO: self.ino, + summainlib.RESULT_DEV: self.dev, + summainlib.RESULT_MTIME_SEC: 0, + summainlib.RESULT_MTIME_NSEC: 0, + summainlib.RESULT_MODE: stat.S_IFREG|0, + summainlib.RESULT_NLINK: 1, + summainlib.RESULT_SIZE: 0, + summainlib.RESULT_UID: 0, + summainlib.RESULT_GID: 0 + } self.ino += 1 return summainlib.FilesystemObject(name, self.nn, self.pn, self.exclude, |