def test_basic(self): with self.make_backend() as b: def make_entry(n, contents): hashes = [] while contents: hashes.append(('sha512', contents[0:5])) # treat contents as hash, nevermind contents = contents[5:] return ('%d' % (n,), md.FileMetaData.from_string('-rwxr-xr-x 5 6 7 8 9 10'), hashes) entries_in = [ make_entry(n, 'contents'.join([ unicode(m) for m in xrange(0, n)])) for n in xrange(0, 100) ] manifest.write_manifest(b, 'test_manifest', entries_in) entries_out = [ entry for entry in manifest.read_manifest(b, 'test_manifest') ] #print b.get('test_manifest') self.assertEqual(manifest.list_manifests(b), [ 'test_manifest' ]) manifest.delete_manifest(b, 'test_manifest') self.assertEqual(manifest.list_manifests(b), []) def to_comparable(entry): path, md, algos = entry return (path, md.to_string(), algos) self.assertEqual([ to_comparable(entry) for entry in entries_in ], [ to_comparable(entry) for entry in entries_out])
def test_basic(self): with self.make_backend() as b: def make_entry(n, contents): hashes = [] while contents: hashes.append( ('sha512', contents[0:5])) # treat contents as hash, nevermind contents = contents[5:] return ('%d' % (n, ), md.FileMetaData.from_string('-rwxr-xr-x 5 6 7 8 9 10'), hashes) entries_in = [ make_entry(n, 'contents'.join([unicode(m) for m in xrange(0, n)])) for n in xrange(0, 100) ] manifest.write_manifest(b, 'test_manifest', entries_in) entries_out = [ entry for entry in manifest.read_manifest(b, 'test_manifest') ] #print b.get('test_manifest') self.assertEqual(manifest.list_manifests(b), ['test_manifest']) manifest.delete_manifest(b, 'test_manifest') self.assertEqual(manifest.list_manifests(b), []) def to_comparable(entry): path, md, algos = entry return (path, md.to_string(), algos) self.assertEqual([to_comparable(entry) for entry in entries_in], [to_comparable(entry) for entry in entries_out])
def get_all_manifests(be): return [(x, list(manifest.read_manifest(be, x))) for x in manifest.list_manifests(be)]