Esempio n. 1
0
    def test_fetch_user(self):
        with override_api_context('instagram', token=TOKEN):
            u = User.remote.fetch(USER_ID)

        self.assertEqual(int(u.id), USER_ID)
        self.assertEqual(u.username, 'tnt_online')
        self.assertEqual(u.full_name, u'Телеканал ТНТ')
        self.assertGreater(len(u.profile_picture), 0)
        self.assertGreater(len(u.website), 0)

        self.assertGreater(u.followers_count, 0)
        self.assertGreater(u.follows_count, 0)
        self.assertGreater(u.media_count, 0)

        self.assertGreater(u.fetched, self.time)

        u.followers_count = None
        u.save()
        self.assertIsNone(u.followers_count)

        with override_api_context('instagram', token=TOKEN):
            u.refresh()
        self.assertGreater(u.followers_count, 0)

        u = User.objects.get(id=u.id)
        self.assertGreater(u.followers_count, 0)
Esempio n. 2
0
    def test_fetch_user_followers(self):
        with override_api_context('instagram', token=TOKEN):
            u = User.remote.fetch(USER_ID_3)
            users = u.fetch_followers()

        self.assertGreaterEqual(u.followers_count, 750)
        self.assertEqual(u.followers_count, users.count())

        # check counts for follower
        f = users[0]
        self.assertIsNone(f.followers_count)
        self.assertIsNone(f.follows_count)
        self.assertIsNone(f.media_count)

        with override_api_context('instagram', token=TOKEN):
            f = User.remote.fetch(f.id)
        self.assertIsNotNone(f.followers_count)
        self.assertIsNotNone(f.follows_count)
        self.assertIsNotNone(f.media_count)

        with override_api_context('instagram', token=TOKEN):
            # repeat fetching followers and check counts
            u.fetch_followers()
        f = User.objects.get(id=f.id)
        self.assertIsNotNone(f.followers_count)
        self.assertIsNotNone(f.follows_count)
        self.assertIsNotNone(f.media_count)
Esempio n. 3
0
    def test_fetch_user(self):
        with override_api_context('instagram', token=TOKEN):
            u = User.remote.fetch(USER_ID)

        self.assertEqual(int(u.id), USER_ID)
        self.assertEqual(u.username, 'tnt_online')
        self.assertEqual(u.full_name, u'Телеканал ТНТ')
        self.assertGreater(len(u.profile_picture), 0)
        self.assertGreater(len(u.website), 0)

        self.assertGreater(u.followers_count, 0)
        self.assertGreater(u.follows_count, 0)
        self.assertGreater(u.media_count, 0)

        self.assertGreater(u.fetched, self.time)

        u.followers_count = None
        u.save()
        self.assertIsNone(u.followers_count)

        with override_api_context('instagram', token=TOKEN):
            u.refresh()
        self.assertGreater(u.followers_count, 0)

        u = User.objects.get(id=u.id)
        self.assertGreater(u.followers_count, 0)
Esempio n. 4
0
    def test_fetch_user_friends(self):

        self.assertEqual(User.objects.count(), 0)
        with override_api_context('vkontakte', token=TOKEN):
            user = User.remote.fetch(ids=[6])[0]
        self.assertEqual(User.objects.count(), 1)

        with override_api_context('vkontakte', token=TOKEN):
            users = user.fetch_friends()

        self.assertGreater(User.objects.count(), 100)
        self.assertEqual(users.count(), User.objects.count() - 1)
        self.assertEqual(user.friends_users.count(), User.objects.count() - 1)
        self.assertEqual(user.friends_users.count(), user.friends_count)

        User.objects.filter(pk__gt=100).delete()

        self.assertGreater(user.friends_users.count(), 10)
        self.assertLess(user.friends_users.count(), 20)

        with override_api_context('vkontakte', token=TOKEN):
            users_existed = user.fetch_friends(only_existing_users=True)

        self.assertEqual(users.count(), users_existed.count())
        self.assertEqual(users.count(), user.friends_users.count())
        self.assertEqual(users.count(), user.friends_count)
