Example #1
0
    def test_returns_none_if_check_session_fails(self):
        req = mox.MockObject(HttpRequest)
        facebook = mox.MockObject(Facebook)
        facebook.check_session(req).AndReturn(False)
        req.facebook = facebook

        replay_all(facebook, req)

        auth = FacebookConnectBackend()
        self.assertEqual(None, auth.authenticate(request = req))

        verify_all(facebook, req)
Example #2
0
    def test_returns_user_if_found(self):
        random_id = random(10, 100)
        user = mox.MockObject(User)
        user_manager = mox.MockObject(UserManager)
        user_manager.get(username = "******" % random_id).AndReturn(user)

        req = mox.MockObject(HttpRequest)
        req.user = user
        facebook = mox.MockObject(Facebook)
        facebook.check_session(req).AndReturn(True)
        facebook.uid = random_id
        req.facebook = facebook

        replay_all(req, facebook, user, user_manager)

        auth = FacebookConnectBackend(user_manager = user_manager)
        self.assertEqual(user, auth.authenticate(request = req))
        self.assertEqual(FACEBOOK_CONNECT_BACKEND_STRING, req.user.backend)

        verify_all(req, facebook, user, user_manager)
Example #3
0
    def test_username_is_salted(self):
        random_id = random(10, 100)
        user = mox.MockObject(User)
        user.set_unusable_password()
        user.save()

        user_manager = mox.MockObject(UserManager)
        user_manager.get(username = "******" % random_id).AndRaise(User.DoesNotExist())
        user_manager.create(username = "******" % random_id).AndReturn(user)

        req = mox.MockObject(HttpRequest)
        req.user = user
        facebook = mox.MockObject(Facebook)
        facebook.check_session(req).AndReturn(True)
        facebook.uid = random_id
        facebook.users = mox.MockObject(StubUserProxy)
        facebook.users.getInfo([random_id], ['name']).AndReturn([{"name": "Foo Barger"}])
        req.facebook = facebook

        replay_all(user, user_manager, req, facebook, facebook.users)

        auth = FacebookConnectBackend(user_manager = user_manager)
        new_user = auth.authenticate(request = req)
Example #4
0
 def test_returns_none_if_request_not_passed_in(self):
     auth = FacebookConnectBackend()
     self.assertEqual(None, auth.authenticate())