Пример #1
0
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")
Пример #2
0
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())
Пример #3
0
    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
Пример #4
0
    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()
Пример #6
0
 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())
Пример #7
0
 def setUp(self):
     """
     Setup
     """
     self.generate = Generate(PSK)
     self.verify = Verify(PSK)
Пример #8
0
 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)