83 líneas
2.3 KiB
Bash
Archivo Ejecutable
83 líneas
2.3 KiB
Bash
Archivo Ejecutable
#!/bin/sh
|
|
|
|
# Quick Test Script - Simple API Testing
|
|
|
|
BASE_URL="http://localhost:8080"
|
|
|
|
echo "========================================="
|
|
echo "Quick API Test"
|
|
echo "========================================="
|
|
echo ""
|
|
|
|
# Step 1: Login
|
|
echo "1. Login to get JWT token..."
|
|
LOGIN_RESPONSE=$(curl -s -X POST "$BASE_URL/api/auth/login" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"username":"admin","password":"admin123"}')
|
|
|
|
TOKEN=$(echo "$LOGIN_RESPONSE" | grep -o '"token":"[^"]*' | cut -d'"' -f4)
|
|
|
|
if [ -z "$TOKEN" ]; then
|
|
echo "ERROR: Login failed!"
|
|
echo "Response: $LOGIN_RESPONSE"
|
|
exit 1
|
|
fi
|
|
|
|
echo "✓ Login successful!"
|
|
echo "Token: ${TOKEN:0:20}..."
|
|
echo ""
|
|
|
|
# Step 2: Get all products
|
|
echo "2. Getting all products..."
|
|
curl -s -X GET "$BASE_URL/api/products" \
|
|
-H "Authorization: Bearer $TOKEN" | \
|
|
python3 -m json.tool 2>/dev/null || cat
|
|
echo ""
|
|
echo "✓ Products retrieved!"
|
|
echo ""
|
|
|
|
# Step 3: Create a product
|
|
echo "3. Creating a new product..."
|
|
CREATE_RESPONSE=$(curl -s -X POST "$BASE_URL/api/products" \
|
|
-H "Authorization: Bearer $TOKEN" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"name": "Test Product",
|
|
"description": "Created by test script",
|
|
"price": 99.99,
|
|
"stock": 5,
|
|
"category": "Test"
|
|
}')
|
|
echo "$CREATE_RESPONSE" | python3 -m json.tool 2>/dev/null || echo "$CREATE_RESPONSE"
|
|
echo "✓ Product created!"
|
|
echo ""
|
|
|
|
# Step 4: Get product by ID
|
|
echo "4. Getting product by ID (1)..."
|
|
curl -s -X GET "$BASE_URL/api/products/1" \
|
|
-H "Authorization: Bearer $TOKEN" | \
|
|
python3 -m json.tool 2>/dev/null || cat
|
|
echo ""
|
|
echo "✓ Product retrieved by ID!"
|
|
echo ""
|
|
|
|
# Step 5: Update product
|
|
echo "5. Updating product (ID=1)..."
|
|
UPDATE_RESPONSE=$(curl -s -X PUT "$BASE_URL/api/products/1" \
|
|
-H "Authorization: Bearer $TOKEN" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"name": "Updated Product",
|
|
"description": "This product was updated",
|
|
"price": 199.99,
|
|
"stock": 10,
|
|
"category": "Electronics"
|
|
}')
|
|
echo "$UPDATE_RESPONSE" | python3 -m json.tool 2>/dev/null || echo "$UPDATE_RESPONSE"
|
|
echo "✓ Product updated!"
|
|
echo ""
|
|
|
|
echo "========================================="
|
|
echo "All tests completed successfully!"
|
|
echo "========================================="
|