def test_get_user_invalidates_one_time_tokens(self): token = get_token(self.user) self.assertEqual(get_user(token), self.user) self.assertIsNone(get_user(token)) self.assertLogsContain("Invalid token")
def test_get_token(self): self.assertIsInstance(get_token(self.user), str)
def test_get_user_does_not_invalidate_tokens(self): token = get_token(self.user) self.assertEqual(get_user(token), self.user) self.assertEqual(get_user(token), self.user)
def test_get_user_inactive_user(self): token = get_token(self.user) self.user.is_active = False self.user.save() self.assertIsNone(get_user(token)) self.assertLogsContain("Unknown or inactive user")
def test_get_user_unknown_user(self): token = get_token(self.user) self.user.delete() self.assertIsNone(get_user(token)) self.assertLogsContain("Unknown or inactive user")
def test_get_user_token(self): token = get_token(self.user) self.assertEqual(get_user(token), self.user)
def test_get_user_expired_token(self): token = get_token(self.user) self.assertIsNone(get_user(token)) self.assertLogsContain("Expired token")
def test_get_parameters_with_scope(self): self.assertEqual( get_parameters(self.user, scope="test"), {"sesame": get_token(self.user, scope="test")}, )
def test_get_query_string_with_scope(self): # Tokens v2 only contain URL-safe characters. There's no escaping. self.assertEqual( get_query_string(self.user, scope="test"), "?sesame=" + get_token(self.user, scope="test"), )
def test_get_parameters(self): self.assertEqual(get_parameters(self.user), {"sesame": get_token(self.user)})
def test_get_user_force_not_update_last_login(self): token = get_token(self.user) last_login = self.user.last_login self.assertEqual(get_user(token, update_last_login=False), self.user) self.user.refresh_from_db() self.assertEqual(self.user.last_login, last_login)
def test_get_scoped_token(self): self.assertIsInstance(get_token(self.user, scope="test"), str)
def test_get_user_updates_last_login_for_one_time_tokens(self): token = get_token(self.user) last_login = self.user.last_login self.assertEqual(get_user(token), self.user) self.user.refresh_from_db() self.assertGreater(self.user.last_login, last_login)
def get_sesame_token(self): from sesame.utils import get_token return get_token(self.user)