Esempio n. 5
0
    def test_fetch_user_friends(self):

        self.assertEqual(User.objects.count(), 0)
        with override_api_context('vkontakte', token=TOKEN):
            user = User.remote.fetch(ids=[6])[0]
        self.assertEqual(User.objects.count(), 1)

        with override_api_context('vkontakte', token=TOKEN):
            users = user.fetch_friends()

        self.assertGreater(User.objects.count(), 100)
        self.assertEqual(users.count(), User.objects.count() - 1)
        self.assertEqual(user.friends_users.count(), User.objects.count() - 1)
        self.assertEqual(user.friends_users.count(), user.friends_count)

        User.objects.filter(pk__gt=100).delete()

        self.assertGreater(user.friends_users.count(), 10)
        self.assertLess(user.friends_users.count(), 20)

        with override_api_context('vkontakte', token=TOKEN):
            users_existed = user.fetch_friends(only_existing_users=True)

        self.assertEqual(users.count(), users_existed.count())
        self.assertEqual(users.count(), user.friends_users.count())
        self.assertEqual(users.count(), user.friends_count)
Esempio n. 6
0
    def test_fetch_user_followers(self):
        with override_api_context('instagram', token=TOKEN):
            u = User.remote.fetch(USER_ID_3)
            users = u.fetch_followers()

        self.assertGreaterEqual(u.followers_count, 750)
        self.assertEqual(u.followers_count, users.count())

        # check counts for follower
        f = users[0]
        self.assertIsNone(f.followers_count)
        self.assertIsNone(f.follows_count)
        self.assertIsNone(f.media_count)

        with override_api_context('instagram', token=TOKEN):
            f = User.remote.fetch(f.id)
        self.assertIsNotNone(f.followers_count)
        self.assertIsNotNone(f.follows_count)
        self.assertIsNotNone(f.media_count)

        with override_api_context('instagram', token=TOKEN):
            # repeat fetching followers and check counts
            u.fetch_followers()
        f = User.objects.get(id=f.id)
        self.assertIsNotNone(f.followers_count)
        self.assertIsNotNone(f.follows_count)
        self.assertIsNotNone(f.media_count)
Esempio n. 7
0
    def test_refresh_user(self):

        with override_api_context('vkontakte', token=TOKEN):
            instance = User.remote.fetch(ids=[USER_ID])[0]
        self.assertEqual(instance.screen_name, USER_SCREEN_NAME)

        instance.screen_name = 'temp'
        instance.save()
        self.assertEqual(instance.screen_name, 'temp')

        with override_api_context('vkontakte', token=TOKEN):
            instance.refresh()
        self.assertEqual(instance.screen_name, USER_SCREEN_NAME)
Esempio n. 8
0
    def test_refresh_user(self):

        with override_api_context('vkontakte', token=TOKEN):
            instance = User.remote.fetch(ids=[USER_ID])[0]
        self.assertEqual(instance.screen_name, USER_SCREEN_NAME)

        instance.screen_name = 'temp'
        instance.save()
        self.assertEqual(instance.screen_name, 'temp')

        with override_api_context('vkontakte', token=TOKEN):
            instance.refresh()
        self.assertEqual(instance.screen_name, USER_SCREEN_NAME)
Esempio n. 9
0
    def test_fetch_duplicate_user(self):

        with override_api_context('instagram', token=TOKEN):
            u = UserFactory(id=0, username='******')

        self.assertEqual(User.objects.count(), 1)
        self.assertNotEqual(int(u.id), USER_ID)
        self.assertEqual(u.username, 'tnt_online')

        with override_api_context('instagram', token=TOKEN):
            u = User.remote.fetch(USER_ID)

        self.assertEqual(User.objects.count(), 1)
        self.assertEqual(int(u.id), USER_ID)
        self.assertEqual(u.username, 'tnt_online')
Esempio n. 10
0
    def test_fetch_duplicate_user(self):

        with override_api_context('instagram', token=TOKEN):
            u = UserFactory(id=0, username='******')

        self.assertEqual(User.objects.count(), 1)
        self.assertNotEqual(int(u.id), USER_ID)
        self.assertEqual(u.username, 'tnt_online')

        with override_api_context('instagram', token=TOKEN):
            u = User.remote.fetch(USER_ID)

        self.assertEqual(User.objects.count(), 1)
        self.assertEqual(int(u.id), USER_ID)
        self.assertEqual(u.username, 'tnt_online')
Esempio n. 11
0
    def test_fetch_media_with_location(self):

        with override_api_context('instagram', token=TOKEN):
            media = Media.remote.fetch('1105137931436928268_1692711770')

        self.assertIsInstance(media.location, Location)
        self.assertEqual(media.location.name, 'Prague, Czech Republic')
