Пример #1
0
    def setUp_authenticate_returns_new_user_if_none_found(self):
        # TODO: refactor so this doesn't make my eyes bleed
        random_user_id = random.randint(1, 1000)
        random_user_name = 'Bob Smith (%d)' % random_user_id
        mock_twitter = self.mox.CreateMock(MockTwitter)
        mock_twitter.account = self.mox.CreateMock(MockTwitterAccount)
        mock_twitter.account.verify_credentials().AndReturn({
            'id': random_user_id,
            'name': random_user_name,
        })

        user = self.mox.CreateMock(User)
        manager = self.mox.CreateMock(managers.TwitterTokenManager)
        manager.get_uid(random_user_id).AndRaise(models.TwitterToken.DoesNotExist)

        user_manager = self.mox.CreateMock(UserManager)

        request = self.create_mock_request()
        random_oauth_token = random.randint(1, 1000)
        request.GET['oauth_token'] = random_oauth_token
        self.mox.StubOutWithMock(utils, 'create_new_user')
        self.mox.StubOutWithMock(utils, 'get_twitter_api')
        self.mox.StubOutWithMock(utils, 'get_request_token')
        self.mox.StubOutWithMock(utils, 'fetch_access_token')
        utils.get_request_token(request).AndReturn('123')
        utils.get_twitter_api(token='123').AndReturn(mock_twitter)
        utils.create_new_user(random_user_id, random_user_name, user_manager=user_manager).AndReturn(user)
        random_token_key = 'some key %d' % random.randint(1, 1000)
        random_token_secret = 'some secret %d' % random.randint(1, 1000)
        token = oauth2.Token(random_token_key, random_token_secret)
        manager.create_new_twitter_token(user, random_user_id, token)
        utils.fetch_access_token('123', random_oauth_token).AndReturn(token)
        self.mox.ReplayAll()
        return (request, manager, user_manager)
Пример #2
0
 def test_get_oauth_token(self):
     twitter_token = TwitterToken.objects.create(user=create_new_user('100', 'chris dickinson'), key='key', secret='secret', uid='100')
     oauth_token = twitter_token.get_oauth_token()
     self.assertTrue(isinstance(oauth_token, oauth2.Token))
     self.assertEqual(oauth_token.key, twitter_token.key)
     self.assertEqual(oauth_token.secret, twitter_token.secret)