diff --git a/pkg/tsdb/azuremonitor/azuremonitor-datasource.go b/pkg/tsdb/azuremonitor/azuremonitor-datasource.go index 3e77ae6179b..5a356b7ff5c 100644 --- a/pkg/tsdb/azuremonitor/azuremonitor-datasource.go +++ b/pkg/tsdb/azuremonitor/azuremonitor-datasource.go @@ -169,10 +169,13 @@ func (e *AzureMonitorDatasource) executeQuery(ctx context.Context, query *AzureM defer span.Finish() - opentracing.GlobalTracer().Inject( + if err := opentracing.GlobalTracer().Inject( span.Context(), opentracing.HTTPHeaders, - opentracing.HTTPHeadersCarrier(req.Header)) + opentracing.HTTPHeadersCarrier(req.Header)); err != nil { + queryResult.Error = err + return queryResult, AzureMonitorResponse{}, nil + } azlog.Debug("AzureMonitor", "Request ApiURL", req.URL.String()) res, err := ctxhttp.Do(ctx, e.httpClient, req) diff --git a/pkg/tsdb/elasticsearch/client/client_test.go b/pkg/tsdb/elasticsearch/client/client_test.go index ee43faf588b..993310d6beb 100644 --- a/pkg/tsdb/elasticsearch/client/client_test.go +++ b/pkg/tsdb/elasticsearch/client/client_test.go @@ -12,6 +12,7 @@ import ( "github.com/grafana/grafana/pkg/components/simplejson" "github.com/grafana/grafana/pkg/tsdb" + "github.com/stretchr/testify/require" "github.com/grafana/grafana/pkg/models" . "github.com/smartystreets/goconvey/convey" @@ -402,13 +403,13 @@ func httpClientScenario(t *testing.T, desc string, ds *models.DataSource, fn sce ts := httptest.NewServer(http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) { sc.request = r buf, err := ioutil.ReadAll(r.Body) - if err != nil { - t.Fatalf("Failed to read request body, err=%v", err) - } + require.Nil(t, err) + sc.requestBody = bytes.NewBuffer(buf) rw.Header().Add("Content-Type", "application/json") - rw.Write([]byte(sc.responseBody)) + _, err = rw.Write([]byte(sc.responseBody)) + require.Nil(t, err) rw.WriteHeader(sc.responseStatus) })) ds.Url = ts.URL diff --git a/pkg/tsdb/graphite/graphite.go b/pkg/tsdb/graphite/graphite.go index b74112c3001..1add49b98b9 100644 --- a/pkg/tsdb/graphite/graphite.go +++ b/pkg/tsdb/graphite/graphite.go @@ -82,10 +82,12 @@ func (e *GraphiteExecutor) Query(ctx context.Context, dsInfo *models.DataSource, defer span.Finish() - opentracing.GlobalTracer().Inject( + if err := opentracing.GlobalTracer().Inject( span.Context(), opentracing.HTTPHeaders, - opentracing.HTTPHeadersCarrier(req.Header)) + opentracing.HTTPHeadersCarrier(req.Header)); err != nil { + return nil, err + } res, err := ctxhttp.Do(ctx, httpClient, req) if err != nil { diff --git a/pkg/tsdb/influxdb/response_parser_test.go b/pkg/tsdb/influxdb/response_parser_test.go index 43b96657e3e..860208ff0a2 100644 --- a/pkg/tsdb/influxdb/response_parser_test.go +++ b/pkg/tsdb/influxdb/response_parser_test.go @@ -14,9 +14,10 @@ func TestInfluxdbResponseParser(t *testing.T) { parser := &ResponseParser{} cfg := setting.NewCfg() - cfg.Load(&setting.CommandLineArgs{ + err := cfg.Load(&setting.CommandLineArgs{ HomePath: "../../../", }) + So(err, ShouldBeNil) response := &Response{ Results: []Result{ diff --git a/pkg/tsdb/interval_test.go b/pkg/tsdb/interval_test.go index 4cd3fcea532..971a6bc2364 100644 --- a/pkg/tsdb/interval_test.go +++ b/pkg/tsdb/interval_test.go @@ -11,9 +11,10 @@ import ( func TestInterval(t *testing.T) { Convey("Default interval ", t, func() { cfg := setting.NewCfg() - cfg.Load(&setting.CommandLineArgs{ + err := cfg.Load(&setting.CommandLineArgs{ HomePath: "../../", }) + So(err, ShouldBeNil) calculator := NewIntervalCalculator(&IntervalOptions{}) diff --git a/pkg/tsdb/mssql/mssql_test.go b/pkg/tsdb/mssql/mssql_test.go index aef4a9a0d72..760c6dcf075 100644 --- a/pkg/tsdb/mssql/mssql_test.go +++ b/pkg/tsdb/mssql/mssql_test.go @@ -382,7 +382,8 @@ func TestMSSQL(t *testing.T) { if exist, err := sess.IsTableExist(metric_values{}); err != nil || exist { So(err, ShouldBeNil) - sess.DropTable(metric_values{}) + err = sess.DropTable(metric_values{}) + So(err, ShouldBeNil) } err := sess.CreateTable(metric_values{}) So(err, ShouldBeNil) diff --git a/pkg/tsdb/mysql/mysql.go b/pkg/tsdb/mysql/mysql.go index 2aa0db170e5..fe41a9f38b5 100644 --- a/pkg/tsdb/mysql/mysql.go +++ b/pkg/tsdb/mysql/mysql.go @@ -46,7 +46,9 @@ func newMysqlQueryEndpoint(datasource *models.DataSource) (tsdb.TsdbQueryEndpoin if tlsConfig.RootCAs != nil || len(tlsConfig.Certificates) > 0 { tlsConfigString := fmt.Sprintf("ds%d", datasource.Id) - mysql.RegisterTLSConfig(tlsConfigString, tlsConfig) + if err := mysql.RegisterTLSConfig(tlsConfigString, tlsConfig); err != nil { + return nil, err + } cnnstr += "&tls=" + tlsConfigString } diff --git a/pkg/tsdb/mysql/mysql_test.go b/pkg/tsdb/mysql/mysql_test.go index 7c53b307bb6..b2ff2bc969b 100644 --- a/pkg/tsdb/mysql/mysql_test.go +++ b/pkg/tsdb/mysql/mysql_test.go @@ -68,7 +68,8 @@ func TestMySQL(t *testing.T) { Convey("Given a table with different native data types", func() { if exists, err := sess.IsTableExist("mysql_types"); err != nil || exists { So(err, ShouldBeNil) - sess.DropTable("mysql_types") + err = sess.DropTable("mysql_types") + So(err, ShouldBeNil) } sql := "CREATE TABLE `mysql_types` (" @@ -181,7 +182,8 @@ func TestMySQL(t *testing.T) { if exist, err := sess.IsTableExist(metric{}); err != nil || exist { So(err, ShouldBeNil) - sess.DropTable(metric{}) + err = sess.DropTable(metric{}) + So(err, ShouldBeNil) } err := sess.CreateTable(metric{}) So(err, ShouldBeNil) @@ -413,7 +415,8 @@ func TestMySQL(t *testing.T) { if exist, err := sess.IsTableExist(metric_values{}); err != nil || exist { So(err, ShouldBeNil) - sess.DropTable(metric_values{}) + err = sess.DropTable(metric_values{}) + So(err, ShouldBeNil) } err := sess.CreateTable(metric_values{}) So(err, ShouldBeNil) @@ -788,7 +791,8 @@ func TestMySQL(t *testing.T) { if exist, err := sess.IsTableExist(event{}); err != nil || exist { So(err, ShouldBeNil) - sess.DropTable(event{}) + err = sess.DropTable(event{}) + So(err, ShouldBeNil) } err := sess.CreateTable(event{}) So(err, ShouldBeNil) diff --git a/pkg/tsdb/postgres/postgres_test.go b/pkg/tsdb/postgres/postgres_test.go index 9624c9e53d6..23d0830d3dd 100644 --- a/pkg/tsdb/postgres/postgres_test.go +++ b/pkg/tsdb/postgres/postgres_test.go @@ -392,7 +392,8 @@ func TestPostgres(t *testing.T) { if exist, err := sess.IsTableExist(metric_values{}); err != nil || exist { So(err, ShouldBeNil) - sess.DropTable(metric_values{}) + err = sess.DropTable(metric_values{}) + So(err, ShouldBeNil) } err := sess.CreateTable(metric_values{}) So(err, ShouldBeNil) @@ -721,7 +722,8 @@ func TestPostgres(t *testing.T) { if exist, err := sess.IsTableExist(event{}); err != nil || exist { So(err, ShouldBeNil) - sess.DropTable(event{}) + err = sess.DropTable(event{}) + So(err, ShouldBeNil) } err := sess.CreateTable(event{}) So(err, ShouldBeNil) diff --git a/pkg/tsdb/stackdriver/stackdriver.go b/pkg/tsdb/stackdriver/stackdriver.go index 0c65738fac3..123ab49c61e 100644 --- a/pkg/tsdb/stackdriver/stackdriver.go +++ b/pkg/tsdb/stackdriver/stackdriver.go @@ -303,10 +303,13 @@ func (e *StackdriverExecutor) executeQuery(ctx context.Context, query *Stackdriv defer span.Finish() - opentracing.GlobalTracer().Inject( + if err := opentracing.GlobalTracer().Inject( span.Context(), opentracing.HTTPHeaders, - opentracing.HTTPHeadersCarrier(req.Header)) + opentracing.HTTPHeadersCarrier(req.Header)); err != nil { + queryResult.Error = err + return queryResult, StackdriverResponse{}, nil + } res, err := ctxhttp.Do(ctx, e.httpClient, req) if err != nil {