diff --git a/pkg/plugins/manager/manager_integration_test.go b/pkg/plugins/manager/manager_integration_test.go index f27b77a9cff..f92059fbdfc 100644 --- a/pkg/plugins/manager/manager_integration_test.go +++ b/pkg/plugins/manager/manager_integration_test.go @@ -73,7 +73,7 @@ func TestPluginManager_int_init(t *testing.T) { hcp := httpclient.NewProvider() am := azuremonitor.ProvideService(cfg, hcp, tracer) - cw := cloudwatch.ProvideService(cfg, hcp) + cw := cloudwatch.ProvideService(cfg, hcp, features) cm := cloudmonitoring.ProvideService(hcp, tracer) es := elasticsearch.ProvideService(hcp) grap := graphite.ProvideService(hcp, tracer) diff --git a/pkg/tsdb/cloudwatch/annotation_query_test.go b/pkg/tsdb/cloudwatch/annotation_query_test.go index 369039f52b5..da58d7bf35b 100644 --- a/pkg/tsdb/cloudwatch/annotation_query_test.go +++ b/pkg/tsdb/cloudwatch/annotation_query_test.go @@ -12,6 +12,7 @@ import ( "github.com/grafana/grafana-plugin-sdk-go/backend" "github.com/grafana/grafana-plugin-sdk-go/backend/datasource" "github.com/grafana/grafana-plugin-sdk-go/backend/instancemgmt" + "github.com/grafana/grafana/pkg/services/featuremgmt" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -33,7 +34,7 @@ func TestQuery_AnnotationQuery(t *testing.T) { return datasourceInfo{}, nil }) - executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}) + executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}, featuremgmt.WithFeatures()) _, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{ PluginContext: backend.PluginContext{ DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}, @@ -67,7 +68,7 @@ func TestQuery_AnnotationQuery(t *testing.T) { return datasourceInfo{}, nil }) - executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}) + executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}, featuremgmt.WithFeatures()) _, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{ PluginContext: backend.PluginContext{ DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}, diff --git a/pkg/tsdb/cloudwatch/cloudwatch.go b/pkg/tsdb/cloudwatch/cloudwatch.go index 55877c89b76..10030172b06 100644 --- a/pkg/tsdb/cloudwatch/cloudwatch.go +++ b/pkg/tsdb/cloudwatch/cloudwatch.go @@ -28,6 +28,7 @@ import ( "github.com/grafana/grafana/pkg/components/simplejson" "github.com/grafana/grafana/pkg/infra/httpclient" "github.com/grafana/grafana/pkg/infra/log" + "github.com/grafana/grafana/pkg/services/featuremgmt" "github.com/grafana/grafana/pkg/setting" ) @@ -63,10 +64,10 @@ const ( var plog = log.New("tsdb.cloudwatch") var aliasFormat = regexp.MustCompile(`\{\{\s*(.+?)\s*\}\}`) -func ProvideService(cfg *setting.Cfg, httpClientProvider httpclient.Provider) *CloudWatchService { +func ProvideService(cfg *setting.Cfg, httpClientProvider httpclient.Provider, features featuremgmt.FeatureToggles) *CloudWatchService { plog.Debug("initing") - executor := newExecutor(datasource.NewInstanceManager(NewInstanceSettings(httpClientProvider)), cfg, awsds.NewSessionCache()) + executor := newExecutor(datasource.NewInstanceManager(NewInstanceSettings(httpClientProvider)), cfg, awsds.NewSessionCache(), features) return &CloudWatchService{ Cfg: cfg, @@ -83,11 +84,12 @@ type SessionCache interface { GetSession(c awsds.SessionConfig) (*session.Session, error) } -func newExecutor(im instancemgmt.InstanceManager, cfg *setting.Cfg, sessions SessionCache) *cloudWatchExecutor { +func newExecutor(im instancemgmt.InstanceManager, cfg *setting.Cfg, sessions SessionCache, features featuremgmt.FeatureToggles) *cloudWatchExecutor { cwe := &cloudWatchExecutor{ im: im, cfg: cfg, sessions: sessions, + features: features, } cwe.resourceHandler = httpadapter.New(cwe.newResourceMux()) return cwe @@ -161,6 +163,7 @@ type cloudWatchExecutor struct { im instancemgmt.InstanceManager cfg *setting.Cfg sessions SessionCache + features featuremgmt.FeatureToggles resourceHandler backend.CallResourceHandler } diff --git a/pkg/tsdb/cloudwatch/cloudwatch_test.go b/pkg/tsdb/cloudwatch/cloudwatch_test.go index c5fba3a4859..12a940ef826 100644 --- a/pkg/tsdb/cloudwatch/cloudwatch_test.go +++ b/pkg/tsdb/cloudwatch/cloudwatch_test.go @@ -20,6 +20,7 @@ import ( "github.com/grafana/grafana-plugin-sdk-go/backend/datasource" "github.com/grafana/grafana-plugin-sdk-go/backend/instancemgmt" "github.com/grafana/grafana/pkg/infra/httpclient" + "github.com/grafana/grafana/pkg/services/featuremgmt" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -108,7 +109,7 @@ func Test_CheckHealth(t *testing.T) { im := datasource.NewInstanceManager(func(s backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) { return datasourceInfo{}, nil }) - executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}) + executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}, featuremgmt.WithFeatures()) resp, err := executor.CheckHealth(context.Background(), &backend.CheckHealthRequest{ PluginContext: backend.PluginContext{DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}}, @@ -130,7 +131,7 @@ func Test_CheckHealth(t *testing.T) { im := datasource.NewInstanceManager(func(s backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) { return datasourceInfo{}, nil }) - executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}) + executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}, featuremgmt.WithFeatures()) resp, err := executor.CheckHealth(context.Background(), &backend.CheckHealthRequest{ PluginContext: backend.PluginContext{DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}}, @@ -151,7 +152,7 @@ func Test_CheckHealth(t *testing.T) { im := datasource.NewInstanceManager(func(s backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) { return datasourceInfo{}, nil }) - executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}) + executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}, featuremgmt.WithFeatures()) resp, err := executor.CheckHealth(context.Background(), &backend.CheckHealthRequest{ PluginContext: backend.PluginContext{DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}}, @@ -171,7 +172,7 @@ func Test_CheckHealth(t *testing.T) { }) executor := newExecutor(im, newTestConfig(), &fakeSessionCache{getSession: func(c awsds.SessionConfig) (*session.Session, error) { return nil, fmt.Errorf("some sessions error") - }}) + }}, featuremgmt.WithFeatures()) resp, err := executor.CheckHealth(context.Background(), &backend.CheckHealthRequest{ PluginContext: backend.PluginContext{DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}}, @@ -201,7 +202,7 @@ func Test_executeLogAlertQuery(t *testing.T) { return datasourceInfo{}, nil }) sess := fakeSessionCache{} - executor := newExecutor(im, newTestConfig(), &sess) + executor := newExecutor(im, newTestConfig(), &sess, featuremgmt.WithFeatures()) _, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{ Headers: map[string]string{"FromAlert": "some value"}, @@ -228,7 +229,7 @@ func Test_executeLogAlertQuery(t *testing.T) { }) sess := fakeSessionCache{} - executor := newExecutor(im, newTestConfig(), &sess) + executor := newExecutor(im, newTestConfig(), &sess, featuremgmt.WithFeatures()) _, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{ Headers: map[string]string{"FromAlert": "some value"}, PluginContext: backend.PluginContext{DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}}, diff --git a/pkg/tsdb/cloudwatch/log_actions_test.go b/pkg/tsdb/cloudwatch/log_actions_test.go index d84866054ad..709338a5d1d 100644 --- a/pkg/tsdb/cloudwatch/log_actions_test.go +++ b/pkg/tsdb/cloudwatch/log_actions_test.go @@ -14,6 +14,7 @@ import ( "github.com/grafana/grafana-plugin-sdk-go/backend/datasource" "github.com/grafana/grafana-plugin-sdk-go/backend/instancemgmt" "github.com/grafana/grafana-plugin-sdk-go/data" + "github.com/grafana/grafana/pkg/services/featuremgmt" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -52,7 +53,7 @@ func TestQuery_DescribeLogGroups(t *testing.T) { return datasourceInfo{}, nil }) - executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}) + executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}, featuremgmt.WithFeatures()) resp, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{ PluginContext: backend.PluginContext{ DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}, @@ -108,7 +109,7 @@ func TestQuery_DescribeLogGroups(t *testing.T) { return datasourceInfo{}, nil }) - executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}) + executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}, featuremgmt.WithFeatures()) resp, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{ PluginContext: backend.PluginContext{ DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}, @@ -183,7 +184,7 @@ func TestQuery_GetLogGroupFields(t *testing.T) { return datasourceInfo{}, nil }) - executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}) + executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}, featuremgmt.WithFeatures()) resp, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{ PluginContext: backend.PluginContext{ DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}, @@ -264,7 +265,7 @@ func TestQuery_StartQuery(t *testing.T) { return datasourceInfo{}, nil }) - executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}) + executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}, featuremgmt.WithFeatures()) _, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{ PluginContext: backend.PluginContext{ DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}, @@ -317,7 +318,7 @@ func TestQuery_StartQuery(t *testing.T) { return datasourceInfo{}, nil }) - executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}) + executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}, featuremgmt.WithFeatures()) resp, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{ PluginContext: backend.PluginContext{ DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}, @@ -374,7 +375,7 @@ func Test_executeStartQuery(t *testing.T) { im := datasource.NewInstanceManager(func(s backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) { return datasourceInfo{}, nil }) - executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}) + executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}, featuremgmt.WithFeatures()) _, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{ PluginContext: backend.PluginContext{DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}}, @@ -410,7 +411,7 @@ func Test_executeStartQuery(t *testing.T) { im := datasource.NewInstanceManager(func(s backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) { return datasourceInfo{}, nil }) - executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}) + executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}, featuremgmt.WithFeatures()) _, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{ PluginContext: backend.PluginContext{DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}}, @@ -437,7 +438,7 @@ func Test_executeStartQuery(t *testing.T) { im := datasource.NewInstanceManager(func(s backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) { return datasourceInfo{}, nil }) - executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}) + executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}, featuremgmt.WithFeatures()) _, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{ PluginContext: backend.PluginContext{DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}}, @@ -499,7 +500,7 @@ func TestQuery_StopQuery(t *testing.T) { To: time.Unix(1584700643, 0), } - executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}) + executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}, featuremgmt.WithFeatures()) resp, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{ PluginContext: backend.PluginContext{ DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}, @@ -589,7 +590,7 @@ func TestQuery_GetQueryResults(t *testing.T) { return datasourceInfo{}, nil }) - executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}) + executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}, featuremgmt.WithFeatures()) resp, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{ PluginContext: backend.PluginContext{ DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}, diff --git a/pkg/tsdb/cloudwatch/metric_data_query_builder_test.go b/pkg/tsdb/cloudwatch/metric_data_query_builder_test.go index de91d588270..8dd810bb0e8 100644 --- a/pkg/tsdb/cloudwatch/metric_data_query_builder_test.go +++ b/pkg/tsdb/cloudwatch/metric_data_query_builder_test.go @@ -3,6 +3,7 @@ package cloudwatch import ( "testing" + "github.com/grafana/grafana/pkg/services/featuremgmt" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -10,7 +11,7 @@ import ( func TestMetricDataQueryBuilder(t *testing.T) { t.Run("buildMetricDataQuery", func(t *testing.T) { t.Run("should use metric stat", func(t *testing.T) { - executor := newExecutor(nil, newTestConfig(), &fakeSessionCache{}) + executor := newExecutor(nil, newTestConfig(), &fakeSessionCache{}, featuremgmt.WithFeatures()) query := getBaseQuery() query.MetricEditorMode = MetricEditorModeBuilder query.MetricQueryType = MetricQueryTypeSearch @@ -22,7 +23,7 @@ func TestMetricDataQueryBuilder(t *testing.T) { }) t.Run("should use custom built expression", func(t *testing.T) { - executor := newExecutor(nil, newTestConfig(), &fakeSessionCache{}) + executor := newExecutor(nil, newTestConfig(), &fakeSessionCache{}, featuremgmt.WithFeatures()) query := getBaseQuery() query.MetricEditorMode = MetricEditorModeBuilder query.MetricQueryType = MetricQueryTypeSearch @@ -34,7 +35,7 @@ func TestMetricDataQueryBuilder(t *testing.T) { }) t.Run("should use sql expression", func(t *testing.T) { - executor := newExecutor(nil, newTestConfig(), &fakeSessionCache{}) + executor := newExecutor(nil, newTestConfig(), &fakeSessionCache{}, featuremgmt.WithFeatures()) query := getBaseQuery() query.MetricEditorMode = MetricEditorModeRaw query.MetricQueryType = MetricQueryTypeQuery @@ -46,7 +47,7 @@ func TestMetricDataQueryBuilder(t *testing.T) { }) t.Run("should use user defined math expression", func(t *testing.T) { - executor := newExecutor(nil, newTestConfig(), &fakeSessionCache{}) + executor := newExecutor(nil, newTestConfig(), &fakeSessionCache{}, featuremgmt.WithFeatures()) query := getBaseQuery() query.MetricEditorMode = MetricEditorModeRaw query.MetricQueryType = MetricQueryTypeSearch @@ -58,7 +59,7 @@ func TestMetricDataQueryBuilder(t *testing.T) { }) t.Run("should set period in user defined expression", func(t *testing.T) { - executor := newExecutor(nil, newTestConfig(), &fakeSessionCache{}) + executor := newExecutor(nil, newTestConfig(), &fakeSessionCache{}, featuremgmt.WithFeatures()) query := getBaseQuery() query.MetricEditorMode = MetricEditorModeRaw query.MetricQueryType = MetricQueryTypeSearch diff --git a/pkg/tsdb/cloudwatch/metric_find_query_test.go b/pkg/tsdb/cloudwatch/metric_find_query_test.go index 520d52d60a7..8ec51ac7e84 100644 --- a/pkg/tsdb/cloudwatch/metric_find_query_test.go +++ b/pkg/tsdb/cloudwatch/metric_find_query_test.go @@ -18,6 +18,7 @@ import ( "github.com/grafana/grafana-plugin-sdk-go/backend/datasource" "github.com/grafana/grafana-plugin-sdk-go/backend/instancemgmt" "github.com/grafana/grafana-plugin-sdk-go/data" + "github.com/grafana/grafana/pkg/services/featuremgmt" "github.com/grafana/grafana/pkg/setting" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -53,7 +54,7 @@ func TestQuery_Metrics(t *testing.T) { return datasourceInfo{}, nil }) - executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}) + executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}, featuremgmt.WithFeatures()) resp, err := executor.handleGetMetrics( backend.PluginContext{ DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}, @@ -88,7 +89,7 @@ func TestQuery_Metrics(t *testing.T) { return datasourceInfo{}, nil }) - executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}) + executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}, featuremgmt.WithFeatures()) resp, err := executor.handleGetDimensionKeys( backend.PluginContext{ DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}, @@ -128,7 +129,7 @@ func TestQuery_Regions(t *testing.T) { return datasourceInfo{}, nil }) - executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}) + executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}, featuremgmt.WithFeatures()) resp, err := executor.handleGetRegions( backend.PluginContext{ DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}, @@ -201,7 +202,7 @@ func TestQuery_InstanceAttributes(t *testing.T) { filterJson, err := json.Marshal(filterMap) require.NoError(t, err) - executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}) + executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}, featuremgmt.WithFeatures()) resp, err := executor.handleGetEc2InstanceAttribute( backend.PluginContext{ DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}, @@ -278,7 +279,7 @@ func TestQuery_EBSVolumeIDs(t *testing.T) { return datasourceInfo{}, nil }) - executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}) + executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}, featuremgmt.WithFeatures()) resp, err := executor.handleGetEbsVolumeIds( backend.PluginContext{ DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}, @@ -344,7 +345,7 @@ func TestQuery_ResourceARNs(t *testing.T) { tagJson, err := json.Marshal(tagMap) require.NoError(t, err) - executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}) + executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}, featuremgmt.WithFeatures()) resp, err := executor.handleGetResourceArns( backend.PluginContext{ DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}, @@ -374,7 +375,7 @@ func TestQuery_GetAllMetrics(t *testing.T) { return datasourceInfo{}, nil }) - executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}) + executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}, featuremgmt.WithFeatures()) resp, err := executor.handleGetAllMetrics( backend.PluginContext{ DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}, @@ -423,7 +424,7 @@ func TestQuery_GetDimensionKeys(t *testing.T) { return datasourceInfo{}, nil }) - executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}) + executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}, featuremgmt.WithFeatures()) resp, err := executor.handleGetDimensionKeys( backend.PluginContext{ DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}, @@ -453,7 +454,7 @@ func TestQuery_GetDimensionKeys(t *testing.T) { return datasourceInfo{}, nil }) - executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}) + executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}, featuremgmt.WithFeatures()) resp, err := executor.handleGetDimensionKeys( backend.PluginContext{ DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}, @@ -548,7 +549,8 @@ func TestQuery_ListMetricsPagination(t *testing.T) { im := datasource.NewInstanceManager(func(s backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) { return datasourceInfo{}, nil }) - executor := newExecutor(im, &setting.Cfg{AWSListMetricsPageLimit: 3, AWSAllowedAuthProviders: []string{"default"}, AWSAssumeRoleEnabled: true}, &fakeSessionCache{}) + executor := newExecutor(im, &setting.Cfg{AWSListMetricsPageLimit: 3, AWSAllowedAuthProviders: []string{"default"}, AWSAssumeRoleEnabled: true}, &fakeSessionCache{}, + featuremgmt.WithFeatures()) response, err := executor.listMetrics(backend.PluginContext{ DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}, }, "default", &cloudwatch.ListMetricsInput{}) @@ -563,7 +565,8 @@ func TestQuery_ListMetricsPagination(t *testing.T) { im := datasource.NewInstanceManager(func(s backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) { return datasourceInfo{}, nil }) - executor := newExecutor(im, &setting.Cfg{AWSListMetricsPageLimit: 1000, AWSAllowedAuthProviders: []string{"default"}, AWSAssumeRoleEnabled: true}, &fakeSessionCache{}) + executor := newExecutor(im, &setting.Cfg{AWSListMetricsPageLimit: 1000, AWSAllowedAuthProviders: []string{"default"}, AWSAssumeRoleEnabled: true}, &fakeSessionCache{}, + featuremgmt.WithFeatures()) response, err := executor.listMetrics(backend.PluginContext{ DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}, }, "default", &cloudwatch.ListMetricsInput{}) diff --git a/pkg/tsdb/cloudwatch/time_series_query_test.go b/pkg/tsdb/cloudwatch/time_series_query_test.go index b386e6e1d3c..cce63f8aa39 100644 --- a/pkg/tsdb/cloudwatch/time_series_query_test.go +++ b/pkg/tsdb/cloudwatch/time_series_query_test.go @@ -13,13 +13,14 @@ import ( "github.com/grafana/grafana-plugin-sdk-go/backend" "github.com/grafana/grafana-plugin-sdk-go/backend/datasource" "github.com/grafana/grafana-plugin-sdk-go/backend/instancemgmt" + "github.com/grafana/grafana/pkg/services/featuremgmt" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func TestTimeSeriesQuery(t *testing.T) { - executor := newExecutor(nil, newTestConfig(), &fakeSessionCache{}) + executor := newExecutor(nil, newTestConfig(), &fakeSessionCache{}, featuremgmt.WithFeatures()) now := time.Now() origNewCWClient := NewCWClient @@ -54,7 +55,7 @@ func TestTimeSeriesQuery(t *testing.T) { return datasourceInfo{}, nil }) - executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}) + executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}, featuremgmt.WithFeatures()) resp, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{ PluginContext: backend.PluginContext{ DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}, @@ -219,7 +220,7 @@ func Test_QueryData_response_data_frame_names(t *testing.T) { im := datasource.NewInstanceManager(func(s backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) { return datasourceInfo{}, nil }) - executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}) + executor := newExecutor(im, newTestConfig(), &fakeSessionCache{}, featuremgmt.WithFeatures()) t.Run("where user defines search expression and alias is defined, then frame name prioritizes period and stat from expression over input", func(t *testing.T) { query := newTestQuery(t, queryParameters{