Esempio n. 12
0
    def test_fetch_user_follows(self):
        with override_api_context('instagram', token=TOKEN):
            u = User.remote.fetch(USER_ID_3)
            users = u.fetch_follows()

        self.assertGreaterEqual(u.follows_count, 970)
        self.assertEqual(u.follows_count, users.count())
Esempio n. 13
0
    def test_search_locations(self):
        with override_api_context('instagram', token=TOKEN):
            locations = Location.remote.search(lat=37.782492553, lng=-122.387785235)

        self.assertGreater(len(locations), 0)
        for location in locations:
            self.assertIsInstance(location, Location)
Esempio n. 14
0
    def test_fetch_tag_media(self):
        with override_api_context('instagram', token=TOKEN):
            t = Tag.remote.fetch("merrittislandnwr")
            media = t.fetch_media()

        self.assertGreater(media.count(), 0)
        self.assertEqual(media.count(), t.media_feed.count())
Esempio n. 15
0
    def test_fetch_user_follows(self):
        with override_api_context('instagram', token=TOKEN):
            u = User.remote.fetch(USER_ID_3)
            users = u.fetch_follows()

        self.assertGreaterEqual(u.follows_count, 970)
        self.assertEqual(u.follows_count, users.count())
Esempio n. 16
0
    def test_fetch_tag_media(self):
        with override_api_context('instagram', token=TOKEN):
            t = Tag.remote.fetch("merrittislandnwr")
            media = t.fetch_media()

        self.assertGreater(media.count(), 0)
        self.assertEqual(media.count(), t.media_feed.count())
Esempio n. 17
0
    def test_fetch_media_with_location(self):

        with override_api_context('instagram', token=TOKEN):
            media = Media.remote.fetch('1105137931436928268_1692711770')

        self.assertIsInstance(media.location, Location)
        self.assertEqual(media.location.name, 'Prague, Czech Republic')
Esempio n. 18
0
    def test_fetch_location_media(self):
        with override_api_context('instagram', token=TOKEN):
            location = LocationFactory(id=LOCATION_ID)
            media = location.fetch_media()

        self.assertGreater(media.count(), 0)
        self.assertEqual(media.count(), location.media_feed.count())
        self.assertEqual(media.count(), location.media_count)
Esempio n. 19
0
    def test_fetch_location_media(self):
        with override_api_context('instagram', token=TOKEN):
            location = LocationFactory(id=LOCATION_ID)
            media = location.fetch_media()

        self.assertGreater(media.count(), 0)
        self.assertEqual(media.count(), location.media_feed.count())
        self.assertEqual(media.count(), location.media_count)
Esempio n. 20
0
    def test_search_locations(self):
        with override_api_context('instagram', token=TOKEN):
            locations = Location.remote.search(lat=37.782492553,
                                               lng=-122.387785235)

        self.assertGreater(len(locations), 0)
        for location in locations:
            self.assertIsInstance(location, Location)
Esempio n. 21
0
    def test_search_users(self):

        with override_api_context('instagram', token=TOKEN):
            users = User.remote.search('tnt_online')

        self.assertGreater(len(users), 0)
        for user in users:
            self.assertIsInstance(user, User)
Esempio n. 22
0
    def test_fetch_real_duplicates_user(self):

        with override_api_context('instagram', token=TOKEN):
            UserFactory(id=2116301016)
            User.remote.fetch(2116301016)

            with self.assertRaisesWithCode(InstagramError, 400):
                User.remote.get(1206219929)
Esempio n. 23
0
    def test_search_tags(self):

        with override_api_context('instagram', token=TOKEN):
            tags = Tag.remote.search(TAG_SEARCH_NAME)

        self.assertGreater(len(tags), 0)
        for tag in tags:
            self.assertIsInstance(tag, Tag)
Esempio n. 24
0
    def test_fetch_real_duplicates_user(self):

        with override_api_context('instagram', token=TOKEN):
            UserFactory(id=2116301016)
            User.remote.fetch(2116301016)

            with self.assertRaisesWithCode(InstagramError, 400):
                User.remote.get(1206219929)
Esempio n. 25
0
    def test_search_tags(self):

        with override_api_context('instagram', token=TOKEN):
            tags = Tag.remote.search(TAG_SEARCH_NAME)

        self.assertGreater(len(tags), 0)
        for tag in tags:
            self.assertIsInstance(tag, Tag)
