def testChecksumFile(self): filenames = [] filenames.append(self._foo_tempfile()) filenames.append(self._foo_tempfile('.gz')) filenames.append(self._foo_tempfile('.bz2')) # checksums of 'foo' foo_size = 3 checksums_ref = {'md5' : 'acbd18db4cc2f85cedef654fccc4a4d8', 'sha1': '0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33',} for filename in filenames: try: size, sums = Compressor.checksum_file(filename, ['sha1']) self.assertEqual(size, foo_size) self.assertEqual(sums, {'sha1' : '0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33'}) size, sums = Compressor.checksum_file(filename, ['md5', 'sha1']) self.assertEqual(size, foo_size) for sum, val in sums.items(): self.assertEqual(checksums_ref[sum], val) self.failUnlessRaises(Exception, Compressor.checksum_file, filename, ['bar']) finally: os.unlink(filename)
def checksumImage(filename, checksums=ManifestInfo.MANDATORY_CHECKSUMS): """Return dictionary of checksums.""" return Compressor.checksum_file(filename, checksums)
def _getDownloadedImageChecksum(self, hash_fun): size_b, sums = Compressor.checksum_file( self.downloadedLocalImageLocation, [hash_fun]) return size_b, sums[self._CHECKSUM]