Files
PromptTech/backend/test_image_upload.sh

44 lines
1.3 KiB
Bash
Raw Normal View History

2026-01-27 18:07:00 -06:00
#!/bin/bash
# Test image upload endpoint
# First, login as admin to get token
echo "=== Testing Image Upload ==="
# Login as admin
TOKEN=$(curl -s -X POST http://localhost:8181/api/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"admin@techzone.com","password":"admin123"}' | python3 -c "import sys, json; print(json.load(sys.stdin)['access_token'])" 2>/dev/null)
if [ -z "$TOKEN" ]; then
echo "❌ Failed to get admin token"
exit 1
fi
echo "✓ Got admin token"
# Create a test image file
echo "Creating test image..."
convert -size 100x100 xc:blue /tmp/test_product_image.jpg 2>/dev/null || {
# Fallback if imagemagick not available
echo "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==" | base64 -d > /tmp/test_product_image.png
}
# Try to upload the image
echo "Uploading image..."
RESPONSE=$(curl -s -X POST http://localhost:8181/api/upload/image \
-H "Authorization: Bearer $TOKEN" \
-F "file=@/tmp/test_product_image.jpg" 2>&1)
echo "Response: $RESPONSE"
if echo "$RESPONSE" | grep -q "url"; then
echo "✓ Image upload successful!"
else
echo "❌ Image upload failed"
echo "Full response: $RESPONSE"
fi
# Cleanup
rm -f /tmp/test_product_image.jpg /tmp/test_product_image.png