Files
unionflow-server-api/test-final.sh

86 lines
3.0 KiB
Bash

#!/bin/bash
echo "============================================================================="
echo "🧪 TEST FINAL AUTHENTIFICATION UNIONFLOW"
echo "============================================================================="
echo ""
# Comptes à tester
declare -A accounts=(
["marie.active"]="Marie123!"
["superadmin"]="SuperAdmin123!"
["jean.simple"]="Jean123!"
["tech.lead"]="TechLead123!"
["rh.manager"]="RhManager123!"
)
success_count=0
total_count=${#accounts[@]}
echo "Test d'authentification avec les comptes créés..."
echo ""
for username in "${!accounts[@]}"; do
password="${accounts[$username]}"
echo -n "Test $username... "
response=$(curl -s -X POST \
"http://192.168.1.11:8180/realms/unionflow/protocol/openid-connect/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "username=${username}&password=${password}&grant_type=password&client_id=unionflow-mobile")
if echo "$response" | grep -q "access_token"; then
echo "✓ SUCCÈS"
((success_count++))
# Extraire quelques infos du token
access_token=$(echo "$response" | grep -o '"access_token":"[^"]*' | cut -d'"' -f4)
# Obtenir les infos utilisateur
user_info=$(curl -s -X GET \
"http://192.168.1.11:8180/realms/unionflow/protocol/openid-connect/userinfo" \
-H "Authorization: Bearer ${access_token}")
if echo "$user_info" | grep -q "email"; then
email=$(echo "$user_info" | grep -o '"email":"[^"]*' | cut -d'"' -f4)
echo " → Email: $email"
fi
else
echo "✗ ÉCHEC"
echo " → Réponse: ${response:0:100}..."
fi
echo ""
done
echo "============================================================================="
echo "📊 RÉSULTATS FINAUX"
echo "============================================================================="
echo ""
echo "✅ Comptes fonctionnels : $success_count/$total_count"
echo ""
if [ $success_count -eq $total_count ]; then
echo "🎉 PARFAIT ! Tous les comptes fonctionnent !"
echo ""
echo "🚀 PRÊT POUR L'APPLICATION MOBILE :"
echo " • Utilisez marie.active / Marie123! pour tester"
echo " • Ou superadmin / SuperAdmin123! pour les tests admin"
echo " • L'authentification Keycloak est 100% opérationnelle"
echo ""
elif [ $success_count -gt 0 ]; then
echo "⚠️ Configuration partielle réussie"
echo "$success_count comptes fonctionnent"
echo " • Vous pouvez tester avec les comptes qui marchent"
echo ""
else
echo "❌ Aucun compte ne fonctionne"
echo " • Vérifiez la configuration Keycloak"
echo " • Relancez le script de configuration si nécessaire"
echo ""
fi
echo "============================================================================="
echo "✅ TEST TERMINÉ"
echo "============================================================================="