diff --git a/pkg/archive/install_test.go b/pkg/archive/install_test.go index 2b29de0..1b4cac6 100644 --- a/pkg/archive/install_test.go +++ b/pkg/archive/install_test.go @@ -13,7 +13,11 @@ import ( "github.com/stretchr/testify/require" ) -func TestDownloadArchiveToGopathBin(t *testing.T) { +func TestDownloadArchiveToGopathBin_OsReplacement(t *testing.T) { + if runtime.GOARCH != "amd64" { + t.Skipf("skipping test since gh only has binaries for amd64") + } + os.Setenv(mg.VerboseEnv, "true") err, cleanup := gopath.UseTempGopath() require.NoError(t, err, "Failed to set up a temporary GOPATH") @@ -48,3 +52,30 @@ func TestDownloadArchiveToGopathBin(t *testing.T) { _, err = exec.LookPath("gh" + xplat.FileExt()) require.NoError(t, err) } + +func TestDownloadArchiveToGopathBin(t *testing.T) { + os.Setenv(mg.VerboseEnv, "true") + err, cleanup := gopath.UseTempGopath() + require.NoError(t, err, "Failed to set up a temporary GOPATH") + defer cleanup() + + opts := DownloadArchiveOptions{ + DownloadOptions: downloads.DownloadOptions{ + UrlTemplate: "https://get.helm.sh/helm-v{{.VERSION}}-{{.GOOS}}-{{.GOARCH}}{{.EXT}}", + Name: "helm", + Version: "3.8.1", + }, + ArchiveExtensions: map[string]string{ + "linux": ".tar.gz", + "darwin": ".tar.gz", + "windows": ".zip", + }, + TargetFileTemplate: "{{.GOOS}}-{{.GOARCH}}/helm{{.EXT}}", + } + + err = DownloadToGopathBin(opts) + require.NoError(t, err) + + _, err = exec.LookPath("helm" + xplat.FileExt()) + require.NoError(t, err) +} diff --git a/pkg/install_test.go b/pkg/install_test.go index 47a77dd..0c197af 100644 --- a/pkg/install_test.go +++ b/pkg/install_test.go @@ -17,8 +17,8 @@ func TestDownloadToGopathBin(t *testing.T) { require.NoError(t, err, "Failed to set up a temporary GOPATH") defer cleanup() - url := "https://storage.googleapis.com/kubernetes-release/release/{{.VERSION}}/bin/{{.GOOS}}/{{.GOARCH}}/kubectl{{.EXT}}" - err = DownloadToGopathBin(url, "kubectl", "v1.19.0") + url := "https://dl.k8s.io/release/{{.VERSION}}/bin/{{.GOOS}}/{{.GOARCH}}/kubectl{{.EXT}}" + err = DownloadToGopathBin(url, "kubectl", "v1.23.0") require.NoError(t, err) _, err = exec.LookPath("kubectl" + xplat.FileExt())