def process_request(self, request): user = getattr(request, 'user', None) if user is not None and user.is_authenticated(): user_api = vumi_api_for_user(request.user) request.user_api = user_api SessionManager.set_user_account_key(request.session, user_api.user_account_key)
def process_request(self, request): user = getattr(request, 'user', None) if user is not None and user.is_authenticated(): user_api = vumi_api_for_user(request.user) request.user_api = user_api SessionManager.set_user_account_key( request.session, user_api.user_account_key)
class TestGoUserSessionAccessChecker(VumiTestCase): @inlineCallbacks def setUp(self): self.persistence_helper = self.add_helper( PersistenceHelper(is_sync=False)) self.redis = yield self.persistence_helper.get_redis_manager() self.sm = SessionManager(self.redis) @inlineCallbacks def test_request_avatar_id(self): checker = GoUserSessionAccessChecker(self.sm) session = {} self.sm.set_user_account_key(session, u"user-1") yield self.sm.save_session(u"session-1", session, 10) creds = UsernamePassword(u"session_id", u"session-1") user = yield checker.requestAvatarId(creds) self.assertEqual(user, u"user-1") @inlineCallbacks def test_request_avatar_id_bad_password(self): checker = GoUserSessionAccessChecker(self.sm) creds = UsernamePassword(u"session_id", u"session-unknown") errored = False try: yield checker.requestAvatarId(creds) except error.UnauthorizedLogin: errored = True self.assertTrue(errored) @inlineCallbacks def test_request_avatar_id_bad_username(self): checker = GoUserSessionAccessChecker(self.sm) session = {} self.sm.set_user_account_key(session, u"user-1") yield self.sm.save_session(u"session-1", session, 10) creds = UsernamePassword(u"session_id_BAD", u"session-1") try: yield checker.requestAvatarId(creds) except error.UnauthorizedLogin: errored = True self.assertTrue(errored)
def test_set_user_account_key(self): session = {} SessionManager.set_user_account_key(session, u"user-1") self.assertEqual(session, { GO_USER_ACCOUNT_KEY: u"user-1", })