def test_fanout_main_task(self): tweet = self.create_tweet(self.ray, 'tweet 1') self.create_friendship(self.lux, self.ray) msg = fanout_newsfeeds_main_task(tweet.id, self.ray.id) self.assertEqual( msg, '1 newsfeeds are going to fanout, 1 batches created.') self.assertEqual(1 + 1, NewsFeed.objects.count()) cached_list = NewsFeedService.get_cached_newsfeeds(self.ray.id) self.assertEqual(len(cached_list), 1) for i in range(2): user = self.create_user('user{}'.format(i)) self.create_friendship(user, self.ray) tweet = self.create_tweet(self.ray, 'tweet 2') msg = fanout_newsfeeds_main_task(tweet.id, self.ray.id) self.assertEqual( msg, '3 newsfeeds are going to fanout, 1 batches created.') self.assertEqual(4 + 2, NewsFeed.objects.count()) cached_list = NewsFeedService.get_cached_newsfeeds(self.ray.id) self.assertEqual(len(cached_list), 2) user = self.create_user('another user') self.create_friendship(user, self.ray) tweet = self.create_tweet(self.ray, 'tweet 3') msg = fanout_newsfeeds_main_task(tweet.id, self.ray.id) self.assertEqual( msg, '4 newsfeeds are going to fanout, 2 batches created.') self.assertEqual(8 + 3, NewsFeed.objects.count()) cached_list = NewsFeedService.get_cached_newsfeeds(self.ray.id) self.assertEqual(len(cached_list), 3) cached_list = NewsFeedService.get_cached_newsfeeds(self.lux.id) self.assertEqual(len(cached_list), 3)
def test_fanout_main_task(self): tweet = self.create_tweet(self.linghu, 'tweet 1') if GateKeeper.is_switch_on('switch_newsfeed_to_hbase'): created_at = tweet.timestamp else: created_at = tweet.created_at self.create_friendship(self.dongxie, self.linghu) msg = fanout_newsfeeds_main_task(tweet.id, created_at, self.linghu.id) self.assertEqual(msg, '1 newsfeeds going to fanout, 1 batches created.') self.assertEqual(1 + 1, NewsFeedService.count()) cached_list = NewsFeedService.get_cached_newsfeeds(self.linghu.id) self.assertEqual(len(cached_list), 1) for i in range(2): user = self.create_user('user{}'.format(i)) self.create_friendship(user, self.linghu) tweet = self.create_tweet(self.linghu, 'tweet 2') if GateKeeper.is_switch_on('switch_newsfeed_to_hbase'): created_at = tweet.timestamp else: created_at = tweet.created_at msg = fanout_newsfeeds_main_task(tweet.id, created_at, self.linghu.id) self.assertEqual(msg, '3 newsfeeds going to fanout, 1 batches created.') self.assertEqual(4 + 2, NewsFeedService.count()) cached_list = NewsFeedService.get_cached_newsfeeds(self.linghu.id) self.assertEqual(len(cached_list), 2) user = self.create_user('another user') self.create_friendship(user, self.linghu) tweet = self.create_tweet(self.linghu, 'tweet 3') if GateKeeper.is_switch_on('switch_newsfeed_to_hbase'): created_at = tweet.timestamp else: created_at = tweet.created_at msg = fanout_newsfeeds_main_task(tweet.id, created_at, self.linghu.id) self.assertEqual(msg, '4 newsfeeds going to fanout, 2 batches created.') self.assertEqual(8 + 3, NewsFeedService.count()) cached_list = NewsFeedService.get_cached_newsfeeds(self.linghu.id) self.assertEqual(len(cached_list), 3) cached_list = NewsFeedService.get_cached_newsfeeds(self.dongxie.id) self.assertEqual(len(cached_list), 3)
def test_fanout_main_task(self): tweet = self.create_tweet(self.bob, 'tweet 1') self.create_friendship(self.alex, self.bob) if GateKeeper.is_switched_on('switch_newsfeed_to_hbase'): msg = fanout_newsfeeds_main_task(tweet.id, tweet.timestamp, self.bob.id) self.assertEqual(1 + 1, len(HBaseNewsFeed.filter(prefix=(None, None)))) else: msg = fanout_newsfeeds_main_task(tweet.id, tweet.created_at, self.bob.id) self.assertEqual(1 + 1, NewsFeed.objects.count()) self.assertEqual(msg, '1 newsfeeds going to fanout, 1 batches created.') cached_list = NewsFeedService.get_cached_newsfeeds(self.bob.id) self.assertEqual(len(cached_list), 1) for i in range(2): user = self.create_user('user{}'.format(i)) self.create_friendship(user, self.bob) tweet = self.create_tweet(self.bob, 'tweet 2') if GateKeeper.is_switched_on('switch_newsfeed_to_hbase'): msg = fanout_newsfeeds_main_task(tweet.id, tweet.timestamp, self.bob.id) self.assertEqual(4 + 2, len(HBaseNewsFeed.filter(prefix=(None, None)))) else: msg = fanout_newsfeeds_main_task(tweet.id, tweet.created_at, self.bob.id) self.assertEqual(4 + 2, NewsFeed.objects.count()) self.assertEqual(msg, '3 newsfeeds going to fanout, 1 batches created.') cached_list = NewsFeedService.get_cached_newsfeeds(self.bob.id) self.assertEqual(len(cached_list), 2) user = self.create_user('another user') self.create_friendship(user, self.bob) tweet = self.create_tweet(self.bob, 'tweet 3') if GateKeeper.is_switched_on('switch_newsfeed_to_hbase'): msg = fanout_newsfeeds_main_task(tweet.id, tweet.timestamp, self.bob.id) self.assertEqual(8 + 3, len(HBaseNewsFeed.filter(prefix=(None, None)))) else: msg = fanout_newsfeeds_main_task(tweet.id, tweet.created_at, self.bob.id) self.assertEqual(8 + 3, NewsFeed.objects.count()) self.assertEqual(msg, '4 newsfeeds going to fanout, 2 batches created.') cached_list = NewsFeedService.get_cached_newsfeeds(self.bob.id) self.assertEqual(len(cached_list), 3) cached_list = NewsFeedService.get_cached_newsfeeds(self.alex.id) self.assertEqual(len(cached_list), 3)