mirror of
https://github.com/suyiiyii/nonebot-bison.git
synced 2025-06-04 02:26:11 +08:00
117 lines
4.1 KiB
Python
117 lines
4.1 KiB
Python
import typing
|
|
|
|
import pytest
|
|
from flaky import flaky
|
|
from nonebug.app import App
|
|
|
|
if typing.TYPE_CHECKING:
|
|
import sys
|
|
|
|
sys.path.append("./src/plugins")
|
|
|
|
merge_source_9 = [
|
|
"https://wx1.sinaimg.cn/large/0071VPLMgy1gq0vib7zooj30dx0dxmz5.jpg",
|
|
"https://wx4.sinaimg.cn/large/0071VPLMgy1gq0vib5oqjj30dw0dxjt2.jpg",
|
|
"https://wx2.sinaimg.cn/large/0071VPLMgy1gq0vib8bjmj30dv0dxgn7.jpg",
|
|
"https://wx1.sinaimg.cn/large/0071VPLMgy1gq0vib6pn1j30dx0dw75v.jpg",
|
|
"https://wx4.sinaimg.cn/large/0071VPLMgy1gq0vib925mj30dw0dwabb.jpg",
|
|
"https://wx2.sinaimg.cn/large/0071VPLMgy1gq0vib7ujuj30dv0dwtap.jpg",
|
|
"https://wx1.sinaimg.cn/large/0071VPLMgy1gq0vibaexnj30dx0dvq49.jpg",
|
|
"https://wx1.sinaimg.cn/large/0071VPLMgy1gq0vibehw4j30dw0dv74u.jpg",
|
|
"https://wx1.sinaimg.cn/large/0071VPLMgy1gq0vibfb5fj30dv0dvtac.jpg",
|
|
"https://wx3.sinaimg.cn/large/0071VPLMgy1gq0viexkjxj30rs3pcx6p.jpg",
|
|
"https://wx2.sinaimg.cn/large/0071VPLMgy1gq0vif6qrpj30rs4mou10.jpg",
|
|
"https://wx4.sinaimg.cn/large/0071VPLMgy1gq0vifc826j30rs4a64qs.jpg",
|
|
"https://wx1.sinaimg.cn/large/0071VPLMgy1gq0vify21lj30rsbj71ld.jpg",
|
|
]
|
|
merge_source_9_2 = [
|
|
"https://wx2.sinaimg.cn/large/0071VPLMgy1gxo0eyycd7j30dw0dd3zk.jpg",
|
|
"https://wx1.sinaimg.cn/large/0071VPLMgy1gxo0eyx6mhj30dw0ddjs8.jpg",
|
|
"https://wx4.sinaimg.cn/large/0071VPLMgy1gxo0eyxf2bj30dw0dddh4.jpg",
|
|
"https://wx3.sinaimg.cn/large/0071VPLMgy1gxo0ez1h5zj30dw0efwfs.jpg",
|
|
"https://wx3.sinaimg.cn/large/0071VPLMgy1gxo0eyyku4j30dw0ef3zm.jpg",
|
|
"https://wx1.sinaimg.cn/large/0071VPLMgy1gxo0ez0bjhj30dw0efabs.jpg",
|
|
"https://wx4.sinaimg.cn/large/0071VPLMgy1gxo0ezdcafj30dw0dwacb.jpg",
|
|
"https://wx1.sinaimg.cn/large/0071VPLMgy1gxo0ezg2g3j30dw0dwq51.jpg",
|
|
"https://wx3.sinaimg.cn/large/0071VPLMgy1gxo0ez5oloj30dw0dw0uf.jpg",
|
|
"https://wx4.sinaimg.cn/large/0071VPLMgy1gxo0fnk6stj30rs44ne81.jpg",
|
|
"https://wx2.sinaimg.cn/large/0071VPLMgy1gxo0fohgcoj30rs3wpe81.jpg",
|
|
"https://wx3.sinaimg.cn/large/0071VPLMgy1gxo0fpr6chj30rs3m1b29.jpg",
|
|
]
|
|
|
|
|
|
async def download_imgs(url_list: list[str]) -> list[bytes]:
|
|
from nonebot_bison.utils import http_client
|
|
|
|
img_contents = []
|
|
async with http_client(headers={"referer": "https://weibo.com"}) as client:
|
|
for url in url_list:
|
|
res = await client.get(url)
|
|
res.raise_for_status()
|
|
img_contents.append(res.content)
|
|
return img_contents
|
|
|
|
|
|
@pytest.fixture()
|
|
async def downloaded_resource():
|
|
return await download_imgs(merge_source_9)
|
|
|
|
|
|
@pytest.fixture()
|
|
async def downloaded_resource_2():
|
|
return await download_imgs(merge_source_9_2)
|
|
|
|
|
|
@pytest.mark.external
|
|
@flaky
|
|
async def test_9_merge(app: App, downloaded_resource: list[bytes]):
|
|
from nonebot_bison.utils import pic_merge, http_client
|
|
|
|
pics = await pic_merge(list(downloaded_resource), http_client())
|
|
assert len(pics) == 5
|
|
|
|
|
|
@pytest.mark.external
|
|
@flaky
|
|
async def test_9_merge_2(app: App, downloaded_resource_2: list[bytes]):
|
|
from nonebot_bison.utils import pic_merge, http_client
|
|
|
|
pics = await pic_merge(list(downloaded_resource_2), http_client())
|
|
assert len(pics) == 4
|
|
|
|
|
|
@pytest.mark.external
|
|
@flaky
|
|
async def test_6_merge(app: App, downloaded_resource: list[bytes]):
|
|
from nonebot_bison.utils import pic_merge, http_client
|
|
|
|
pics = await pic_merge(list(downloaded_resource[0:6] + downloaded_resource[9:]), http_client())
|
|
assert len(pics) == 5
|
|
|
|
|
|
@pytest.mark.external
|
|
@flaky
|
|
async def test_3_merge(app: App, downloaded_resource: list[bytes]):
|
|
from nonebot_bison.utils import pic_merge, http_client
|
|
|
|
pics = await pic_merge(list(downloaded_resource[0:3] + downloaded_resource[9:]), http_client())
|
|
assert len(pics) == 5
|
|
|
|
|
|
@pytest.mark.external
|
|
@flaky
|
|
async def test_6_merge_only(app: App, downloaded_resource: list[bytes]):
|
|
from nonebot_bison.utils import pic_merge, http_client
|
|
|
|
pics = await pic_merge(list(downloaded_resource[0:6]), http_client())
|
|
assert len(pics) == 1
|
|
|
|
|
|
@pytest.mark.external
|
|
@flaky
|
|
async def test_3_merge_only(app: App, downloaded_resource: list[bytes]):
|
|
from nonebot_bison.utils import pic_merge, http_client
|
|
|
|
pics = await pic_merge(list(downloaded_resource[0:3]), http_client())
|
|
assert len(pics) == 1
|