Skip to content

Commit

Permalink
twitter plugin consumer keys from settings
Browse files Browse the repository at this point in the history
  • Loading branch information
Pedro Burón committed Sep 3, 2013
1 parent 12feba3 commit e0aa4ac
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 27 deletions.
2 changes: 0 additions & 2 deletions lifestreams/plugins/lifestream_twitter/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@
class TwitterFeed(models.Model):
feed = models.OneToOneField('lifestreams.Feed', related_name='twitter', verbose_name=_('Feed'))
screen_name = models.CharField(max_length=100)
consumer_key = models.CharField(max_length=100)
consumer_secret = models.CharField(max_length=100)
access_token = models.CharField(max_length=100)
access_token_secret = models.CharField(max_length=100)

Expand Down
7 changes: 4 additions & 3 deletions lifestreams/plugins/lifestream_twitter/plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import tweepy

from lifestreams.plugins import BasePlugin
from lifestreams.utils import get_setting
from lifestreams.exceptions import FeedNotConfiguredException, FeedErrorException

from .models import ItemTweet, TwitterFeed
Expand All @@ -24,7 +25,9 @@

class TweetsHandler(object):

def __init__(self, consumer_key, consumer_secret, access_token, access_token_secret, screen_name):
def __init__(self, access_token, access_token_secret, screen_name):
consumer_key = get_setting('TWITTER_CONSUMER_KEY')
consumer_secret = get_setting('TWITTER_CONSUMER_SECRET')
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
self.api = tweepy.API(auth)
Expand Down Expand Up @@ -63,8 +66,6 @@ def get_handler(self):
def get_handler_kwargs(self):
try:
return {
'consumer_key': self.feed.twitter.consumer_key,
'consumer_secret': self.feed.twitter.consumer_secret,
'access_token': self.feed.twitter.access_token,
'access_token_secret': self.feed.twitter.access_token_secret,
'screen_name': self.feed.twitter.screen_name
Expand Down
48 changes: 26 additions & 22 deletions lifestreams/plugins/lifestream_twitter/tests.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from datetime import datetime

from django.test import TestCase
from django.test.utils import override_settings
from django.utils.timezone import is_aware

import pytz
Expand All @@ -14,10 +15,9 @@
from .models import TwitterFeed



class PluginTest(TestCase):
def setUp(self):
self.consumer_key = 'a'
self.consumer_secret = 'b'
self.access_token = 'c'
self.access_token_secret = 'd'
self.plugin = 'lifestreams.plugins.lifestream_twitter.plugin.TwitterPlugin'
Expand All @@ -26,8 +26,6 @@ def setUp(self):
self.feed.save()
self.twitter_feed = TwitterFeed(feed=self.feed,
screen_name='uniquisimo',
consumer_key=self.consumer_key,
consumer_secret=self.consumer_secret,
access_token=self.access_token,
access_token_secret=self.access_token_secret)
self.twitter_feed.save()
Expand All @@ -37,9 +35,7 @@ def test_handler_called(self, TweetsHandler):

TwitterPlugin(feed=self.feed)

TweetsHandler.assert_called_once_with(consumer_key=self.consumer_key,
consumer_secret=self.consumer_secret,
access_token=self.access_token,
TweetsHandler.assert_called_once_with(access_token=self.access_token,
access_token_secret=self.access_token_secret,
screen_name=self.twitter_feed.screen_name)

Expand All @@ -61,17 +57,13 @@ def test_access_from_twitter_feed(self, TweetsHandler):
feed = Feed(title=self.plugin, feed_plugin=self.plugin, lifestream=self.lifestream)
feed.save()
twitter_feed = TwitterFeed(feed=feed, screen_name=screen_name,
consumer_key=consumer_key,
consumer_secret=consumer_secret,
access_token=access_token,
access_token_secret=access_token_secret)
twitter_feed.save()

TwitterPlugin(feed=feed)

TweetsHandler.assert_called_once_with(consumer_key=consumer_key,
consumer_secret=consumer_secret,
access_token=access_token,
TweetsHandler.assert_called_once_with(access_token=access_token,
access_token_secret=access_token_secret,
screen_name=screen_name)

Expand Down Expand Up @@ -151,10 +143,12 @@ def assert_compare_tweet_item(self, tweet, item):
self.assertTrue(is_aware(item.published))


@override_settings(TWITTER_CONSUMER_KEY='TWITTER_CONSUMER_KEY')
@override_settings(TWITTER_CONSUMER_SECRET='TWITTER_CONSUMER_SECRET')
class TweetsHandlerTest(TestCase):
def setUp(self):
self.consumer_key = 'a'
self.consumer_secret = 'b'
self.consumer_key = 'TWITTER_CONSUMER_KEY'
self.consumer_secret = 'TWITTER_CONSUMER_SECRET'
self.access_token = 'c'
self.access_token_secret = 'd'
self.screen_name = 'pedro_witoi'
Expand All @@ -164,18 +158,30 @@ def setUp(self):
def test_intialize(self, API, OAuthHandler):
auth = OAuthHandler.return_value

TweetsHandler(consumer_key=self.consumer_key, consumer_secret=self.consumer_secret,
access_token=self.access_token, access_token_secret=self.access_token_secret,
TweetsHandler(access_token=self.access_token, access_token_secret=self.access_token_secret,
screen_name=self.screen_name)

OAuthHandler.assert_called_once_with(self.consumer_key, self.consumer_secret)
auth.set_access_token.assert_called_once_with(self.access_token, self.access_token_secret)
API.assert_called_once_with(auth)

@patch('tweepy.OAuthHandler')
@patch('tweepy.API')
@override_settings(TWITTER_CONSUMER_KEY='a')
@override_settings(TWITTER_CONSUMER_SECRET='b')
def test_intialize_different_settings(self, API, OAuthHandler):
auth = OAuthHandler.return_value

TweetsHandler(access_token=self.access_token, access_token_secret=self.access_token_secret,
screen_name=self.screen_name)

OAuthHandler.assert_called_once_with('a', 'b')
auth.set_access_token.assert_called_once_with(self.access_token, self.access_token_secret)
API.assert_called_once_with(auth)

@patch('tweepy.API')
def test_update(self, API):
handler = TweetsHandler(consumer_key=self.consumer_key, consumer_secret=self.consumer_secret,
access_token=self.access_token, access_token_secret=self.access_token_secret,
handler = TweetsHandler(access_token=self.access_token, access_token_secret=self.access_token_secret,
screen_name=self.screen_name)
api = API.return_value

Expand All @@ -186,8 +192,7 @@ def test_update(self, API):

@patch('tweepy.API')
def test_update_since_id(self, API):
handler = TweetsHandler(consumer_key=self.consumer_key, consumer_secret=self.consumer_secret,
access_token=self.access_token, access_token_secret=self.access_token_secret,
handler = TweetsHandler(access_token=self.access_token, access_token_secret=self.access_token_secret,
screen_name=self.screen_name)
api = API.return_value

Expand All @@ -198,8 +203,7 @@ def test_update_since_id(self, API):

@patch('tweepy.API')
def test_update_error(self, API):
handler = TweetsHandler(consumer_key=self.consumer_key, consumer_secret=self.consumer_secret,
access_token=self.access_token, access_token_secret=self.access_token_secret,
handler = TweetsHandler(access_token=self.access_token, access_token_secret=self.access_token_secret,
screen_name=self.screen_name)
api = API.return_value
api.user_timeline.side_effect = TweepError('reason')
Expand Down

0 comments on commit e0aa4ac

Please sign in to comment.