104 lines
No EOL
2.9 KiB
Bash
Executable file
104 lines
No EOL
2.9 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# Define colors for output
|
|
GREEN='\033[0;32m'
|
|
RED='\033[0;31m'
|
|
YELLOW='\033[0;33m'
|
|
NC='\033[0m' # No Color
|
|
|
|
# Base URL of the staging server
|
|
BASE_URL="https://wordpress-974670-5399585.cloudwaysapps.com"
|
|
|
|
# Login credentials (used for manual testing only)
|
|
echo "${YELLOW}Login Credentials for Manual Testing${NC}"
|
|
echo "Username: test_trainer"
|
|
echo "Password: Test123!"
|
|
echo ""
|
|
|
|
# Array of URLs to test
|
|
declare -a URLS=(
|
|
"/"
|
|
"/community-login/"
|
|
"/hvac-dashboard/"
|
|
"/trainer-profile/"
|
|
"/event-summary/"
|
|
"/manage-event/"
|
|
"/email-attendees/"
|
|
"/certificate-reports/"
|
|
"/generate-certificates/"
|
|
)
|
|
|
|
# Array of expected redirects (if not logged in)
|
|
declare -a REDIRECTS=(
|
|
""
|
|
""
|
|
"/community-login/"
|
|
"/community-login/"
|
|
"/community-login/"
|
|
"/community-login/"
|
|
"/community-login/"
|
|
"/community-login/"
|
|
"/community-login/"
|
|
)
|
|
|
|
echo "${YELLOW}Checking URLs on $BASE_URL...${NC}"
|
|
echo ""
|
|
|
|
# Loop through the URLs and check HTTP status
|
|
for i in "${!URLS[@]}"; do
|
|
URL="${BASE_URL}${URLS[$i]}"
|
|
EXPECTED_REDIRECT="${REDIRECTS[$i]}"
|
|
|
|
echo "Testing: ${URL}"
|
|
|
|
# Get the HTTP status code
|
|
HTTP_STATUS=$(curl -s -o /dev/null -w "%{http_code}" "$URL")
|
|
|
|
# Get the final URL after redirects
|
|
FINAL_URL=$(curl -s -o /dev/null -L -w "%{url_effective}" "$URL")
|
|
|
|
# Display results
|
|
echo " Status Code: $HTTP_STATUS"
|
|
echo " Final URL: $FINAL_URL"
|
|
|
|
# Check if the status is 500 (to identify our error)
|
|
if [ "$HTTP_STATUS" -eq 500 ]; then
|
|
echo " ${RED}Error: Server error (500)${NC}"
|
|
# Check for 404 errors
|
|
elif [ "$HTTP_STATUS" -eq 404 ]; then
|
|
echo " ${RED}Error: Page not found (404)${NC}"
|
|
# Check if the status is 200 or a redirect (3xx)
|
|
elif [ "$HTTP_STATUS" -eq 200 ] || [ "$HTTP_STATUS" -ge 300 ] && [ "$HTTP_STATUS" -lt 400 ]; then
|
|
# If we have an expected redirect, check it
|
|
if [ -n "$EXPECTED_REDIRECT" ]; then
|
|
if [[ "$FINAL_URL" == *"$EXPECTED_REDIRECT"* ]]; then
|
|
echo " ${GREEN}Success: Redirected as expected${NC}"
|
|
else
|
|
echo " ${YELLOW}Warning: Redirected, but not to expected location${NC}"
|
|
echo " Expected: *${EXPECTED_REDIRECT}*"
|
|
fi
|
|
else
|
|
echo " ${GREEN}Success: Page loaded successfully${NC}"
|
|
fi
|
|
else
|
|
echo " ${RED}Error: Unexpected HTTP status${NC}"
|
|
fi
|
|
|
|
echo ""
|
|
done
|
|
|
|
echo "${YELLOW}Test completed. Please also test with actual login to verify page functionality.${NC}"
|
|
echo ""
|
|
echo "To test logged-in functionality:"
|
|
echo "1. Go to $BASE_URL/community-login/"
|
|
echo "2. Enter the test credentials"
|
|
echo "3. After login, check each page manually:"
|
|
|
|
for URL in "${URLS[@]}"; do
|
|
if [ "$URL" != "/" ] && [ "$URL" != "/community-login/" ]; then
|
|
echo " - $BASE_URL$URL"
|
|
fi
|
|
done
|
|
|
|
# Make script executable
|
|
chmod +x "$0" |