mirror of
https://github.com/grafana/grafana.git
synced 2025-09-26 23:04:55 +08:00
Plugins: Make it possible to support multiple plugin versions (#82116)
* first pass * use version in more places * add comment * update installer * fix wire * fix tests * tidy * simplify changes * fix in mem * remove unused step * fix step dupe logic for child plugins + add tests
This commit is contained in:
@ -17,7 +17,6 @@ import (
|
||||
"github.com/grafana/grafana/pkg/infra/tracing"
|
||||
"github.com/grafana/grafana/pkg/plugins"
|
||||
"github.com/grafana/grafana/pkg/plugins/backendplugin/coreplugin"
|
||||
"github.com/grafana/grafana/pkg/plugins/manager/registry"
|
||||
"github.com/grafana/grafana/pkg/services/featuremgmt"
|
||||
"github.com/grafana/grafana/pkg/services/pluginsintegration/pluginstore"
|
||||
"github.com/grafana/grafana/pkg/services/searchV2"
|
||||
@ -100,7 +99,7 @@ func TestIntegrationPluginManager(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
verifyCorePluginCatalogue(t, ctx, testCtx.PluginStore)
|
||||
verifyBundledPlugins(t, ctx, testCtx.PluginStore)
|
||||
verifyPluginStaticRoutes(t, ctx, testCtx.PluginStore, testCtx.PluginRegistry)
|
||||
verifyPluginStaticRoutes(t, ctx, testCtx.PluginStore, testCtx.PluginStore)
|
||||
verifyBackendProcesses(t, testCtx.PluginRegistry.Plugins(ctx))
|
||||
verifyPluginQuery(t, ctx, testCtx.PluginClient)
|
||||
}
|
||||
@ -253,7 +252,7 @@ func verifyBundledPlugins(t *testing.T, ctx context.Context, ps *pluginstore.Ser
|
||||
}
|
||||
}
|
||||
|
||||
func verifyPluginStaticRoutes(t *testing.T, ctx context.Context, rr plugins.StaticRouteResolver, reg registry.Service) {
|
||||
func verifyPluginStaticRoutes(t *testing.T, ctx context.Context, rr plugins.StaticRouteResolver, ps *pluginstore.Service) {
|
||||
routes := make(map[string]*plugins.StaticRoute)
|
||||
for _, route := range rr.Routes(ctx) {
|
||||
routes[route.PluginID] = route
|
||||
@ -261,13 +260,13 @@ func verifyPluginStaticRoutes(t *testing.T, ctx context.Context, rr plugins.Stat
|
||||
|
||||
require.Len(t, routes, 2)
|
||||
|
||||
inputPlugin, _ := reg.Plugin(ctx, "input")
|
||||
inputPlugin, _ := ps.Plugin(ctx, "input")
|
||||
require.NotNil(t, routes["input"])
|
||||
require.Equal(t, routes["input"].Directory, inputPlugin.FS.Base())
|
||||
require.Equal(t, routes["input"].Directory, inputPlugin.Base())
|
||||
|
||||
testAppPlugin, _ := reg.Plugin(ctx, "test-app")
|
||||
testAppPlugin, _ := ps.Plugin(ctx, "test-app")
|
||||
require.Contains(t, routes, "test-app")
|
||||
require.Equal(t, routes["test-app"].Directory, testAppPlugin.FS.Base())
|
||||
require.Equal(t, routes["test-app"].Directory, testAppPlugin.Base())
|
||||
}
|
||||
|
||||
func verifyBackendProcesses(t *testing.T, ps []*plugins.Plugin) {
|
||||
|
Reference in New Issue
Block a user