package tool import ( "os" "path/filepath" "testing" "github.com/stretchr/testify/assert" "github.com/jarcoal/httpmock" ) func TestToolHelm(t *testing.T) { httpmock.Activate() defer httpmock.DeactivateAndReset() data := ToolData{Bin: TEST_DEST_DIR, Name: "helm", Version: "1.0", Url: "http://test/%s"} fileName := filepath.Join(TEST_SRC_DIR, "helm.tgz") httpRes, _ := os.ReadFile(fileName) httpmock.RegisterResponder("GET", "http://test/1.0", httpmock.NewBytesResponder(200, httpRes)) install := HelmInstall{obj: data, tmp: TEST_DEST_DIR} data2 := install.Get() assert.Equal(t, data.Name, data2.Name, "TestToolHelm error") assert.Equal(t, data.Version, data2.Version, "TestToolHelm error") err := install.Download() assert.Nilf(t, err, "error message %s", "Download") dest := filepath.Join(TEST_DEST_DIR, "helm") assert.FileExists(t, dest, "TestToolHelm Download error") version, _ := install.Version(dest) assert.Equal(t, "1.0", version, "TestToolHelm error") } func TestToolHelmErr(t *testing.T) { data := ToolData{Bin: TEST_DEST_DIR, Name: "test", Version: "1.0", Url: "http://test/%s"} install := HelmInstall{obj: data} data2 := install.Get() assert.Equal(t, data.Name, data2.Name, "TestToolHelm error") err := install.Download() assert.NotNilf(t, err, "error message %s", "Download") }