コード例 #1
0
    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))
コード例 #2
0
    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)
コード例 #3
0
 def __init__(self, file_path):
     self.target_file = OneHash(file_path, b"mysecret")
コード例 #4
0
 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)
コード例 #5
0
 def num_challenges(number):
     file1 = OneHash(self.size_path, b"mysecret")
     file1.generate_challenges(number, self.root_seed)
コード例 #6
0
    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)
コード例 #7
0
 def setUp(self):
     self.file_loc = os.path.abspath('files/test.txt')
     self.secret = b"mysecret"
     self.hb = OneHash(self.file_loc, self.secret)