def testNonAscii(self): mydir = os.path.join(self.tmpdir, "unicode") os.mkdir(mydir) with open("unicode.tar.gz", "rb") as stream: unpack.unpack_archive("ftp://foo/file.tgz", stream, self.tmpdir) self.assertEqual( [ s.decode("utf-8") for s in [ b"D /unicode", b"D /unicode/test-unic\xcc\xa7\xc3\xb8\xc3\xb0e\xcc\x88", b"F c1c727274876ed5915c75a907131b8462cfdd5ba278140067dc80a2bcba033d6 1377477018 14 file", ] ], list(manifest.generate_manifest(self.tmpdir, alg="sha256")), ) self.assertEqual( [ s.decode("utf-8") for s in [ b"D /unicode", b"D /unicode/test-unic\xcc\xa7\xc3\xb8\xc3\xb0e\xcc\x88", b"F 5f1ff6172591102593950d1ae6c4a78709b1c44c 1377477018 14 file", ] ], list(manifest.generate_manifest(self.tmpdir, alg="sha1new")), )
def testSimpleManifest(self): path = os.path.join(self.tmp, "MyFile") f = file(path, "w") f.write("Hello") f.close() os.utime(path, (1, 2)) lines = list(manifest.generate_manifest(self.tmp)) self.assertEquals(["F f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0 2 5 MyFile"], lines)
def testOrdering(self): mydir = os.path.join(self.tmpdir, 'Dir') os.mkdir(mydir) self.write('Hello', 'Hello World', 30) os.utime(mydir, (10, 20)) self.assertEqual([ 'F a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e 30 11 Hello', 'D /Dir' ], list(manifest.generate_manifest(self.tmpdir, alg='sha256')))
def testOrdering(self): mydir = os.path.join(self.tmpdir, 'Dir') os.mkdir(mydir) self.write('Hello', 'Hello World', 30) os.utime(mydir, (10, 20)) self.assertEqual([ 'F a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e 30 11 Hello', 'D /Dir'], list(manifest.generate_manifest(self.tmpdir, alg='sha256')))
def testSimpleManifest(self): path = os.path.join(self.tmp, 'MyFile') f = open(path, 'w') f.write('Hello') f.close() os.utime(path, (1, 2)) lines = list(manifest.generate_manifest(self.tmp)) self.assertEqual( ['F f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0 2 5 MyFile'], lines)
def testSimpleManifest(self): path = os.path.join(self.tmp, 'MyFile') f = open(path, 'w') f.write('Hello') f.close() os.utime(path, (1, 2)) lines = list(manifest.generate_manifest(self.tmp)) self.assertEqual(['F f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0 2 5 MyFile'], lines)
def testOrdering(self): mydir = os.path.join(self.tmpdir, "Dir") os.mkdir(mydir) self.write("Hello", "Hello World", 30) os.utime(mydir, (10, 20)) self.assertEqual( ["F a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e 30 11 Hello", "D /Dir"], list(manifest.generate_manifest(self.tmpdir, alg="sha256")), )
def testOrderingSHA1(self): mydir = os.path.join(self.tmpdir, 'Dir') os.mkdir(mydir) self.write('Hello', 'Hello World', 30) self.write('Dir/Hello', 'Hello World', 30) os.utime(mydir, (10, 20)) self.assertEqual([ 'F 0a4d55a8d778e5022fab701977c5d840bbc486d0 30 11 Hello', 'D /Dir', 'F 0a4d55a8d778e5022fab701977c5d840bbc486d0 30 11 Hello' ], list(manifest.generate_manifest(self.tmpdir, alg='sha1new')))
def testNonAscii(self): mydir = os.path.join(self.tmpdir, 'unicode') os.mkdir(mydir) with open('unicode.tar.gz', 'rb') as stream: unpack.unpack_archive('ftp://foo/file.tgz', stream, self.tmpdir) self.assertEqual([ s.decode('utf-8') for s in [ b'D /unicode', b'D /unicode/test-unic\xcc\xa7\xc3\xb8\xc3\xb0e\xcc\x88', b'F c1c727274876ed5915c75a907131b8462cfdd5ba278140067dc80a2bcba033d6 1377477018 14 file' ] ], list(manifest.generate_manifest(self.tmpdir, alg='sha256'))) self.assertEqual([ s.decode('utf-8') for s in [ b'D /unicode', b'D /unicode/test-unic\xcc\xa7\xc3\xb8\xc3\xb0e\xcc\x88', b'F 5f1ff6172591102593950d1ae6c4a78709b1c44c 1377477018 14 file' ] ], list(manifest.generate_manifest(self.tmpdir, alg='sha1new')))
def testOrderingSHA1(self): mydir = os.path.join(self.tmpdir, 'Dir') os.mkdir(mydir) self.write('Hello', 'Hello World', 30) self.write('Dir/Hello', 'Hello World', 30) os.utime(mydir, (10, 20)) self.assertEqual([ 'F 0a4d55a8d778e5022fab701977c5d840bbc486d0 30 11 Hello', 'D /Dir', 'F 0a4d55a8d778e5022fab701977c5d840bbc486d0 30 11 Hello'], list(manifest.generate_manifest(self.tmpdir, alg = 'sha1new')))
def testNewSHA256(self): mydir = os.path.join(self.tmpdir, 'MyDir') os.mkdir(mydir) self.write('MyDir/Hello', 'Hello World', 30) myexec = self.write('MyDir/Run me', 'Bang!', 40) os.symlink('Hello', os.path.join(self.tmpdir, 'MyDir/Sym link')) os.chmod(myexec, 0o700) self.assertEqual([ 'D /MyDir', 'F a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e 30 11 Hello', 'X 640628586b08f8ed3910bd1e75ba02818959e843b54efafb9c2260a1f77e3ddf 40 5 Run me', 'S 185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969 5 Sym link' ], list(manifest.generate_manifest(self.tmpdir, alg='sha256')))
def testNewSHA256(self): mydir = os.path.join(self.tmpdir, 'MyDir') os.mkdir(mydir) self.write('MyDir/Hello', 'Hello World', 30) myexec = self.write('MyDir/Run me', 'Bang!', 40) os.symlink('Hello', os.path.join(self.tmpdir, 'MyDir/Sym link')) os.chmod(myexec, 0o700) self.assertEqual([ 'D /MyDir', 'F a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e 30 11 Hello', 'X 640628586b08f8ed3910bd1e75ba02818959e843b54efafb9c2260a1f77e3ddf 40 5 Run me', 'S 185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969 5 Sym link'], list(manifest.generate_manifest(self.tmpdir, alg = 'sha256')))
def testOrderingSHA1(self): mydir = os.path.join(self.tmpdir, "Dir") os.mkdir(mydir) self.write("Hello", "Hello World", 30) self.write("Dir/Hello", "Hello World", 30) os.utime(mydir, (10, 20)) self.assertEqual( [ "F 0a4d55a8d778e5022fab701977c5d840bbc486d0 30 11 Hello", "D /Dir", "F 0a4d55a8d778e5022fab701977c5d840bbc486d0 30 11 Hello", ], list(manifest.generate_manifest(self.tmpdir, alg="sha1new")), )
def testNewSHA1(self): mydir = os.path.join(self.tmpdir, 'MyDir') os.mkdir(mydir) self.write('MyDir/Hello', 'Hello World', 30) myexec = self.write('MyDir/Run me', 'Bang!', 40) os.symlink('Hello', os.path.join(self.tmpdir, 'MyDir/Sym link')) os.chmod(myexec, 0o700) os.utime(mydir, (10, 20)) self.assertEqual([ 'D /MyDir', 'F 0a4d55a8d778e5022fab701977c5d840bbc486d0 30 11 Hello', 'X 4001b8c42ddfb61c453d04930e8ce78fb3a40bc8 40 5 Run me', 'S f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0 5 Sym link'], list(manifest.generate_manifest(self.tmpdir, alg = 'sha1new')))
def testNewSHA1(self): mydir = os.path.join(self.tmpdir, 'MyDir') os.mkdir(mydir) self.write('MyDir/Hello', 'Hello World', 30) myexec = self.write('MyDir/Run me', 'Bang!', 40) os.symlink('Hello', os.path.join(self.tmpdir, 'MyDir/Sym link')) os.chmod(myexec, 0o700) os.utime(mydir, (10, 20)) self.assertEqual([ 'D /MyDir', 'F 0a4d55a8d778e5022fab701977c5d840bbc486d0 30 11 Hello', 'X 4001b8c42ddfb61c453d04930e8ce78fb3a40bc8 40 5 Run me', 'S f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0 5 Sym link' ], list(manifest.generate_manifest(self.tmpdir, alg='sha1new')))
def testNewSHA256(self): mydir = os.path.join(self.tmpdir, "MyDir") os.mkdir(mydir) self.write("MyDir/Hello", "Hello World", 30) myexec = self.write("MyDir/Run me", "Bang!", 40) os.symlink("Hello", os.path.join(self.tmpdir, "MyDir/Sym link")) os.chmod(myexec, 0o700) self.assertEqual( [ "D /MyDir", "F a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e 30 11 Hello", "X 640628586b08f8ed3910bd1e75ba02818959e843b54efafb9c2260a1f77e3ddf 40 5 Run me", "S 185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969 5 Sym link", ], list(manifest.generate_manifest(self.tmpdir, alg="sha256")), )
def testNewSHA1(self): mydir = os.path.join(self.tmpdir, "MyDir") os.mkdir(mydir) self.write("MyDir/Hello", "Hello World", 30) myexec = self.write("MyDir/Run me", "Bang!", 40) os.symlink("Hello", os.path.join(self.tmpdir, "MyDir/Sym link")) os.chmod(myexec, 0o700) os.utime(mydir, (10, 20)) self.assertEqual( [ "D /MyDir", "F 0a4d55a8d778e5022fab701977c5d840bbc486d0 30 11 Hello", "X 4001b8c42ddfb61c453d04930e8ce78fb3a40bc8 40 5 Run me", "S f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0 5 Sym link", ], list(manifest.generate_manifest(self.tmpdir, alg="sha1new")), )
def testLinkManifest(self): path = os.path.join(self.tmp, 'MyLink') os.symlink('Hello', path) lines = list(manifest.generate_manifest(self.tmp)) self.assertEqual(['S f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0 5 MyLink'], lines)
def testEmpty(self): self.assertEqual("", "\n".join(manifest.generate_manifest(self.tmpdir)))
def testEmptyManifest(self): lines = list(manifest.generate_manifest(self.tmp)) self.assertEqual([], lines)
def testLinkManifest(self): path = os.path.join(self.tmp, 'MyLink') os.symlink('Hello', path) lines = list(manifest.generate_manifest(self.tmp)) self.assertEqual( ['S f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0 5 MyLink'], lines)
def testEmpty(self): self.assertEqual('', '\n'.join(manifest.generate_manifest(self.tmpdir)))
def testLinkManifest(self): path = os.path.join(self.tmp, "MyLink") os.symlink("Hello", path) lines = list(manifest.generate_manifest(self.tmp)) self.assertEquals(["S f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0 5 MyLink"], lines)