예제 #1
0
    def test_gen_user_secret(self):
        """Generation of a user secret which randomly salts and hashes."""

        secret_hasher = Mock()
        secret_hasher.digest_size = 3 
        when(secret_hasher).hexdigest().thenReturn('ababa')

        secret_generator = secrets.SecretGenerator(lambda: secret_hasher, lambda x: 'aaa')

        self.assertEqual(secret_generator.gen_user_secret(1), u'ababa')
        verify(secret_hasher).update(u'aaa#1')
예제 #2
0
    def test_gen_for_two_users(self):
        """Generation of a user secret from two user ids."""

        secret_hasher = Mock()
        secret_hasher.digest_size = 3 

        secret_generator = secrets.SecretGenerator(lambda: secret_hasher, lambda x: 'aaa')

        when(secret_hasher).hexdigest().thenReturn('ababa')
        self.assertEqual(secret_generator.gen_user_secret(1), u'ababa')
        verify(secret_hasher).update(u'aaa#1')

        when(secret_hasher).hexdigest().thenReturn('bcax')
        self.assertEqual(secret_generator.gen_user_secret(2), u'bcax')
        verify(secret_hasher).update(u'aaa#2')