summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2022-04-11 14:50:48 +0200
committerMartin Polden <mpolden@mpolden.no>2022-04-11 14:50:48 +0200
commitd3fbdda80bdaba506c9b2c8c0c37de5182d00053 (patch)
treeab9b6cdbdfc5ab37ce6841961bd35bb615298d66
parentc45716051f96a1617957dc2a43ad7525dd966471 (diff)
Add support for zone in persistent config
-rw-r--r--client/go/cmd/config.go6
-rw-r--r--client/go/cmd/config_test.go7
-rw-r--r--client/go/cmd/testutil_test.go1
3 files changed, 13 insertions, 1 deletions
diff --git a/client/go/cmd/config.go b/client/go/cmd/config.go
index 33d63aac79f..4fa40d02433 100644
--- a/client/go/cmd/config.go
+++ b/client/go/cmd/config.go
@@ -532,6 +532,12 @@ func (c *Config) set(option, value string) error {
c.config.Set(option, value)
return nil
}
+ case zoneFlag:
+ if _, err := vespa.ZoneFromString(value); err != nil {
+ return err
+ }
+ c.config.Set(option, value)
+ return nil
}
return fmt.Errorf("invalid option or value: %s = %s", option, value)
}
diff --git a/client/go/cmd/config_test.go b/client/go/cmd/config_test.go
index 741e23a5c5a..a3ce7ee959d 100644
--- a/client/go/cmd/config_test.go
+++ b/client/go/cmd/config_test.go
@@ -4,6 +4,7 @@ package cmd
import (
"os"
"path/filepath"
+ "strings"
"testing"
"github.com/stretchr/testify/assert"
@@ -55,11 +56,15 @@ func TestConfig(t *testing.T) {
assertConfigCommand(t, configHome, "", "config", "set", "quiet", "true")
assertConfigCommand(t, configHome, "", "config", "set", "quiet", "false")
+ // zone
+ assertConfigCommand(t, configHome, "", "config", "set", "zone", "dev.us-east-1")
+ assertConfigCommand(t, configHome, "zone = dev.us-east-1\n", "config", "get", "zone")
+
// Write empty value, which should be ignored. This is for compatibility with older config formats
configFile := filepath.Join(configHome, "config.yaml")
data, err := os.ReadFile(configFile)
require.Nil(t, err)
- config := string(data) + "zone: \"\"\n"
+ config := strings.ReplaceAll(string(data), "dev.us-east-1", `""`)
require.Nil(t, os.WriteFile(configFile, []byte(config), 0600))
assertConfigCommand(t, configHome, "zone = <unset>\n", "config", "get", "zone")
}
diff --git a/client/go/cmd/testutil_test.go b/client/go/cmd/testutil_test.go
index 26d0369a215..09c0478a45a 100644
--- a/client/go/cmd/testutil_test.go
+++ b/client/go/cmd/testutil_test.go
@@ -10,6 +10,7 @@ import (
)
func newTestCLI(t *testing.T, envVars ...string) (*CLI, *bytes.Buffer, *bytes.Buffer) {
+ t.Helper()
homeDir := filepath.Join(t.TempDir(), ".vespa")
cacheDir := filepath.Join(t.TempDir(), ".cache", "vespa")
env := []string{"VESPA_CLI_HOME=" + homeDir, "VESPA_CLI_CACHE_DIR=" + cacheDir}