makerstash/test-api.sh

58 lines
1.7 KiB
Bash
Executable file

#!/bin/bash
# Test script for Manyfold Node API
echo "Testing Manyfold Node API..."
echo ""
# Health check
echo "1. Health Check:"
curl -s http://localhost:3000/api/health
echo -e "\n"
# Register a test user
echo "2. Registering test user..."
REGISTER_RESPONSE=$(curl -s -X POST http://localhost:3000/api/auth/register \
-H "Content-Type: application/json" \
-d '{"username":"testuser","email":"test@example.com","password":"password123"}')
echo $REGISTER_RESPONSE
TOKEN=$(echo $REGISTER_RESPONSE | grep -o '"token":"[^"]*' | sed 's/"token":"//')
echo -e "\nToken: $TOKEN\n"
# Create a collection
echo "3. Creating a collection..."
curl -s -X POST http://localhost:3000/api/collections \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{"name":"My First Collection","description":"Test collection for 3D models"}'
echo -e "\n"
# Create some tags
echo "4. Creating tags..."
curl -s -X POST http://localhost:3000/api/tags \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{"name":"miniature","color":"#ff6b6b"}'
echo ""
curl -s -X POST http://localhost:3000/api/tags \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{"name":"terrain","color":"#4ecdc4"}'
echo -e "\n"
# List collections
echo "5. Listing collections:"
curl -s http://localhost:3000/api/collections
echo -e "\n"
# List tags
echo "6. Listing tags:"
curl -s http://localhost:3000/api/tags
echo -e "\n"
# List models
echo "7. Listing models:"
curl -s http://localhost:3000/api/models
echo -e "\n"
echo "API testing complete!"
echo "You can now open http://localhost:3000 in your browser to use the web interface."