From a8f43b97a2a7423197f42ff619ca5c4f9d2a5ffe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Jamr=C3=B3z?= Date: Wed, 28 Sep 2022 13:17:43 +0200 Subject: [PATCH] Glue: Return correlation config in GET /correlations (#55801) * Fix getting and creating correlations config * Fix tests --- pkg/services/correlations/models.go | 2 +- .../datasources/config_reader_test.go | 23 +++++++++++-------- .../all-properties/all-properties.yaml | 4 ++++ .../one-datasource-two-correlations.yaml | 2 +- .../testdata/version-0/version-0.yaml | 4 ---- .../correlations/correlations_create_test.go | 1 + .../correlations/correlations_read_test.go | 2 +- 7 files changed, 22 insertions(+), 16 deletions(-) diff --git a/pkg/services/correlations/models.go b/pkg/services/correlations/models.go index 25ffb225840..588c4a92325 100644 --- a/pkg/services/correlations/models.go +++ b/pkg/services/correlations/models.go @@ -15,7 +15,7 @@ var ( // CorrelationConfigTarget is the target data query specific to target data source (Correlation.TargetUID) // swagger:model -type CorrelationConfigTarget struct{} +type CorrelationConfigTarget interface{} // swagger:model type CorrelationConfig struct { diff --git a/pkg/services/provisioning/datasources/config_reader_test.go b/pkg/services/provisioning/datasources/config_reader_test.go index b82a21ff5f2..f276a1fc51d 100644 --- a/pkg/services/provisioning/datasources/config_reader_test.go +++ b/pkg/services/provisioning/datasources/config_reader_test.go @@ -233,7 +233,7 @@ func TestDatasourceAsConfig(t *testing.T) { require.Equal(t, dsCfg.APIVersion, int64(0)) - validateDatasource(t, dsCfg) + validateDatasourceV0(t, dsCfg) validateDeleteDatasources(t, dsCfg) }) @@ -292,7 +292,7 @@ func validateDeleteDatasources(t *testing.T, dsCfg *configs) { require.Equal(t, deleteDs.OrgID, int64(2)) } -func validateDatasource(t *testing.T, dsCfg *configs) { +func validateDatasourceV0(t *testing.T, dsCfg *configs) { ds := dsCfg.Datasources[0] require.Equal(t, ds.Name, "name") require.Equal(t, ds.Type, "type") @@ -308,12 +308,6 @@ func validateDatasource(t *testing.T, dsCfg *configs) { require.True(t, ds.Editable) require.Equal(t, ds.Version, 10) - require.Equal(t, []map[string]interface{}{{ - "targetUID": "a target", - "label": "a label", - "description": "a description", - }}, ds.Correlations) - require.Greater(t, len(ds.JSONData), 2) require.Equal(t, ds.JSONData["graphiteVersion"], "1.1") require.Equal(t, ds.JSONData["tlsAuth"], true) @@ -326,9 +320,20 @@ func validateDatasource(t *testing.T, dsCfg *configs) { } func validateDatasourceV1(t *testing.T, dsCfg *configs) { - validateDatasource(t, dsCfg) + validateDatasourceV0(t, dsCfg) ds := dsCfg.Datasources[0] require.Equal(t, ds.UID, "test_uid") + require.Equal(t, []map[string]interface{}{{ + "targetUID": "a target", + "label": "a label", + "description": "a description", + "config": map[string]interface{}{ + "field": "fieldName", + "target": map[string]interface{}{ + "target": "test.query", + }, + }, + }}, ds.Correlations) } type mockOrgStore struct{ ExpectedOrg *models.Org } diff --git a/pkg/services/provisioning/datasources/testdata/all-properties/all-properties.yaml b/pkg/services/provisioning/datasources/testdata/all-properties/all-properties.yaml index e7ff9b43b19..e08d35f7959 100644 --- a/pkg/services/provisioning/datasources/testdata/all-properties/all-properties.yaml +++ b/pkg/services/provisioning/datasources/testdata/all-properties/all-properties.yaml @@ -16,6 +16,10 @@ datasources: - targetUID: a target label: a label description: a description + config: + field: "fieldName" + target: + target: "test.query" jsonData: graphiteVersion: "1.1" tlsAuth: true diff --git a/pkg/services/provisioning/datasources/testdata/one-datasource-two-correlations/one-datasource-two-correlations.yaml b/pkg/services/provisioning/datasources/testdata/one-datasource-two-correlations/one-datasource-two-correlations.yaml index eb58683a1ee..e8fa55b63bf 100644 --- a/pkg/services/provisioning/datasources/testdata/one-datasource-two-correlations/one-datasource-two-correlations.yaml +++ b/pkg/services/provisioning/datasources/testdata/one-datasource-two-correlations/one-datasource-two-correlations.yaml @@ -12,4 +12,4 @@ datasources: description: a description - targetUID: graphite label: a second label - description: a second description \ No newline at end of file + description: a second description diff --git a/pkg/services/provisioning/datasources/testdata/version-0/version-0.yaml b/pkg/services/provisioning/datasources/testdata/version-0/version-0.yaml index 3e2f49c9072..6a72bc9aa28 100644 --- a/pkg/services/provisioning/datasources/testdata/version-0/version-0.yaml +++ b/pkg/services/provisioning/datasources/testdata/version-0/version-0.yaml @@ -10,10 +10,6 @@ datasources: basic_auth_user: basic_auth_user with_credentials: true is_default: true - correlations: - - targetUID: a target - label: a label - description: a description json_data: graphiteVersion: "1.1" tlsAuth: true diff --git a/pkg/tests/api/correlations/correlations_create_test.go b/pkg/tests/api/correlations/correlations_create_test.go index e1910133c23..703ca6d4a7b 100644 --- a/pkg/tests/api/correlations/correlations_create_test.go +++ b/pkg/tests/api/correlations/correlations_create_test.go @@ -272,6 +272,7 @@ func TestIntegrationCreateCorrelation(t *testing.T) { require.Equal(t, description, response.Result.Description) require.Equal(t, label, response.Result.Label) require.Equal(t, "fieldName", response.Result.Config.Field) + require.Equal(t, map[string]interface{}{"expr": "foo"}, response.Result.Config.Target) require.NoError(t, res.Body.Close()) }) diff --git a/pkg/tests/api/correlations/correlations_read_test.go b/pkg/tests/api/correlations/correlations_read_test.go index adb48b8d8b8..32d9a53cbc4 100644 --- a/pkg/tests/api/correlations/correlations_read_test.go +++ b/pkg/tests/api/correlations/correlations_read_test.go @@ -77,7 +77,7 @@ func TestIntegrationReadCorrelation(t *testing.T) { OrgId: dsWithCorrelations.OrgId, Config: correlations.CorrelationConfig{ Field: "foo", - Target: struct{}{}, + Target: map[string]interface{}{}, }, })