# -*- coding: utf-8 -*- # Copyright(C) 2010-2011 Romain Bignon # # This file is part of a weboob module. # # This weboob module is free software: you can redistribute it and/or modify # 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, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this weboob module. If not, see . import itertools from weboob.tools.test import BackendTest from weboob.tools.value import Value from weboob.capabilities.video import BaseVideo from .video import SITE class ArteTest(BackendTest): MODULE = 'arte' def setUp(self): 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))) assert len(l) v = l[0][0] self.backend.fillobj(v, ('url',)) self.assertTrue(v.url, 'URL for video "%s" not found' % (v.id)) def test_sites(self): for site in SITE.values: l1 = list(itertools.islice(self.backend.iter_resources([BaseVideo], [site.get('id')]), 0, 20)) assert len(l1) while not isinstance(l1[0], BaseVideo): l1 = list(itertools.islice(self.backend.iter_resources([BaseVideo], l1[-1].split_path), 0, 20)) 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))