Esempio n. 26
0
    def test_multiple_slug_users(self):

        User.objects.create(remote_id=173613533, screen_name='mikhailserzhantov', sex=0)
        User.objects.create(remote_id=174221855, screen_name='mikhailserzhantov', sex=0)
        User.objects.create(remote_id=182224356, screen_name='mikhailserzhantov', sex=0)

        with override_api_context('vkontakte', token=TOKEN):
            self.assertEqual(User.remote.get_by_slug('mikhailserzhantov').remote_id, 182224356)
Esempio n. 27
0
    def test_search_users(self):

        with override_api_context('instagram', token=TOKEN):
            users = User.remote.search('tnt_online')

        self.assertGreater(len(users), 0)
        for user in users:
            self.assertIsInstance(user, User)
Esempio n. 28
0
    def test_fetch_location(self):
        with override_api_context('instagram', token=TOKEN):
            location = Location.remote.fetch(LOCATION_ID)

        self.assertEqual(location.id, LOCATION_ID)
        self.assertEqual(location.name, "Dog Patch Labs")
        self.assertEqual(location.latitude, 37.782492553)
        self.assertEqual(location.longitude, -122.387785235)
        self.assertEqual(location.media_count, None)
Esempio n. 29
0
    def test_fetch_users_more_than_1000(self, fetch):

        with override_api_context('vkontakte', token=TOKEN):
            users = User.remote.fetch(ids=range(0, 1500))
        self.assertEqual(len(users), 1500)
        self.assertEqual(User.objects.count(), 1500)

        self.assertEqual(len(fetch.mock_calls[0].call_list()[0][2]['ids']), 1000)
        self.assertEqual(len(fetch.mock_calls[1].call_list()[0][2]['ids']), 500)
Esempio n. 30
0
    def test_fetch_location(self):
        with override_api_context('instagram', token=TOKEN):
            location = Location.remote.fetch(LOCATION_ID)

        self.assertEqual(location.id, LOCATION_ID)
        self.assertEqual(location.name, "Dog Patch Labs")
        self.assertEqual(location.latitude, 37.782492553)
        self.assertEqual(location.longitude, -122.387785235)
        self.assertEqual(location.media_count, None)
Esempio n. 31
0
    def test_fetch_user_by_name(self):

        with override_api_context('instagram', token=TOKEN):
            u = User.remote.get_by_slug('tnt_online')

        self.assertEqual(int(u.id), USER_ID)
        self.assertEqual(u.username, 'tnt_online')
        self.assertEqual(u.full_name, u'Телеканал ТНТ')
        self.assertGreater(len(u.profile_picture), 0)
        self.assertGreater(len(u.website), 0)
Esempio n. 32
0
    def test_fetch_user_media(self):
        with override_api_context('instagram', token=TOKEN):
            u = User.remote.fetch(USER_ID_2)
            media = u.fetch_media()

        self.assertGreater(media.count(), 210)
        self.assertEqual(media.count(), u.media_count)
        self.assertEqual(media.count(), u.media_feed.count())

        after = media.order_by('-created_time')[50].created_time
        Media.objects.all().delete()

        self.assertEqual(u.media_feed.count(), 0)

        with override_api_context('instagram', token=TOKEN):
            media = u.fetch_media(after=after)

        self.assertEqual(media.count(), 52)  # not 50 for some strange reason
        self.assertEqual(media.count(), u.media_feed.count())
Esempio n. 33
0
    def test_fetch_likes(self):
        #
        with override_api_context('instagram', token=TOKEN):
            m = Media.remote.fetch(MEDIA_ID)
            likes = m.fetch_likes()

        self.assertGreater(m.likes_count, 0)
        # TODO: 2515 != 117 how to get all likes?
        # self.assertEqual(m.likes_count, likes.count())
        self.assertIsInstance(likes[0], User)
Esempio n. 34
0
    def test_fetch_user_media(self):
        with override_api_context('instagram', token=TOKEN):
            u = User.remote.fetch(USER_ID_2)
            media = u.fetch_media()

        self.assertGreater(media.count(), 210)
        self.assertEqual(media.count(), u.media_count)
        self.assertEqual(media.count(), u.media_feed.count())

        after = media.order_by('-created_time')[50].created_time
        Media.objects.all().delete()

        self.assertEqual(u.media_feed.count(), 0)

        with override_api_context('instagram', token=TOKEN):
            media = u.fetch_media(after=after)

        self.assertEqual(media.count(), 52)  # not 50 for some strange reason
        self.assertEqual(media.count(), u.media_feed.count())
