def test_update(news): __, sbs = news with mock.patch('requests.get') as mocked_request: mocked_request.side_effect = lambda url: \ mocked_get_request(url, mock='news-v1.html') assert sbs.update() == get_static_json_file('initial.json') mocked_request.side_effect = lambda url: \ mocked_get_request(url, mock='news-v2.html') assert sbs.update() == get_static_json_file('changes.json')
def test_multi_news(news): db, __ = news fake_news = FakeNewsMonitor(db) with mock.patch('requests.get') as mocked_request: mocked_request.side_effect = lambda url: \ mocked_get_request(url, mock='fake-news.html') assert fake_news.update() == get_static_json_file('fake-news.json')
def test_section_scraping(webpage): s = scraper.ItemScraper('page__section page__section--style-1', [{ 'name': 'title', 'class': 'block__title' }]) items = s.scrape(webpage) assert items == get_static_json_file('sections.json')
def test_list_scraping(webpage): s = scraper.ItemScraper('menu__list-item', [{ 'name': 'title', 'tag': 'a' }, { 'name': 'url', 'tag': 'a', 'attr': 'href' }]) items = s.scrape(webpage) assert items == get_static_json_file('lists.json')
def test_article_scraping(webpage): s = scraper.ItemScraper('preview', [{ 'name': 'topic', 'class': 'topic__string' }, { 'name': 'title', 'class': 'preview__headline' }, { 'name': 'date', 'class': 'date__string' }, { 'name': 'url', 'class': 'preview__headline', 'tag': 'a', 'attr': 'href' }]) items = s.scrape(webpage) assert items == get_static_json_file('articles.json')
def test_static_json_file(): assert get_static_json_file('not_a_file.json') == []