Plugins: Refactor creation of plugin context to dedicated service (#66451)

* first pass

* fix tests

* return errs

* change signature

* tidy

* delete unnecessary fields from test

* tidy

* fix tests

* simplify

* separate error check in API

* apply nits
This commit is contained in:
Will Browne
2023-06-08 13:59:51 +02:00
committed by GitHub
parent 49ad802ca6
commit 624777258b
25 changed files with 308 additions and 261 deletions
+15 -8
View File
@@ -13,9 +13,12 @@ import (
"github.com/stretchr/testify/require"
"github.com/grafana/grafana/pkg/infra/tracing"
"github.com/grafana/grafana/pkg/plugins"
"github.com/grafana/grafana/pkg/services/datasources"
datafakes "github.com/grafana/grafana/pkg/services/datasources/fakes"
"github.com/grafana/grafana/pkg/services/featuremgmt"
"github.com/grafana/grafana/pkg/services/pluginsintegration/plugincontext"
"github.com/grafana/grafana/pkg/services/user"
"github.com/grafana/grafana/pkg/setting"
)
@@ -28,15 +31,19 @@ func TestService(t *testing.T) {
Frames: []*data.Frame{dsDF},
}
cfg := setting.NewCfg()
pCtxProvider := plugincontext.ProvideService(nil, &plugins.FakePluginStore{
PluginList: []plugins.PluginDTO{
{JSONData: plugins.JSONData{ID: "test"}},
},
}, &datafakes.FakeDataSourceService{}, nil)
s := Service{
cfg: cfg,
dataService: me,
dataSourceService: &datafakes.FakeDataSourceService{},
features: &featuremgmt.FeatureManager{},
tracer: tracing.InitializeTracerForTest(),
metrics: newMetrics(nil),
cfg: setting.NewCfg(),
dataService: me,
pCtxProvider: pCtxProvider,
features: &featuremgmt.FeatureManager{},
tracer: tracing.InitializeTracerForTest(),
metrics: newMetrics(nil),
}
queries := []Query{
@@ -60,7 +67,7 @@ func TestService(t *testing.T) {
},
}
req := &Request{Queries: queries}
req := &Request{Queries: queries, User: &user.SignedInUser{}}
pl, err := s.BuildPipeline(req)
require.NoError(t, err)