# -*- coding: utf-8 -*- from collections.abc import Iterator import pytest from app.modules.indexer.parser.discuz import DiscuzUserInfo @pytest.fixture def parser() -> Iterator[DiscuzUserInfo]: instance = DiscuzUserInfo( site_name="Discuz", url="https://example.com/", site_cookie="", apikey=None, token=None, ) yield instance instance.close() def test_discuz_traffic_defaults_use_integer_bytes(parser: DiscuzUserInfo) -> None: """上传/下载量使用整数字节,分享率保持浮点数。""" for value in (parser.upload, parser.download): assert value == 0 assert type(value) is int assert parser.ratio == 0.0 assert isinstance(parser.ratio, float) @pytest.mark.parametrize("include_menu", [True, False]) def test_discuz_skyeysnow_ratio(parser: DiscuzUserInfo, include_menu: bool) -> None: """天雪菜单和资料页的无括号分享率均应解析,且不影响积分和流量。""" menu = """
""" if include_menu else "" html_text = f""" {menu}