Add common package
parent
67d9b410cb
commit
217f05223d
@ -0,0 +1,13 @@
|
||||
package common
|
||||
|
||||
import "os"
|
||||
|
||||
// GetenvDefault retrieves an environment variable if set, or a provided default
|
||||
func GetenvDefault(key string, d string) string {
|
||||
val, ok := os.LookupEnv(key)
|
||||
if ok {
|
||||
return val
|
||||
} else {
|
||||
return d
|
||||
}
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
package common
|
||||
|
||||
import (
|
||||
"os"
|
||||
"testing"
|
||||
)
|
||||
|
||||
var testEnvKey string = "TEST_MQTT_KEY"
|
||||
|
||||
func assertError(t testing.TB, got, want string) {
|
||||
t.Helper()
|
||||
if got != want {
|
||||
t.Errorf("Error: got '%s', want '%s'", got, want)
|
||||
}
|
||||
}
|
||||
|
||||
func TestGetenvDefault(t *testing.T) {
|
||||
t.Run("key not set", func(t *testing.T) {
|
||||
originalEnv := os.Getenv(testEnvKey)
|
||||
os.Unsetenv(testEnvKey)
|
||||
defer os.Setenv(testEnvKey, originalEnv)
|
||||
|
||||
got := GetenvDefault(testEnvKey, "found")
|
||||
want := "found"
|
||||
|
||||
assertError(t, got, want)
|
||||
})
|
||||
|
||||
t.Run("key set", func(t *testing.T) {
|
||||
originalEnv := os.Getenv(testEnvKey)
|
||||
os.Setenv(testEnvKey, "batman")
|
||||
defer os.Setenv(testEnvKey, originalEnv)
|
||||
|
||||
got := GetenvDefault(testEnvKey, "found")
|
||||
want := "batman"
|
||||
assertError(t, got, want)
|
||||
|
||||
})
|
||||
}
|
Loading…
Reference in New Issue