From 71cd88b6f5e48847cdbf48f74a22a65e1c5f4d93 Mon Sep 17 00:00:00 2001 From: Todd Treece <360020+toddtreece@users.noreply.github.com> Date: Wed, 11 Sep 2024 02:33:26 -0400 Subject: [PATCH] Chore: Fix DeepCopyInto for DataQuery (#1081) --- experimental/apis/data/v0alpha1/query.go | 2 +- experimental/apis/data/v0alpha1/query_test.go | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/experimental/apis/data/v0alpha1/query.go b/experimental/apis/data/v0alpha1/query.go index a788f532e..6e9af4af6 100644 --- a/experimental/apis/data/v0alpha1/query.go +++ b/experimental/apis/data/v0alpha1/query.go @@ -246,7 +246,7 @@ func (g *DataQuery) DeepCopyInto(out *DataQuery) { out.additional = map[string]any{} if len(g.additional) > 0 { jj, err := json.Marshal(g.additional) - if err != nil { + if err == nil { _ = json.Unmarshal(jj, &out.additional) } } diff --git a/experimental/apis/data/v0alpha1/query_test.go b/experimental/apis/data/v0alpha1/query_test.go index e86a2cb6b..0677651b9 100644 --- a/experimental/apis/data/v0alpha1/query_test.go +++ b/experimental/apis/data/v0alpha1/query_test.go @@ -20,7 +20,8 @@ func TestParseQueriesIntoQueryDataRequest(t *testing.T) { "spreadsheet": "spreadsheetID", "datasourceId": 4, "intervalMs": 30000, - "maxDataPoints": 794 + "maxDataPoints": 794, + "expr": "{filename=\"/var/log/docker/2e21a640173f1f3359e2a178905dad6b1b56e2da6e3d53dbdba0a1123cdcb4fe/json.log\"} | logfmt" }, { "refId": "Z", @@ -75,6 +76,11 @@ func TestParseQueriesIntoQueryDataRequest(t *testing.T) { }`, string(out)) }) + t.Run("verify deep copy", func(t *testing.T) { + cpy := req.DeepCopy() + require.Equal(t, req, cpy) + }) + t.Run("same results from either parser", func(t *testing.T) { typed := &QueryDataRequest{} err = json.Unmarshal(request, typed)