1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/alphardex-looter

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
test_looter.py 980
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
alphardex Отправлено 23.07.2019 17:09 42718d7
import os
import json
from pathlib import Path
import pytest
import looter as lt
domain = 'https://konachan.com'
broken_domain = 'https://konichee.com'
read_json = lambda path: json.loads(Path(path).read_text())
# test main functions
@pytest.mark.ok
def test_fetch():
tree = lt.fetch(f'{domain}/post')
imgs = tree.css('a.directlink::attr(href)').extract()
assert len(imgs) > 0 and isinstance(imgs[0], str)
assert not lt.fetch(broken_domain)
@pytest.mark.ok
def test_save():
# sort_by
unordered_data = [{'r': 2}, {'r': 3}, {'r': 1}]
lt.save(unordered_data, name='ordered.json', sort_by='r')
ordered_data = read_json('ordered.json')
assert ordered_data[0]['r'] == 1
os.remove('ordered.json')
# no_duplicate
dup_data = [{'a': 1}, {'a': 1}, {'b': 2}]
lt.save(dup_data, name='unique.json', no_duplicate=True)
unique_data = read_json('unique.json')
assert len(dup_data) > len(unique_data)
os.remove('unique.json')

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/alphardex-looter.git
git@api.gitlife.ru:oschina-mirror/alphardex-looter.git
oschina-mirror
alphardex-looter
alphardex-looter
master