
- Add comprehensive Git workflow automation tools - Include branch management utilities - Add commit helpers with conventional commit support - Implement GitHub integration for PR management - Add configuration management system - Include comprehensive test coverage - Add professional documentation and examples
44 lines
1.1 KiB
Go
44 lines
1.1 KiB
Go
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)
|
|
}
|
|
} |