Exemplo n.º 1
0
 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 = {}
Exemplo n.º 2
0
 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 = {}
Exemplo n.º 4
0
 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
     ]
Exemplo n.º 5
0
    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()
Exemplo n.º 6
0
    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()
Exemplo n.º 7
0
    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