feat: publish verifiable proxyctl v1
This commit is contained in:
@@ -11,6 +11,35 @@ import (
|
||||
"proxyctl/internal/target"
|
||||
)
|
||||
|
||||
func TestVersionOutputIsHumanAndScriptFriendly(t *testing.T) {
|
||||
previous := version
|
||||
version = "v1.2.3"
|
||||
t.Cleanup(func() { version = previous })
|
||||
|
||||
var output bytes.Buffer
|
||||
if err := run([]string{"version"}, strings.NewReader(""), &output); err != nil {
|
||||
t.Fatalf("run version: %v", err)
|
||||
}
|
||||
if got, want := output.String(), "proxyctl version v1.2.3\n"; got != want {
|
||||
t.Fatalf("human version output = %q, want %q", got, want)
|
||||
}
|
||||
|
||||
output.Reset()
|
||||
if err := run([]string{"version", "--short"}, strings.NewReader(""), &output); err != nil {
|
||||
t.Fatalf("run short version: %v", err)
|
||||
}
|
||||
if got, want := output.String(), "v1.2.3\n"; got != want {
|
||||
t.Fatalf("script version output = %q, want %q", got, want)
|
||||
}
|
||||
}
|
||||
|
||||
func TestVersionDoesNotRequireUserOrTargetResolution(t *testing.T) {
|
||||
var output bytes.Buffer
|
||||
if err := runWithEnvironmentAndTargets([]string{"version", "--short"}, strings.NewReader(""), &output, failingIdentityEnvironment{}, nil, "", nil); err != nil {
|
||||
t.Fatalf("version depended on runtime environment: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestProductionCompositionRegistersAPTContainerGNOMEAndDaemonTargets(t *testing.T) {
|
||||
home := t.TempDir()
|
||||
environment := commandEnvironment{identity: profile.UserIdentity{Username: "tester", HomeDir: home, UID: os.Getuid(), GID: os.Getgid()}, env: map[string]string{"SHELL": "/bin/bash"}}
|
||||
|
||||
Reference in New Issue
Block a user