first commit

This commit is contained in:
Beyhan Oğur
2026-04-26 21:35:24 +03:00
commit bbbf76b184
592 changed files with 246870 additions and 0 deletions

177
test-cors-api.sh Normal file
View File

@@ -0,0 +1,177 @@
#!/bin/bash
# CORS Whitelist & Blacklist API Test Script
echo "🚀 CORS API Test Script"
echo "======================="
# Colors
GREEN='\033[0;32m'
RED='\033[0;31m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# Base URL
BASE_URL="${BASE_URL:-http://localhost:8080}"
# Step 1: Admin Login
echo -e "\n${YELLOW}Step 1: Admin Login${NC}"
LOGIN_RESPONSE=$(curl -s -X POST $BASE_URL/v1/auth/login \
-H "Content-Type: application/json" \
-d '{
"email":"admin@gauth.local",
"password":"Admin@123"
}')
TOKEN=$(echo $LOGIN_RESPONSE | jq -r '.access_token')
if [ "$TOKEN" = "null" ] || [ -z "$TOKEN" ]; then
echo -e "${RED}❌ Login failed!${NC}"
echo $LOGIN_RESPONSE | jq .
exit 1
fi
echo -e "${GREEN}✅ Login successful${NC}"
echo "Token: ${TOKEN:0:30}..."
# ==================== WHITELIST TESTS ====================
echo -e "\n${YELLOW}=== WHITELIST TESTS ===${NC}"
# Step 2: Create Whitelist Entry
echo -e "\n${YELLOW}Step 2: Create Whitelist Entry${NC}"
CREATE_WL_RESPONSE=$(curl -s -X POST $BASE_URL/v1/settings/cors/whitelist \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"origin": "https://test-app.com",
"description": "Test application domain"
}')
WL_ID=$(echo $CREATE_WL_RESPONSE | jq -r '.id')
if [ "$WL_ID" = "null" ] || [ -z "$WL_ID" ]; then
echo -e "${RED}❌ Whitelist creation failed!${NC}"
echo $CREATE_WL_RESPONSE | jq .
else
echo -e "${GREEN}✅ Whitelist entry created${NC}"
echo "ID: $WL_ID"
echo $CREATE_WL_RESPONSE | jq '{id, origin, description, is_active}'
fi
# Step 3: List All Whitelist
echo -e "\n${YELLOW}Step 3: List All Whitelist${NC}"
LIST_WL_RESPONSE=$(curl -s -X GET $BASE_URL/v1/settings/cors/whitelist \
-H "Authorization: Bearer $TOKEN")
WL_COUNT=$(echo $LIST_WL_RESPONSE | jq '. | length')
echo -e "${GREEN}✅ Found $WL_COUNT whitelist entries${NC}"
echo $LIST_WL_RESPONSE | jq '.[0:3] | .[] | {id, origin, is_active}'
# Step 4: Update Whitelist Entry
if [ "$WL_ID" != "null" ] && [ ! -z "$WL_ID" ]; then
echo -e "\n${YELLOW}Step 4: Update Whitelist Entry${NC}"
UPDATE_WL_RESPONSE=$(curl -s -X PUT $BASE_URL/v1/settings/cors/whitelist/$WL_ID \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"description": "Updated test application",
"is_active": true
}')
echo -e "${GREEN}✅ Whitelist entry updated${NC}"
echo $UPDATE_WL_RESPONSE | jq .
fi
# ==================== BLACKLIST TESTS ====================
echo -e "\n${YELLOW}=== BLACKLIST TESTS ===${NC}"
# Step 5: Create Blacklist Entry
echo -e "\n${YELLOW}Step 5: Create Blacklist Entry${NC}"
CREATE_BL_RESPONSE=$(curl -s -X POST $BASE_URL/v1/settings/cors/blacklist \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"origin": "https://spam-site.com",
"reason": "Spam attempts detected during testing"
}')
BL_ID=$(echo $CREATE_BL_RESPONSE | jq -r '.id')
if [ "$BL_ID" = "null" ] || [ -z "$BL_ID" ]; then
echo -e "${RED}❌ Blacklist creation failed!${NC}"
echo $CREATE_BL_RESPONSE | jq .
else
echo -e "${GREEN}✅ Blacklist entry created${NC}"
echo "ID: $BL_ID"
echo $CREATE_BL_RESPONSE | jq '{id, origin, reason, is_active}'
fi
# Step 6: List All Blacklist
echo -e "\n${YELLOW}Step 6: List All Blacklist${NC}"
LIST_BL_RESPONSE=$(curl -s -X GET $BASE_URL/v1/settings/cors/blacklist \
-H "Authorization: Bearer $TOKEN")
BL_COUNT=$(echo $LIST_BL_RESPONSE | jq '. | length')
echo -e "${GREEN}✅ Found $BL_COUNT blacklist entries${NC}"
echo $LIST_BL_RESPONSE | jq '.[] | {id, origin, reason, is_active}'
# Step 7: Update Blacklist Entry
if [ "$BL_ID" != "null" ] && [ ! -z "$BL_ID" ]; then
echo -e "\n${YELLOW}Step 7: Update Blacklist Entry${NC}"
UPDATE_BL_RESPONSE=$(curl -s -X PUT $BASE_URL/v1/settings/cors/blacklist/$BL_ID \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"reason": "Updated: Multiple spam attempts",
"is_active": true
}')
echo -e "${GREEN}✅ Blacklist entry updated${NC}"
echo $UPDATE_BL_RESPONSE | jq .
fi
# ==================== CLEANUP ====================
echo -e "\n${YELLOW}=== CLEANUP ===${NC}"
# Step 8: Delete Whitelist Entry
if [ "$WL_ID" != "null" ] && [ ! -z "$WL_ID" ]; then
echo -e "\n${YELLOW}Step 8: Delete Whitelist Entry${NC}"
DELETE_WL_RESPONSE=$(curl -s -X DELETE $BASE_URL/v1/settings/cors/whitelist/$WL_ID \
-H "Authorization: Bearer $TOKEN")
echo -e "${GREEN}✅ Whitelist entry deleted${NC}"
echo $DELETE_WL_RESPONSE | jq .
fi
# Step 9: Delete Blacklist Entry
if [ "$BL_ID" != "null" ] && [ ! -z "$BL_ID" ]; then
echo -e "\n${YELLOW}Step 9: Delete Blacklist Entry${NC}"
DELETE_BL_RESPONSE=$(curl -s -X DELETE $BASE_URL/v1/settings/cors/blacklist/$BL_ID \
-H "Authorization: Bearer $TOKEN")
echo -e "${GREEN}✅ Blacklist entry deleted${NC}"
echo $DELETE_BL_RESPONSE | jq .
fi
# ==================== SUMMARY ====================
echo -e "\n${GREEN}=======================${NC}"
echo -e "${GREEN}✅ All tests completed!${NC}"
echo -e "${GREEN}=======================${NC}"
echo -e "\nTest Summary:"
echo "- Admin Login: ✅"
echo "- Whitelist Create: ✅"
echo "- Whitelist List: ✅ ($WL_COUNT entries)"
echo "- Whitelist Update: ✅"
echo "- Whitelist Delete: ✅"
echo "- Blacklist Create: ✅"
echo "- Blacklist List: ✅ ($BL_COUNT entries)"
echo "- Blacklist Update: ✅"
echo "- Blacklist Delete: ✅"
echo -e "\n${YELLOW}Swagger Documentation:${NC}"
echo "$BASE_URL/v1/docs/index.html"