#!/bin/bash # Test for homepage host validation issue # Following TDD: Write test → Execute test → Test fails → Write minimal code to pass test set -e # Load environment settings for dynamic container naming SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" ENV_FILE="${SCRIPT_DIR}/TSYSDevStack-SupportStack-Demo-Settings" if [ ! -f "$ENV_FILE" ]; then echo "Error: Environment settings file not found at $ENV_FILE" exit 1 fi source "$ENV_FILE" echo "Testing homepage host validation issue..." # Check if homepage container is running if ! docker ps | grep -q "$HOMEPAGE_NAME"; then echo "❌ Homepage container is not running" echo "Test failed: Homepage host validation test failed" exit 1 fi # Test if we get the host validation error by checking the HTTP response response=$(curl -s -o /dev/null -w "%{http_code}" "http://${BIND_ADDRESS}:${HOMEPAGE_PORT}/" 2>/dev/null || echo "ERROR") if [ "$response" = "ERROR" ] || [ "$response" != "200" ]; then # Let's also check the page content to see if it contains the host validation error message content=$(curl -s "http://${BIND_ADDRESS}:${HOMEPAGE_PORT}/" 2>/dev/null || echo "") if [[ "$content" == *"Host validation failed"* ]]; then echo "❌ Homepage is showing 'Host validation failed' error" echo "Test confirmed: Host validation issue exists" exit 1 else echo "⚠️ Homepage is not accessible but not showing host validation error" echo "Test failed: Homepage not accessible" exit 1 fi else echo "✅ Homepage is accessible and host validation is working" echo "Test passed: No host validation issue" exit 0 fi