#!/bin/bash

# Script de test des différents middlewares d'authentification CHAPS

BASE_URL="http://localhost:8011"
API_KEY="votre_cle_api_ici"
BEARER_TOKEN="votre_token_jwt_ici"

echo "==================================="
echo "Tests d'authentification API CHAPS"
echo "==================================="
echo ""

# Test 1: Route publique (checking)
echo "1. Test route publique (/api/checking)"
curl -s "$BASE_URL/api/checking" | jq .
echo ""

# Test 2: Route protégée par API Key sans authentification (doit échouer)
echo "2. Test route API Key sans authentification (doit échouer)"
curl -s "$BASE_URL/api/metadata/contacts" | jq .
echo ""

# Test 3: Route protégée par API Key avec API Key valide
echo "3. Test route API Key avec clé valide"
curl -s -H "X-API-KEY: $API_KEY" "$BASE_URL/api/metadata/contacts" | jq .
echo ""

# Test 4: Route protégée par Bearer Token sans authentification (doit échouer)
echo "4. Test route Bearer Token sans authentification (doit échouer)"
curl -s "$BASE_URL/api/v1/admin/contacts" | jq .
echo ""

# Test 5: Route protégée par Bearer Token avec token valide
echo "5. Test route Bearer Token avec token valide"
curl -s -H "Authorization: Bearer $BEARER_TOKEN" "$BASE_URL/api/v1/admin/contacts" | jq .
echo ""

# Test 6: Test badges avec API Key (legacy)
echo "6. Test badges avec API Key (route legacy)"
curl -s -H "X-API-KEY: $API_KEY" "$BASE_URL/api/v1/badges/dashboard" | jq .
echo ""

# Test 7: Test badges avec Bearer Token (v1)
echo "7. Test badges avec Bearer Token (route v1)"
curl -s -H "Authorization: Bearer $BEARER_TOKEN" "$BASE_URL/api/v1/badges/dashboard" | jq .
echo ""

echo "==================================="
echo "Fin des tests"
echo "==================================="
