mirror of
https://github.com/alexgetmancom/miband-bot.git
synced 2026-07-17 04:08:45 +03:00
68 lines
2.0 KiB
Python
68 lines
2.0 KiB
Python
"""测试常量 (const.py)。"""
|
|
|
|
from __future__ import annotations
|
|
|
|
from mi_fitness.const import (
|
|
ALL_SHARED_DATA_TYPES,
|
|
HEALTH_API_BASE,
|
|
RELATIVES_AGGREGATED_DATA_PATH,
|
|
RELATIVES_DELETE_PATH,
|
|
RELATIVES_FITNESS_DATA_PATH,
|
|
RELATIVES_GET_APPLIED_SHARED_TYPES_PATH,
|
|
RELATIVES_GET_FAMILY_MEMBER_PATH,
|
|
RELATIVES_GET_INVITE_ID_PATH,
|
|
RELATIVES_GET_SHARED_TYPES_PATH,
|
|
RELATIVES_GET_TOPIC_SUBS_PATH,
|
|
RELATIVES_LATEST_DATA_PATH,
|
|
RELATIVES_LIST_PATH,
|
|
RELATIVES_SEND_INVITE_PATH,
|
|
RELATIVES_VERIFY_USER_PATH,
|
|
VERIFY_TYPE_XIAOMI_ID,
|
|
)
|
|
|
|
|
|
class TestAPIEndpoints:
|
|
"""API 端点常量测试。"""
|
|
|
|
def test_base_url_is_https(self) -> None:
|
|
assert HEALTH_API_BASE.startswith("https://")
|
|
|
|
def test_all_paths_start_with_slash(self) -> None:
|
|
paths = [
|
|
RELATIVES_LIST_PATH,
|
|
RELATIVES_LATEST_DATA_PATH,
|
|
RELATIVES_AGGREGATED_DATA_PATH,
|
|
RELATIVES_FITNESS_DATA_PATH,
|
|
RELATIVES_VERIFY_USER_PATH,
|
|
RELATIVES_SEND_INVITE_PATH,
|
|
RELATIVES_DELETE_PATH,
|
|
RELATIVES_GET_SHARED_TYPES_PATH,
|
|
RELATIVES_GET_APPLIED_SHARED_TYPES_PATH,
|
|
RELATIVES_GET_FAMILY_MEMBER_PATH,
|
|
RELATIVES_GET_INVITE_ID_PATH,
|
|
RELATIVES_GET_TOPIC_SUBS_PATH,
|
|
]
|
|
for path in paths:
|
|
assert path.startswith(("/app/v1/relatives/", "/app/v1/data/")), f"{path} API 路径前缀不正确"
|
|
|
|
|
|
class TestSharedDataTypes:
|
|
"""共享数据类型常量测试。"""
|
|
|
|
def test_has_10_types(self) -> None:
|
|
assert len(ALL_SHARED_DATA_TYPES) == 10
|
|
|
|
def test_contains_core_types(self) -> None:
|
|
for key in ["heart_rate", "sleep", "steps", "weight", "spo2"]:
|
|
assert key in ALL_SHARED_DATA_TYPES, f"缺少 {key}"
|
|
|
|
def test_no_duplicates(self) -> None:
|
|
assert len(ALL_SHARED_DATA_TYPES) == len(set(ALL_SHARED_DATA_TYPES))
|
|
|
|
|
|
class TestVerifyTypes:
|
|
"""验证类型常量测试。"""
|
|
|
|
def test_values(self) -> None:
|
|
assert VERIFY_TYPE_XIAOMI_ID == 1
|