mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Plugins: Tidy config struct (#84168)
* tidy plugins config usage * fix tests
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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{})
|
||||
|
||||
Reference in New Issue
Block a user