Plugins: Update plugin fakes package name (#112503)

update plugin fakes package name
This commit is contained in:
Will Browne
2025-10-16 15:14:05 +01:00
committed by GitHub
parent 1fb7953a95
commit 2223338e34
24 changed files with 219 additions and 219 deletions
@@ -16,7 +16,7 @@ import (
"github.com/grafana/grafana/pkg/plugins"
"github.com/grafana/grafana/pkg/plugins/backendplugin"
"github.com/grafana/grafana/pkg/plugins/instrumentationutils"
"github.com/grafana/grafana/pkg/plugins/manager/fakes"
"github.com/grafana/grafana/pkg/plugins/manager/pluginfakes"
)
const (
@@ -70,7 +70,7 @@ func TestInstrumentationMiddleware(t *testing.T) {
} {
t.Run(string(tc.expEndpoint), func(t *testing.T) {
promRegistry := prometheus.NewRegistry()
pluginsRegistry := fakes.NewFakePluginRegistry()
pluginsRegistry := pluginfakes.NewFakePluginRegistry()
require.NoError(t, pluginsRegistry.Add(context.Background(), &plugins.Plugin{
JSONData: plugins.JSONData{ID: pluginID, Backend: true},
}))
@@ -149,7 +149,7 @@ func TestInstrumentationMiddlewareStatusSource(t *testing.T) {
pCtx := backend.PluginContext{PluginID: pluginID, PluginVersion: "1.0.0"}
promRegistry := prometheus.NewRegistry()
pluginsRegistry := fakes.NewFakePluginRegistry()
pluginsRegistry := pluginfakes.NewFakePluginRegistry()
require.NoError(t, pluginsRegistry.Add(context.Background(), &plugins.Plugin{
JSONData: plugins.JSONData{ID: pluginID, Backend: true},
}))
@@ -18,8 +18,8 @@ import (
"github.com/grafana/grafana/pkg/plugins/backendplugin"
"github.com/grafana/grafana/pkg/plugins/config"
"github.com/grafana/grafana/pkg/plugins/log"
"github.com/grafana/grafana/pkg/plugins/manager/fakes"
"github.com/grafana/grafana/pkg/plugins/manager/loader/angular/angularinspector"
"github.com/grafana/grafana/pkg/plugins/manager/pluginfakes"
"github.com/grafana/grafana/pkg/plugins/manager/process"
"github.com/grafana/grafana/pkg/plugins/manager/registry"
"github.com/grafana/grafana/pkg/plugins/manager/signature"
@@ -461,9 +461,9 @@ func TestLoader_Load(t *testing.T) {
},
}
for _, tt := range tests {
reg := fakes.NewFakePluginRegistry()
procPrvdr := fakes.NewFakeBackendProcessProvider()
procMgr := fakes.NewFakeProcessManager()
reg := pluginfakes.NewFakePluginRegistry()
procPrvdr := pluginfakes.NewFakeBackendProcessProvider()
procMgr := pluginfakes.NewFakeProcessManager()
errTracker := pluginerrs.ProvideErrorTracker()
l := newLoader(t, tt.cfg, reg, procMgr, procPrvdr, errTracker, pluginassets.NewLocalProvider())
@@ -550,16 +550,16 @@ func TestLoader_Load_ExternalRegistration(t *testing.T) {
},
}
backendFactoryProvider := fakes.NewFakeBackendProcessProvider()
backendFactoryProvider := pluginfakes.NewFakeBackendProcessProvider()
backendFactoryProvider.BackendFactoryFunc = func(ctx context.Context, plugin *plugins.Plugin) backendplugin.PluginFactoryFunc {
return func(pluginID string, logger log.Logger, tracer trace.Tracer, env func() []string) (backendplugin.Plugin, error) {
require.Equal(t, "grafana-test-datasource", pluginID)
return &fakes.FakeBackendPlugin{}, nil
return &pluginfakes.FakeBackendPlugin{}, nil
}
}
l := newLoaderWithOpts(t, cfg, loaderDepOpts{
authServiceRegistry: &fakes.FakeAuthService{
authServiceRegistry: &pluginfakes.FakeAuthService{
Result: &auth.ExternalService{
ClientID: "client-id",
ClientSecret: "secretz",
@@ -567,7 +567,7 @@ func TestLoader_Load_ExternalRegistration(t *testing.T) {
},
backendFactoryProvider: backendFactoryProvider,
})
got, err := l.Load(context.Background(), &fakes.FakePluginSource{
got, err := l.Load(context.Background(), &pluginfakes.FakePluginSource{
PluginClassFunc: func(ctx context.Context) plugins.Class {
return plugins.ClassExternal
},
@@ -661,14 +661,14 @@ func TestLoader_Load_MultiplePlugins(t *testing.T) {
}
for _, tt := range tests {
reg := fakes.NewFakePluginRegistry()
procPrvdr := fakes.NewFakeBackendProcessProvider()
procMgr := fakes.NewFakeProcessManager()
reg := pluginfakes.NewFakePluginRegistry()
procPrvdr := pluginfakes.NewFakeBackendProcessProvider()
procMgr := pluginfakes.NewFakeProcessManager()
errTracker := pluginerrs.ProvideErrorTracker()
l := newLoader(t, tt.cfg, reg, procMgr, procPrvdr, errTracker, pluginassets.NewLocalProvider())
t.Run(tt.name, func(t *testing.T) {
got, err := l.Load(context.Background(), &fakes.FakePluginSource{
got, err := l.Load(context.Background(), &pluginfakes.FakePluginSource{
PluginClassFunc: func(ctx context.Context) plugins.Class {
return plugins.ClassExternal
},
@@ -774,12 +774,12 @@ func TestLoader_Load_RBACReady(t *testing.T) {
}
for _, tt := range tests {
reg := fakes.NewFakePluginRegistry()
procPrvdr := fakes.NewFakeBackendProcessProvider()
procMgr := fakes.NewFakeProcessManager()
l := newLoader(t, tt.cfg, reg, procMgr, procPrvdr, fakes.NewFakeErrorTracker(), pluginassets.NewLocalProvider())
reg := pluginfakes.NewFakePluginRegistry()
procPrvdr := pluginfakes.NewFakeBackendProcessProvider()
procMgr := pluginfakes.NewFakeProcessManager()
l := newLoader(t, tt.cfg, reg, procMgr, procPrvdr, pluginfakes.NewFakeErrorTracker(), pluginassets.NewLocalProvider())
got, err := l.Load(context.Background(), &fakes.FakePluginSource{
got, err := l.Load(context.Background(), &pluginfakes.FakePluginSource{
PluginClassFunc: func(ctx context.Context) plugins.Class {
return plugins.ClassExternal
},
@@ -840,12 +840,12 @@ func TestLoader_Load_Signature_RootURL(t *testing.T) {
},
}
reg := fakes.NewFakePluginRegistry()
procPrvdr := fakes.NewFakeBackendProcessProvider()
procMgr := fakes.NewFakeProcessManager()
reg := pluginfakes.NewFakePluginRegistry()
procPrvdr := pluginfakes.NewFakeBackendProcessProvider()
procMgr := pluginfakes.NewFakeProcessManager()
cfg := &config.PluginManagementCfg{GrafanaAppURL: defaultAppURL}
l := newLoader(t, cfg, reg, procMgr, procPrvdr, fakes.NewFakeErrorTracker(), pluginassets.NewLocalProvider())
got, err := l.Load(context.Background(), &fakes.FakePluginSource{
l := newLoader(t, cfg, reg, procMgr, procPrvdr, pluginfakes.NewFakeErrorTracker(), pluginassets.NewLocalProvider())
got, err := l.Load(context.Background(), &pluginfakes.FakePluginSource{
PluginClassFunc: func(ctx context.Context) plugins.Class {
return plugins.ClassExternal
},
@@ -927,12 +927,12 @@ func TestLoader_Load_DuplicatePlugins(t *testing.T) {
},
}
reg := fakes.NewFakePluginRegistry()
procPrvdr := fakes.NewFakeBackendProcessProvider()
procMgr := fakes.NewFakeProcessManager()
reg := pluginfakes.NewFakePluginRegistry()
procPrvdr := pluginfakes.NewFakeBackendProcessProvider()
procMgr := pluginfakes.NewFakeProcessManager()
cfg := &config.PluginManagementCfg{}
l := newLoader(t, cfg, reg, procMgr, procPrvdr, fakes.NewFakeErrorTracker(), pluginassets.NewLocalProvider())
got, err := l.Load(context.Background(), &fakes.FakePluginSource{
l := newLoader(t, cfg, reg, procMgr, procPrvdr, pluginfakes.NewFakeErrorTracker(), pluginassets.NewLocalProvider())
got, err := l.Load(context.Background(), &pluginfakes.FakePluginSource{
PluginClassFunc: func(ctx context.Context) plugins.Class {
return plugins.ClassExternal
},
@@ -1018,21 +1018,21 @@ func TestLoader_Load_SkipUninitializedPlugins(t *testing.T) {
},
}
reg := fakes.NewFakePluginRegistry()
procPrvdr := fakes.NewFakeBackendProcessProvider()
reg := pluginfakes.NewFakePluginRegistry()
procPrvdr := pluginfakes.NewFakeBackendProcessProvider()
// Cause an initialization error
procPrvdr.BackendFactoryFunc = func(ctx context.Context, p *plugins.Plugin) backendplugin.PluginFactoryFunc {
return func(pluginID string, _ log.Logger, _ trace.Tracer, _ func() []string) (backendplugin.Plugin, error) {
if pluginID == "test-datasource" {
return nil, errors.New("failed to initialize")
}
return &fakes.FakePluginClient{}, nil
return &pluginfakes.FakePluginClient{}, nil
}
}
procMgr := fakes.NewFakeProcessManager()
procMgr := pluginfakes.NewFakeProcessManager()
cfg := &config.PluginManagementCfg{}
l := newLoader(t, cfg, reg, procMgr, procPrvdr, fakes.NewFakeErrorTracker(), pluginassets.NewLocalProvider())
got, err := l.Load(context.Background(), &fakes.FakePluginSource{
l := newLoader(t, cfg, reg, procMgr, procPrvdr, pluginfakes.NewFakeErrorTracker(), pluginassets.NewLocalProvider())
got, err := l.Load(context.Background(), &pluginfakes.FakePluginSource{
PluginClassFunc: func(ctx context.Context) plugins.Class {
return plugins.ClassExternal
},
@@ -1071,7 +1071,7 @@ func TestLoader_AngularClass(t *testing.T) {
},
} {
t.Run(tc.name, func(t *testing.T) {
fakePluginSource := &fakes.FakePluginSource{
fakePluginSource := &pluginfakes.FakePluginSource{
PluginClassFunc: func(ctx context.Context) plugins.Class {
return tc.class
},
@@ -1094,7 +1094,7 @@ func TestLoader_AngularClass(t *testing.T) {
}
func TestLoader_Load_Angular(t *testing.T) {
fakePluginSource := &fakes.FakePluginSource{
fakePluginSource := &pluginfakes.FakePluginSource{
PluginClassFunc: func(ctx context.Context) plugins.Class {
return plugins.ClassExternal
},
@@ -1227,13 +1227,13 @@ func TestLoader_Load_NestedPlugins(t *testing.T) {
child.Parent = parent
t.Run("Load nested External plugins", func(t *testing.T) {
procPrvdr := fakes.NewFakeBackendProcessProvider()
procMgr := fakes.NewFakeProcessManager()
reg := fakes.NewFakePluginRegistry()
procPrvdr := pluginfakes.NewFakeBackendProcessProvider()
procMgr := pluginfakes.NewFakeProcessManager()
reg := pluginfakes.NewFakePluginRegistry()
cfg := &config.PluginManagementCfg{}
l := newLoader(t, cfg, reg, procMgr, procPrvdr, fakes.NewFakeErrorTracker(), pluginassets.NewLocalProvider())
l := newLoader(t, cfg, reg, procMgr, procPrvdr, pluginfakes.NewFakeErrorTracker(), pluginassets.NewLocalProvider())
got, err := l.Load(context.Background(), &fakes.FakePluginSource{
got, err := l.Load(context.Background(), &pluginfakes.FakePluginSource{
PluginClassFunc: func(ctx context.Context) plugins.Class {
return plugins.ClassExternal
},
@@ -1254,7 +1254,7 @@ func TestLoader_Load_NestedPlugins(t *testing.T) {
verifyState(t, expected, reg, procPrvdr, procMgr)
t.Run("Load will exclude plugins that already exist", func(t *testing.T) {
got, err := l.Load(context.Background(), &fakes.FakePluginSource{
got, err := l.Load(context.Background(), &pluginfakes.FakePluginSource{
PluginClassFunc: func(ctx context.Context) plugins.Class {
return plugins.ClassExternal
},
@@ -1428,12 +1428,12 @@ func TestLoader_Load_NestedPlugins(t *testing.T) {
child.Parent = parent
expected := []*plugins.Plugin{parent, child}
reg := fakes.NewFakePluginRegistry()
procPrvdr := fakes.NewFakeBackendProcessProvider()
procMgr := fakes.NewFakeProcessManager()
reg := pluginfakes.NewFakePluginRegistry()
procPrvdr := pluginfakes.NewFakeBackendProcessProvider()
procMgr := pluginfakes.NewFakeProcessManager()
cfg := &config.PluginManagementCfg{}
l := newLoader(t, cfg, reg, procMgr, procPrvdr, fakes.NewFakeErrorTracker(), pluginassets.NewLocalProvider())
got, err := l.Load(context.Background(), &fakes.FakePluginSource{
l := newLoader(t, cfg, reg, procMgr, procPrvdr, pluginfakes.NewFakeErrorTracker(), pluginassets.NewLocalProvider())
got, err := l.Load(context.Background(), &pluginfakes.FakePluginSource{
PluginClassFunc: func(ctx context.Context) plugins.Class {
return plugins.ClassExternal
},
@@ -1471,13 +1471,13 @@ func newLoader(t *testing.T, cfg *config.PluginManagementCfg, reg registry.Servi
return ProvideService(cfg, pipeline.ProvideDiscoveryStage(cfg, reg),
pipeline.ProvideBootstrapStage(cfg, signature.DefaultCalculator(cfg), pluginAssetsProvider),
pipeline.ProvideValidationStage(cfg, signature.NewValidator(signature.NewUnsignedAuthorizer(cfg)), angularInspector),
pipeline.ProvideInitializationStage(cfg, reg, backendFactory, proc, &fakes.FakeAuthService{}, fakes.NewFakeRoleRegistry(), fakes.NewFakeActionSetRegistry(), fakes.NewFakePluginEnvProvider(), tracing.InitializeTracerForTest(), provisionedplugins.NewNoop()),
pipeline.ProvideInitializationStage(cfg, reg, backendFactory, proc, &pluginfakes.FakeAuthService{}, pluginfakes.NewFakeRoleRegistry(), pluginfakes.NewFakeActionSetRegistry(), pluginfakes.NewFakePluginEnvProvider(), tracing.InitializeTracerForTest(), provisionedplugins.NewNoop()),
terminate, errTracker)
}
func newLoaderWithOpts(t *testing.T, cfg *config.PluginManagementCfg, opts loaderDepOpts) *Loader {
reg := fakes.NewFakePluginRegistry()
proc := fakes.NewFakeProcessManager()
reg := pluginfakes.NewFakePluginRegistry()
proc := pluginfakes.NewFakeProcessManager()
terminate, err := pipeline.ProvideTerminationStage(cfg, reg, proc)
require.NoError(t, err)
@@ -1490,23 +1490,23 @@ func newLoaderWithOpts(t *testing.T, cfg *config.PluginManagementCfg, opts loade
authServiceRegistry := opts.authServiceRegistry
if authServiceRegistry == nil {
authServiceRegistry = &fakes.FakeAuthService{}
authServiceRegistry = &pluginfakes.FakeAuthService{}
}
backendFactoryProvider := opts.backendFactoryProvider
if backendFactoryProvider == nil {
backendFactoryProvider = fakes.NewFakeBackendProcessProvider()
backendFactoryProvider = pluginfakes.NewFakeBackendProcessProvider()
}
return ProvideService(cfg, pipeline.ProvideDiscoveryStage(cfg, reg),
pipeline.ProvideBootstrapStage(cfg, signature.DefaultCalculator(cfg), pluginassets.NewLocalProvider()),
pipeline.ProvideValidationStage(cfg, signature.NewValidator(signature.NewUnsignedAuthorizer(cfg)), angularInspector),
pipeline.ProvideInitializationStage(cfg, reg, backendFactoryProvider, proc, authServiceRegistry, fakes.NewFakeRoleRegistry(), fakes.NewFakeActionSetRegistry(), fakes.NewFakePluginEnvProvider(), tracing.InitializeTracerForTest(), provisionedplugins.NewNoop()),
pipeline.ProvideInitializationStage(cfg, reg, backendFactoryProvider, proc, authServiceRegistry, pluginfakes.NewFakeRoleRegistry(), pluginfakes.NewFakeActionSetRegistry(), pluginfakes.NewFakePluginEnvProvider(), tracing.InitializeTracerForTest(), provisionedplugins.NewNoop()),
terminate, errTracker)
}
func verifyState(t *testing.T, ps []*plugins.Plugin, reg registry.Service,
procPrvdr *fakes.FakeBackendProcessProvider, procMngr *fakes.FakeProcessManager,
procPrvdr *pluginfakes.FakeBackendProcessProvider, procMngr *pluginfakes.FakeProcessManager,
) {
t.Helper()
@@ -16,7 +16,7 @@ import (
"github.com/grafana/grafana/pkg/plugins/auth"
"github.com/grafana/grafana/pkg/plugins/config"
"github.com/grafana/grafana/pkg/plugins/envvars"
"github.com/grafana/grafana/pkg/plugins/manager/fakes"
"github.com/grafana/grafana/pkg/plugins/manager/pluginfakes"
"github.com/grafana/grafana/pkg/services/featuremgmt"
"github.com/grafana/grafana/pkg/setting"
)
@@ -29,7 +29,7 @@ func TestPluginEnvVarsProvider_PluginEnvVars(t *testing.T) {
},
}
licensing := &fakes.FakeLicensingService{
licensing := &pluginfakes.FakeLicensingService{
LicenseEdition: "test",
TokenRaw: "token",
LicensePath: "/path/to/ent/license",
@@ -10,7 +10,7 @@ import (
"github.com/grafana/grafana/pkg/infra/db/dbtest"
"github.com/grafana/grafana/pkg/infra/localcache"
"github.com/grafana/grafana/pkg/plugins"
pluginFakes "github.com/grafana/grafana/pkg/plugins/manager/fakes"
"github.com/grafana/grafana/pkg/plugins/manager/pluginfakes"
"github.com/grafana/grafana/pkg/plugins/manager/registry"
"github.com/grafana/grafana/pkg/services/datasources"
fakeDatasources "github.com/grafana/grafana/pkg/services/datasources/fakes"
@@ -41,7 +41,7 @@ func TestGet(t *testing.T) {
cfg := setting.NewCfg()
ds := &fakeDatasources.FakeDataSourceService{}
db := &dbtest.FakeDB{ExpectedError: pluginsettings.ErrPluginSettingNotFound}
store, err := pluginstore.NewPluginStoreForTest(preg, &pluginFakes.FakeLoader{}, &pluginFakes.FakeSourceRegistry{})
store, err := pluginstore.NewPluginStoreForTest(preg, &pluginfakes.FakeLoader{}, &pluginfakes.FakeSourceRegistry{})
require.NoError(t, err)
pcp := plugincontext.ProvideService(cfg, localcache.ProvideService(),
store, &fakeDatasources.FakeCacheService{},
@@ -6,7 +6,7 @@ import (
"testing"
"github.com/grafana/grafana/pkg/plugins"
"github.com/grafana/grafana/pkg/plugins/manager/fakes"
"github.com/grafana/grafana/pkg/plugins/manager/pluginfakes"
"github.com/grafana/grafana/pkg/plugins/manager/registry"
"github.com/grafana/grafana/pkg/plugins/repo"
"github.com/grafana/grafana/pkg/services/featuremgmt"
@@ -26,10 +26,10 @@ func TestService_IsDisabled(t *testing.T) {
&setting.Cfg{
PreinstallPluginsAsync: []setting.InstallPlugin{{ID: "myplugin"}},
},
pluginstore.New(registry.NewInMemory(), &fakes.FakeLoader{}, &fakes.FakeSourceRegistry{}),
&fakes.FakePluginInstaller{},
pluginstore.New(registry.NewInMemory(), &pluginfakes.FakeLoader{}, &pluginfakes.FakeSourceRegistry{}),
&pluginfakes.FakePluginInstaller{},
prometheus.NewRegistry(),
&fakes.FakePluginRepo{},
&pluginfakes.FakePluginRepo{},
featuremgmt.WithFeatures(),
&pluginchecker.FakePluginUpdateChecker{},
)
@@ -160,7 +160,7 @@ func TestService_Run(t *testing.T) {
}
installed := 0
installedFromURL := 0
store, err := pluginstore.NewPluginStoreForTest(preg, &fakes.FakeLoader{}, &fakes.FakeSourceRegistry{})
store, err := pluginstore.NewPluginStoreForTest(preg, &pluginfakes.FakeLoader{}, &pluginfakes.FakeSourceRegistry{})
require.NoError(t, err)
s, err := ProvideService(
&setting.Cfg{
@@ -168,7 +168,7 @@ func TestService_Run(t *testing.T) {
PreinstallPluginsSync: tt.pluginsToInstallSync,
},
store,
&fakes.FakePluginInstaller{
&pluginfakes.FakePluginInstaller{
AddFunc: func(ctx context.Context, pluginID string, version string, opts plugins.AddOpts) error {
for _, plugin := range tt.pluginsToFail {
if plugin == pluginID {
@@ -193,7 +193,7 @@ func TestService_Run(t *testing.T) {
},
},
prometheus.NewRegistry(),
&fakes.FakePluginRepo{
&pluginfakes.FakePluginRepo{
GetPluginArchiveInfoFunc: func(_ context.Context, pluginID, version string, _ repo.CompatOpts) (*repo.PluginArchiveInfo, error) {
return tt.latestPlugin, nil
},
@@ -10,32 +10,32 @@ import (
"github.com/grafana/grafana/pkg/plugins"
"github.com/grafana/grafana/pkg/plugins/backendplugin"
"github.com/grafana/grafana/pkg/plugins/log"
"github.com/grafana/grafana/pkg/plugins/manager/fakes"
"github.com/grafana/grafana/pkg/plugins/manager/pluginfakes"
)
func TestStore_ProvideService(t *testing.T) {
t.Run("Plugin sources are added in order", func(t *testing.T) {
var loadedSrcs []plugins.Class
l := &fakes.FakeLoader{
l := &pluginfakes.FakeLoader{
LoadFunc: func(ctx context.Context, src plugins.PluginSource) ([]*plugins.Plugin, error) {
loadedSrcs = append(loadedSrcs, src.PluginClass(ctx))
return nil, nil
},
}
srcs := &fakes.FakeSourceRegistry{ListFunc: func(_ context.Context) []plugins.PluginSource {
srcs := &pluginfakes.FakeSourceRegistry{ListFunc: func(_ context.Context) []plugins.PluginSource {
return []plugins.PluginSource{
&fakes.FakePluginSource{
&pluginfakes.FakePluginSource{
PluginClassFunc: func(ctx context.Context) plugins.Class {
return "1"
},
},
&fakes.FakePluginSource{
&pluginfakes.FakePluginSource{
PluginClassFunc: func(ctx context.Context) plugins.Class {
return "2"
},
},
&fakes.FakePluginSource{
&pluginfakes.FakePluginSource{
PluginClassFunc: func(ctx context.Context) plugins.Class {
return "3"
},
@@ -43,7 +43,7 @@ func TestStore_ProvideService(t *testing.T) {
}
}}
service := ProvideService(fakes.NewFakePluginRegistry(), srcs, l)
service := ProvideService(pluginfakes.NewFakePluginRegistry(), srcs, l)
ctx := context.Background()
err := service.StartAsync(ctx)
require.NoError(t, err)
@@ -59,12 +59,12 @@ func TestStore_Plugin(t *testing.T) {
p1.RegisterClient(&DecommissionedPlugin{})
p2 := &plugins.Plugin{JSONData: plugins.JSONData{ID: "test-panel"}}
ps, err := NewPluginStoreForTest(&fakes.FakePluginRegistry{
ps, err := NewPluginStoreForTest(&pluginfakes.FakePluginRegistry{
Store: map[string]*plugins.Plugin{
p1.ID: p1,
p2.ID: p2,
},
}, &fakes.FakeLoader{}, &fakes.FakeSourceRegistry{})
}, &pluginfakes.FakeLoader{}, &pluginfakes.FakeSourceRegistry{})
require.NoError(t, err)
p, exists := ps.Plugin(context.Background(), p1.ID)
@@ -86,7 +86,7 @@ func TestStore_Plugins(t *testing.T) {
p5 := &plugins.Plugin{JSONData: plugins.JSONData{ID: "e-test-panel", Type: plugins.TypePanel}}
p5.RegisterClient(&DecommissionedPlugin{})
ps, err := NewPluginStoreForTest(&fakes.FakePluginRegistry{
ps, err := NewPluginStoreForTest(&pluginfakes.FakePluginRegistry{
Store: map[string]*plugins.Plugin{
p1.ID: p1,
p2.ID: p2,
@@ -94,7 +94,7 @@ func TestStore_Plugins(t *testing.T) {
p4.ID: p4,
p5.ID: p5,
},
}, &fakes.FakeLoader{}, &fakes.FakeSourceRegistry{})
}, &pluginfakes.FakeLoader{}, &pluginfakes.FakeSourceRegistry{})
require.NoError(t, err)
ToGrafanaDTO(p1)
@@ -123,14 +123,14 @@ func TestStore_Plugins(t *testing.T) {
func TestStore_Routes(t *testing.T) {
t.Run("Routes returns all static routes for non-decommissioned plugins", func(t *testing.T) {
p1 := &plugins.Plugin{JSONData: plugins.JSONData{ID: "a-test-renderer", Type: plugins.TypeRenderer}, FS: fakes.NewFakePluginFS("/some/dir")}
p2 := &plugins.Plugin{JSONData: plugins.JSONData{ID: "b-test-panel", Type: plugins.TypePanel}, FS: fakes.NewFakePluginFS("/grafana/")}
p4 := &plugins.Plugin{JSONData: plugins.JSONData{ID: "d-test-datasource", Type: plugins.TypeDataSource}, FS: fakes.NewFakePluginFS("../test")}
p5 := &plugins.Plugin{JSONData: plugins.JSONData{ID: "e-test-app", Type: plugins.TypeApp}, FS: fakes.NewFakePluginFS("any/path")}
p1 := &plugins.Plugin{JSONData: plugins.JSONData{ID: "a-test-renderer", Type: plugins.TypeRenderer}, FS: pluginfakes.NewFakePluginFS("/some/dir")}
p2 := &plugins.Plugin{JSONData: plugins.JSONData{ID: "b-test-panel", Type: plugins.TypePanel}, FS: pluginfakes.NewFakePluginFS("/grafana/")}
p4 := &plugins.Plugin{JSONData: plugins.JSONData{ID: "d-test-datasource", Type: plugins.TypeDataSource}, FS: pluginfakes.NewFakePluginFS("../test")}
p5 := &plugins.Plugin{JSONData: plugins.JSONData{ID: "e-test-app", Type: plugins.TypeApp}, FS: pluginfakes.NewFakePluginFS("any/path")}
p6 := &plugins.Plugin{JSONData: plugins.JSONData{ID: "f-test-app", Type: plugins.TypeApp}}
p6.RegisterClient(&DecommissionedPlugin{})
ps, err := NewPluginStoreForTest(&fakes.FakePluginRegistry{
ps, err := NewPluginStoreForTest(&pluginfakes.FakePluginRegistry{
Store: map[string]*plugins.Plugin{
p1.ID: p1,
p2.ID: p2,
@@ -138,7 +138,7 @@ func TestStore_Routes(t *testing.T) {
p5.ID: p5,
p6.ID: p6,
},
}, &fakes.FakeLoader{}, &fakes.FakeSourceRegistry{})
}, &pluginfakes.FakeLoader{}, &pluginfakes.FakeSourceRegistry{})
require.NoError(t, err)
sr := func(p *plugins.Plugin) *plugins.StaticRoute {
@@ -153,22 +153,22 @@ func TestStore_Routes(t *testing.T) {
func TestProcessManager_shutdown(t *testing.T) {
t.Run("When context is cancelled the plugin is stopped", func(t *testing.T) {
p := &plugins.Plugin{JSONData: plugins.JSONData{ID: "test-datasource", Type: plugins.TypeDataSource}} // Backend: true
backend := &fakes.FakeBackendPlugin{}
backend := &pluginfakes.FakeBackendPlugin{}
p.RegisterClient(backend)
p.SetLogger(log.NewTestLogger())
unloaded := false
ps := New(&fakes.FakePluginRegistry{
ps := New(&pluginfakes.FakePluginRegistry{
Store: map[string]*plugins.Plugin{
p.ID: p,
},
}, &fakes.FakeLoader{
}, &pluginfakes.FakeLoader{
UnloadFunc: func(_ context.Context, plugin *plugins.Plugin) (*plugins.Plugin, error) {
require.Equal(t, p, plugin)
unloaded = true
return nil, nil
},
}, &fakes.FakeSourceRegistry{})
}, &pluginfakes.FakeSourceRegistry{})
ctx, cancel := context.WithCancel(context.Background())
@@ -188,20 +188,20 @@ func TestProcessManager_shutdown(t *testing.T) {
t.Run("When shutdown fails, stopping method returns error", func(t *testing.T) {
p := &plugins.Plugin{JSONData: plugins.JSONData{ID: "test-datasource", Type: plugins.TypeDataSource}}
backend := &fakes.FakeBackendPlugin{}
backend := &pluginfakes.FakeBackendPlugin{}
p.RegisterClient(backend)
p.SetLogger(log.NewTestLogger())
expectedErr := errors.New("unload failed")
ps, err := NewPluginStoreForTest(&fakes.FakePluginRegistry{
ps, err := NewPluginStoreForTest(&pluginfakes.FakePluginRegistry{
Store: map[string]*plugins.Plugin{
p.ID: p,
},
}, &fakes.FakeLoader{
}, &pluginfakes.FakeLoader{
UnloadFunc: func(_ context.Context, plugin *plugins.Plugin) (*plugins.Plugin, error) {
return nil, expectedErr
},
}, &fakes.FakeSourceRegistry{})
}, &pluginfakes.FakeSourceRegistry{})
require.NoError(t, err)
err = ps.stopping(nil)
@@ -216,12 +216,12 @@ func TestStore_availablePlugins(t *testing.T) {
p1.RegisterClient(&DecommissionedPlugin{})
p2 := &plugins.Plugin{JSONData: plugins.JSONData{ID: "test-app"}}
ps, err := NewPluginStoreForTest(&fakes.FakePluginRegistry{
ps, err := NewPluginStoreForTest(&pluginfakes.FakePluginRegistry{
Store: map[string]*plugins.Plugin{
p1.ID: p1,
p2.ID: p2,
},
}, &fakes.FakeLoader{}, &fakes.FakeSourceRegistry{})
}, &pluginfakes.FakeLoader{}, &pluginfakes.FakeSourceRegistry{})
require.NoError(t, err)
aps := ps.availablePlugins(context.Background())
@@ -10,7 +10,7 @@ import (
"github.com/grafana/grafana/pkg/plugins"
"github.com/grafana/grafana/pkg/plugins/config"
"github.com/grafana/grafana/pkg/plugins/manager/fakes"
"github.com/grafana/grafana/pkg/plugins/manager/pluginfakes"
"github.com/grafana/grafana/pkg/plugins/manager/sources"
)
@@ -20,7 +20,7 @@ func TestRenderer(t *testing.T) {
numLoaded := 0
numUnloaded := 0
loader := &fakes.FakeLoader{
loader := &pluginfakes.FakeLoader{
LoadFunc: func(ctx context.Context, src plugins.PluginSource) ([]*plugins.Plugin, error) {
require.True(t, src.PluginClass(ctx) == plugins.ClassExternal)
@@ -59,7 +59,7 @@ func TestRenderer(t *testing.T) {
p := &plugins.Plugin{
JSONData: plugins.JSONData{ID: "test"},
}
loader := &fakes.FakeLoader{
loader := &pluginfakes.FakeLoader{
LoadFunc: func(ctx context.Context, src plugins.PluginSource) ([]*plugins.Plugin, error) {
numLoaded++
@@ -12,7 +12,6 @@ import (
"github.com/grafana/grafana/pkg/plugins/backendplugin/provider"
pluginsCfg "github.com/grafana/grafana/pkg/plugins/config"
"github.com/grafana/grafana/pkg/plugins/manager/client"
"github.com/grafana/grafana/pkg/plugins/manager/fakes"
"github.com/grafana/grafana/pkg/plugins/manager/loader"
"github.com/grafana/grafana/pkg/plugins/manager/loader/angular/angularinspector"
"github.com/grafana/grafana/pkg/plugins/manager/pipeline/bootstrap"
@@ -20,6 +19,7 @@ import (
"github.com/grafana/grafana/pkg/plugins/manager/pipeline/initialization"
"github.com/grafana/grafana/pkg/plugins/manager/pipeline/termination"
"github.com/grafana/grafana/pkg/plugins/manager/pipeline/validation"
"github.com/grafana/grafana/pkg/plugins/manager/pluginfakes"
"github.com/grafana/grafana/pkg/plugins/manager/process"
"github.com/grafana/grafana/pkg/plugins/manager/registry"
"github.com/grafana/grafana/pkg/plugins/manager/signature"
@@ -52,7 +52,7 @@ func CreateIntegrationTestCtx(t *testing.T, cfg *setting.Cfg, coreRegistry *core
disc := pipeline.ProvideDiscoveryStage(pCfg, reg)
boot := pipeline.ProvideBootstrapStage(pCfg, signature.ProvideService(pCfg, statickey.New()), pluginassets.NewLocalProvider())
valid := pipeline.ProvideValidationStage(pCfg, signature.NewValidator(signature.NewUnsignedAuthorizer(pCfg)), angularInspector)
init := pipeline.ProvideInitializationStage(pCfg, reg, provider.ProvideService(coreRegistry), proc, &fakes.FakeAuthService{}, fakes.NewFakeRoleRegistry(), fakes.NewFakeActionSetRegistry(), nil, tracing.InitializeTracerForTest(), provisionedplugins.NewNoop())
init := pipeline.ProvideInitializationStage(pCfg, reg, provider.ProvideService(coreRegistry), proc, &pluginfakes.FakeAuthService{}, pluginfakes.NewFakeRoleRegistry(), pluginfakes.NewFakeActionSetRegistry(), nil, tracing.InitializeTracerForTest(), provisionedplugins.NewNoop())
term, err := pipeline.ProvideTerminationStage(pCfg, reg, proc)
require.NoError(t, err)
@@ -98,7 +98,7 @@ func CreateTestLoader(t *testing.T, cfg *pluginsCfg.PluginManagementCfg, opts Lo
if opts.Initializer == nil {
reg := registry.ProvideService()
coreRegistry := coreplugin.NewRegistry(make(map[string]backendplugin.PluginFactoryFunc))
opts.Initializer = pipeline.ProvideInitializationStage(cfg, reg, provider.ProvideService(coreRegistry), process.ProvideService(), &fakes.FakeAuthService{}, fakes.NewFakeRoleRegistry(), fakes.NewFakeActionSetRegistry(), nil, tracing.InitializeTracerForTest(), provisionedplugins.NewNoop())
opts.Initializer = pipeline.ProvideInitializationStage(cfg, reg, provider.ProvideService(coreRegistry), process.ProvideService(), &pluginfakes.FakeAuthService{}, pluginfakes.NewFakeRoleRegistry(), pluginfakes.NewFakeActionSetRegistry(), nil, tracing.InitializeTracerForTest(), provisionedplugins.NewNoop())
}
if opts.Terminator == nil {