VIBN Frontend for Coolify deployment
This commit is contained in:
137
setup-e2e-test.sh
Executable file
137
setup-e2e-test.sh
Executable file
@@ -0,0 +1,137 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Helper script to set up and run E2E test
|
||||
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
CYAN='\033[0;36m'
|
||||
NC='\033[0m'
|
||||
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo " E2E TEST SETUP HELPER"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
echo -e "${BLUE}Step 1: Check if server is running...${NC}"
|
||||
if curl -s -o /dev/null -w "%{http_code}" http://localhost:3000 | grep -q "200\|404"; then
|
||||
echo -e "${GREEN}✓ Server is running on http://localhost:3000${NC}"
|
||||
else
|
||||
echo -e "${YELLOW}⚠ Server not running. Starting it now...${NC}"
|
||||
npm run dev &
|
||||
sleep 5
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo -e "${BLUE}Step 2: Get your credentials${NC}"
|
||||
echo ""
|
||||
echo -e "${CYAN}Please follow these steps:${NC}"
|
||||
echo ""
|
||||
echo "1. Open your browser and go to:"
|
||||
echo " ${BLUE}http://localhost:3000${NC}"
|
||||
echo ""
|
||||
echo "2. Sign in and create/open a project"
|
||||
echo ""
|
||||
echo "3. Go to AI Chat page"
|
||||
echo ""
|
||||
echo "4. Open DevTools (F12 or Cmd+Option+I)"
|
||||
echo ""
|
||||
echo "5. Go to Network tab"
|
||||
echo ""
|
||||
echo "6. Send any message (e.g., 'test')"
|
||||
echo ""
|
||||
echo "7. Find the request to '/api/ai/chat'"
|
||||
echo ""
|
||||
echo "8. Click it → Headers tab"
|
||||
echo ""
|
||||
echo "9. Copy the 'Authorization' header value"
|
||||
echo " (It looks like: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ij...)"
|
||||
echo ""
|
||||
echo "10. Copy your project ID from the URL"
|
||||
echo " (Format: /workspace/project/{PROJECT_ID}/v_ai_chat)"
|
||||
echo ""
|
||||
echo ""
|
||||
echo -e "${YELLOW}Ready to input your credentials?${NC}"
|
||||
read -p "Press Enter when ready..."
|
||||
echo ""
|
||||
|
||||
# Get auth token
|
||||
echo -e "${CYAN}Paste your Authorization header (including 'Bearer '):${NC}"
|
||||
read -r AUTH_TOKEN
|
||||
echo ""
|
||||
|
||||
# Get project ID
|
||||
echo -e "${CYAN}Paste your Project ID:${NC}"
|
||||
read -r PROJECT_ID
|
||||
echo ""
|
||||
|
||||
# Validate inputs
|
||||
if [ -z "$AUTH_TOKEN" ]; then
|
||||
echo -e "${YELLOW}⚠ Auth token is empty. Exiting.${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$PROJECT_ID" ]; then
|
||||
echo -e "${YELLOW}⚠ Project ID is empty. Exiting.${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Save to temporary file for reuse
|
||||
cat > .e2e-test-env << EOF
|
||||
export AUTH_TOKEN='$AUTH_TOKEN'
|
||||
export PROJECT_ID='$PROJECT_ID'
|
||||
EOF
|
||||
|
||||
echo -e "${GREEN}✓ Credentials saved to .e2e-test-env${NC}"
|
||||
echo ""
|
||||
|
||||
# Test connection
|
||||
echo -e "${BLUE}Step 3: Testing connection...${NC}"
|
||||
response=$(curl -s -X POST "http://localhost:3000/api/ai/chat" \
|
||||
-H "Authorization: $AUTH_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "{\"projectId\":\"$PROJECT_ID\",\"message\":\"test\"}")
|
||||
|
||||
if echo "$response" | jq -e '.reply' > /dev/null 2>&1; then
|
||||
echo -e "${GREEN}✓ Connection successful!${NC}"
|
||||
reply=$(echo "$response" | jq -r '.reply' | head -c 100)
|
||||
echo -e "${CYAN}AI Response:${NC} $reply..."
|
||||
echo ""
|
||||
elif echo "$response" | jq -e '.error' > /dev/null 2>&1; then
|
||||
error=$(echo "$response" | jq -r '.error')
|
||||
echo -e "${YELLOW}⚠ API Error: $error${NC}"
|
||||
echo "Please check your credentials and try again."
|
||||
exit 1
|
||||
else
|
||||
echo -e "${YELLOW}⚠ Unexpected response${NC}"
|
||||
echo "$response"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo -e "${GREEN}=========================================="
|
||||
echo " READY TO RUN E2E TEST"
|
||||
echo "==========================================${NC}"
|
||||
echo ""
|
||||
echo "Credentials saved! You can now run:"
|
||||
echo ""
|
||||
echo -e "${CYAN} source .e2e-test-env${NC}"
|
||||
echo -e "${CYAN} ./test-e2e-collector.sh${NC}"
|
||||
echo ""
|
||||
echo "Or simply:"
|
||||
echo ""
|
||||
echo -e "${CYAN} AUTH_TOKEN='$AUTH_TOKEN' PROJECT_ID='$PROJECT_ID' ./test-e2e-collector.sh${NC}"
|
||||
echo ""
|
||||
|
||||
# Offer to run now
|
||||
echo -e "${YELLOW}Run E2E test now? (y/n)${NC}"
|
||||
read -r run_now
|
||||
|
||||
if [ "$run_now" = "y" ] || [ "$run_now" = "Y" ]; then
|
||||
echo ""
|
||||
export AUTH_TOKEN
|
||||
export PROJECT_ID
|
||||
./test-e2e-collector.sh
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user