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 }