def test_heartbeat_and_challenge(self): file1 = OneHash(self.file_path, b"mysecret") file1.generate_challenges(10, self.root_seed) challenge = file1.random_challenge() # Create hash_response from seed and duplicate file file2 = OneHash(self.file_path2) answer = file2.meet_challenge(challenge) self.assertTrue(file1.check_answer(answer)) # Create hash_answer from seed and edited file file3 = OneHash(self.file_path3) answer = file3.meet_challenge(challenge) # This should not match self.assertFalse(file1.check_answer(answer))
def test_initialization(self): self.assertEqual(self.hb.file_size, os.path.getsize(self.file_loc)) if sys.version_info < (3, 0): self.assertIsInstance(self.hb.file_object, file) else: self.assertIsInstance(self.hb.file_object, io.BufferedReader) self.assertTrue(isinstance(self.hb.challenges, list)) self.assertEqual(len(self.hb.challenges), 0) hb = OneHash(self.file_loc, os.urandom(32)) self.assertTrue(hb.secret) self.assertTrue(len(hb.secret), 32)
def __init__(self, file_path): self.target_file = OneHash(file_path, b"mysecret")
def __init__(self, file_path, num_challenges, root_seed): self.secret = b"mysecret" self.target_file = OneHash(file_path, self.secret) self.target_file.generate_challenges(num_challenges, root_seed)
def num_challenges(number): file1 = OneHash(self.size_path, b"mysecret") file1.generate_challenges(number, self.root_seed)
def test_initialization_fail(self): with self.assertRaises(HeartbeatError) as ex: OneHash('does/not/exist') ex_msg = ex.exception.message self.assertEqual('does/not/exist not found', ex_msg)
def setUp(self): self.file_loc = os.path.abspath('files/test.txt') self.secret = b"mysecret" self.hb = OneHash(self.file_loc, self.secret)