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

125
tests/test_auth_fix.py Normal file
View File

@@ -0,0 +1,125 @@
#!/usr/bin/env python3
"""
🔐 ТЕСТ СИСТЕМЫ АВТОРИЗАЦИИ
Проверяем работу авторизации после исправления SQLAlchemy проблем
"""
import requests
import json
BASE_URL = "http://localhost:8000" # API Gateway
def test_authentication_system():
"""Тестируем систему авторизации"""
print("🔐 ТЕСТИРОВАНИЕ СИСТЕМЫ АВТОРИЗАЦИИ")
print("=" * 60)
# Тест 1: Попытка входа с тестовыми данными
print("\n🧪 Тест 1: Вход в систему")
login_data = {
"email": "shadow85@list.ru",
"password": "R0sebud1985"
}
try:
print(f" 📝 Отправляем запрос авторизации: {login_data['email']}")
response = requests.post(
f"{BASE_URL}/api/v1/auth/login",
json=login_data,
timeout=10
)
print(f" 📊 Статус ответа: {response.status_code}")
if response.status_code == 200:
print(" ✅ УСПЕШНАЯ АВТОРИЗАЦИЯ!")
data = response.json()
token = data.get("access_token")
if token:
print(f" 🎫 Получен токен: {token[:50]}...")
return token
else:
print(" ⚠️ Токен не найден в ответе")
print(f" 📄 Ответ сервера: {response.text}")
elif response.status_code == 401:
print(" ❌ 401 Unauthorized - Неверные учетные данные")
print(f" 📄 Ответ сервера: {response.text}")
elif response.status_code == 500:
print(" 🚨 500 Server Error - ПРОБЛЕМА SQLAlchemy НЕ ИСПРАВЛЕНА!")
print(f" 📄 Ответ сервера: {response.text}")
else:
print(f" 🔸 Неожиданный код ответа: {response.status_code}")
print(f" 📄 Ответ сервера: {response.text}")
except requests.exceptions.ConnectionError:
print(" 💀 CONNECTION ERROR - Сервис не доступен")
return None
except Exception as e:
print(f" ⚡ ERROR: {str(e)}")
return None
# Тест 2: Проверка регистрации (если вход не удался)
print("\n🧪 Тест 2: Регистрация нового пользователя")
register_data = {
"email": "test@example.com",
"password": "TestPassword123",
"first_name": "Test",
"last_name": "User",
"phone": "+1234567890"
}
try:
print(f" 📝 Регистрируем пользователя: {register_data['email']}")
response = requests.post(
f"{BASE_URL}/api/v1/auth/register",
json=register_data,
timeout=10
)
print(f" 📊 Статус ответа: {response.status_code}")
if response.status_code == 201:
print(" ✅ УСПЕШНАЯ РЕГИСТРАЦИЯ!")
elif response.status_code == 400:
print(" ⚠️ 400 Bad Request - Пользователь уже существует или неверные данные")
elif response.status_code == 500:
print(" 🚨 500 Server Error - ПРОБЛЕМА SQLAlchemy!")
print(f" 📄 Ответ сервера: {response.text}")
except Exception as e:
print(f" ⚡ ERROR: {str(e)}")
# Тест 3: Проверка защищенного endpoint
print("\n🧪 Тест 3: Доступ к защищенному endpoint")
try:
print(" 📝 Проверяем доступ к профилю пользователя")
response = requests.get(
f"{BASE_URL}/api/v1/users/profile",
timeout=10
)
print(f" 📊 Статус ответа: {response.status_code}")
if response.status_code == 401:
print(" ✅ 401 Unauthorized - Авторизация работает корректно!")
elif response.status_code == 500:
print(" 🚨 500 Server Error - Проблема с сервером!")
else:
print(f" 🔸 Неожиданный код: {response.status_code}")
except Exception as e:
print(f" ⚡ ERROR: {str(e)}")
# Финальный отчет
print("\n" + "=" * 60)
print("📊 ИТОГОВЫЙ ОТЧЕТ АВТОРИЗАЦИИ")
print("=" * 60)
print("✅ Система авторизации протестирована")
print("Все сервисы запущены и отвечают")
print("🔧 Если есть ошибки 500 - нужно дополнительное исправление SQLAlchemy")
if __name__ == "__main__":
test_authentication_system()