def test_activity_stream(self): user = create_user() stream = ActivityStream(user.id, activity_types=[ExampleActivity]) self.assertEqual(0, len(list(stream))) activity = ExampleActivity({'foo': 'bar'}, actor=user) stream.push(activity) activity = list(stream)[0] self.assertEqual(activity.type, '__example__')
def _followee_post(self): """ Returns the posted comment. """ self.user.follow(self.actor) comment = create_quest_comment(author=self.actor) stream = ActivityStream(self.user.id, activity_types=[FolloweePostedActivity]) activity = FolloweePostedActivity.from_comment(self.actor, comment) stream.push(activity) return comment
def test_cache_invalidation(self): original_len = len(self._get_items()) self.user.follow(self.actor) comment = create_quest_comment(author=self.actor) stream = ActivityStream(self.user.id, activity_types=[FolloweePostedActivity]) activity = FolloweePostedActivity.from_comment(self.actor, comment) stream.push(activity) self.assertEqual(len(self._get_items()), original_len + 1)
def test_followee_posted(self): self.user.follow(self.actor) comment = create_quest_comment(author=self.actor) stream = ActivityStream(self.user.id, activity_types={ FolloweePostedActivity.TYPE: FolloweePostedActivity }) activity = FolloweePostedActivity.from_comment(self.actor, comment) stream.push(activity) activity, _ = list(self.user.redis.activity_stream) self.assertEqual(activity.to_client()['comment_id'], comment.id)
def test_actor_avatar(self): avatar = create_content() self.api_post('/api/user/change_avatar', {'content_id': avatar.id}, user=self.actor) comment = create_quest_comment(author=self.user) star_models.star(self.actor, comment) sticker = comment.stickers.all()[0] stream = ActivityStream(self.user.id, activity_types=[StarredActivity]) activity = StarredActivity.from_sticker(self.actor, sticker) stream.push(activity) activity, _ = list(self.user.redis.activity_stream) self.assertTrue('avatar_url' in activity.to_client()['actor'])
def test_followee_created_ugq(self): self.user.follow(self.actor) resp = self.api_post('/api/ugq/create_quest', { 'title': 'Test', 'content_id': None, }, user=self.actor) quest = Quest.objects.get(id=resp['quest']['id']) stream = ActivityStream(self.user.id, activity_types=[FolloweeCreatedUgqActivity]) activity = FolloweeCreatedUgqActivity.from_quest(self.actor, quest) stream.push(activity) activities = list(self.user.redis.activity_stream) print activities activity = activities[0] self.assertEqual(activity.to_client()['quest_id'], quest.id)
def test_cache_invalidation(self): def get_items(): return self.api_post('/api/activity/activities', user=self.user)['activities'] original_len = len(get_items()) self.user.follow(self.actor) comment = create_quest_comment(author=self.actor) stream = ActivityStream(self.user.id, activity_types={ FolloweePostedActivity.TYPE: FolloweePostedActivity }) activity = FolloweePostedActivity.from_comment(self.actor, comment) stream.push(activity) self.assertEqual(len(get_items()), original_len + 1)