Plugins: Tidy config struct (#84168)

* tidy plugins config usage

* fix tests
This commit is contained in:
Will Browne
2024-03-11 16:28:46 +01:00
committed by GitHub
parent 0c6b0188c8
commit 225ac8003c
16 changed files with 50 additions and 199 deletions

View File

@@ -1,7 +1,6 @@
package angularinspector
import (
"github.com/grafana/grafana/pkg/plugins/config"
"github.com/grafana/grafana/pkg/plugins/manager/loader/angular/angulardetector"
"github.com/grafana/grafana/pkg/plugins/manager/loader/angular/angularinspector"
"github.com/grafana/grafana/pkg/services/featuremgmt"
@@ -12,11 +11,11 @@ type Service struct {
angularinspector.Inspector
}
func ProvideService(cfg *config.PluginManagementCfg, dynamic *angulardetectorsprovider.Dynamic) (*Service, error) {
func ProvideService(features featuremgmt.FeatureToggles, dynamic *angulardetectorsprovider.Dynamic) (*Service, error) {
var detectorsProvider angulardetector.DetectorsProvider
var err error
static := angularinspector.NewDefaultStaticDetectorsProvider()
if cfg.Features != nil && cfg.Features.IsEnabledGlobally(featuremgmt.FlagPluginsDynamicAngularDetectionPatterns) {
if features.IsEnabledGlobally(featuremgmt.FlagPluginsDynamicAngularDetectionPatterns) {
detectorsProvider = angulardetector.SequenceDetectorsProvider{dynamic, static}
} else {
detectorsProvider = static

View File

@@ -17,14 +17,14 @@ import (
func TestProvideService(t *testing.T) {
t.Run("uses hardcoded inspector if feature flag is not present", func(t *testing.T) {
pCfg := &config.PluginManagementCfg{Features: featuremgmt.WithFeatures()}
features := featuremgmt.WithFeatures()
dynamic, err := angulardetectorsprovider.ProvideDynamic(
pCfg,
&config.PluginManagementCfg{},
angularpatternsstore.ProvideService(kvstore.NewFakeKVStore()),
featuremgmt.WithFeatures(featuremgmt.FlagPluginsDynamicAngularDetectionPatterns),
features,
)
require.NoError(t, err)
inspector, err := ProvideService(pCfg, dynamic)
inspector, err := ProvideService(features, dynamic)
require.NoError(t, err)
require.IsType(t, inspector.Inspector, &angularinspector.PatternsListInspector{})
patternsListInspector := inspector.Inspector.(*angularinspector.PatternsListInspector)
@@ -33,16 +33,16 @@ func TestProvideService(t *testing.T) {
})
t.Run("uses dynamic inspector with hardcoded fallback if feature flag is present", func(t *testing.T) {
pCfg := &config.PluginManagementCfg{Features: featuremgmt.WithFeatures(
features := featuremgmt.WithFeatures(
featuremgmt.FlagPluginsDynamicAngularDetectionPatterns,
)}
)
dynamic, err := angulardetectorsprovider.ProvideDynamic(
pCfg,
&config.PluginManagementCfg{},
angularpatternsstore.ProvideService(kvstore.NewFakeKVStore()),
featuremgmt.WithFeatures(),
features,
)
require.NoError(t, err)
inspector, err := ProvideService(pCfg, dynamic)
inspector, err := ProvideService(features, dynamic)
require.NoError(t, err)
require.IsType(t, inspector.Inspector, &angularinspector.PatternsListInspector{})
require.IsType(t, inspector.Inspector.(*angularinspector.PatternsListInspector).DetectorsProvider, angulardetector.SequenceDetectorsProvider{})