Files
DanDingNoneBot/test_api.py
2025-12-26 22:41:42 +08:00

73 lines
2.3 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env python3
"""
测试 onmyoji_gacha Web API
"""
import requests
import json
# API 配置
BASE_URL = "http://localhost:8080"
API_BASE = f"{BASE_URL}/onmyoji_gacha/api"
ADMIN_TOKEN = "onmyoji_admin_token_2024"
# 请求头
headers = {
"Authorization": f"Bearer {ADMIN_TOKEN}",
"Content-Type": "application/json"
}
def test_api():
print("🧪 测试 onmyoji_gacha Web API")
print("=" * 50)
# 测试每日统计
print("\n📊 测试每日统计 API...")
try:
response = requests.get(f"{API_BASE}/stats/daily", headers=headers)
print(f"状态码: {response.status_code}")
if response.status_code == 200:
data = response.json()
print(f"响应: {json.dumps(data, indent=2, ensure_ascii=False)}")
else:
print(f"错误: {response.text}")
except Exception as e:
print(f"请求失败: {e}")
# 测试排行榜
print("\n🏆 测试排行榜 API...")
try:
response = requests.get(f"{API_BASE}/stats/rank", headers=headers)
print(f"状态码: {response.status_code}")
if response.status_code == 200:
data = response.json()
print(f"响应: {json.dumps(data, indent=2, ensure_ascii=False)}")
else:
print(f"错误: {response.text}")
except Exception as e:
print(f"请求失败: {e}")
# 测试用户统计使用示例用户ID
print("\n👤 测试用户统计 API...")
try:
test_user_id = "123456789" # 示例用户ID
response = requests.get(f"{API_BASE}/stats/user/{test_user_id}", headers=headers)
print(f"状态码: {response.status_code}")
if response.status_code == 200:
data = response.json()
print(f"响应: {json.dumps(data, indent=2, ensure_ascii=False)}")
else:
print(f"错误: {response.text}")
except Exception as e:
print(f"请求失败: {e}")
# 测试无令牌访问
print("\n🔒 测试无令牌访问...")
try:
response = requests.get(f"{API_BASE}/stats/daily")
print(f"状态码: {response.status_code}")
print(f"响应: {response.text}")
except Exception as e:
print(f"请求失败: {e}")
if __name__ == "__main__":
test_api()