63 lines
1.5 KiB
Go
63 lines
1.5 KiB
Go
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")
|
|
}
|