Esempio n. 35
0
    def test_fetching_expired_users(self, fetch):

        with override_api_context('vkontakte', token=TOKEN):
            users = User.remote.fetch(ids=range(0, 1500))

        self.assertEqual(users.count(), 1500)
        self.assertEqual(len(fetch.mock_calls[0].call_list()[0][2]['ids']), 1500)

        # make all users fresh
        User.objects.all().update(fetched=timezone.now())
        # make 500 of them expired
        User.objects.filter(remote_id__lt=500).update(fetched=timezone.now() - timedelta(USERS_INFO_TIMEOUT_DAYS + 1))

        with override_api_context('vkontakte', token=TOKEN):
            users_new = User.remote.fetch(ids=range(100, 2200), only_expired=True)

        self.assertEqual(users_new.count(), 2100)
        # (500 - 100) + (2200 - 1500), expired + new
        self.assertEqual(len(fetch.mock_calls[1].call_list()[0][2]['ids']), 1100)
Esempio n. 36
0
    def test_fetch_likes(self):
        #
        with override_api_context('instagram', token=TOKEN):
            m = Media.remote.fetch(MEDIA_ID)
            likes = m.fetch_likes()

        self.assertGreater(m.likes_count, 0)
        # TODO: 2515 != 117 how to get all likes?
        # self.assertEqual(m.likes_count, likes.count())
        self.assertIsInstance(likes[0], User)
Esempio n. 37
0
    def test_fetch_user_by_name(self):

        with override_api_context('instagram', token=TOKEN):
            u = User.remote.get_by_slug('tnt_online')

        self.assertEqual(int(u.id), USER_ID)
        self.assertEqual(u.username, 'tnt_online')
        self.assertEqual(u.full_name, u'Телеканал ТНТ')
        self.assertGreater(len(u.profile_picture), 0)
        self.assertGreater(len(u.website), 0)
Esempio n. 38
0
    def test_fetch_users_more_than_1000(self, fetch):

        with override_api_context('vkontakte', token=TOKEN):
            users = User.remote.fetch(ids=range(0, 1500))
        self.assertEqual(len(users), 1500)
        self.assertEqual(User.objects.count(), 1500)

        self.assertEqual(len(fetch.mock_calls[0].call_list()[0][2]['ids']),
                         1000)
        self.assertEqual(len(fetch.mock_calls[1].call_list()[0][2]['ids']),
                         500)
Esempio n. 39
0
    def test_fetch_media(self):
        with override_api_context('instagram', token=TOKEN):
            m = Media.remote.fetch(MEDIA_ID)

        self.assertEqual(m.remote_id, MEDIA_ID)
        self.assertGreater(len(m.caption), 0)
        self.assertGreater(len(m.link), 0)

        self.assertGreater(m.comments_count, 0)
        self.assertGreater(m.likes_count, 0)

        self.assertGreater(m.fetched, self.time)
        self.assertIsInstance(m.created_time, datetime)

        self.assertEqual(m.type, 'video')
        self.assertEqual(m.filter, 'Normal')

        self.assertGreater(len(m.image_low_resolution), 0)
        self.assertGreater(len(m.image_standard_resolution), 0)
        self.assertGreater(len(m.image_thumbnail), 0)
        self.assertGreater(len(m.video_low_bandwidth), 0)
        self.assertGreater(len(m.video_low_resolution), 0)
        self.assertGreater(len(m.video_standard_resolution), 0)

        self.assertGreater(m.comments.count(), 0)
        self.assertGreater(m.tags.count(), 0)
        self.assertGreater(m.likes_users.count(), 0)

        # media without caption test
        with override_api_context('instagram', token=TOKEN):
            m = Media.remote.fetch(MEDIA_ID_2)
        self.assertEqual(len(m.caption), 0)

        self.assertEqual(m.type, 'image')

        self.assertGreater(len(m.image_low_resolution), 0)
        self.assertGreater(len(m.image_standard_resolution), 0)
        self.assertGreater(len(m.image_thumbnail), 0)

        self.assertGreater(m.comments.count(), 0)
        self.assertGreater(m.likes_users.count(), 0)
