diff options
author | Martin Polden <mpolden@mpolden.no> | 2023-02-03 15:20:23 +0100 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2023-02-03 15:35:25 +0100 |
commit | e1e94812425a487069bf33f781bec987e9e49874 (patch) | |
tree | 4a892c3b5c0a7dee2cb76f9971e538cb4aba8a16 /client/go/internal/cli/cmd/version_test.go | |
parent | a08ae588d6035b69f0961dff596fc871fd1c4e58 (diff) |
Re-organize Go code
Diffstat (limited to 'client/go/internal/cli/cmd/version_test.go')
-rw-r--r-- | client/go/internal/cli/cmd/version_test.go | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/client/go/internal/cli/cmd/version_test.go b/client/go/internal/cli/cmd/version_test.go new file mode 100644 index 00000000000..70eaf1814e7 --- /dev/null +++ b/client/go/internal/cli/cmd/version_test.go @@ -0,0 +1,45 @@ +// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package cmd + +import ( + "testing" + + "github.com/stretchr/testify/assert" + "github.com/vespa-engine/vespa/client/go/internal/mock" +) + +func TestVersion(t *testing.T) { + c := &mock.HTTPClient{} + c.NextResponseString(200, `[{"tag_name": "v1.2.3", "published_at": "2021-09-10T12:00:00Z"}]`) + + sp := &mock.Exec{} + cli, stdout, stderr := newTestCLI(t) + cli.httpClient = c + cli.exec = sp + cli.isTerminal = func() bool { return true } + if err := cli.Run("version", "--color", "never"); err != nil { + t.Fatal(err) + } + assert.Equal(t, "", stderr.String()) + assert.Contains(t, stdout.String(), "Vespa CLI version 0.0.0-devel compiled with") + assert.Contains(t, stdout.String(), "New release available: 1.2.3\nhttps://github.com/vespa-engine/vespa/releases/tag/v1.2.3") +} + +func TestVersionCheckHomebrew(t *testing.T) { + c := &mock.HTTPClient{} + c.NextResponseString(200, `[{"tag_name": "v1.2.3", "published_at": "2021-09-10T12:00:00Z"}]`) + + sp := &mock.Exec{ProgramPath: "/usr/local/bin/vespa", CombinedOutput: "/usr/local"} + cli, stdout, stderr := newTestCLI(t) + cli.httpClient = c + cli.exec = sp + cli.isTerminal = func() bool { return true } + if err := cli.Run("version", "--color", "never"); err != nil { + t.Fatal(err) + } + assert.Equal(t, "", stderr.String()) + assert.Contains(t, stdout.String(), "Vespa CLI version 0.0.0-devel compiled with") + assert.Contains(t, stdout.String(), "New release available: 1.2.3\n"+ + "https://github.com/vespa-engine/vespa/releases/tag/v1.2.3\n"+ + "\nUpgrade by running:\nbrew update && brew upgrade vespa-cli\n") +} |