def test_network_topic(self): topic = PersonalizedStream.create_or_update_topic(self.network, '1', 'UN') t = PersonalizedStream.get_topic(self.network, 1) self.assertTrue(t) self.assertEqual(t.label, topic.label) self.assertTrue(PersonalizedStream.delete_topic(self.network, topic))
def test_subscription_api(self): user_token = self.network.build_user_auth_token(self.USER_ID, self.USER_ID + '@' + self.NETWORK_NAME, self.network.DEFAULT_EXPIRES) topic_dict = {'1': 'UN', '2': 'DEUX'} topics = PersonalizedStream.create_or_update_topics(self.network, topic_dict) subs = PersonalizedStream.get_subscriptions(self.network, self.USER_ID) self.assertFalse(subs) added = PersonalizedStream.add_subscriptions(self.network, user_token, topics) self.assertTrue(2, added) subs = PersonalizedStream.get_subscriptions(self.network, self.USER_ID) self.assertTrue(2, len(subs)) added, removed = PersonalizedStream.replace_subscriptions(self.network, user_token, [topics[1]]) self.assertTrue(added == 0 and removed == 1) user_subs = PersonalizedStream.get_subscribers(self.network, topics[1]) self.assertEqual(1, len(user_subs)) removed = PersonalizedStream.remove_subscriptions(self.network, user_token, [topics[1]]) self.assertEqual(1, removed) subs = PersonalizedStream.get_subscriptions(self.network, self.USER_ID) self.assertFalse(subs) PersonalizedStream.delete_topics(self.network, topics)
def test_site_topic(self): topic = PersonalizedStream.create_or_update_topic(self.site, '2', 'DEUX') t = PersonalizedStream.get_topic(self.site, 2) self.assertTrue(t) self.assertEqual(t.label, topic.label) self.assertTrue(PersonalizedStream.delete_topic(self.site, topic))
def test_timeline_cursor(self): topic = PersonalizedStream.create_or_update_topic(self.network, '1', 'UN') cursor = TimelineCursor.init(self.network, topic.topic_id +":topicStream", 50, datetime.datetime.now()) data = PersonalizedStream.get_timeline_stream(cursor, True) self.assertTrue(data) PersonalizedStream.delete_topic(self.network, topic)
def test_site_topics(self): topic_dict = {'1': 'UN', '2': 'DEUX'} topics = PersonalizedStream.create_or_update_topics(self.site, topic_dict) self.assertEqual(2, len(topics)) returned_topics = PersonalizedStream.get_topics(self.site, 1, 0) self.assertEqual(1, len(returned_topics)) deleted = PersonalizedStream.delete_topics(self.site, topics) self.assertEqual(len(topics), deleted)
def test_collection_topics__site(self): topic_dict = {'1': 'UN', '2': 'DEUX'} topics = PersonalizedStream.create_or_update_topics(self.site, topic_dict) collection_name = 'PYTHON PSSTREAM TEST ' + str(datetime.datetime.now()) collection = self.site.build_comments_collection(collection_name, collection_name, self.URL).create_or_update() topic_ids = PersonalizedStream.get_collection_topics(collection) self.assertFalse(topic_ids) added = PersonalizedStream.add_collection_topics(collection, topics) self.assertEqual(2, added) added, removed = PersonalizedStream.replace_collection_topics(collection, [topics[0]]) self.assertTrue(added == 0 and removed == 1) removed = PersonalizedStream.remove_collection_topics(collection, [topics[0]]) self.assertEqual(1, removed) collection_topics = PersonalizedStream.get_collection_topics(collection) self.assertFalse(collection_topics) collection_name = 'PYTHON PSSTREAM TEST ' + str(datetime.datetime.now()) collection = self.site.build_comments_collection(collection_name, collection_name, self.URL) collection.data.topics = topics collection.create_or_update() PersonalizedStream.delete_topics(self.site, topics)
def previous_items(self): data = PersonalizedStream.get_timeline_stream(self, False) cursor = data["meta"]["cursor"] self.data.hasPrevious = cursor["hasPrev"] self.data.hasNext = cursor["prev"] is not None if self.data.hasNext: self.data.cursor_time = cursor["prev"] return data