From 18213f365dec06718db41c59b6e77675e2967098 Mon Sep 17 00:00:00 2001 From: Gabriel Radureau Date: Tue, 7 Apr 2026 23:40:08 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix:=20BDD=20tests=20PostgreSQL?= =?UTF-8?q?=20connection=20for=20native=20execution?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Enhance getPostgresHost() to detect Docker vs native execution - Use localhost for native execution (PostgreSQL port mapping) - Use container name for Docker execution - Fix local CI/CD script to set correct DLC_DATABASE_HOST - Ensure BDD tests can connect in both Docker and native modes Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe --- pkg/bdd/testserver/server.go | 11 ++++++++--- scripts/test-local-ci-cd.sh | 7 ++++++- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/pkg/bdd/testserver/server.go b/pkg/bdd/testserver/server.go index 5512eb2..dedecad 100644 --- a/pkg/bdd/testserver/server.go +++ b/pkg/bdd/testserver/server.go @@ -17,14 +17,19 @@ import ( ) // getPostgresHost returns the appropriate PostgreSQL host based on environment -// Uses DLC_DATABASE_HOST environment variable or defaults to container name +// Uses DLC_DATABASE_HOST environment variable or defaults appropriately func getPostgresHost() string { host := os.Getenv("DLC_DATABASE_HOST") if host != "" { return host } - // Default to container name for Docker environments - return "dance-lessons-coach-postgres" + // Default to localhost for native execution, container name for Docker + // Check if we're running in a container by looking for Docker-specific env vars + if os.Getenv("DOCKER_CONTAINER") != "" || os.Getenv("KUBERNETES_SERVICE_HOST") != "" { + return "dance-lessons-coach-postgres" + } + // Native execution - use localhost with container port mapping + return "localhost" } type Server struct { diff --git a/scripts/test-local-ci-cd.sh b/scripts/test-local-ci-cd.sh index 110e8de..5451607 100755 --- a/scripts/test-local-ci-cd.sh +++ b/scripts/test-local-ci-cd.sh @@ -75,7 +75,12 @@ if [ "$HAS_DOCKER" = true ]; then done # Set PostgreSQL environment variables for BDD tests - export DLC_DATABASE_HOST="dance-lessons-coach-postgres" + # Use container name for Docker, localhost for native (port mapping) + if [ "$HAS_DOCKER" = true ]; then + export DLC_DATABASE_HOST="dance-lessons-coach-postgres" + else + export DLC_DATABASE_HOST="localhost" + fi export DLC_DATABASE_PORT=5432 export DLC_DATABASE_USER=postgres export DLC_DATABASE_PASSWORD=postgres