mirror of
https://github.com/alexgetmancom/miband-bot.git
synced 2026-07-19 20:20:14 +03:00
feat: add miband bot application
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
"""测试常量 (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
|
||||
Reference in New Issue
Block a user