def testNoCheckFile(self): """Verify return value when file to check does not exist.""" filename = '' md5filename = '' self.assertFalse(cb_archive_hashing_lib.CheckMd5( filename, md5filename)) self.clean_files = []
def testNoMd5File(self): """Verify return value when md5 checksum file does not exist.""" check_file = tempfile.NamedTemporaryFile() filename = check_file.name md5filename = '' self.assertFalse(cb_archive_hashing_lib.CheckMd5( filename, md5filename)) self.clean_files = [filename]
def testMd5FileBadFormat(self): """Verify return value when md5 file corrupt.""" check_file = tempfile.NamedTemporaryFile() filename = check_file.name golden_file = tempfile.NamedTemporaryFile() golden_file.write(' ') golden_file.seek(0) md5filename = golden_file.name self.assertFalse(cb_archive_hashing_lib.CheckMd5( filename, md5filename)) self.clean_files = [filename, md5filename]
def testMd5Bad(self): """Verify return value when checksums disagree.""" check_file = tempfile.NamedTemporaryFile() check_file.write('sample file content inserted here to be hashed') check_file.seek(0) filename = check_file.name golden_file = tempfile.NamedTemporaryFile() golden_file.write('This_is_likely_not_the_checksum' + ' ' + filename) golden_file.seek(0) md5filename = golden_file.name self.assertFalse(cb_archive_hashing_lib.CheckMd5( filename, md5filename)) self.clean_files = [filename, md5filename]
def testMd5Good(self): """Verify return value when checksums agree and are properly computed.""" check_file = tempfile.NamedTemporaryFile() check_file.write('sample file content inserted here to be hashed') check_file.seek(0) # make a good md5 checksum hasher = hashlib.md5() for chunk in iter(lambda: check_file.read(128 * hasher.block_size), ''): hasher.update(chunk) filename = check_file.name golden_file = tempfile.NamedTemporaryFile() golden_file.write(hasher.hexdigest() + ' ' + filename) golden_file.seek(0) md5filename = golden_file.name self.assertTrue(cb_archive_hashing_lib.CheckMd5(filename, md5filename)) self.clean_files = [filename, md5filename]