Esempio n. 40
0
    def test_fetch_media(self):
        with override_api_context('instagram', token=TOKEN):
            m = Media.remote.fetch(MEDIA_ID)

        self.assertEqual(m.remote_id, MEDIA_ID)
        self.assertGreater(len(m.caption), 0)
        self.assertGreater(len(m.link), 0)

        self.assertGreater(m.comments_count, 0)
        self.assertGreater(m.likes_count, 0)

        self.assertGreater(m.fetched, self.time)
        self.assertIsInstance(m.created_time, datetime)

        self.assertEqual(m.type, 'video')
        self.assertEqual(m.filter, 'Normal')

        self.assertGreater(len(m.image_low_resolution), 0)
        self.assertGreater(len(m.image_standard_resolution), 0)
        self.assertGreater(len(m.image_thumbnail), 0)
        self.assertGreater(len(m.video_low_bandwidth), 0)
        self.assertGreater(len(m.video_low_resolution), 0)
        self.assertGreater(len(m.video_standard_resolution), 0)

        self.assertGreater(m.comments.count(), 0)
        self.assertGreater(m.tags.count(), 0)
        self.assertGreater(m.likes_users.count(), 0)

        # media without caption test
        with override_api_context('instagram', token=TOKEN):
            m = Media.remote.fetch(MEDIA_ID_2)
        self.assertEqual(len(m.caption), 0)

        self.assertEqual(m.type, 'image')

        self.assertGreater(len(m.image_low_resolution), 0)
        self.assertGreater(len(m.image_standard_resolution), 0)
        self.assertGreater(len(m.image_thumbnail), 0)

        self.assertGreater(m.comments.count(), 0)
        self.assertGreater(m.likes_users.count(), 0)
Esempio n. 41
0
    def test_fetch_user(self):

        self.assertEqual(User.objects.count(), 0)
        with override_api_context('vkontakte', token=TOKEN):
            users = User.remote.fetch(ids=[1, 2])
        self.assertEqual(len(users), 2)
        self.assertEqual(User.objects.count(), 2)

        instance = users[0]

        self.assertEqual(instance.remote_id, 1)
        self.assertEqual(instance.first_name, u'Павел')
        self.assertEqual(instance.last_name, u'Дуров')
        self.assertEqual(instance.screen_name, USER_SCREEN_NAME)
        # self.assertEqual(instance.twitter, u'durov')
        # self.assertEqual(instance.livejournal, u'durov')
        # self.assertEqual(instance.relation, 1)
        # self.assertEqual(instance.wall_comments, False)

        # test counters
        with override_api_context('vkontakte', token=TOKEN):
            instance.update_counters()
        self.assertGreater(instance.followers, 0)
        self.assertGreater(instance.notes, 0)
        self.assertGreater(instance.sum_counters, 0)
        self.assertNotEqual(instance.counters_updated, None)

        # fetch another time
        with override_api_context('vkontakte', token=TOKEN):
            users = User.remote.fetch(ids=[1, 2])
        self.assertEqual(User.objects.count(), 2)

        instance = users[0]

        # test for keeping old counters
        self.assertGreater(instance.sum_counters, 0)
        self.assertGreater(instance.followers, 0)
        self.assertNotEqual(instance.counters_updated, None)
Esempio n. 42
0
    def test_fetch_user(self):

        self.assertEqual(User.objects.count(), 0)
        with override_api_context('vkontakte', token=TOKEN):
            users = User.remote.fetch(ids=[1, 2])
        self.assertEqual(len(users), 2)
        self.assertEqual(User.objects.count(), 2)

        instance = users[0]

        self.assertEqual(instance.remote_id, 1)
        self.assertEqual(instance.first_name, u'Павел')
        self.assertEqual(instance.last_name, u'Дуров')
        self.assertEqual(instance.screen_name, USER_SCREEN_NAME)
        # self.assertEqual(instance.twitter, u'durov')
        # self.assertEqual(instance.livejournal, u'durov')
        # self.assertEqual(instance.relation, 1)
        # self.assertEqual(instance.wall_comments, False)

        # test counters
        with override_api_context('vkontakte', token=TOKEN):
            instance.update_counters()
        self.assertGreater(instance.followers, 0)
        self.assertGreater(instance.notes, 0)
        self.assertGreater(instance.sum_counters, 0)
        self.assertNotEqual(instance.counters_updated, None)

        # fetch another time
        with override_api_context('vkontakte', token=TOKEN):
            users = User.remote.fetch(ids=[1, 2])
        self.assertEqual(User.objects.count(), 2)

        instance = users[0]

        # test for keeping old counters
        self.assertGreater(instance.sum_counters, 0)
        self.assertGreater(instance.followers, 0)
        self.assertNotEqual(instance.counters_updated, None)
