Experimental gui.
This commit is contained in:
146
experimental/daemon/tests/test-installation.sh
Executable file
146
experimental/daemon/tests/test-installation.sh
Executable file
@@ -0,0 +1,146 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
echo "🚀 Testing wild-cloud-central installation..."
|
||||
|
||||
# Verify the binary was installed
|
||||
echo "✅ Checking binary installation..."
|
||||
if [ -f "/usr/bin/wild-cloud-central" ]; then
|
||||
echo " Binary installed at /usr/bin/wild-cloud-central"
|
||||
else
|
||||
echo "❌ Binary not found at /usr/bin/wild-cloud-central"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Verify config was installed
|
||||
echo "✅ Checking configuration..."
|
||||
if [ -f "/etc/wild-cloud-central/config.yaml" ]; then
|
||||
echo " Config installed at /etc/wild-cloud-central/config.yaml"
|
||||
else
|
||||
echo "❌ Config not found at /etc/wild-cloud-central/config.yaml"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Verify systemd service file was installed
|
||||
echo "✅ Checking systemd service..."
|
||||
if [ -f "/etc/systemd/system/wild-cloud-central.service" ]; then
|
||||
echo " Service file installed at /etc/systemd/system/wild-cloud-central.service"
|
||||
else
|
||||
echo "❌ Service file not found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Verify nginx config was installed
|
||||
echo "✅ Checking nginx configuration..."
|
||||
if [ -f "/etc/nginx/sites-available/wild-central" ]; then
|
||||
echo " Nginx config installed at /etc/nginx/sites-available/wild-central"
|
||||
# Enable the site for testing
|
||||
ln -sf /etc/nginx/sites-available/wild-central /etc/nginx/sites-enabled/
|
||||
rm -f /etc/nginx/sites-enabled/default
|
||||
else
|
||||
echo "❌ Nginx config not found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Verify web assets were installed
|
||||
echo "✅ Checking web assets..."
|
||||
if [ -f "/var/www/html/wild-central/index.html" ]; then
|
||||
echo " Web assets installed at /var/www/html/wild-central/"
|
||||
else
|
||||
echo "❌ Web assets not found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Start nginx (simulating systemd)
|
||||
echo "🔧 Starting nginx..."
|
||||
nginx &
|
||||
NGINX_PID=$!
|
||||
|
||||
# Start dnsmasq (simulating systemd)
|
||||
echo "🔧 Starting dnsmasq..."
|
||||
dnsmasq --keep-in-foreground --log-facility=- &
|
||||
DNSMASQ_PID=$!
|
||||
|
||||
# Start wild-cloud-central service (simulating systemd)
|
||||
echo "🔧 Starting wild-cloud-central service..."
|
||||
/usr/bin/wild-cloud-central &
|
||||
SERVICE_PID=$!
|
||||
|
||||
# Wait for service to start
|
||||
echo "⏳ Waiting for services to start..."
|
||||
sleep 5
|
||||
|
||||
# Test health endpoint
|
||||
echo "🩺 Testing health endpoint..."
|
||||
if curl -s http://localhost:5055/api/v1/health | grep -q "healthy"; then
|
||||
echo " ✅ Health check passed"
|
||||
else
|
||||
echo " ❌ Health check failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Test configuration endpoint
|
||||
echo "🔧 Testing configuration endpoint..."
|
||||
CONFIG_RESPONSE=$(curl -s http://localhost:5055/api/v1/config)
|
||||
if echo "$CONFIG_RESPONSE" | grep -q "Server"; then
|
||||
echo " ✅ Configuration endpoint working"
|
||||
else
|
||||
echo " ❌ Configuration endpoint failed"
|
||||
echo " Response: $CONFIG_RESPONSE"
|
||||
echo " Checking if service is still running..."
|
||||
if kill -0 $SERVICE_PID 2>/dev/null; then
|
||||
echo " Service is running"
|
||||
else
|
||||
echo " Service has died"
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Test dnsmasq config generation
|
||||
echo "🔧 Testing dnsmasq config generation..."
|
||||
if curl -s http://localhost:5055/api/v1/dnsmasq/config | grep -q "interface"; then
|
||||
echo " ✅ Dnsmasq config generation working"
|
||||
else
|
||||
echo " ❌ Dnsmasq config generation failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Test web interface accessibility (through nginx)
|
||||
echo "🌐 Testing web interface..."
|
||||
if curl -s http://localhost:80/ | grep -q "Wild Cloud Central"; then
|
||||
echo " ✅ Web interface accessible through nginx"
|
||||
else
|
||||
echo " ❌ Web interface not accessible"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "🎉 All installation tests passed!"
|
||||
echo ""
|
||||
echo "Services running:"
|
||||
echo " - wild-cloud-central: http://localhost:5055"
|
||||
echo " - Web interface: http://localhost:80"
|
||||
echo " - API health: http://localhost:5055/api/v1/health"
|
||||
echo ""
|
||||
echo "Installation simulation successful! 🚀"
|
||||
|
||||
# Keep services running for manual testing
|
||||
echo "Services will continue running. Press Ctrl+C to stop."
|
||||
|
||||
# Function to handle shutdown
|
||||
shutdown() {
|
||||
echo ""
|
||||
echo "🛑 Shutting down services..."
|
||||
kill $SERVICE_PID 2>/dev/null || true
|
||||
kill $DNSMASQ_PID 2>/dev/null || true
|
||||
kill $NGINX_PID 2>/dev/null || true
|
||||
echo "Shutdown complete."
|
||||
exit 0
|
||||
}
|
||||
|
||||
# Set up signal handlers
|
||||
trap shutdown SIGTERM SIGINT
|
||||
|
||||
# Wait for signals
|
||||
wait
|
Reference in New Issue
Block a user