77 lines
2.2 KiB
Bash
Executable File
77 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
# =====================================================================
|
|
# stories-test.sh - Test all story pages
|
|
# =====================================================================
|
|
# This script checks if all story pages load correctly
|
|
# =====================================================================
|
|
|
|
# Check if base URL is provided
|
|
if [ -z "$1" ]; then
|
|
BASE_URL="http://localhost:8080"
|
|
else
|
|
BASE_URL="$1"
|
|
fi
|
|
|
|
echo "=== Testing Story Pages ==="
|
|
echo "Using base URL: $BASE_URL"
|
|
|
|
# Get the list of story pages from the stories index
|
|
echo "Getting list of story pages..."
|
|
STORY_LINKS=$(curl -s "$BASE_URL/stories/index.html" | grep -o 'href="[^"]*\.html"' | grep -v 'index.html' | sed 's/href="//;s/"$//')
|
|
|
|
if [ -z "$STORY_LINKS" ]; then
|
|
echo "❌ No story links found in stories/index.html"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Found story links: $STORY_LINKS"
|
|
|
|
# Test each story page
|
|
FAILED=0
|
|
for link in $STORY_LINKS; do
|
|
# Make sure the link is properly formed
|
|
if [[ "$link" != /* && "$link" != http* ]]; then
|
|
# Relative link, add stories/ prefix if needed
|
|
if [[ "$link" != stories/* ]]; then
|
|
STORY_URL="$BASE_URL/stories/$link"
|
|
else
|
|
STORY_URL="$BASE_URL/$link"
|
|
fi
|
|
elif [[ "$link" == /* ]]; then
|
|
# Absolute path
|
|
STORY_URL="$BASE_URL$link"
|
|
else
|
|
# Full URL
|
|
STORY_URL="$link"
|
|
fi
|
|
|
|
echo "Testing story page: $STORY_URL"
|
|
RESPONSE=$(curl -s -o /dev/null -w "%{http_code}" "$STORY_URL")
|
|
|
|
if [ "$RESPONSE" -eq 200 ]; then
|
|
echo "✅ Story page loads successfully (HTTP $RESPONSE)"
|
|
|
|
# Check for required elements
|
|
CONTENT=$(curl -s "$STORY_URL")
|
|
if echo "$CONTENT" | grep -q "<h1>" && echo "$CONTENT" | grep -q "<p>"; then
|
|
echo "✅ Story page has required elements (h1 and p tags)"
|
|
else
|
|
echo "❌ Story page is missing required elements"
|
|
FAILED=1
|
|
fi
|
|
else
|
|
echo "❌ Story page failed to load (HTTP $RESPONSE)"
|
|
FAILED=1
|
|
fi
|
|
|
|
echo "---"
|
|
done
|
|
|
|
if [ "$FAILED" -eq 0 ]; then
|
|
echo "=== All Story Pages Test Completed Successfully ==="
|
|
exit 0
|
|
else
|
|
echo "=== Story Pages Test Failed ==="
|
|
exit 1
|
|
fi
|