From f9601f8f27b8ff23913ec4a372a1717fbbdcbaee Mon Sep 17 00:00:00 2001 From: Alyssa Bull <58453566+alyssabull@users.noreply.github.com> Date: Tue, 16 May 2023 09:08:33 -0600 Subject: [PATCH] Azure Monitor: Fix bug that did not show alert rule preview (#68339) --- .../azuremonitor/utils/migrateQuery.test.ts | 17 ++++++++++++++- .../azuremonitor/utils/migrateQuery.ts | 21 +++++++++++++------ 2 files changed, 31 insertions(+), 7 deletions(-) diff --git a/public/app/plugins/datasource/azuremonitor/utils/migrateQuery.test.ts b/public/app/plugins/datasource/azuremonitor/utils/migrateQuery.test.ts index c24b1752422..ed420e939c4 100644 --- a/public/app/plugins/datasource/azuremonitor/utils/migrateQuery.test.ts +++ b/public/app/plugins/datasource/azuremonitor/utils/migrateQuery.test.ts @@ -27,6 +27,8 @@ const azureMonitorQueryV9_0 = { dimensionFilters: [], metricName: 'dependencies/duration', metricNamespace: 'microsoft.insights/components', + resourceGroup: 'cloud-datasources', + resourceName: 'AppInsightsTestData', resourceUri: '/subscriptions/44693801-6ee6-49de-9b2d-9106972f9572/resourceGroups/cloud-datasources/providers/microsoft.insights/components/AppInsightsTestData', timeGrain: 'auto', @@ -204,9 +206,22 @@ describe('AzureMonitor: migrateQuery', () => { }) ); }); + + it('correctly remove outdated fields', () => { + const result = migrateQuery(azureMonitorQueryV9_0); + expect(result).toMatchObject( + expect.objectContaining({ + azureMonitor: expect.objectContaining({ + resources: modernMetricsQuery.azureMonitor!.resources, + }), + }) + ); + expect(result.azureMonitor).not.toHaveProperty('resourceGroup'); + expect(result.azureMonitor).not.toHaveProperty('resourceName'); + }); }); - it('should migrate a sigle resource for Logs', () => { + it('should migrate a single resource for Logs', () => { const q = { ...modernMetricsQuery, azureLogAnalytics: { diff --git a/public/app/plugins/datasource/azuremonitor/utils/migrateQuery.ts b/public/app/plugins/datasource/azuremonitor/utils/migrateQuery.ts index 784ba2e4fc2..843712c87aa 100644 --- a/public/app/plugins/datasource/azuremonitor/utils/migrateQuery.ts +++ b/public/app/plugins/datasource/azuremonitor/utils/migrateQuery.ts @@ -176,13 +176,22 @@ function migrateDimensionToResourceObj(query: AzureMonitorQuery): AzureMonitorQu function migrateResourceGroupAndName(query: AzureMonitorQuery): AzureMonitorQuery { let workingQuery = query; - if (workingQuery.azureMonitor) { - workingQuery.azureMonitor.resources = [ - { resourceGroup: workingQuery.azureMonitor.resourceGroup, resourceName: workingQuery.azureMonitor.resourceName }, - ]; + if (workingQuery.azureMonitor?.resourceGroup && workingQuery.azureMonitor?.resourceName) { + workingQuery = { + ...workingQuery, + azureMonitor: { + ...workingQuery.azureMonitor, + resources: [ + { + resourceGroup: workingQuery.azureMonitor.resourceGroup, + resourceName: workingQuery.azureMonitor.resourceName, + }, + ], + }, + }; - delete workingQuery.azureMonitor.resourceGroup; - delete workingQuery.azureMonitor.resourceName; + delete workingQuery.azureMonitor?.resourceGroup; + delete workingQuery.azureMonitor?.resourceName; } return workingQuery;