diff --git a/public/app/plugins/datasource/grafana-azure-monitor-datasource/azure_monitor/azure_monitor_datasource.test.ts b/public/app/plugins/datasource/grafana-azure-monitor-datasource/azure_monitor/azure_monitor_datasource.test.ts index 4fba7134baa6..540d3e04834c 100644 --- a/public/app/plugins/datasource/grafana-azure-monitor-datasource/azure_monitor/azure_monitor_datasource.test.ts +++ b/public/app/plugins/datasource/grafana-azure-monitor-datasource/azure_monitor/azure_monitor_datasource.test.ts @@ -93,6 +93,36 @@ describe('AzureMonitorDatasource', () => { }, }); }); + + it('should migrate resource URI template variable to resource object', () => { + const subscription = '44693801-6ee6-49de-9b2d-9106972f9572'; + const resourceGroup = 'cloud-datasources'; + const metricNamespace = 'microsoft.insights/components'; + const resourceName = 'AppInsightsTestData'; + templateSrv.init([ + { + id: 'resourceUri', + name: 'resourceUri', + current: { + value: `/subscriptions/${subscription}/resourceGroups/${resourceGroup}/providers/${metricNamespace}/${resourceName}`, + }, + }, + ]); + const query = createMockQuery({ + azureMonitor: { + resourceUri: '$resourceUri', + }, + }); + const templatedQuery = ctx.ds.azureMonitorDatasource.applyTemplateVariables(query, {}); + expect(templatedQuery).toMatchObject({ + subscription, + azureMonitor: { + resourceGroup, + metricNamespace, + resourceName, + }, + }); + }); }); describe('When performing getMetricNamespaces', () => { diff --git a/public/app/plugins/datasource/grafana-azure-monitor-datasource/azure_monitor/azure_monitor_datasource.ts b/public/app/plugins/datasource/grafana-azure-monitor-datasource/azure_monitor/azure_monitor_datasource.ts index 2c168a2f1b97..b55f3c235a38 100644 --- a/public/app/plugins/datasource/grafana-azure-monitor-datasource/azure_monitor/azure_monitor_datasource.ts +++ b/public/app/plugins/datasource/grafana-azure-monitor-datasource/azure_monitor/azure_monitor_datasource.ts @@ -66,10 +66,11 @@ export default class AzureMonitorDatasource extends DataSourceWithBackend