summaryrefslogtreecommitdiff
path: root/env
diff options
context:
space:
mode:
authorDave Henderson <dhenderson@gmail.com>2017-07-31 22:50:41 -0400
committerDave Henderson <dhenderson@gmail.com>2017-07-31 23:10:01 -0400
commitf4a7377c5d3a22c19af32b549827f8a0509a76ab (patch)
treecb690698c633491bff4d2007bab932bd3e51862f /env
parent5a8845db8d22c1a74ae6f95654aedb2e5a9da83a (diff)
Moving getenv to separate package
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
Diffstat (limited to 'env')
-rw-r--r--env/env.go15
-rw-r--r--env/env_test.go14
2 files changed, 29 insertions, 0 deletions
diff --git a/env/env.go b/env/env.go
new file mode 100644
index 00000000..6966150a
--- /dev/null
+++ b/env/env.go
@@ -0,0 +1,15 @@
+package env
+
+import "os"
+
+// Getenv retrieves the value of the environment variable named by the key.
+// It returns the value, or the default (or an emptry string) if the variable is
+// not set.
+func Getenv(key string, def ...string) string {
+ val := os.Getenv(key)
+ if val == "" && len(def) > 0 {
+ return def[0]
+ }
+
+ return val
+}
diff --git a/env/env_test.go b/env/env_test.go
new file mode 100644
index 00000000..ba971d82
--- /dev/null
+++ b/env/env_test.go
@@ -0,0 +1,14 @@
+package env
+
+import (
+ "os"
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestGetenv(t *testing.T) {
+ assert.Empty(t, Getenv("FOOBARBAZ"))
+ assert.Equal(t, os.Getenv("USER"), Getenv("USER"))
+ assert.Equal(t, "default value", Getenv("BLAHBLAHBLAH", "default value"))
+}