#!/bin/bash

echo "=== Тест развертывания Dex Demo Application ==="
echo

# Проверка статуса подов
echo "1. Статус подов:"
~/.kind-d8/kubectl get pods -n navigator-demo
echo

# Проверка DexAuthenticator
echo "2. Статус DexAuthenticator:"
~/.kind-d8/kubectl get dexauthenticator -n navigator-demo
echo

# Проверка Ingress
echo "3. Статус Ingress:"
~/.kind-d8/kubectl get ingress -n navigator-demo
echo

# Проверка логов backend
echo "4. Логи Backend (последние 5 строк):"
~/.kind-d8/kubectl logs -n navigator-demo -l app=backend --tail=5
echo

# Проверка доступности приложения
echo "5. Тест доступности приложения:"
echo "URL: https://navigator-demo.127.0.0.1.sslip.io"
HTTP_STATUS=$(curl -k -s -o /dev/null -w "%{http_code}" https://navigator-demo.127.0.0.1.sslip.io)
echo "HTTP Status: $HTTP_STATUS"

if [ "$HTTP_STATUS" = "200" ]; then
    echo "✅ Frontend доступен!"
elif [ "$HTTP_STATUS" = "302" ] || [ "$HTTP_STATUS" = "307" ]; then
    echo "✅ Frontend правильно требует аутентификации!"
else
    echo "❌ Ошибка доступа к frontend"
fi

# Проверка API (должен требовать аутентификации)
echo "6. Тест API endpoint:"
echo "URL: https://navigator-demo.127.0.0.1.sslip.io/api/user-info"
API_STATUS=$(curl -k -s -o /dev/null -w "%{http_code}" https://navigator-demo.127.0.0.1.sslip.io/api/user-info)
echo "API Status: $API_STATUS"

if [ "$API_STATUS" = "401" ] || [ "$API_STATUS" = "302" ] || [ "$API_STATUS" = "307" ]; then
    echo "✅ API правильно требует аутентификации!"
elif [ "$API_STATUS" = "500" ]; then
    echo "⚠️ API возвращает 500 (возможно, проблема с DexAuthenticator)"
else
    echo "❓ Неожиданный статус API: $API_STATUS"
fi
echo

# Проверка health endpoint
echo "6. Тест health endpoint:"
~/.kind-d8/kubectl exec -n navigator-demo deployment/backend -- curl -s http://localhost:8000/api/health
echo
echo

echo "=== Инструкции по тестированию ==="
echo "1. Откройте браузер и перейдите на https://navigator-demo.127.0.0.1.sslip.io"
echo "2. Вас должно перенаправить на страницу аутентификации Dex"
echo "3. После входа вы увидите информацию о пользователе и доступные ресурсы"
echo
echo "Тестовые пользователи (убедитесь, что они есть в вашем Dex):"
echo "- admin@example.com (Иван Администраторов)"
echo "- developer@example.com (Мария Разработчикова)"  
echo "- user@example.com (Петр Пользователев)"
echo "- manager@example.com (Анна Менеджерова)"
