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