feat(api): Add API testing script and quick test guide
This commit is contained in:
parent
b0318430ad
commit
7221a8e280
2 changed files with 117 additions and 0 deletions
66
backend/scripts/test-api.sh
Executable file
66
backend/scripts/test-api.sh
Executable file
|
|
@ -0,0 +1,66 @@
|
|||
#!/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 "================================"
|
||||
Loading…
Add table
Add a link
Reference in a new issue