feat: publish verifiable proxyctl v1

This commit is contained in:
proxyctl coordinator
2026-07-17 09:54:08 +08:00
parent 5ec2b1dae1
commit 2b161e86e6
11 changed files with 536 additions and 28 deletions
+29
View File
@@ -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"}}