#!/bin/bash # Lab 05 - Database & RDS # Quick Test Script (< 30 secondi) # Validazione rapida per sviluppo set -euo pipefail # Colori per output RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' echo "==========================================" echo "Lab 05 - Quick Test (< 30s)" echo "==========================================" echo "" pass_count=0 fail_count=0 inc_pass() { ((pass_count++)) || true; } inc_fail() { ((fail_count++)) || true; } # Test rapidi echo -n "[TEST] docker-compose.yml esiste... " if [ -f "docker-compose.yml" ]; then echo -e "${GREEN}OK${NC}" inc_pass else echo -e "${RED}FAIL${NC}" inc_fail exit 1 fi echo -n "[TEST] Servizio database definito... " if grep -q "database:" docker-compose.yml; then echo -e "${GREEN}OK${NC}" inc_pass else echo -e "${RED}FAIL${NC}" inc_fail fi echo -n "[TEST] PostgreSQL image configurata... " if grep -q "image: postgres" docker-compose.yml; then echo -e "${GREEN}OK${NC}" inc_pass else echo -e "${RED}FAIL${NC}" inc_fail fi echo -n "[TEST] Volume db-data configurato... " if grep -q "db-data:" docker-compose.yml; then echo -e "${GREEN}OK${NC}" inc_pass else echo -e "${RED}FAIL${NC}" inc_fail fi echo -n "[TEST] Database in rete privata... " if grep -A 20 "database:" docker-compose.yml | grep -q "vpc-private"; then echo -e "${GREEN}OK${NC}" inc_pass else echo -e "${RED}FAIL${NC}" inc_fail fi echo -n "[TEST] Limiti risorse configurati... " if grep -A 30 "database:" docker-compose.yml | grep -q "cpus:" && \ grep -A 30 "database:" docker-compose.yml | grep -q "memory:"; then echo -e "${GREEN}OK${NC}" inc_pass else echo -e "${RED}FAIL${NC}" inc_fail fi echo "" echo "Container check (skip se non in esecuzione)..." if docker ps --format '{{{{Names}}}}' | grep -q "^lab05-db$"; then echo -n "[TEST] Container in esecuzione... " echo -e "${GREEN}OK${NC}" inc_pass echo -n "[TEST] PostgreSQL pronto... " if docker exec lab05-db pg_isready &>/dev/null; then echo -e "${GREEN}OK${NC}" inc_pass else echo -e "${YELLOW}WAIT${NC}" inc_pass fi else echo -e "${YELLOW}SKIP${NC} (container non in esecuzione)" fi echo "" echo "==========================================" echo "Risultato: $pass_count PASS, $fail_count FAIL" echo "==========================================" if [ $fail_count -gt 0 ]; then exit 1 fi exit 0