From 65c1cb62a7246d36f8c869795de27b8599cd8308 Mon Sep 17 00:00:00 2001 From: Arve Knudsen Date: Fri, 12 Mar 2021 18:26:07 +0100 Subject: [PATCH] Chore: Move tsdbifaces.RequestHandler to plugins.DataRequestHandler (#31897) * Backend: Move tsdbifaces.RequestHandler to plugins.DataRequestHandler Signed-off-by: Arve Knudsen --- pkg/plugins/ifaces.go | 12 ++++++++++++ pkg/plugins/manager/dashboard_import.go | 3 +-- pkg/services/alerting/conditions/query.go | 5 ++--- pkg/services/alerting/eval_handler.go | 6 +++--- pkg/services/alerting/eval_handler_test.go | 4 ++-- pkg/services/alerting/interfaces.go | 4 ++-- pkg/services/alerting/rule_test.go | 4 ++-- pkg/tsdb/tsdbifaces/ifaces.go | 13 ------------- 8 files changed, 24 insertions(+), 27 deletions(-) create mode 100644 pkg/plugins/ifaces.go delete mode 100644 pkg/tsdb/tsdbifaces/ifaces.go diff --git a/pkg/plugins/ifaces.go b/pkg/plugins/ifaces.go new file mode 100644 index 00000000000..981c1c7db7f --- /dev/null +++ b/pkg/plugins/ifaces.go @@ -0,0 +1,12 @@ +package plugins + +import ( + "context" + + "github.com/grafana/grafana/pkg/models" +) + +// DataRequestHandler is a data request handler interface. +type DataRequestHandler interface { + HandleRequest(context.Context, *models.DataSource, DataQuery) (DataResponse, error) +} diff --git a/pkg/plugins/manager/dashboard_import.go b/pkg/plugins/manager/dashboard_import.go index 67f9416cad7..97a66f4d517 100644 --- a/pkg/plugins/manager/dashboard_import.go +++ b/pkg/plugins/manager/dashboard_import.go @@ -9,7 +9,6 @@ import ( "github.com/grafana/grafana/pkg/models" "github.com/grafana/grafana/pkg/plugins" "github.com/grafana/grafana/pkg/services/dashboards" - "github.com/grafana/grafana/pkg/tsdb/tsdbifaces" ) var varRegex = regexp.MustCompile(`(\$\{.+?\})`) @@ -31,7 +30,7 @@ func (e DashboardInputMissingError) Error() string { func (pm *PluginManager) ImportDashboard(pluginID, path string, orgID, folderID int64, dashboardModel *simplejson.Json, overwrite bool, inputs []ImportDashboardInput, user *models.SignedInUser, - requestHandler tsdbifaces.RequestHandler) (plugins.PluginDashboardInfoDTO, error) { + requestHandler plugins.DataRequestHandler) (plugins.PluginDashboardInfoDTO, error) { var dashboard *models.Dashboard if pluginID != "" { var err error diff --git a/pkg/services/alerting/conditions/query.go b/pkg/services/alerting/conditions/query.go index fb38250eea1..f71c51a37b3 100644 --- a/pkg/services/alerting/conditions/query.go +++ b/pkg/services/alerting/conditions/query.go @@ -8,7 +8,6 @@ import ( "github.com/grafana/grafana/pkg/plugins" "github.com/grafana/grafana/pkg/tsdb/prometheus" - "github.com/grafana/grafana/pkg/tsdb/tsdbifaces" gocontext "context" @@ -47,7 +46,7 @@ type AlertQuery struct { } // Eval evaluates the `QueryCondition`. -func (c *QueryCondition) Eval(context *alerting.EvalContext, requestHandler tsdbifaces.RequestHandler) (*alerting.ConditionResult, error) { +func (c *QueryCondition) Eval(context *alerting.EvalContext, requestHandler plugins.DataRequestHandler) (*alerting.ConditionResult, error) { timeRange := plugins.NewDataTimeRange(c.Query.From, c.Query.To) seriesList, err := c.executeQuery(context, timeRange, requestHandler) @@ -110,7 +109,7 @@ func (c *QueryCondition) Eval(context *alerting.EvalContext, requestHandler tsdb } func (c *QueryCondition) executeQuery(context *alerting.EvalContext, timeRange plugins.DataTimeRange, - requestHandler tsdbifaces.RequestHandler) (plugins.DataTimeSeriesSlice, error) { + requestHandler plugins.DataRequestHandler) (plugins.DataTimeSeriesSlice, error) { getDsInfo := &models.GetDataSourceQuery{ Id: c.Query.DatasourceID, OrgId: context.Rule.OrgID, diff --git a/pkg/services/alerting/eval_handler.go b/pkg/services/alerting/eval_handler.go index 8cff8877d7f..ed77877e34d 100644 --- a/pkg/services/alerting/eval_handler.go +++ b/pkg/services/alerting/eval_handler.go @@ -7,18 +7,18 @@ import ( "github.com/grafana/grafana/pkg/infra/log" "github.com/grafana/grafana/pkg/infra/metrics" - "github.com/grafana/grafana/pkg/tsdb/tsdbifaces" + "github.com/grafana/grafana/pkg/plugins" ) // DefaultEvalHandler is responsible for evaluating the alert rule. type DefaultEvalHandler struct { log log.Logger alertJobTimeout time.Duration - requestHandler tsdbifaces.RequestHandler + requestHandler plugins.DataRequestHandler } // NewEvalHandler is the `DefaultEvalHandler` constructor. -func NewEvalHandler(requestHandler tsdbifaces.RequestHandler) *DefaultEvalHandler { +func NewEvalHandler(requestHandler plugins.DataRequestHandler) *DefaultEvalHandler { return &DefaultEvalHandler{ log: log.New("alerting.evalHandler"), alertJobTimeout: time.Second * 5, diff --git a/pkg/services/alerting/eval_handler_test.go b/pkg/services/alerting/eval_handler_test.go index debce806d8b..271d51c385d 100644 --- a/pkg/services/alerting/eval_handler_test.go +++ b/pkg/services/alerting/eval_handler_test.go @@ -4,8 +4,8 @@ import ( "context" "testing" + "github.com/grafana/grafana/pkg/plugins" "github.com/grafana/grafana/pkg/services/validations" - "github.com/grafana/grafana/pkg/tsdb/tsdbifaces" . "github.com/smartystreets/goconvey/convey" ) @@ -17,7 +17,7 @@ type conditionStub struct { noData bool } -func (c *conditionStub) Eval(context *EvalContext, reqHandler tsdbifaces.RequestHandler) (*ConditionResult, error) { +func (c *conditionStub) Eval(context *EvalContext, reqHandler plugins.DataRequestHandler) (*ConditionResult, error) { return &ConditionResult{Firing: c.firing, EvalMatches: c.matches, Operator: c.operator, NoDataFound: c.noData}, nil } diff --git a/pkg/services/alerting/interfaces.go b/pkg/services/alerting/interfaces.go index fd812262a63..6c0892c8c44 100644 --- a/pkg/services/alerting/interfaces.go +++ b/pkg/services/alerting/interfaces.go @@ -5,7 +5,7 @@ import ( "time" "github.com/grafana/grafana/pkg/models" - "github.com/grafana/grafana/pkg/tsdb/tsdbifaces" + "github.com/grafana/grafana/pkg/plugins" ) type evalHandler interface { @@ -60,5 +60,5 @@ type ConditionResult struct { // Condition is responsible for evaluating an alert condition. type Condition interface { - Eval(result *EvalContext, requestHandler tsdbifaces.RequestHandler) (*ConditionResult, error) + Eval(result *EvalContext, requestHandler plugins.DataRequestHandler) (*ConditionResult, error) } diff --git a/pkg/services/alerting/rule_test.go b/pkg/services/alerting/rule_test.go index bfaac9fa975..d7f2881daeb 100644 --- a/pkg/services/alerting/rule_test.go +++ b/pkg/services/alerting/rule_test.go @@ -5,8 +5,8 @@ import ( "github.com/grafana/grafana/pkg/components/simplejson" "github.com/grafana/grafana/pkg/models" + "github.com/grafana/grafana/pkg/plugins" "github.com/grafana/grafana/pkg/services/sqlstore" - "github.com/grafana/grafana/pkg/tsdb/tsdbifaces" . "github.com/smartystreets/goconvey/convey" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -14,7 +14,7 @@ import ( type FakeCondition struct{} -func (f *FakeCondition) Eval(context *EvalContext, reqHandler tsdbifaces.RequestHandler) (*ConditionResult, error) { +func (f *FakeCondition) Eval(context *EvalContext, reqHandler plugins.DataRequestHandler) (*ConditionResult, error) { return &ConditionResult{}, nil } diff --git a/pkg/tsdb/tsdbifaces/ifaces.go b/pkg/tsdb/tsdbifaces/ifaces.go deleted file mode 100644 index 3c75f86d255..00000000000 --- a/pkg/tsdb/tsdbifaces/ifaces.go +++ /dev/null @@ -1,13 +0,0 @@ -package tsdbifaces - -import ( - "context" - - "github.com/grafana/grafana/pkg/models" - "github.com/grafana/grafana/pkg/plugins" -) - -// RequestHandler is a data request handler interface. -type RequestHandler interface { - HandleRequest(context.Context, *models.DataSource, plugins.DataQuery) (plugins.DataResponse, error) -}