class Chunk(object): def __init__(self, file_path, num_challenges, root_seed): self.secret = "mysecret" self.target_file = Heartbeat(file_path, self.secret) self.target_file.generate_challenges(num_challenges, root_seed) def challenge(self): return self.target_file.random_challenge() def response(self, answer): return self.target_file.check_answer(answer)
def test_heartbeat_and_challenge(self): file1 = Heartbeat(self.file_path, "mysecret") file1.generate_challenges(10, self.root_seed) challenge = file1.random_challenge() # Create hash_response from seed and duplicate file file2 = Heartbeat(self.file_path2) answer = file2.meet_challenge(challenge) self.assertTrue(file1.check_answer(answer)) # Create hash_answer from seed and edited file file3 = Heartbeat(self.file_path3) answer = file3.meet_challenge(challenge) # This should not match self.assertFalse(file1.check_answer(answer))
def num_challenges(number): file1 = Heartbeat(self.size_path, "mysecret") file1.generate_challenges(number, self.root_seed)