From 9f0d04fdbae0943fda57479431341e9242ed3360 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Nov=C3=BD?= Date: Mon, 16 Nov 2015 22:26:05 +0100 Subject: [PATCH] Sha512 unit tests Change-Id: Ic3c90beafdcf70330ad0b34abd0972cb9abf98b3 --- test_swauth/unit/test_authtypes.py | 39 ++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/test_swauth/unit/test_authtypes.py b/test_swauth/unit/test_authtypes.py index 3e1c115..a6caf98 100644 --- a/test_swauth/unit/test_authtypes.py +++ b/test_swauth/unit/test_authtypes.py @@ -62,6 +62,45 @@ class TestSha1(unittest.TestCase): match = self.auth_encoder.match('keystring', creds) self.assertEqual(match, False) + creds = 'sha1:salt$d50dc700c296e23ce5b41f7431a0e01f69010f06' + match = self.auth_encoder.match('keystring2', creds) + self.assertEqual(match, False) + + +class TestSha512(unittest.TestCase): + + def setUp(self): + self.auth_encoder = authtypes.Sha512() + self.auth_encoder.salt = 'salt' + + @mock.patch('swauth.authtypes.os') + def test_sha512_encode(self, os): + os.urandom.return_value.encode.return_value.rstrip \ + .return_value = 'salt' + enc_key = self.auth_encoder.encode('keystring') + self.assertEqual('sha512:salt$482e73705fac6909e2d78e8bbaf65ac3ca1473' + '8f445cc2367b7daa3f0e8f3dcfe798e426b9e332776c8da59c' + '0c11d4832931d1bf48830f670ecc6ceb04fbad0f', enc_key) + + def test_sha512_valid_match(self): + creds = ('sha512:salt$482e73705fac6909e2d78e8bbaf65ac3ca14738f445cc2' + '367b7daa3f0e8f3dcfe798e426b9e332776c8da59c0c11d4832931d1bf' + '48830f670ecc6ceb04fbad0f') + match = self.auth_encoder.match('keystring', creds) + self.assertEqual(match, True) + + def test_sha512_invalid_match(self): + creds = ('sha512:salt$deadbabedeadbabedeadbabedeadbabedeadbabedeadba' + 'bedeadbabedeadbabedeadbabedeadbabedeadbabedeadbabedeadbabe' + 'c0ffeebadc0ffeeec0ffeeba') + match = self.auth_encoder.match('keystring', creds) + self.assertEqual(match, False) + + creds = ('sha512:salt$482e73705fac6909e2d78e8bbaf65ac3ca14738f445cc2' + '367b7daa3f0e8f3dcfe798e426b9e332776c8da59c0c11d4832931d1bf' + '48830f670ecc6ceb04fbad0f') + match = self.auth_encoder.match('keystring2', creds) + self.assertEqual(match, False) if __name__ == '__main__': unittest.main()