Set Test environment in tests
This commit is contained in:
@@ -13,7 +13,8 @@ type Config struct {
|
||||
ServerPort string
|
||||
|
||||
// Database Konfiguration
|
||||
DatabaseURL string
|
||||
DatabaseURL string
|
||||
DatabaseType string
|
||||
|
||||
// Logging Konfiguration
|
||||
DebugMode bool
|
||||
@@ -26,11 +27,12 @@ type Config struct {
|
||||
// defaultConfig gibt die Standard-Konfiguration zurück
|
||||
func defaultConfig() *Config {
|
||||
return &Config{
|
||||
ServerPort: "8180",
|
||||
DatabaseURL: "",
|
||||
DebugMode: false,
|
||||
LogLevel: "INFO",
|
||||
Environment: "production",
|
||||
ServerPort: "8180",
|
||||
DatabaseURL: "",
|
||||
DatabaseType: "mysql",
|
||||
DebugMode: false,
|
||||
LogLevel: "INFO",
|
||||
Environment: "production",
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,6 +55,9 @@ func LoadConfig() *Config {
|
||||
if dbURL := os.Getenv("DATABASE_URL"); dbURL != "" {
|
||||
config.DatabaseURL = dbURL
|
||||
}
|
||||
if dbType := os.Getenv("DATABASE_TYPE"); dbType != "" {
|
||||
config.DatabaseType = strings.ToLower(dbType)
|
||||
}
|
||||
|
||||
// Debug Mode
|
||||
if debug := os.Getenv("DEBUG"); debug != "" {
|
||||
|
||||
@@ -5,7 +5,21 @@ import (
|
||||
"testing"
|
||||
)
|
||||
|
||||
// setupTestEnvironment setzt ENVIRONMENT=test für Tests und stellt es nach dem Test wieder her
|
||||
func setupTestEnvironment(t *testing.T) {
|
||||
original := os.Getenv("ENVIRONMENT")
|
||||
os.Setenv("ENVIRONMENT", "test")
|
||||
t.Cleanup(func() {
|
||||
if original != "" {
|
||||
os.Setenv("ENVIRONMENT", original)
|
||||
} else {
|
||||
os.Unsetenv("ENVIRONMENT")
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func TestLoadEnvFile(t *testing.T) {
|
||||
setupTestEnvironment(t)
|
||||
// Test-Datei erstellen
|
||||
envContent := `# Test .env file
|
||||
DEBUG=true
|
||||
@@ -97,6 +111,8 @@ QUOTED_VALUE='single quotes'
|
||||
}
|
||||
|
||||
func TestEnvVariablesPrecedence(t *testing.T) {
|
||||
setupTestEnvironment(t)
|
||||
|
||||
// Test, dass bereits gesetzte Umgebungsvariablen Vorrang haben
|
||||
envContent := `DEBUG=false
|
||||
LOG_LEVEL=ERROR`
|
||||
@@ -130,6 +146,8 @@ LOG_LEVEL=ERROR`
|
||||
}
|
||||
|
||||
func TestLoadConfigWithEnvFile(t *testing.T) {
|
||||
setupTestEnvironment(t)
|
||||
|
||||
// Test-Konfiguration mit .env-Datei
|
||||
envContent := `ENVIRONMENT=development
|
||||
DEBUG=true
|
||||
|
||||
Reference in New Issue
Block a user