package util import ( "os" "testing" ) func TestGetenvOrDefault(t *testing.T) { // Save original environment variable value originalValue, exists := os.LookupEnv("TEST_ENV_VAR") // Clean up after test defer func() { if exists { os.Setenv("TEST_ENV_VAR", originalValue) } else { os.Unsetenv("TEST_ENV_VAR") } }() // Test 1: Environment variable is not set os.Unsetenv("TEST_ENV_VAR") result := GetenvOrDefault("TEST_ENV_VAR", "default") expected := "default" if result != expected { t.Errorf("Expected '%s', got '%s'", expected, result) } // Test 2: Environment variable is set to empty string os.Setenv("TEST_ENV_VAR", "") result = GetenvOrDefault("TEST_ENV_VAR", "default") expected = "default" if result != expected { t.Errorf("Expected '%s', got '%s'", expected, result) } // Test 3: Environment variable is set to a value os.Setenv("TEST_ENV_VAR", "test_value") result = GetenvOrDefault("TEST_ENV_VAR", "default") expected = "test_value" if result != expected { t.Errorf("Expected '%s', got '%s'", expected, result) } }