예제 #1
0
 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)
예제 #2
0
 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)
예제 #3
0
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)
예제 #4
0
 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",
     })