def setUp(self): self.pin = Pin( id=1, created_at=datetime.datetime.now() - datetime.timedelta(hours=1)) self.storage = self.storage_cls(**self.storage_options) self.activity = FakeActivity( 1, PinVerb, self.pin, 1, datetime.datetime.now(), {}) self.args = () self.kwargs = {}
def create_activities(self, verb, creation_date, count): return [FakeActivity(actor = x, verb = verb, object = self.id_seq.pop(), target = x, time = creation_date + datetime.timedelta(seconds=x), extra_context = dict(x=x)) for x in range(0, count)]
def setUp(self): from stream_framework.verbs.base import Love as LoveVerb self.serializer = self.serialization_class( **self.serialization_class_kwargs) self.activity = FakeActivity(1, LoveVerb, 1, 1, datetime.datetime.now(), {}) self.activity.extra_context = self.activity_extra_context aggregator = RecentVerbAggregator() self.aggregated_activity = aggregator.aggregate([self.activity])[0] self.args = () self.kwargs = {}
def _build_activity_list(self, ids_list): now = datetime.datetime.now() pins = [ Pin(id=i, created_at=now + datetime.timedelta(hours=i)) for i in ids_list ] pins_ids = zip(pins, ids_list) return [ FakeActivity(i, PinVerb, pin, i, now + datetime.timedelta(hours=i), {'i': i}) for pin, i in pins_ids ]
def setUp(self): self.manager = self.manager_class() self.actor_id = 42 self.pin = Pin( id=1, created_at=datetime.datetime.now() - datetime.timedelta(hours=1)) self.activity = FakeActivity( self.actor_id, LoveVerb, self.pin, 1, datetime.datetime.now(), {}) if self.__class__ != BaseManagerTest: for user_id in list(range(1, 4)) + [17, 42, 44]: self.manager.get_user_feed(user_id).delete() for feed in self.manager.get_feeds(user_id).values(): feed.delete()
def setUp(self): id_seq = range(42, 999) if self.aggregator_class is None: return self.user_id = 42 self.activity = FakeActivity(1, LoveVerb, 1, 1, datetime.datetime.now(), {}) self.activities = [] for x in range(2, 12): activity_time = datetime.datetime.now() find = x > 5 activity = FakeActivity(x, LoveVerb, id_seq.pop(), x, activity_time, dict(find=find)) self.activities.append(activity) self.add_activities = [] for x in range(13, 38): activity_time = datetime.datetime.now() + datetime.timedelta( seconds=x) activity = FakeActivity(x, AddVerb, id_seq.pop(), x, activity_time, dict(x=x)) self.add_activities.append(activity) self.aggregator = self.aggregator_class()
def test_follow_unfollow_user(self): target_user_id = 17 target2_user_id = 44 follower_user_id = 42 control_pin = Pin(id=2, created_at=datetime.datetime.now() - datetime.timedelta(hours=1)) control_activity = FakeActivity(target_user_id, LoveVerb, control_pin, 2, datetime.datetime.now(), {}) with patch.object(self.manager, 'get_user_follower_ids', new_callable=PicklableMock, return_value={}) as get_user_follower_ids: self.manager.add_user_activity(target2_user_id, control_activity) self.manager.add_user_activity(target_user_id, self.activity) get_user_follower_ids.assert_called_with(user_id=target_user_id) # checks user feed is empty for f in self.manager.get_feeds(follower_user_id).values(): self.assertEqual(f.count(), 0) self.manager.follow_user(follower_user_id, target2_user_id) # make sure one activity was pushed for f in self.manager.get_feeds(follower_user_id).values(): self.assertEqual(f.count(), 1) self.manager.follow_user(follower_user_id, target_user_id) # make sure another one activity was pushed for f in self.manager.get_feeds(follower_user_id).values(): self.assertEqual(f.count(), 2) self.manager.unfollow_user(follower_user_id, target_user_id, async_=False) # make sure only one activity was removed for f in self.manager.get_feeds(follower_user_id).values(): self.assertEqual(f.count(), 1) activity = f[:][0] assert activity.object_id == self.pin.id