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)
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)