Files
ffxi-trusts/test-docker.sh
2025-07-12 23:10:19 +01:00

76 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
# Script to test the Docker setup for the FFXI Trust Characters web app
echo "Testing Docker setup for FFXI Trust Characters web app..."
# Check if Docker is installed
if ! command -v docker &> /dev/null; then
echo "Error: Docker is not installed. Please install Docker first."
exit 1
fi
# Check if Docker Compose is installed
if ! command -v docker-compose &> /dev/null; then
echo "Error: Docker Compose is not installed. Please install Docker Compose first."
exit 1
fi
# Build the Docker image
echo "Building Docker image..."
docker-compose build
# Start the Docker container
echo "Starting Docker container..."
docker-compose up -d
# Wait for the container to start
echo "Waiting for the container to start..."
sleep 5
# Check if the container is running
if [ "$(docker-compose ps -q | wc -l)" -eq 0 ]; then
echo "Error: Docker container failed to start."
docker-compose logs
exit 1
fi
# Test the API
echo "Testing API..."
response=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:3000/api/trusts)
if [ "$response" -eq 200 ]; then
echo "API test successful!"
else
echo "Error: API test failed with status code $response."
docker-compose logs
exit 1
fi
# Test the web app
echo "Testing web app..."
response=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:3000)
if [ "$response" -eq 200 ]; then
echo "Web app test successful!"
else
echo "Error: Web app test failed with status code $response."
docker-compose logs
exit 1
fi
echo "All tests passed! The Docker setup is working correctly."
echo "You can access the web app at http://localhost:3000"
echo "You can access the API at http://localhost:3000/api/trusts"
# Ask if the user wants to stop the container
read -p "Do you want to stop the Docker container? (y/n) " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
echo "Stopping Docker container..."
docker-compose down
echo "Docker container stopped."
fi
exit 0