Пример #1
0
    def test_make_key(self):
        provider = 'imdb'
        with self.instance.test_request_context() as request:
            u = UserFactory(login='******', email='*****@*****.**')
            m = MovieFactory()
            self.db.session.commit()

            mid = getattr(m, '%s_id' % provider)
            movie_key = Movie.make_key(provider=provider, id=mid)

            key = Watchlist.make_key(user_id=u.id, movie_key=movie_key)
            self.assertEqual(key, ':'.join(('watchlist', str(u.id), movie_key)))
Пример #2
0
    def test_add_single_key_without_existed_movie(self):
        with self.instance.test_request_context() as request:
            u = UserFactory()
            self.db.session.commit()

            key = Watchlist.make_key(user_id=u.id,
                                     movie_key='movie:tt0167260:imdb')

            result = Watchlist.add(keys=(key,))

            self.assertEqual(len(result), 1)
            self.assertTrue(isinstance(result[0], Watchlist))
            self.assertEqual(result[0].status, Watchlist.PENDING_MOVIE)

            movies = self.db.session.query(Movie).all()
            self.assertEqual(len(movies), 1)
Пример #3
0
    def test_add_single_key_with_existed_movie(self):
        provider = 'imdb'
        with self.instance.test_request_context() as request:
            u = UserFactory()
            m = MovieFactory()
            self.db.session.commit()

            mid = getattr(m, '%s_id' % provider)
            movie_key = Movie.make_key(provider=provider, id=mid)

            key = Watchlist.make_key(user_id=u.id, movie_key=movie_key)

            result = Watchlist.add(keys=(key,))

            self.assertEqual(len(result), 1)
            self.assertTrue(isinstance(result[0], Watchlist))
            self.assertEqual(result[0].status, Watchlist.PENDING_MOVIE)
Пример #4
0
    def test_add_single_key_without_existed_movie(self):
        with self.instance.test_request_context() as request:
            u = UserFactory()
            self.db.session.commit()

            user_id = u.id

            key = Watchlist.make_key(user_id=u.id,
                                     movie_key='movie:tt0167260:imdb')

            add_to_watchlist(keys=(key,))

            watchlist = self.db.session.query(Watchlist).filter(Watchlist.user_id == user_id).all()
            self.assertEqual(len(watchlist), 1)

            movies = self.db.session.query(Movie).all()
            self.assertEqual(len(movies), 1)
Пример #5
0
def fill_queue_from_csv(logger, **kwargs):
    user_id = str(kwargs.get('user_id'))
    provider = kwargs.get('provider')

    logger.info('Filling watchlist queue: start')
    path = os.path.join(instance.config.get('MEDIA_ROOT'), 'watchlists',
                        user_id, '%s_watchlist.csv' % provider)
    if os.path.exists(path):
        with open(path, 'rb') as csvfile:
            reader = csv.reader(csvfile)
            for row in reader:
                if not str(row[1]).startswith('tt'):
                    continue
                key = Watchlist.make_key(
                    user_id, Movie.make_key(provider=provider, id=row[1]))
                redis.lpush(Watchlist.watchlist_key, key)
        logger.info('Filling watchlist queue: end')
    else:
        logger.info('Filling watchlist queue: watchlist file does not exists')
Пример #6
0
    def test_add_already_existed_key(self):
        provider = 'imdb'
        with self.instance.test_request_context() as request:
            u = UserFactory()
            m = MovieFactory()
            self.db.session.commit()

            mid = getattr(m, '%s_id' % provider)
            movie_key = Movie.make_key(provider=provider, id=mid)

            w = Watchlist(user_id=u.id, movie_id=m.id)
            self.db.session.add(w)
            self.db.session.commit()

            key = Watchlist.make_key(user_id=u.id, movie_key=movie_key)

            result = Watchlist.add(keys=(key,))

            self.assertEqual(len(result), 1)
            self.assertEqual(result[0].id, w.id)
Пример #7
0
    def test_add_already_existed_key(self):
        provider = 'imdb'
        with self.instance.test_request_context() as request:
            u = UserFactory()
            m = MovieFactory()
            self.db.session.commit()

            user_id = u.id

            mid = getattr(m, '%s_id' % provider)
            movie_key = Movie.make_key(provider=provider, id=mid)

            w = Watchlist(user_id=u.id, movie_id=m.id)
            self.db.session.add(w)
            self.db.session.commit()

            key = Watchlist.make_key(user_id=u.id, movie_key=movie_key)

            add_to_watchlist(keys=(key,))

            watchlist = self.db.session.query(Watchlist).filter(Watchlist.user_id == user_id).all()
            self.assertEqual(len(watchlist), 1)