github.com/xfers/quorum@v21.1.0+incompatible/plugin/downloader_test.go (about)

     1  package plugin
     2  
     3  import (
     4  	"io/ioutil"
     5  	"os"
     6  	"path"
     7  	"testing"
     8  
     9  	"github.com/stretchr/testify/assert"
    10  )
    11  
    12  func TestDownloader_Download_whenPluginIsAvailableLocally(t *testing.T) {
    13  	tmpDir, err := ioutil.TempDir("", "p-")
    14  	if err != nil {
    15  		t.Fatal(err)
    16  	}
    17  	defer func() {
    18  		_ = os.RemoveAll(tmpDir)
    19  	}()
    20  	arbitraryPluginDistPath := path.Join(tmpDir, "arbitrary-plugin-1.0.0.zip")
    21  	if err := ioutil.WriteFile(arbitraryPluginDistPath, []byte{}, 0644); err != nil {
    22  		t.Fatal(err)
    23  	}
    24  	arbitraryPm, _ := NewPluginManager("arbitraryName", &Settings{
    25  		BaseDir: EnvironmentAwaredValue(tmpDir),
    26  	}, false, false, "")
    27  	testObject := NewDownloader(arbitraryPm)
    28  
    29  	actualPath, err := testObject.Download(&PluginDefinition{
    30  		Name:    "arbitrary-plugin",
    31  		Version: "1.0.0",
    32  	})
    33  
    34  	assert.NoError(t, err)
    35  	assert.Equal(t, arbitraryPluginDistPath, actualPath)
    36  }