From 97fb752819780801a4909f34beeca0c77fd3b36e Mon Sep 17 00:00:00 2001 From: Andres Martinez Gotor Date: Wed, 23 Nov 2022 16:15:18 +0100 Subject: [PATCH] Azure Monitor Logs: Avoid warning when the response is empty (#59211) (cherry picked from commit 9d88e14f01f7c9ced282815b3d48eb70dec01c95) --- .../loganalytics/azure-log-analytics-datasource.go | 4 ++++ .../loganalytics/azure-log-analytics-datasource_test.go | 9 +++++++++ 2 files changed, 13 insertions(+) diff --git a/pkg/tsdb/azuremonitor/loganalytics/azure-log-analytics-datasource.go b/pkg/tsdb/azuremonitor/loganalytics/azure-log-analytics-datasource.go index cda34cea0656..b05254bf52ff 100644 --- a/pkg/tsdb/azuremonitor/loganalytics/azure-log-analytics-datasource.go +++ b/pkg/tsdb/azuremonitor/loganalytics/azure-log-analytics-datasource.go @@ -315,6 +315,10 @@ type LogAnalyticsMeta struct { } func setAdditionalFrameMeta(frame *data.Frame, query, subscriptionID, workspace string) error { + if frame.Meta == nil || frame.Meta.Custom == nil { + // empty response + return nil + } frame.Meta.ExecutedQueryString = query la, ok := frame.Meta.Custom.(*LogAnalyticsMeta) if !ok { diff --git a/pkg/tsdb/azuremonitor/loganalytics/azure-log-analytics-datasource_test.go b/pkg/tsdb/azuremonitor/loganalytics/azure-log-analytics-datasource_test.go index 008d85f329ae..e70fd49fe750 100644 --- a/pkg/tsdb/azuremonitor/loganalytics/azure-log-analytics-datasource_test.go +++ b/pkg/tsdb/azuremonitor/loganalytics/azure-log-analytics-datasource_test.go @@ -11,6 +11,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/grafana/grafana-plugin-sdk-go/backend" + "github.com/grafana/grafana-plugin-sdk-go/data" "github.com/stretchr/testify/require" "github.com/grafana/grafana/pkg/infra/log" @@ -242,3 +243,11 @@ func Test_executeQueryErrorWithDifferentLogAnalyticsCreds(t *testing.T) { t.Error("expecting the error to inform of bad credentials") } } + +func Test_setAdditionalFrameMeta(t *testing.T) { + t.Run("it should not error with an empty response", func(t *testing.T) { + frame := data.NewFrame("test") + err := setAdditionalFrameMeta(frame, "", "", "") + require.NoError(t, err) + }) +}