This commit is contained in:
125
tests/test_auth_fix.py
Normal file
125
tests/test_auth_fix.py
Normal 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()
|
||||
Reference in New Issue
Block a user