66 lines
1.8 KiB
Bash
Executable file
66 lines
1.8 KiB
Bash
Executable file
#!/bin/bash
|
|
# test-api.sh - Test Normogen API endpoints
|
|
|
|
BASE_URL="http://10.0.10.30:6800"
|
|
|
|
echo "================================"
|
|
echo "Testing Normogen API"
|
|
echo "Base URL: $BASE_URL"
|
|
echo "================================"
|
|
echo ""
|
|
|
|
# Test 1: Health check
|
|
echo "1. Health Check:"
|
|
curl -s -w "\nHTTP Status: %{http_code}\n" $BASE_URL/health || echo "FAILED: Connection refused"
|
|
echo ""
|
|
|
|
# Test 2: Ready check
|
|
echo "2. Ready Check:"
|
|
curl -s -w "\nHTTP Status: %{http_code}\n" $BASE_URL/ready || echo "FAILED: Connection refused"
|
|
echo ""
|
|
|
|
# Test 3: Register user
|
|
echo "3. Register User:"
|
|
REGISTER_RESPONSE=$(curl -s -X POST $BASE_URL/api/auth/register \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"email": "test@example.com", "password": "SecurePassword123!", "username": "testuser"}' \
|
|
-w "\nHTTP Status: %{http_code}\n")
|
|
echo "$REGISTER_RESPONSE"
|
|
echo ""
|
|
|
|
# Test 4: Login
|
|
echo "4. Login:"
|
|
LOGIN_RESPONSE=$(curl -s -X POST $BASE_URL/api/auth/login \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"email": "test@example.com", "password": "SecurePassword123!"}' \
|
|
-w "\nHTTP Status: %{http_code}\n")
|
|
echo "$LOGIN_RESPONSE"
|
|
|
|
# Extract token
|
|
TOKEN=$(echo "$LOGIN_RESPONSE" | grep -o '"access_token":"[^"]*"' | cut -d'"' -f4)
|
|
echo ""
|
|
echo "Extracted Token: ${TOKEN:0:20}..."
|
|
echo ""
|
|
|
|
# Test 5: Get user profile (only if we got a token)
|
|
if [ -n "$TOKEN" ]; then
|
|
echo "5. Get User Profile:"
|
|
curl -s $BASE_URL/api/users/me \
|
|
-H "Authorization: Bearer $TOKEN" \
|
|
-w "\nHTTP Status: %{http_code}\n"
|
|
echo ""
|
|
|
|
# Test 6: Logout
|
|
echo "6. Logout:"
|
|
curl -s -X POST $BASE_URL/api/auth/logout \
|
|
-H "Authorization: Bearer $TOKEN" \
|
|
-w "\nHTTP Status: %{http_code}\n"
|
|
echo ""
|
|
else
|
|
echo "5. Get User Profile: SKIPPED (No token)"
|
|
echo ""
|
|
fi
|
|
|
|
echo "================================"
|
|
echo "Tests Complete"
|
|
echo "================================"
|