Files
innotexBoard/test_docker_updates.sh
innotex c51592c7ea feat: Add Docker image update system (TrueNAS Scale inspired)
- Implement UpdateService for image version checking and atomic updates
- Add DockerComposeManager for centralized docker-compose management
- Create 12 docker-compose references in /home/innotex/Docker
- Add 13 new API endpoints (6 for images, 7 for compose management)
- Add comprehensive documentation and examples
2026-01-16 19:37:23 +01:00

87 lines
2.6 KiB
Bash

#!/bin/bash
# Script de test pour le système de mise à jour Docker
# Inspiré de TrueNAS Scale
set -e
# Couleurs
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
# Configuration
API_URL="http://localhost:8000/api/v1"
TOKEN=${AUTH_TOKEN:-"your-token-here"}
echo -e "${BLUE}========================================${NC}"
echo -e "${BLUE}Docker Update System - Test Suite${NC}"
echo -e "${BLUE}Inspiré de TrueNAS Scale${NC}"
echo -e "${BLUE}========================================${NC}\n"
# Fonction pour tester une API
test_api() {
local method=$1
local endpoint=$2
local data=$3
local description=$4
echo -e "${YELLOW}[TEST]${NC} $description"
echo -e " Endpoint: $method $endpoint"
if [ -z "$data" ]; then
response=$(curl -s -X "$method" \
-H "Authorization: Bearer $TOKEN" \
"$API_URL$endpoint")
else
response=$(curl -s -X "$method" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d "$data" \
"$API_URL$endpoint")
fi
if echo "$response" | grep -q "error\|Error"; then
echo -e " ${RED}✗ FAILED${NC}"
echo " Response: $response"
return 1
else
echo -e " ${GREEN}✓ PASSED${NC}"
echo " Response: ${response:0:100}..."
return 0
fi
echo ""
}
# Tests de Docker Images
echo -e "${BLUE}### Tests Docker Images ${NC}\n"
test_api "GET" "/docker/status" "" "Vérifier statut Docker"
test_api "GET" "/docker/containers" "" "Lister les conteneurs"
test_api "GET" "/docker/images" "" "Lister les images"
test_api "GET" "/docker/images/check-all-updates" "" "Vérifier toutes les mises à jour"
# Tests de Docker Compose
echo -e "\n${BLUE}### Tests Docker Compose ${NC}\n"
test_api "GET" "/docker/compose/list" "" "Lister les docker-compose"
# Tester portainer
echo -e "\n${BLUE}### Tests Compose - Portainer ${NC}\n"
test_api "GET" "/docker/compose/portainer/status" "" "Vérifier l'état de Portainer"
# Tests de nettoyage
echo -e "\n${BLUE}### Tests Cleanup ${NC}\n"
test_api "POST" "/docker/images/prune?dangling_only=true" "" "Nettoyer les images orphelines"
# Afficher un résumé
echo -e "\n${BLUE}========================================${NC}"
echo -e "${GREEN}Tests Terminés${NC}"
echo -e "${BLUE}========================================${NC}"
echo -e "\nPour des tests plus avancés:"
echo -e " ${YELLOW}1. Mettre à jour TOKEN (AUTH_TOKEN env var)${NC}"
echo -e " ${YELLOW}2. Vérifier les logs du backend${NC}"
echo -e " ${YELLOW}3. Consulter DOCKER_UPDATE_SYSTEM.md${NC}"