From 24fd01dc26f058d6ad8708e276f0bfac635873fb Mon Sep 17 00:00:00 2001 From: Virgil Date: Wed, 1 Apr 2026 06:26:16 +0000 Subject: [PATCH] fix(setup): repair scoop bucket default Co-Authored-By: Virgil --- cmd/setup/cmd_ci.go | 4 +-- cmd/setup/cmd_ci_test.go | 64 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+), 2 deletions(-) create mode 100644 cmd/setup/cmd_ci_test.go diff --git a/cmd/setup/cmd_ci.go b/cmd/setup/cmd_ci.go index 37b80fa..627c46a 100644 --- a/cmd/setup/cmd_ci.go +++ b/cmd/setup/cmd_ci.go @@ -6,8 +6,8 @@ import ( "path/filepath" "runtime" - "forge.lthn.ai/core/cli/pkg/cli" coreio "dappco.re/go/core/io" + "forge.lthn.ai/core/cli/pkg/cli" "gopkg.in/yaml.v3" ) @@ -32,7 +32,7 @@ func DefaultCIConfig() *CIConfig { return &CIConfig{ Tap: "host-uk/tap", Formula: "core", - ScoopBucket: "https://https://forge.lthn.ai/core/scoop-bucket.git", + ScoopBucket: "https://forge.lthn.ai/core/scoop-bucket.git", ChocolateyPkg: "core-cli", Repository: "host-uk/core", DefaultVersion: "dev", diff --git a/cmd/setup/cmd_ci_test.go b/cmd/setup/cmd_ci_test.go new file mode 100644 index 0000000..de75858 --- /dev/null +++ b/cmd/setup/cmd_ci_test.go @@ -0,0 +1,64 @@ +package setup + +import ( + "bytes" + "io" + "os" + "testing" + + "github.com/stretchr/testify/require" +) + +func captureStdout(t *testing.T, fn func() error) (string, error) { + t.Helper() + + oldStdout := os.Stdout + r, w, err := os.Pipe() + require.NoError(t, err) + defer func() { + _ = r.Close() + }() + + os.Stdout = w + defer func() { + os.Stdout = oldStdout + }() + + outC := make(chan string, 1) + errC := make(chan error, 1) + + go func() { + var buf bytes.Buffer + _, copyErr := io.Copy(&buf, r) + errC <- copyErr + outC <- buf.String() + }() + + runErr := fn() + + require.NoError(t, w.Close()) + require.NoError(t, <-errC) + out := <-outC + + return out, runErr +} + +func TestDefaultCIConfig_Good(t *testing.T) { + cfg := DefaultCIConfig() + + require.Equal(t, "host-uk/tap", cfg.Tap) + require.Equal(t, "core", cfg.Formula) + require.Equal(t, "https://forge.lthn.ai/core/scoop-bucket.git", cfg.ScoopBucket) + require.Equal(t, "core-cli", cfg.ChocolateyPkg) + require.Equal(t, "host-uk/core", cfg.Repository) + require.Equal(t, "dev", cfg.DefaultVersion) +} + +func TestOutputPowershellInstall_Good(t *testing.T) { + out, err := captureStdout(t, func() error { + return outputPowershellInstall(DefaultCIConfig(), "dev") + }) + require.NoError(t, err) + require.Contains(t, out, `scoop bucket add host-uk https://forge.lthn.ai/core/scoop-bucket.git`) + require.NotContains(t, out, `https://https://forge.lthn.ai/core/scoop-bucket.git`) +}