#!/bin/bash echo "============================================================" echo "Testing Action Mappings Endpoint" echo "============================================================" BASE_URL="http://localhost:8000" # Try to login with common credentials echo "" echo "[1/3] Logging in..." # Try admin:admin first LOGIN_RESPONSE=$(curl -s -X POST "${BASE_URL}/api/v1/auth/login" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "username=admin&password=admin") TOKEN=$(echo "$LOGIN_RESPONSE" | grep -o '"access_token":"[^"]*' | cut -d'"' -f4) if [ -z "$TOKEN" ]; then # Try admin:masterkey echo " Trying alternative credentials..." LOGIN_RESPONSE=$(curl -s -X POST "${BASE_URL}/api/v1/auth/login" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "username=admin&password=masterkey") TOKEN=$(echo "$LOGIN_RESPONSE" | grep -o '"access_token":"[^"]*' | cut -d'"' -f4) fi if [ -z "$TOKEN" ]; then echo " ❌ Login failed" echo " Response: $LOGIN_RESPONSE" exit 1 fi echo " ✅ Login successful" # Call action mappings endpoint echo "" echo "[2/3] Calling action mappings endpoint..." RESPONSE=$(curl -s -X GET "${BASE_URL}/api/v1/configuration/action-mappings/export" \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json") if [ $? -ne 0 ]; then echo " ❌ Request failed" exit 1 fi echo " ✅ Request successful" # Parse and display results echo "" echo "[3/3] Analyzing results..." # Extract key values SUCCESS=$(echo "$RESPONSE" | grep -o '"success":[^,}]*' | cut -d':' -f2) TOTAL_COUNT=$(echo "$RESPONSE" | grep -o '"total_count":[0-9]*' | cut -d':' -f2) echo "" echo "============================================================" echo "RESULTS" echo "============================================================" echo "" echo "Success: $SUCCESS" echo "Total Count: $TOTAL_COUNT" echo "" if [ "$TOTAL_COUNT" -gt 0 ]; then echo "✅ SUCCESS: Found $TOTAL_COUNT Rules markers" echo "" echo "Full response (first 2000 chars):" echo "$RESPONSE" | head -c 2000 echo "" echo "..." echo "" echo "============================================================" echo "✅ TEST PASSED: Action mappings endpoint is working!" echo "============================================================" exit 0 else echo "❌ FAILED: No mappings found (expected ~60)" echo "" echo "Full response:" echo "$RESPONSE" echo "" echo "============================================================" echo "❌ TEST FAILED: Action mappings endpoint returns empty array" echo "============================================================" exit 1 fi