MibooGram/tests/test_game.py

37 lines
1.2 KiB
Python
Raw Normal View History

import pytest
import pytest_asyncio
from flaky import flaky
from modules.apihelper.hyperion import Hyperion
@pytest_asyncio.fixture
async def hyperion():
_hyperion = Hyperion()
yield _hyperion
await _hyperion.close()
# noinspection PyShadowingNames
@pytest.mark.asyncio
@flaky(3, 1)
async def test_get_strategy(hyperion):
test_collection_id_list = [839176, 839179, 839181, 1180811]
test_result = ["温迪", "胡桃", "雷电将军", "柯莱"]
async def get_post_id(_collection_id: int, character_name: str) -> str:
post_full_in_collection = await hyperion.get_post_full_in_collection(_collection_id)
if post_full_in_collection.error:
raise RuntimeError(f"获取收藏信息错误,错误信息为:{post_full_in_collection.message}")
for post_data in post_full_in_collection.data["posts"]:
topics = post_data["topics"]
for topic in topics:
if character_name == topic["name"]:
return topic["name"]
return ""
for index, _ in enumerate(test_collection_id_list):
second = test_result[index]
first = await get_post_id(test_collection_id_list[index], second)
assert first == second