def test_response_repr(mocked_responses): mocked_responses.add(responses.POST, SAUCENAO_URL, json=e.HGame_CG) results = SauceNao().from_url('https://example.com/') assert repr( results ) == '<SauceResponse(count=5, long_remaining=66, short_remaining=1)>' assert repr( results[0]) == "<BasicSauce(title='Haramiko', similarity=17.47)>" mocked_responses.remove(responses.POST, SAUCENAO_URL) mocked_responses.add(responses.POST, SAUCENAO_URL, json=e.HMagazines) result = SauceNao().from_url('https://example.com/')[0] assert repr( result ) == "<BookSauce(title='Hime Dorobou', part='[2001-01]', similarity=0.37)>" mocked_responses.remove(responses.POST, SAUCENAO_URL) mocked_responses.add(responses.POST, SAUCENAO_URL, json=e.Anime) result = SauceNao().from_url('https://example.com/')[0] assert repr( result ) == "<VideoSauce(title='One Piece', part='299', similarity=19.50)>"
def test_response_bool(mocked_responses): mocked_responses.add(responses.POST, SAUCENAO_URL, json=e.HMagazines) results = SauceNao().from_url('https://example.com/') assert bool(results) is True mocked_responses.remove(responses.POST, SAUCENAO_URL) mocked_responses.add(responses.POST, SAUCENAO_URL, json=e.DoujinshiDB) results = SauceNao().from_url('https://example.com/') assert bool(results) is False
def test_429_long_limit_unregister(mocked_responses): mocked_responses.add(responses.POST, SAUCENAO_URL, status=429, json=e.LongLimitUnregister) with pytest.raises(LongLimitReachedError): SauceNao().from_url('https://example.com/')
def test_hmiscehentai(mocked_responses): mocked_responses.add(responses.POST, SAUCENAO_URL, json=e.HMisc_EHentai) result = SauceNao().from_url('https://example.com/')[0] assert result.title == 'Persona 4: Golden Characters' assert result.urls == [] assert result.author == 'Unknown'
def test_basic_attrs(mocked_responses): mocked_responses.add(responses.POST, SAUCENAO_URL, json=e.HMagazines) result = SauceNao().from_url('https://example.com/')[0] assert result.raw == { 'header': { 'similarity': '0.37', 'thumbnail': 'https://img1.saucenao.com/res/0_magazines/Hime%20Dorobou/%5B2001-01%5D/051.JPG?auth=oH21gSB37fnx04zMNaMVvg&exp=1596483537', 'index_id': 0, 'index_name': 'Index #0: H-Magazines - 051.JPG' }, 'data': { 'title': 'Hime Dorobou', 'part': '[2001-01]', 'date': '2001-01' } }, { 'header': { 'similarity': '0.0638999999999', 'thumbnail': 'https://img1.saucenao.com/res/0_magazines/Slave%20Heroines/10%20%5B2009-01%5D/001.jpg?auth=IWwXAQXqZk4ZgkjiZ7C1Xg&exp=1596483537', 'index_id': 0, 'index_name': 'Index #0: H-Magazines - 001.jpg' }, 'data': { 'title': 'Slave Heroines', 'part': 'vol. 10', 'date': '2009-01' } } assert result.similarity == 0.37 assert result.thumbnail == 'https://img1.saucenao.com/res/0_magazines/Hime%20Dorobou/%5B2001-01%5D/051.JPG?auth=oH21gSB37fnx04zMNaMVvg&exp=1596483537' assert result.index_id == 0 assert result.index_name == 'Index #0: H-Magazines - 051.JPG'
def test_idolcomplex(mocked_responses): mocked_responses.add(responses.POST, SAUCENAO_URL, json=e.IdolComplex) result = SauceNao().from_url('https://example.com/')[0] assert result.title == '' assert result.urls == ['https://idol.sankakucomplex.com/post/show/441604'] assert result.author == '' assert type(result) is BasicSauce
def test_bcynetillust(mocked_responses): mocked_responses.add(responses.POST, SAUCENAO_URL, json=e.Bcynet_Illust) result = SauceNao().from_url('https://example.com/')[0] assert result.title == '|*美食方言*|' assert result.urls == ['https://bcy.net/illust/detail/55206'] assert result.author == '第四存档点' assert type(result) is BasicSauce
def test_sankakuchannel(mocked_responses): mocked_responses.add(responses.POST, SAUCENAO_URL, json=e.SankakuChannel) result = SauceNao().from_url('https://example.com/')[0] assert result.title == 'harry potter' assert result.urls == ['https://chan.sankakucomplex.com/post/show/4922724'] assert result.author == '' assert type(result) is BasicSauce
def test_e621net(mocked_responses): mocked_responses.add(responses.POST, SAUCENAO_URL, json=e.E621net) result = SauceNao().from_url('https://example.com/')[0] assert result.title == '' assert result.urls == ['https://e621.net/post/show/1410034'] assert result.author == 'unknown artist' assert type(result) is BasicSauce
def test_hgamecg(mocked_responses): mocked_responses.add(responses.POST, SAUCENAO_URL, json=e.HGame_CG) result = SauceNao().from_url('https://example.com/')[0] assert result.title == 'Haramiko' assert result.urls == ['http://www.getchu.com/soft.phtml?id=587705'] assert result.author == 'Selen' assert type(result) is BasicSauce
def test_medibang(mocked_responses): mocked_responses.add(responses.POST, SAUCENAO_URL, json=e.MediBang) result = SauceNao().from_url('https://example.com/')[0] assert result.title == '戦闘摂理解析システム' assert result.urls == ['https://medibang.com/picture/gu1802142236123490002513827'] assert result.author == '紅羽' assert type(result) is BasicSauce
def test_gelbooru(mocked_responses): mocked_responses.add(responses.POST, SAUCENAO_URL, json=e.Gelbooru) result = SauceNao().from_url('https://example.com/')[0] assert result.title == 'atlus, persona, persona 4' assert result.urls == ['https://gelbooru.com/index.php?page=post&s=view&id=559170'] assert result.author == 'chinchikooru (pixiv)' assert type(result) is BasicSauce
def test_pawoonet(mocked_responses): mocked_responses.add(responses.POST, SAUCENAO_URL, json=e.Pawoonet) result = SauceNao().from_url('https://example.com/')[0] assert result.title == '2017-10-11T12:29:20.000Z' assert result.urls == ['https://pawoo.net/@nez_ebi'] assert result.author == 'nez_ebi' assert type(result) is BasicSauce
def test_nijieimages(mocked_responses): mocked_responses.add(responses.POST, SAUCENAO_URL, json=e.Nijie_Images) result = SauceNao().from_url('https://example.com/')[0] assert result.title == 'Broadcasting accident - All Five !!' assert result.urls == ['https://nijie.info/view.php?id=334086'] assert result.author == '青虫' assert type(result) is BasicSauce
def test_yandere(mocked_responses): mocked_responses.add(responses.POST, SAUCENAO_URL, json=e.Yandere) result = SauceNao().from_url('https://example.com/')[0] assert result.title == 'metal gear' assert result.urls == ['https://yande.re/post/show/33539'] assert result.author == '' assert type(result) is BasicSauce
def test_drawrimages(mocked_responses): mocked_responses.add(responses.POST, SAUCENAO_URL, json=e.Drawr_Images) result = SauceNao().from_url('https://example.com/')[0] assert result.title == '2012-05-07 03:41:38' assert result.urls == ['https://drawr.net/show.php?id=3728320'] assert result.author == 'CAMfc' assert type(result) is BasicSauce
def test_danbooru(mocked_responses): mocked_responses.add(responses.POST, SAUCENAO_URL, json=e.Danbooru) result = SauceNao().from_url('https://example.com/')[0] assert result.title == 'highly responsive to prayers, touhou, touhou (pc-98)' assert result.urls == ['https://danbooru.donmai.us/post/show/736634'] assert result.author == 'nichimatsu seri' assert type(result) is BasicSauce
def test_niconicoseiga(mocked_responses): mocked_responses.add(responses.POST, SAUCENAO_URL, json=e.Nico_Nico_Seiga) result = SauceNao().from_url('https://example.com/')[0] assert result.title == 'ボイスロイドたちの学園クトゥルフ' assert result.urls == ['https://seiga.nicovideo.jp/seiga/im3917445'] assert result.author == 'ナギネコ' assert type(result) is BasicSauce
def test_bcynetcosplay(mocked_responses): mocked_responses.add(responses.POST, SAUCENAO_URL, json=e.Bcynet_Cosplay) result = SauceNao().from_url('https://example.com/')[0] assert result.title == '2015總結 星名皇' assert result.urls == ['https://bcy.net/coser/detail/54748'] assert result.author == '星名皇' assert type(result) is BasicSauce
def test_hmisc(mocked_responses): mocked_responses.add(responses.POST, SAUCENAO_URL, json=e.HMisc) result = SauceNao().from_url('https://example.com/')[0] assert result.title == '[Erect Sawaru] Shinkyoku no Grimoire III -PANDRA saga 2nd story-' assert result.urls == [] assert result.author == 'erect sawaru | moroboshi guy' assert type(result) is BasicSauce
def test_deviantart(mocked_responses): mocked_responses.add(responses.POST, SAUCENAO_URL, json=e.DeviantArt) result = SauceNao().from_url('https://example.com/')[0] assert result.title == 'Koshitantan + video link+stagedl' assert result.urls == ['https://deviantart.com/view/515715132'] assert result.author == 'SliverRose0916' assert type(result) is BasicSauce
def test_twodmarket(mocked_responses): mocked_responses.add(responses.POST, SAUCENAO_URL, json=e.TwoDMarket) result = SauceNao().from_url('https://example.com/')[0] assert result.title == 'Rain Shelter Tale' assert result.urls == ['https://2d-market.com/Comic/133'] assert result.author == 'Kabayakiya' assert type(result) is BasicSauce
def test_fakku(mocked_responses): mocked_responses.add(responses.POST, SAUCENAO_URL, json=e.FAKKU) result = SauceNao().from_url('https://example.com/')[0] assert result.title == 'Ima Real' assert result.urls == ['https://www.fakku.net/hentai/ima-real-english'] assert result.author == 'Takeda Hiromitsu' assert type(result) is BasicSauce
def test_portalgraphicsnet(mocked_responses): mocked_responses.add(responses.POST, SAUCENAO_URL, json=e.PortalGraphicsnet) result = SauceNao().from_url('https://example.com/')[0] assert result.title == '並べた' assert result.urls == ['https://web.archive.org/web/http://www.portalgraphics.net/pg/illust/?image_id=77837'] assert result.author == '神崎' assert type(result) is BasicSauce
def test_konachan(mocked_responses): mocked_responses.add(responses.POST, SAUCENAO_URL, json=e.Konachan) result = SauceNao().from_url('https://example.com/')[0] assert result.title == 'tengen toppa gurren lagann' assert result.urls == ['https://konachan.com/post/show/82192'] assert result.author == 'gainax, nanao' assert type(result) is BasicSauce
def test_pixivimages(mocked_responses): mocked_responses.add(responses.POST, SAUCENAO_URL, json=e.Pixiv_Images) result = SauceNao().from_url('https://example.com/')[0] assert result.title == '妖キャラをカリスマ化してみた。' assert result.urls == ['https://www.pixiv.net/member_illust.php?mode=medium&illust_id=4933944'] assert result.author == '佳虫' assert type(result) is BasicSauce
def test_artstation(mocked_responses): mocked_responses.add(responses.POST, SAUCENAO_URL, json=e.Artstation) result = SauceNao().from_url('http://example.com/')[0] assert result.title == 'Adnachiel Arknights Fanart' assert result.urls == ['https://www.artstation.com/artwork/OoyP0e'] assert result.author == 'Rclouds 96' assert type(result) is BasicSauce
def test_furry_network(mocked_responses): mocked_responses.add(responses.POST, SAUCENAO_URL, json=e.FurAffinity) result = SauceNao().from_url('http://example.com')[0] assert result.title == 'playtime' assert result.urls == ['https://www.furaffinity.net/view/14385432'] assert result.author == 'writersmask' assert type(result) is BasicSauce
def test_hmagazines(mocked_responses): mocked_responses.add(responses.POST, SAUCENAO_URL, json=e.HMagazines) result = SauceNao().from_url('https://example.com/')[0] assert result.title == 'Hime Dorobou' assert result.urls == [] assert result.author is None assert type(result) is BookSauce assert result.part == '[2001-01]'
def test_madokami(mocked_responses): mocked_responses.add(responses.POST, SAUCENAO_URL, json=e.Madokami) result = SauceNao().from_url('https://example.com/')[0] assert result.title == 'Maou Dante' assert result.urls == ['https://www.mangaupdates.com/series.html?id=4451'] assert result.author is None assert type(result) is BookSauce assert result.part == 'Maou Dante v01'