Make INTERFACE optional with default wg0, document host networking, capabilities and name lookup
This commit is contained in:
@@ -1,27 +1,14 @@
|
||||
package environmentchecks
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
)
|
||||
|
||||
// HandleDefaults sets every env that is unset or empty to its default.
|
||||
func HandleDefaults(envDefaults map[string]string) {
|
||||
for env, defaultValue := range envDefaults {
|
||||
// Check if env is set
|
||||
_, isSet := os.LookupEnv(env)
|
||||
if !isSet {
|
||||
if os.Getenv(env) == "" {
|
||||
os.Setenv(env, defaultValue)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func HandleRequired(envRequired []string) error {
|
||||
for _, env := range envRequired {
|
||||
// Check if env is set
|
||||
_, isSet := os.LookupEnv(env)
|
||||
if !isSet {
|
||||
return fmt.Errorf("env '%s' required, but not set", env)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
package environmentchecks
|
||||
|
||||
import (
|
||||
"os"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestHandleDefaults(t *testing.T) {
|
||||
t.Setenv("TEST_UNSET", "")
|
||||
os.Unsetenv("TEST_UNSET")
|
||||
t.Setenv("TEST_EMPTY", "")
|
||||
t.Setenv("TEST_SET", "value")
|
||||
|
||||
HandleDefaults(map[string]string{
|
||||
"TEST_UNSET": "default",
|
||||
"TEST_EMPTY": "default",
|
||||
"TEST_SET": "default",
|
||||
})
|
||||
|
||||
for env, want := range map[string]string{
|
||||
"TEST_UNSET": "default",
|
||||
"TEST_EMPTY": "default",
|
||||
"TEST_SET": "value",
|
||||
} {
|
||||
if got := os.Getenv(env); got != want {
|
||||
t.Errorf("%s = %q, want %q", env, got, want)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user