Beispiel #1
0
 def _create_mocked_tweet_request(self):
     request = RequestFactory().post(
         reverse('customercare.twitter_post'),
         {'reply_to': 1,
          'content': '@foobar try Aurora! #fxhelp'})
     request.session = {}
     request.twitter = Mock()
     request.twitter.authed = True
     request.twitter.api = Mock()
     return_value = {
         'id': 123456790,
         'text': '@foobar try Aurora! #fxhelp',
         'created_at': datetime.strftime(datetime.utcnow(),
                                         '%a %b %d %H:%M:%S +0000 %Y'),
         'user': {
             'lang': 'en',
             'id': 42,
             'screen_name': 'r1cky',
             'profile_image_url': 'http://example.com/profile.jpg',
             'profile_image_url_https': 'https://example.com/profile.jpg',
         }
     }
     request.twitter.api.update_status.return_value = return_value
     credentials = {'screen_name': 'r1cky'}
     request.twitter.api.verify_credentials.return_value = credentials
     request.user = user(save=True)
     return request
Beispiel #2
0
 def _create_mocked_tweet_request(self):
     request = RequestFactory().post(
         reverse('customercare.twitter_post'), {
             'reply_to': 1,
             'content': '@foobar try Aurora! #fxhelp'
         })
     request.session = {}
     request.twitter = Mock()
     request.twitter.authed = True
     request.twitter.api = Mock()
     return_value = {
         'id':
         123456790,
         'text':
         '@foobar try Aurora! #fxhelp',
         'created_at':
         datetime.strftime(datetime.utcnow(), '%a %b %d %H:%M:%S +0000 %Y'),
         'user': {
             'lang': 'en',
             'id': 42,
             'screen_name': 'r1cky',
             'profile_image_url': 'http://example.com/profile.jpg',
             'profile_image_url_https': 'https://example.com/profile.jpg',
         }
     }
     request.twitter.api.update_status.return_value = return_value
     credentials = {'screen_name': 'r1cky'}
     request.twitter.api.verify_credentials.return_value = credentials
     request.user = UserFactory()
     return request
Beispiel #3
0
    def test_post_reply(self):
        # Create a Tweet to reply to.
        Tweet.objects.create(pk=1,
                             raw_json='{}',
                             locale='en',
                             created=datetime.now())

        # Create a request and mock all the required properties and methods.
        request = RequestFactory().post(
            reverse('customercare.twitter_post'), {
                'reply_to': 1,
                'content': '@foobar try Aurora! #fxhelp'
            })
        request.session = {}
        request.twitter = Mock()
        request.twitter.authed = True
        request.twitter.api = Mock()
        return_value = {
            'id':
            123456790,
            'text':
            '@foobar try Aurora! #fxhelp',
            'created_at':
            datetime.strftime(datetime.utcnow(), '%a %b %d %H:%M:%S +0000 %Y'),
            'user': {
                'lang': 'en',
                'id': 42,
                'screen_name': 'r1cky',
                'profile_image_url': 'http://example.com/profile.jpg',
                'profile_image_url_https': 'https://example.com/profile.jpg',
            }
        }
        request.twitter.api.update_status.return_value = return_value
        credentials = {'screen_name': 'r1cky'}
        request.twitter.api.verify_credentials.return_value = credentials
        request.user = UserFactory()

        # Pass the request to the view and verify response.
        response = twitter_post(request)
        eq_(200, response.status_code)

        # Verify the reply was inserted with the right data.
        reply = Reply.objects.all()[0]
        eq_('r1cky', reply.twitter_username)
        eq_(1, reply.reply_to_tweet_id)
        eq_('@foobar try Aurora! #fxhelp', json.loads(reply.raw_json)['text'])
Beispiel #4
0
    def test_post_reply(self):
        # Create a Tweet to reply to.
        Tweet.objects.create(
            pk=1,
            raw_json='{}',
            locale='en',
            created=datetime.now())

        # Create a request and mock all the required properties and methods.
        request = RequestFactory().post(
            reverse('customercare.twitter_post'),
            {'reply_to': 1,
             'content': '@foobar try Aurora! #fxhelp'})
        request.session = {}
        request.twitter = Mock()
        request.twitter.authed = True
        request.twitter.api = Mock()
        return_value = {
            'id': 123456790,
            'text': '@foobar try Aurora! #fxhelp',
            'created_at': datetime.strftime(datetime.utcnow(),
                                            '%a %b %d %H:%M:%S +0000 %Y'),
            'user': {
                'lang': 'en',
                'id': 42,
                'screen_name': 'r1cky',
                'profile_image_url': 'http://example.com/profile.jpg',
                'profile_image_url_https': 'https://example.com/profile.jpg',
            }
        }
        request.twitter.api.update_status.return_value = return_value
        credentials = {'screen_name': 'r1cky'}
        request.twitter.api.verify_credentials.return_value = credentials
        request.user = user(save=True)

        # Pass the request to the view and verify response.
        response = twitter_post(request)
        eq_(200, response.status_code)

        # Verify the reply was inserted with the right data.
        reply = Reply.objects.all()[0]
        eq_('r1cky', reply.twitter_username)
        eq_(1, reply.reply_to_tweet_id)
        eq_('@foobar try Aurora! #fxhelp', json.loads(reply.raw_json)['text'])