91 lines
3.8 KiB
PowerShell
91 lines
3.8 KiB
PowerShell
# Script de démarrage pour les tests d'intégration mobile-backend
|
|
# Vérifie tous les prérequis et guide l'utilisateur
|
|
|
|
Write-Host "=== Démarrage Tests d'Intégration Finance Workflow ===" -ForegroundColor Cyan
|
|
Write-Host ""
|
|
|
|
$allGood = $true
|
|
|
|
# 1. Vérifier Quarkus
|
|
Write-Host "[1/3] Vérification Backend Quarkus..." -ForegroundColor Yellow
|
|
try {
|
|
$quarkusHealth = Invoke-RestMethod -Uri 'http://localhost:8085/q/health' -Method Get
|
|
Write-Host " [OK] Quarkus actif sur port 8085" -ForegroundColor Green
|
|
} catch {
|
|
Write-Host " [KO] Quarkus non accessible" -ForegroundColor Red
|
|
Write-Host " Démarrer avec:" -ForegroundColor Yellow
|
|
Write-Host " cd unionflow/unionflow-server-impl-quarkus" -ForegroundColor Gray
|
|
Write-Host " mvn compile quarkus:dev -D`"quarkus.http.port=8085`"" -ForegroundColor Gray
|
|
$allGood = $false
|
|
}
|
|
|
|
# 2. Vérifier Keycloak
|
|
Write-Host "`n[2/3] Vérification Keycloak..." -ForegroundColor Yellow
|
|
try {
|
|
$keycloakTest = Invoke-WebRequest -Uri 'http://localhost:8180' -UseBasicParsing -Method Get
|
|
Write-Host " [OK] Keycloak actif sur port 8180" -ForegroundColor Green
|
|
|
|
# Vérifier realm unionflow
|
|
$tokenResponse = Invoke-RestMethod -Method Post `
|
|
-Uri 'http://localhost:8180/realms/master/protocol/openid-connect/token' `
|
|
-ContentType 'application/x-www-form-urlencoded' `
|
|
-Body 'username=admin&password=admin&grant_type=password&client_id=admin-cli'
|
|
|
|
$token = $tokenResponse.access_token
|
|
$realms = Invoke-RestMethod -Method Get `
|
|
-Uri 'http://localhost:8180/admin/realms' `
|
|
-Headers @{ Authorization = "Bearer $token" }
|
|
|
|
$unionflow = $realms | Where-Object { $_.realm -eq 'unionflow' }
|
|
|
|
if ($unionflow) {
|
|
Write-Host " [OK] Realm 'unionflow' existe" -ForegroundColor Green
|
|
} else {
|
|
Write-Host " [KO] Realm 'unionflow' manquant" -ForegroundColor Red
|
|
$allGood = $false
|
|
}
|
|
} catch {
|
|
Write-Host " [KO] Keycloak non accessible" -ForegroundColor Red
|
|
Write-Host " Démarrer avec:" -ForegroundColor Yellow
|
|
Write-Host " cd unionflow" -ForegroundColor Gray
|
|
Write-Host " docker-compose up -d keycloak" -ForegroundColor Gray
|
|
$allGood = $false
|
|
}
|
|
|
|
# 3. Vérifier PostgreSQL
|
|
Write-Host "`n[3/3] Vérification PostgreSQL..." -ForegroundColor Yellow
|
|
try {
|
|
$pgTest = Test-NetConnection -ComputerName localhost -Port 5432 -WarningAction SilentlyContinue
|
|
if ($pgTest.TcpTestSucceeded) {
|
|
Write-Host " [OK] PostgreSQL actif sur port 5432" -ForegroundColor Green
|
|
} else {
|
|
Write-Host " [KO] PostgreSQL non accessible" -ForegroundColor Red
|
|
Write-Host " Démarrer avec:" -ForegroundColor Yellow
|
|
Write-Host " cd unionflow" -ForegroundColor Gray
|
|
Write-Host " docker-compose up -d postgres" -ForegroundColor Gray
|
|
$allGood = $false
|
|
}
|
|
} catch {
|
|
Write-Host " [KO] Impossible de vérifier PostgreSQL" -ForegroundColor Red
|
|
$allGood = $false
|
|
}
|
|
|
|
# Résumé
|
|
Write-Host "`n=== RÉSUMÉ ===" -ForegroundColor Cyan
|
|
|
|
if ($allGood) {
|
|
Write-Host "[OK] Tous les services sont prêts !" -ForegroundColor Green
|
|
Write-Host ""
|
|
Write-Host "Prochaine étape:" -ForegroundColor Yellow
|
|
Write-Host " 1. Lancer l'app mobile:" -ForegroundColor Gray
|
|
Write-Host " cd unionflow/unionflow-mobile-apps" -ForegroundColor Gray
|
|
Write-Host " flutter run --dart-define=ENV=dev" -ForegroundColor Gray
|
|
Write-Host ""
|
|
Write-Host " 2. Consulter le guide de test:" -ForegroundColor Gray
|
|
Write-Host " unionflow-mobile-apps/docs/TESTS_INTEGRATION_FINANCE_WORKFLOW.md" -ForegroundColor Gray
|
|
Write-Host ""
|
|
} else {
|
|
Write-Host "[KO] Certains services ne sont pas prêts" -ForegroundColor Red
|
|
Write-Host "Corriger les problèmes ci-dessus avant de lancer les tests" -ForegroundColor Yellow
|
|
}
|