package api import ( "context" "github.com/grafana/grafana/pkg/plugins" ) type fakePluginManager struct { plugins map[string]fakePlugin } type fakePlugin struct { pluginID string version string } func (pm *fakePluginManager) Add(_ context.Context, pluginID, version string) error { pm.plugins[pluginID] = fakePlugin{ pluginID: pluginID, version: version, } return nil } func (pm *fakePluginManager) Remove(_ context.Context, pluginID string) error { delete(pm.plugins, pluginID) return nil } type fakePluginStore struct { plugins.Store plugins map[string]plugins.PluginDTO } func (pr fakePluginStore) Plugin(_ context.Context, pluginID string) (plugins.PluginDTO, bool) { p, exists := pr.plugins[pluginID] return p, exists } func (pr fakePluginStore) Plugins(_ context.Context, pluginTypes ...plugins.Type) []plugins.PluginDTO { var result []plugins.PluginDTO for _, v := range pr.plugins { for _, t := range pluginTypes { if v.Type == t { result = append(result, v) } } } return result } type fakeRendererManager struct { plugins.RendererManager } func (ps *fakeRendererManager) Renderer() *plugins.Plugin { return nil } type fakePluginStaticRouteResolver struct { plugins.StaticRouteResolver routes []*plugins.StaticRoute } func (psrr *fakePluginStaticRouteResolver) Routes() []*plugins.StaticRoute { return psrr.routes }