Files
bamort/backend/testutils/testutils.go
T

62 lines
1.7 KiB
Go
Raw Normal View History

2025-08-10 21:01:18 +02:00
package testutils
import (
"os"
"testing"
)
// SetupTestEnvironment konfiguriert die Umgebung für Tests
// Diese Funktion setzt ENVIRONMENT=test und stellt sicher, dass nach dem Test
// die ursprüngliche Umgebung wiederhergestellt wird
func SetupTestEnvironment(t *testing.T) {
// Sicherstellen, dass ENVIRONMENT auf "test" gesetzt ist
originalEnv := os.Getenv("ENVIRONMENT")
os.Setenv("ENVIRONMENT", "test")
// Cleanup-Funktion registrieren
t.Cleanup(func() {
if originalEnv != "" {
os.Setenv("ENVIRONMENT", originalEnv)
} else {
os.Unsetenv("ENVIRONMENT")
}
})
}
// SetupTestEnvironmentWithConfig konfiguriert die Test-Umgebung mit spezifischen Werten
func SetupTestEnvironmentWithConfig(t *testing.T, envVars map[string]string) {
// Ursprüngliche Werte sichern
originalVars := make(map[string]string)
for key := range envVars {
originalVars[key] = os.Getenv(key)
}
// Sicherstellen, dass ENVIRONMENT auf "test" gesetzt ist
envVars["ENVIRONMENT"] = "test"
// Test-Umgebungsvariablen setzen
for key, value := range envVars {
os.Setenv(key, value)
}
// Cleanup-Funktion registrieren
t.Cleanup(func() {
for key, originalValue := range originalVars {
if originalValue != "" {
os.Setenv(key, originalValue)
} else {
os.Unsetenv(key)
}
}
})
}
// EnsureTestEnvironment ist eine einfache Prüfung, ob die Test-Umgebung korrekt ist
// Kann in Tests verwendet werden um sicherzustellen, dass ENVIRONMENT=test gesetzt ist
func EnsureTestEnvironment(t *testing.T) {
if os.Getenv("ENVIRONMENT") != "test" {
t.Errorf("ENVIRONMENT sollte 'test' sein, ist aber '%s'. Vergessen Sie SetupTestEnvironment() aufzurufen?",
os.Getenv("ENVIRONMENT"))
}
}