Example #1
0
    def test_page_fetch_posts(self):
        page = PageFactory(graph_id=PAGE_ID)

        self.assertEqual(Post.objects.count(), 0)

        posts = page.fetch_posts(limit=25)

        self.assertEqual(posts.count(), 25)
        self.assertEqual(posts.count(), Post.objects.count())

        earliest = posts.aggregate(Min('created_time'))['created_time__min'] - timedelta(30)
        posts = page.fetch_posts(all=True, since=earliest)

        self.assertGreater(posts.count(), 25)
        self.assertEqual(posts.count(), Post.objects.count())

        earliest1 = posts.aggregate(Min('created_time'))['created_time__min']
        self.assertTrue(earliest <= earliest1)

        # posts = page.fetch_posts(all=True, limit=95)
        # posts_count = Post.objects.count()
        #
        # self.assertGreaterEqual(posts.count(), 95)
        # self.assertEqual(posts.count(), posts_count)

        Post.objects.all().delete()
        posts = page.fetch_posts(all=True, since=timezone.now() - timedelta(10))

        self.assertEqual(posts.count(), Post.objects.count())
        self.assertLess(posts.count(), 25)
Example #2
0
    def test_page_fetch_posts(self):
        page = PageFactory(graph_id=PAGE_ID)

        self.assertEqual(Post.objects.count(), 0)

        posts = page.fetch_posts(limit=25)

        self.assertEqual(posts.count(), 25)
        self.assertEqual(posts.count(), Post.objects.count())

        earliest = posts.aggregate(
            Min('created_time'))['created_time__min'] - timedelta(30)
        posts = page.fetch_posts(all=True, since=earliest)

        self.assertGreater(posts.count(), 25)
        self.assertEqual(posts.count(), Post.objects.count())

        earliest1 = posts.aggregate(Min('created_time'))['created_time__min']
        self.assertTrue(earliest <= earliest1)

        # posts = page.fetch_posts(all=True, limit=95)
        # posts_count = Post.objects.count()
        #
        # self.assertGreaterEqual(posts.count(), 95)
        # self.assertEqual(posts.count(), posts_count)

        Post.objects.all().delete()
        posts = page.fetch_posts(all=True,
                                 since=timezone.now() - timedelta(10))

        self.assertEqual(posts.count(), Post.objects.count())
        self.assertLess(posts.count(), 25)
Example #3
0
    def test_page_fetch_many_posts(self):
        page = PageFactory(graph_id=PAGE1_ID)

        self.assertEqual(Post.objects.count(), 0)

        posts = page.fetch_posts(all=True, since=datetime(2014, 1, 1).replace(tzinfo=timezone.utc))

        self.assertGreater(posts.count(), 250)
        self.assertEqual(posts.count(), Post.objects.count())
        self.assertEqual(posts.filter(created_time__lte=datetime(2014, 1, 7).replace(tzinfo=timezone.utc)).count(), 1)
Example #4
0
    def test_fetch_page_many_posts(self):

        page = PageFactory(graph_id=PAGE1_ID)

        self.assertEqual(Post.objects.count(), 0)

        posts = page.fetch_posts(since=datetime(2014, 1, 1))

        posts_count = Post.objects.count()

        self.assertTrue(posts_count > 250)
        self.assertEqual(posts_count, len(posts))
        self.assertTrue(posts.filter(created_time__lte=datetime(2014, 1, 7)).count(), 1)
Example #5
0
    def test_page_fetch_posts_reduce_the_amount_error(self):
        since = datetime(2015, 10, 17, 16, 21, 43, 402029).replace(tzinfo=timezone.utc)
        page = PageFactory(graph_id=363440539014)

        posts = page.fetch_posts(since=since)
        self.assertEqual(posts.count(), 125)

        posts = page.fetch_posts(since=since, all=True)
        self.assertGreater(posts.count(), 950)
        self.assertGreater(posts.aggregate(Min('created_time'))['created_time__min'], since)

        posts = page.fetch_posts(since=since, limit=250)
        self.assertEqual(posts.count(), 250)  # TODO: 125!=250 Implement fetching requested amount of posts
