class TestGenerate(unittest.TestCase): """ Class for testing the Generate class """ def setUp(self): """ Setup """ self.generate = Generate(PSK) def test_generate(self): """ Generate a test """ i = 0 while i < 100: i += 1 time.sleep(0.01) thetime = datetime.datetime.now().strftime("%Y%m%d%H%M") thehash = hashlib.sha256(thetime + PSK) assert thehash.hexdigest() == self.generate.generate() def test_generate_specify_date(self): thehash = hashlib.sha256("{0}{1}".format("201511031002", PSK)) print "{0}{1}".format("201511031002", PSK) print thehash.hexdigest() assert thehash.hexdigest() == self.generate.generate("201511031002")
class TestVerify(unittest.TestCase): """ Class for testing the Generate class """ def setUp(self): """ Setup """ self.generate = Generate(PSK) self.verify = Verify(PSK) def test_verify(self): """ Generate a test """ assert self.verify.verify(self.generate.generate()) def test_verify_where_shared_secret_is_wrong(self): """ Set Generation to be a different key """ self.generate = Generate("notthekey") assert not self.verify.verify(self.generate.generate()) def test_verify_where_time_is_wrong(self): thetime = "201511031002" thehash = hashlib.sha256(thetime + PSK) assert not self.verify.verify(thehash.hexdigest())
def verify(self, hash): """ Verify that the hash is correct given the shared secret :param hash: the hash to check :return: True, if the verification passed. False otherwise """ generate = Generate(self.shared_secret) generated_hash = generate.generate() return generated_hash == hash
def perform_action(self, data): """ Perform the verification :param data - the data handed to the perform action command :return a hash based on the client key, or Statics.ERROR message """ return_value = Statics.ERROR verify = Verify(self.server_key) print self.server_key if verify.verify(data): generate = Generate(self.client_key) return_value = generate.generate() return return_value
class TestVerificationCommand(unittest.TestCase): """ Test that the verification has happened """ def setUp(self): self.psk = PreSharedSecrets() self.generate_server = Generate(self.psk.serverKey) self.generate_client = Generate(self.psk.clientKey) self.verification_command = VerificationCommand(self.psk.serverKey, self.psk.clientKey) def test_verification_passes(self): assert self.verification_command.perform_action(self.generate_server.generate()) == self.generate_client.generate()
def test_verify_where_shared_secret_is_wrong(self): """ Set Generation to be a different key """ self.generate = Generate("notthekey") assert not self.verify.verify(self.generate.generate())
def setUp(self): """ Setup """ self.generate = Generate(PSK) self.verify = Verify(PSK)
def setUp(self): """ Setup """ self.generate = Generate(PSK)
def setUp(self): self.psk = PreSharedSecrets() self.generate_server = Generate(self.psk.serverKey) self.generate_client = Generate(self.psk.clientKey) self.verification_command = VerificationCommand(self.psk.serverKey, self.psk.clientKey)