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