main functions commit
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2025-10-19 19:50:00 +09:00
parent ce72785184
commit 3050e084fa
39 changed files with 7149 additions and 186 deletions

View File

@@ -0,0 +1,81 @@
#!/usr/bin/env python3
"""
Простой тест для отладки Emergency API
"""
import asyncio
import httpx
import json
async def test_simple_emergency():
# Получаем JWT токен
async with httpx.AsyncClient() as client:
# Авторизация
login_data = {
"email": "shadow85@list.ru",
"password": "R0sebud1985"
}
print("🔐 Авторизация...")
response = await client.post(
"http://localhost:8000/api/v1/auth/login",
json=login_data,
headers={"Content-Type": "application/json"}
)
if response.status_code != 200:
print(f"❌ Ошибка авторизации: {response.status_code}")
print(f"Response: {response.text}")
return
auth_data = response.json()
jwt_token = auth_data.get("access_token")
print(f"✅ JWT токен получен: {jwt_token[:50]}...")
headers = {
"Authorization": f"Bearer {jwt_token}",
"Content-Type": "application/json"
}
# Тест health endpoint
print("\n🏥 Проверяем health endpoint...")
response = await client.get(
"http://localhost:8002/health",
headers=headers
)
print(f"Health status: {response.status_code} - {response.text}")
# Тест получения статистики
print("\n📊 Тестируем получение статистики...")
response = await client.get(
"http://localhost:8002/api/v1/stats",
headers=headers
)
print(f"Stats status: {response.status_code}")
if response.status_code == 200:
print(f"Stats: {response.text}")
else:
print(f"Error: {response.text}")
# Тест создания простого вызова
print("\n📞 Тестируем создание вызова...")
alert_data = {
"alert_type": "medical",
"latitude": 55.7558,
"longitude": 37.6176,
"description": "Тестовый вызов"
}
response = await client.post(
"http://localhost:8002/api/v1/alert",
json=alert_data,
headers=headers
)
print(f"Alert creation status: {response.status_code}")
if response.status_code in [200, 201]:
print(f"Alert created: {response.text}")
else:
print(f"Error: {response.text}")
if __name__ == "__main__":
asyncio.run(test_simple_emergency())