Esempio n. 43
0
    def test_fetch_comments(self):
        with override_api_context('instagram', token=TOKEN):
            m = Media.remote.fetch(MEDIA_ID)
            comments = m.fetch_comments()

        self.assertGreater(m.comments_count, 0)
        # TODO: 84 != 80 strange bug of API, may be limit of comments to fetch
        # self.assertEqual(m.comments_count, len(comments))

        c = comments[0]
        self.assertEqual(c.media, m)
        self.assertGreater(len(c.text), 0)
        self.assertGreater(c.fetched, self.time)
        self.assertIsInstance(c.created_time, datetime)
Esempio n. 44
0
    def test_fetch_comments(self):
        with override_api_context('instagram', token=TOKEN):
            m = Media.remote.fetch(MEDIA_ID)
            comments = m.fetch_comments()

        self.assertGreater(m.comments_count, 0)
        # TODO: 84 != 80 strange bug of API, may be limit of comments to fetch
        # self.assertEqual(m.comments_count, len(comments))

        c = comments[0]
        self.assertEqual(c.media, m)
        self.assertGreater(len(c.text), 0)
        self.assertGreater(c.fetched, self.time)
        self.assertIsInstance(c.created_time, datetime)
Esempio n. 45
0
    def test_fetching_expired_users(self, fetch):

        with override_api_context('vkontakte', token=TOKEN):
            users = User.remote.fetch(ids=range(0, 1500))

        self.assertEqual(users.count(), 1500)
        self.assertEqual(len(fetch.mock_calls[0].call_list()[0][2]['ids']),
                         1500)

        # make all users fresh
        User.objects.all().update(fetched=timezone.now())
        # make 500 of them expired
        User.objects.filter(remote_id__lt=500).update(
            fetched=timezone.now() - timedelta(USERS_INFO_TIMEOUT_DAYS + 1))

        with override_api_context('vkontakte', token=TOKEN):
            users_new = User.remote.fetch(ids=range(100, 2200),
                                          only_expired=True)

        self.assertEqual(users_new.count(), 2100)
        # (500 - 100) + (2200 - 1500), expired + new
        self.assertEqual(len(fetch.mock_calls[1].call_list()[0][2]['ids']),
                         1100)
Esempio n. 46
0
    def test_fetch_private_user(self):

        with override_api_context('instagram', token=TOKEN):
            with self.assertRaisesWithCode(InstagramError, 400):
                User.remote.fetch(USER_PRIVATE_ID)

            userf = UserFactory(id=USER_PRIVATE_ID)
            user = User.remote.fetch(USER_PRIVATE_ID)

        self.assertEqual(userf, user)
        self.assertFalse(userf.is_private)
        self.assertTrue(user.is_private)

        userf.refresh()
        self.assertTrue(userf.is_private)
Esempio n. 47
0
    def test_fetch_private_user(self):

        with override_api_context('instagram', token=TOKEN):
            with self.assertRaisesWithCode(InstagramError, 400):
                User.remote.fetch(USER_PRIVATE_ID)

            userf = UserFactory(id=USER_PRIVATE_ID)
            user = User.remote.fetch(USER_PRIVATE_ID)

        self.assertEqual(userf, user)
        self.assertFalse(userf.is_private)
        self.assertTrue(user.is_private)

        userf.refresh()
        self.assertTrue(userf.is_private)
Esempio n. 48
0
    def test_multiple_slug_users(self):

        User.objects.create(remote_id=173613533,
                            screen_name='mikhailserzhantov',
                            sex=0)
        User.objects.create(remote_id=174221855,
                            screen_name='mikhailserzhantov',
                            sex=0)
        User.objects.create(remote_id=182224356,
                            screen_name='mikhailserzhantov',
                            sex=0)

        with override_api_context('vkontakte', token=TOKEN):
            self.assertEqual(
                User.remote.get_by_slug('mikhailserzhantov').remote_id,
                182224356)
