Files
Church-Music/legacy-site/scripts/shell/test-profile-songs.sh

53 lines
1.8 KiB
Bash
Raw Normal View History

2026-01-27 18:04:50 -06:00
#!/bin/bash
# Test script to verify profile songs endpoint
echo "<22><> Testing Profile Songs Endpoint..."
echo "======================================"
# Check if backend is running
if ! curl -s http://localhost:5000/api/songs > /dev/null 2>&1; then
echo "❌ Backend is not running on port 5000!"
echo "Please start the backend first: cd backend && python3 app.py"
exit 1
fi
echo "✅ Backend is running"
echo ""
# Get first profile
echo "📋 Fetching profiles..."
PROFILE_ID=$(curl -s http://localhost:5000/api/profiles | python3 -c "import sys, json; profiles = json.load(sys.stdin); print(profiles[0]['id'] if profiles else 'none')" 2>/dev/null)
if [ "$PROFILE_ID" = "none" ] || [ -z "$PROFILE_ID" ]; then
echo "⚠️ No profiles found. Create a profile first."
exit 0
fi
echo "✅ Found profile: $PROFILE_ID"
echo ""
# Test profile songs endpoint
echo "🎵 Testing GET /api/profiles/$PROFILE_ID/songs"
RESPONSE=$(curl -s "http://localhost:5000/api/profiles/$PROFILE_ID/songs")
echo "Response: $RESPONSE" | python3 -m json.tool 2>/dev/null || echo "$RESPONSE"
echo ""
# Check if response is valid JSON array
IS_ARRAY=$(echo "$RESPONSE" | python3 -c "import sys, json; data = json.load(sys.stdin); print('yes' if isinstance(data, list) else 'no')" 2>/dev/null)
if [ "$IS_ARRAY" = "yes" ]; then
COUNT=$(echo "$RESPONSE" | python3 -c "import sys, json; print(len(json.load(sys.stdin)))" 2>/dev/null)
echo "✅ API returned valid array with $COUNT songs"
if [ "$COUNT" -gt 0 ]; then
echo ""
echo "📝 First song structure:"
echo "$RESPONSE" | python3 -c "import sys, json; data = json.load(sys.stdin); print(json.dumps(data[0], indent=2))" 2>/dev/null
fi
else
echo "❌ API did not return a valid array"
fi
echo ""
echo "✅ Test complete!"