summaryrefslogtreecommitdiffstats
path: root/client/go/cmd/config_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'client/go/cmd/config_test.go')
-rw-r--r--client/go/cmd/config_test.go23
1 files changed, 20 insertions, 3 deletions
diff --git a/client/go/cmd/config_test.go b/client/go/cmd/config_test.go
index 3a8766aae13..f89e752f82d 100644
--- a/client/go/cmd/config_test.go
+++ b/client/go/cmd/config_test.go
@@ -85,6 +85,7 @@ func TestLocalConfig(t *testing.T) {
require.Nil(t, err)
t.Cleanup(func() { os.Chdir(wd) })
require.Nil(t, os.Chdir(rootDir))
+ assertConfigCommandStdErr(t, configHome, "Warning: no local configuration present\n", "config", "get", "--local")
assertConfigCommand(t, configHome, "", "config", "set", "--local", "instance", "foo")
assertConfigCommand(t, configHome, "instance = foo\n", "config", "get", "instance")
assertConfigCommand(t, configHome, "instance = bar\n", "config", "get", "--instance", "bar", "instance") // flag overrides local config
@@ -95,10 +96,21 @@ func TestLocalConfig(t *testing.T) {
// get reads global option if unset locally
assertConfigCommand(t, configHome, "target = cloud\n", "config", "get", "target")
+ // get merges settings from local and global config
+ assertConfigCommand(t, configHome, "", "config", "set", "--local", "application", "t1.a1")
+ assertConfigCommand(t, configHome, `application = t1.a1.default
+color = auto
+instance = foo
+quiet = false
+target = cloud
+wait = 0
+zone = <unset>
+`, "config", "get")
+
// Only locally set options are written
localConfig, err := os.ReadFile(filepath.Join(rootDir, ".vespa", "config.yaml"))
require.Nil(t, err)
- assert.Equal(t, "instance: foo\n", string(localConfig))
+ assert.Equal(t, "application: t1.a1.default\ninstance: foo\n", string(localConfig))
// Changing back to original directory reads from global config
require.Nil(t, os.Chdir(wd))
@@ -120,12 +132,17 @@ func assertEnvConfigCommand(t *testing.T, configHome, expected string, env []str
assert.Equal(t, expected, stdout.String())
}
-func assertConfigCommandErr(t *testing.T, configHome, expected string, args ...string) {
+func assertConfigCommandStdErr(t *testing.T, configHome, expected string, args ...string) error {
t.Helper()
cli, _, stderr := newTestCLI(t)
err := cli.Run(args...)
- assert.NotNil(t, err)
assert.Equal(t, expected, stderr.String())
+ return err
+}
+
+func assertConfigCommandErr(t *testing.T, configHome, expected string, args ...string) {
+ t.Helper()
+ assert.NotNil(t, assertConfigCommandStdErr(t, configHome, expected, args...))
}
func TestUseAPIKey(t *testing.T) {