Esempio n. 49
0
    def test_fetch_user_media_count(self):
        u = UserFactory(id=USER_ID)

        with override_api_context('instagram', token=TOKEN):
            media = u.fetch_media(count=100)
        m = media[0]

        self.assertEqual(media.count(), 100)
        self.assertEqual(m.user, u)

        self.assertGreater(len(m.caption), 0)
        self.assertGreater(len(m.link), 0)

        self.assertGreater(m.comments_count, 0)
        self.assertGreater(m.likes_count, 0)

        self.assertGreater(m.fetched, self.time)
        self.assertIsInstance(m.created_time, datetime)
Esempio n. 50
0
    def test_fetch_user_media_count(self):
        u = UserFactory(id=USER_ID)

        with override_api_context('instagram', token=TOKEN):
            media = u.fetch_media(count=100)
        m = media[0]

        self.assertEqual(media.count(), 100)
        self.assertEqual(m.user, u)

        self.assertGreater(len(m.caption), 0)
        self.assertGreater(len(m.link), 0)

        self.assertGreater(m.comments_count, 0)
        self.assertGreater(m.likes_count, 0)

        self.assertGreater(m.fetched, self.time)
        self.assertIsInstance(m.created_time, datetime)
Esempio n. 51
0
    def test_fetch_duble_duplicate_user(self):

        u1 = UserFactory(username='******', id=8910216)
        u2 = UserFactory(username='******', id=237074561)

        self.assertEqual(User.objects.count(), 2)
        self.assertEqual(int(u1.id), 8910216)
        self.assertEqual(int(u2.id), 237074561)
        self.assertEqual(u1.username, 'tnt_online')
        self.assertEqual(u2.username, 'bmwru')

        with override_api_context('instagram', token=TOKEN):
            u1 = User.remote.fetch(8910216)
            u2 = User.remote.fetch(237074561)

        self.assertEqual(User.objects.count(), 2)
        self.assertEqual(int(u1.id), 8910216)
        self.assertEqual(int(u2.id), 237074561)
        self.assertEqual(u1.username, 'bmwru')
        self.assertEqual(u2.username, 'tnt_online')
Esempio n. 52
0
    def test_fetch_duble_duplicate_user(self):

        u1 = UserFactory(username='******', id=8910216)
        u2 = UserFactory(username='******', id=237074561)

        self.assertEqual(User.objects.count(), 2)
        self.assertEqual(int(u1.id), 8910216)
        self.assertEqual(int(u2.id), 237074561)
        self.assertEqual(u1.username, 'tnt_online')
        self.assertEqual(u2.username, 'bmwru')

        with override_api_context('instagram', token=TOKEN):
            u1 = User.remote.fetch(8910216)
            u2 = User.remote.fetch(237074561)

        self.assertEqual(User.objects.count(), 2)
        self.assertEqual(int(u1.id), 8910216)
        self.assertEqual(int(u2.id), 237074561)
        self.assertEqual(u1.username, 'bmwru')
        self.assertEqual(u2.username, 'tnt_online')
Esempio n. 53
0
    def test_get_url_info(self):

        with override_api_context('odnoklassniki', token=TOKEN):
            response = api_call('url.getInfo', url='http://www.odnoklassniki.ru/apiok')
        self.assertEqual(response, {u'objectId': GROUP_ID, u'type': u'GROUP'})
Esempio n. 54
0
    def test_fetch_tag(self):
        with override_api_context('instagram', token=TOKEN):
            t = Tag.remote.fetch(TAG_NAME)

        self.assertEqual(t.name, TAG_NAME)
        self.assertGreater(t.media_count, 0)
Esempio n. 55
0
 def test_unexisted_user(self):
     with override_api_context('instagram', token=TOKEN):
         with self.assertRaisesWithCode(InstagramError, 400):
             User.remote.get(0)
Esempio n. 56
0
 def test_unexisted_user(self):
     with override_api_context('instagram', token=TOKEN):
         with self.assertRaisesWithCode(InstagramError, 400):
             User.remote.get(0)
Esempio n. 57
0
    def test_fetch_tag(self):
        with override_api_context('instagram', token=TOKEN):
            t = Tag.remote.fetch(TAG_NAME)

        self.assertEqual(t.name, TAG_NAME)
        self.assertGreater(t.media_count, 0)