Example #6
0
    def test_page_fetch_many_posts(self):
        page = PageFactory(graph_id=PAGE1_ID)

        self.assertEqual(Post.objects.count(), 0)

        posts = page.fetch_posts(all=True,
                                 since=datetime(
                                     2014, 1, 1).replace(tzinfo=timezone.utc))

        self.assertGreater(posts.count(), 250)
        self.assertEqual(posts.count(), Post.objects.count())
        self.assertEqual(
            posts.filter(created_time__lte=datetime(2014, 1, 7).replace(
                tzinfo=timezone.utc)).count(), 1)
    def test_null_stats_test(self):
        page = PageFactory(likes_count=None, talking_about_count=None)
        facebook_api_post_fetch.send(sender=page.__class__,
                                     instance=page,
                                     created=True)

        self.assertEqual(PageStatistic.objects.count(), 0)
    def test_page_statistic_create(self):
        self.assertEqual(PageStatistic.objects.count(), 0)

        page = PageFactory(graph_id=PAGE_FANS_ID,
                           likes_count=10,
                           talking_about_count=20)

        self.assertEqual(PageStatistic.objects.count(), 0)

        facebook_api_post_fetch.send(sender=page.__class__,
                                     instance=page,
                                     created=True)

        self.assertEqual(PageStatistic.objects.count(), 1)

        stat = page.statistics.latest()
        self.assertEqual(stat.likes_count, 10)
        self.assertEqual(stat.talking_about_count, 20)
        self.assertTrue(isinstance(stat.updated_at, datetime))

        page = Page.remote.fetch(PAGE_FANS_ID)

        self.assertEqual(PageStatistic.objects.count(), 2)

        stat = page.statistics.latest()
        self.assertTrue(stat.likes_count > 10)
        self.assertTrue(stat.talking_about_count > 20)
        self.assertTrue(isinstance(stat.updated_at, datetime))
Example #9
0
    def test_page_fetch_posts_reduce_the_amount_error(self):
        since = datetime(2015, 10, 17, 16, 21, 43,
                         402029).replace(tzinfo=timezone.utc)
        page = PageFactory(graph_id=363440539014)

        posts = page.fetch_posts(since=since)
        self.assertEqual(posts.count(), 125)

        posts = page.fetch_posts(since=since, all=True)
        self.assertGreater(posts.count(), 950)
        self.assertGreater(
            posts.aggregate(Min('created_time'))['created_time__min'], since)

        posts = page.fetch_posts(since=since, limit=250)
        self.assertEqual(
            posts.count(),
            250)  # TODO: 125!=250 Implement fetching requested amount of posts
Example #10
0
    def test_fetch_page_posts(self):

        page = PageFactory(graph_id=PAGE_ID)

        self.assertEqual(Post.objects.count(), 0)

        posts = page.fetch_posts(limit=100)
        posts_count = Post.objects.count()

        self.assertEqual(posts_count, 100)
        self.assertEqual(posts_count, len(posts))

        Post.objects.all().delete()
        posts = page.fetch_posts(since=datetime.now() - timedelta(10))
        posts_count1 = Post.objects.count()

        self.assertTrue(posts_count1 < posts_count)
        self.assertEqual(posts_count1, len(posts))
Example #11
0
    def test_fetch_page_albums(self):

        page = PageFactory(graph_id=PAGE_ID)

        self.assertEqual(Album.objects.count(), 0)

        albums = page.fetch_albums(all=True)
        albums_count = Album.objects.count()

        self.assertGreater(albums.count(), 1500)
        self.assertEqual(albums.count(), albums_count)
        self.assertEqual(albums[0].author, page)

        since = albums.order_by('created_time')[100].created_time
        until = albums.order_by('-created_time')[100].created_time
        self.assertLess(since, until)

        # testing `since` parameter
        albums_since = page.fetch_albums(all=True, since=since)
        self.assertLess(albums_since.count(), albums.count())

        # testing `until` parameter
        albums_until = page.fetch_albums(all=True, since=since, until=until)
        self.assertLess(albums_until.count(), albums_since.count())
Example #12
0
    def test_fetch_posts_of_page(self):

        page = PageFactory.create(graph_id=PAGE_ID)

        self.assertEqual(Post.objects.count(), 0)

        posts = page.fetch_posts(limit=100)
        posts_count = Post.objects.count()

        self.assertEqual(posts_count, 100)
        self.assertEqual(posts_count, len(posts))

        Post.objects.all().delete()
        posts = page.fetch_posts(since=datetime.now() - timedelta(10))
        posts_count1 = Post.objects.count()

        self.assertTrue(posts_count1 < posts_count)
        self.assertEqual(posts_count1, len(posts))
Example #13
0
 def test_album_fetch_limit(self):
     page = PageFactory(graph_id=PAGE_ID)
     albums = Album.remote.fetch_page(page=page, limit=5)
     self.assertEqual(albums.count(), 5)
Example #14
0
 def test_null_stats_test(self):
     count = PageStatistic.objects.count()
     p = PageFactory(graph_id=123456,
                     likes_count=None,
                     talking_about_count=None)
     self.assertEqual(PageStatistic.objects.count(), count)
Example #15
0
 def setUp(self):
     self.t = timezone.now()
     self.p = PageFactory(graph_id=PAGE_FANS_ID,
                          likes_count=10,
                          talking_about_count=20)
Example #16
0
    def test_page_fetch_posts_with_strange_object_id(self):

        instance = PageFactory(graph_id=252974534827155)
        posts = instance.fetch_posts(since=datetime(2014,9,2))

        self.assertEqual(posts.filter(graph_id='252974534827155_323648421093099')[0].object_id, None)