Files
tilbudgivern/archive/scripts/build-and-test-smartpackages.sh
T

109 lines
3.1 KiB
Bash
Executable File

#!/bin/bash
# Smart Packages System Build og Test Script
# Dette script bygger og tester Smart Packages funktionaliteten
# Farver til output
GREEN='\033[0;32m'
RED='\033[0;31m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
echo -e "${BLUE}=========================================${NC}"
echo -e "${BLUE} Smart Packages System - Build & Test ${NC}"
echo -e "${BLUE}=========================================${NC}"
# Kontroller at vi er i projektets rod
if [ ! -f "./unified-server.js" ]; then
echo -e "${RED}Error: Scriptet skal køres fra projektets rodmappe${NC}"
exit 1
fi
# Funktion til at vise progress
show_progress() {
local pid=$1
local delay=0.1
local spinstr='|/-\'
while [ "$(ps a | awk '{print $1}' | grep -w $pid)" ]; do
local temp=${spinstr#?}
printf " [%c] " "$spinstr"
local spinstr=$temp${spinstr%"$temp"}
sleep $delay
printf "\b\b\b\b\b\b"
done
printf " \b\b\b\b"
}
echo -e "\n${YELLOW}Trin 1: Opretter database tabeller${NC}"
# Kører SQL script
echo -e "Kører setup_smart_packages.sql..."
mysql -u tilbudgivern_service -p"${DB_PASSWORD}" tilbudgivern < setup_smart_packages.sql
if [ $? -eq 0 ]; then
echo -e "${GREEN}✓ Database tabeller oprettet succesfuldt${NC}"
else
echo -e "${RED}✗ Fejl ved oprettelse af database tabeller${NC}"
exit 1
fi
echo -e "\n${YELLOW}Trin 2: Bygger frontend${NC}"
echo -e "Navigerer til frontend mappen..."
cd frontend
echo -e "Installerer eventuelle nye afhængigheder..."
npm install &
show_progress $!
echo -e "Bygger frontend pakken..."
npm run build &
show_progress $!
if [ -d "build" ]; then
echo -e "${GREEN}✓ Frontend bygget succesfuldt${NC}"
else
echo -e "${RED}✗ Fejl ved bygning af frontend${NC}"
exit 1
fi
# Tilbage til projektets rod
cd ..
echo -e "\n${YELLOW}Trin 3: Genstarter serveren${NC}"
echo -e "Stopper nuværende server proces..."
# Find og stop server proces - tilpas efter behov
pkill -f "node unified-server.js" || true
echo -e "Starter serveren igen..."
nohup node unified-server.js > server.log 2>&1 &
SERVER_PID=$!
# Vent lidt på at serveren starter op
echo -e "Venter på at serveren starter op..."
sleep 5
if ps -p $SERVER_PID > /dev/null; then
echo -e "${GREEN}✓ Server genstartet succesfuldt med PID $SERVER_PID${NC}"
else
echo -e "${RED}✗ Fejl ved genstart af server${NC}"
cat server.log
exit 1
fi
echo -e "\n${YELLOW}Trin 4: Tester API endpoints${NC}"
echo -e "Tester GET /api/smart-packages endpoint..."
RESPONSE=$(curl -s http://localhost:4031/api/smart-packages)
if [[ $RESPONSE == *"\"success\""* ]]; then
echo -e "${GREEN}✓ GET /api/smart-packages fungerer korrekt${NC}"
else
echo -e "${RED}✗ Fejl ved test af GET /api/smart-packages${NC}"
echo -e "Response: $RESPONSE"
fi
echo -e "\n${GREEN}================================${NC}"
echo -e "${GREEN} Smart Packages System er klar! ${NC}"
echo -e "${GREEN}================================${NC}"
echo -e "\nDu kan nu tilgå Smart Packages via menuen i applikationen."
echo -e "Server kører med PID $SERVER_PID"