33 lines
750 B
Go
33 lines
750 B
Go
package cmd
|
|
|
|
import (
|
|
"bytes"
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestVersionCommand(t *testing.T) {
|
|
original := Version
|
|
Version = "v9.8.7-test"
|
|
t.Cleanup(func() { Version = original })
|
|
|
|
var out bytes.Buffer
|
|
cmd := newVersionCmd()
|
|
cmd.SetOut(&out)
|
|
if err := cmd.RunE(cmd, nil); err != nil {
|
|
t.Fatalf("version command: %v", err)
|
|
}
|
|
if got, want := out.String(), "sshkeeper v9.8.7-test\n"; got != want {
|
|
t.Fatalf("output = %q; want %q", got, want)
|
|
}
|
|
}
|
|
|
|
func TestRootVersionFlagIsEnabled(t *testing.T) {
|
|
if rootCmd.Version == "" {
|
|
t.Fatal("root command Version must be set so Cobra exposes --version")
|
|
}
|
|
if !strings.Contains(rootCmd.Version, "v") && rootCmd.Version != "dev" {
|
|
t.Fatalf("unexpected root version %q", rootCmd.Version)
|
|
}
|
|
}
|