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
+17 -7
View File
@@ -10,9 +10,12 @@ import (
"github.com/grafana/grafana-plugin-sdk-go/data"
"github.com/grafana/grafana/pkg/infra/log"
"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"
"github.com/grafana/grafana/pkg/util"
"github.com/stretchr/testify/require"
@@ -46,12 +49,16 @@ func framesPassThroughService(t *testing.T, frames data.Frames) (data.Frames, er
cfg := setting.NewCfg()
s := Service{
cfg: cfg,
dataService: me,
dataSourceService: &datafakes.FakeDataSourceService{},
features: &featuremgmt.FeatureManager{},
tracer: tracing.InitializeTracerForTest(),
metrics: newMetrics(nil),
cfg: cfg,
dataService: me,
features: &featuremgmt.FeatureManager{},
pCtxProvider: plugincontext.ProvideService(nil, &plugins.FakePluginStore{
PluginList: []plugins.PluginDTO{
{JSONData: plugins.JSONData{ID: "test"}},
}},
&datafakes.FakeDataSourceService{}, nil),
tracer: tracing.InitializeTracerForTest(),
metrics: newMetrics(nil),
}
queries := []Query{{
RefID: "A",
@@ -67,7 +74,10 @@ func framesPassThroughService(t *testing.T, frames data.Frames) (data.Frames, er
},
}}
req := &Request{Queries: queries}
req := &Request{
Queries: queries,
User: &user.SignedInUser{},
}
pl, err := s.BuildPipeline(req)
require.NoError(t, err)