summaryrefslogtreecommitdiff
path: root/internal/cmd/config_test.go
diff options
context:
space:
mode:
authorDave Henderson <dhenderson@gmail.com>2024-09-30 11:16:28 -0400
committerGitHub <noreply@github.com>2024-09-30 11:16:28 -0400
commit18791a4e6e08de406e9c1e257cc4be2a85f29eea (patch)
tree0a32b7b821a229e0bbdf11775f3e66c2fce24217 /internal/cmd/config_test.go
parent69d3e0c46e34a57e6cfcb58d36b28c6f0beb134e (diff)
feat(config): Allow avoiding reading default config file (#2227)
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
Diffstat (limited to 'internal/cmd/config_test.go')
-rw-r--r--internal/cmd/config_test.go28
1 files changed, 24 insertions, 4 deletions
diff --git a/internal/cmd/config_test.go b/internal/cmd/config_test.go
index ce59f027..760766fd 100644
--- a/internal/cmd/config_test.go
+++ b/internal/cmd/config_test.go
@@ -188,29 +188,49 @@ func TestPickConfigFile(t *testing.T) {
cmd.Flags().String("config", defaultConfigFile, "foo")
t.Run("default", func(t *testing.T) {
- cf, req := pickConfigFile(cmd)
+ cf, req, skip := pickConfigFile(cmd)
assert.False(t, req)
+ assert.False(t, skip)
assert.Equal(t, defaultConfigFile, cf)
})
t.Run("GOMPLATE_CONFIG env var", func(t *testing.T) {
t.Setenv("GOMPLATE_CONFIG", "foo.yaml")
- cf, req := pickConfigFile(cmd)
+ cf, req, skip := pickConfigFile(cmd)
assert.True(t, req)
+ assert.False(t, skip)
assert.Equal(t, "foo.yaml", cf)
})
t.Run("--config flag", func(t *testing.T) {
cmd.ParseFlags([]string{"--config", "config.file"})
- cf, req := pickConfigFile(cmd)
+ cf, req, skip := pickConfigFile(cmd)
assert.True(t, req)
+ assert.False(t, skip)
assert.Equal(t, "config.file", cf)
t.Setenv("GOMPLATE_CONFIG", "ignored.yaml")
- cf, req = pickConfigFile(cmd)
+ cf, req, skip = pickConfigFile(cmd)
assert.True(t, req)
+ assert.False(t, skip)
assert.Equal(t, "config.file", cf)
})
+
+ t.Run("--config flag with empty value should skip reading", func(t *testing.T) {
+ cmd.ParseFlags([]string{"--config", ""})
+ cf, req, skip := pickConfigFile(cmd)
+ assert.False(t, req)
+ assert.True(t, skip)
+ assert.Equal(t, "", cf)
+ })
+
+ t.Run("GOMPLATE_CONFIG env var with empty value should skip reading", func(t *testing.T) {
+ t.Setenv("GOMPLATE_CONFIG", "")
+ cf, req, skip := pickConfigFile(cmd)
+ assert.False(t, req)
+ assert.True(t, skip)
+ assert.Equal(t, "", cf)
+ })
}
func TestApplyEnvVars(t *testing.T) {