Skip to content
test.py 2.2 KiB
Newer Older
Romain Bignon's avatar
Romain Bignon committed
# -*- coding: utf-8 -*-

Romain Bignon's avatar
Romain Bignon committed
# Copyright(C) 2010-2011 Romain Bignon
Romain Bignon's avatar
Romain Bignon committed
#
# This file is part of a weboob module.
Romain Bignon's avatar
Romain Bignon committed
#
# This weboob module is free software: you can redistribute it and/or modify
Romain Bignon's avatar
Romain Bignon committed
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This weboob module is distributed in the hope that it will be useful,
Romain Bignon's avatar
Romain Bignon committed
# but WITHOUT ANY WARRANTY; without even the implied warranty of
Romain Bignon's avatar
Romain Bignon committed
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
Romain Bignon's avatar
Romain Bignon committed
#
Romain Bignon's avatar
Romain Bignon committed
# You should have received a copy of the GNU Affero General Public License
# along with this weboob module. If not, see <http://www.gnu.org/licenses/>.
Bezleputh's avatar
Bezleputh committed
import itertools
Romain Bignon's avatar
Romain Bignon committed

from weboob.tools.test import BackendTest
from weboob.tools.value import Value
from weboob.capabilities.video import BaseVideo
from .video import SITE
Romain Bignon's avatar
Romain Bignon committed

class ArteTest(BackendTest):
Florent's avatar
Florent committed
    MODULE = 'arte'
        if not self.is_backend_configured():
            self.backend.config['lang'] = Value(value='FRENCH')
            self.backend.config['quality'] = Value(value='HD')
            self.backend.config['order'] = Value(value='LAST_CHANCE')
            self.backend.config['format'] = Value(value='HLS')
            self.backend.config['version'] = Value(value='VOSTF')

    def test_search(self):
        l = list(zip(self.backend.search_videos('a'), range(30)))
Bezleputh's avatar
Bezleputh committed
        assert len(l)
        v = l[0][0]
Bezleputh's avatar
Bezleputh committed
        self.backend.fillobj(v, ('url',))
        self.assertTrue(v.url, 'URL for video "%s" not found' % (v.id))
Bezleputh's avatar
Bezleputh committed
    def test_sites(self):
        for site in SITE.values:

Bezleputh's avatar
Bezleputh committed
            l1 = list(itertools.islice(self.backend.iter_resources([BaseVideo], [site.get('id')]), 0, 20))
Bezleputh's avatar
Bezleputh committed
            assert len(l1)

            while not isinstance(l1[0], BaseVideo):
Bezleputh's avatar
Bezleputh committed
                l1 = list(itertools.islice(self.backend.iter_resources([BaseVideo], l1[-1].split_path), 0, 20))
Bezleputh's avatar
Bezleputh committed
                assert len(l1)

            for v in l1:
                v = self.backend.fillobj(v, ('url',))
                if type(v) == BaseVideo:
                    exit

            self.assertTrue(v.url, 'URL for video "%s" not found' % (v.id))