import assert from "node:assert/strict"; import { readFileSync } from "node:fs"; const compose = readFileSync(new URL("../docker-compose.yml", import.meta.url), "utf8"); assert.match( compose, /traefik\.http\.routers\.formations-legacy-redirect\.rule=Host\(`formations\.santinova-soft\.org`\)/, "Le domaine historique doit avoir son routeur Traefik dédié.", ); assert.match( compose, /traefik\.http\.routers\.formations-legacy-redirect\.middlewares=formations-legacy-redirect/, "Le routeur historique doit appliquer le middleware de redirection.", ); assert.match( compose, /traefik\.http\.middlewares\.formations-legacy-redirect\.redirectregex\.regex=\^https:\/\/formations\\\\\.santinova-soft\\\\\.org\/\(\.\*\)/, "La redirection doit cibler uniquement le domaine historique en HTTPS.", ); assert.match( compose, /traefik\.http\.middlewares\.formations-legacy-redirect\.redirectregex\.replacement=https:\/\/formations-itinova\.santinova-soft\.org\/\$\$\{1\}/, "La redirection doit conserver le chemin vers l’URL canonique Itinova.", ); assert.match( compose, /traefik\.http\.middlewares\.formations-legacy-redirect\.redirectregex\.permanent=true/, "La redirection doit être permanente.", );