Plugins: Make Installer responsible for removing plugins from file system (#73323)

* installer is responsible for removing from file system

* take plugin as arg

* remove resolve step

* return plugin in test
This commit is contained in:
Will Browne
2023-08-16 15:44:20 +02:00
committed by GitHub
parent 243b757168
commit 3c50db328d
13 changed files with 64 additions and 106 deletions

View File

@ -478,7 +478,9 @@ func TestLoader_Load(t *testing.T) {
func TestLoader_Unload(t *testing.T) {
t.Run("Termination stage error is returned from Unload", func(t *testing.T) {
pluginID := "grafana-test-panel"
plugin := &plugins.Plugin{
JSONData: plugins.JSONData{ID: "test-datasource", Type: plugins.TypeDataSource, Info: plugins.Info{Version: "1.0.0"}},
}
tcs := []struct {
expectedErr error
}{
@ -496,13 +498,13 @@ func TestLoader_Unload(t *testing.T) {
&fakes.FakeValidator{},
&fakes.FakeInitializer{},
&fakes.FakeTerminator{
TerminateFunc: func(ctx context.Context, pID string) error {
require.Equal(t, pluginID, pID)
return tc.expectedErr
TerminateFunc: func(ctx context.Context, p *plugins.Plugin) (*plugins.Plugin, error) {
require.Equal(t, plugin, p)
return p, tc.expectedErr
},
})
err := l.Unload(context.Background(), pluginID)
_, err := l.Unload(context.Background(), plugin)
require.ErrorIs(t, err, tc.expectedErr)
}
})