|
|
@@ -36,7 +36,7 @@ describe('AzureMonitorDatasource', () => {
|
|
|
beforeEach(() => {
|
|
|
ctx.instanceSettings.jsonData.tenantId = 'xxx';
|
|
|
ctx.instanceSettings.jsonData.clientId = 'xxx';
|
|
|
- ctx.backendSrv.datasourceRequest = options => {
|
|
|
+ ctx.backendSrv.datasourceRequest = () => {
|
|
|
return ctx.$q.reject(error);
|
|
|
};
|
|
|
});
|
|
|
@@ -63,7 +63,7 @@ describe('AzureMonitorDatasource', () => {
|
|
|
beforeEach(() => {
|
|
|
ctx.instanceSettings.jsonData.tenantId = 'xxx';
|
|
|
ctx.instanceSettings.jsonData.clientId = 'xxx';
|
|
|
- ctx.backendSrv.datasourceRequest = options => {
|
|
|
+ ctx.backendSrv.datasourceRequest = () => {
|
|
|
return ctx.$q.when({ data: response, status: 200 });
|
|
|
};
|
|
|
});
|
|
|
@@ -135,7 +135,7 @@ describe('AzureMonitorDatasource', () => {
|
|
|
};
|
|
|
|
|
|
beforeEach(() => {
|
|
|
- ctx.backendSrv.datasourceRequest = options => {
|
|
|
+ ctx.backendSrv.datasourceRequest = (options: { url: string }) => {
|
|
|
expect(options.url).toContain(
|
|
|
'/testRG/providers/Microsoft.Compute/virtualMachines/testRN/providers/microsoft.insights/metrics'
|
|
|
);
|
|
|
@@ -191,7 +191,7 @@ describe('AzureMonitorDatasource', () => {
|
|
|
};
|
|
|
|
|
|
beforeEach(() => {
|
|
|
- ctx.backendSrv.datasourceRequest = options => {
|
|
|
+ ctx.backendSrv.datasourceRequest = (options: { url: string }) => {
|
|
|
expect(options.url).toContain(
|
|
|
'/testRG/providers/Microsoft.Compute/virtualMachines/testRN/providers/microsoft.insights/metrics'
|
|
|
);
|
|
|
@@ -257,7 +257,7 @@ describe('AzureMonitorDatasource', () => {
|
|
|
|
|
|
describe('and with no alias specified', () => {
|
|
|
beforeEach(() => {
|
|
|
- ctx.backendSrv.datasourceRequest = options => {
|
|
|
+ ctx.backendSrv.datasourceRequest = (options: { url: string }) => {
|
|
|
const expected =
|
|
|
'/testRG/providers/Microsoft.Compute/virtualMachines/testRN/providers/microsoft.insights/metrics';
|
|
|
expect(options.url).toContain(expected);
|
|
|
@@ -283,7 +283,7 @@ describe('AzureMonitorDatasource', () => {
|
|
|
'{{resourcegroup}} + {{namespace}} + {{resourcename}} + ' +
|
|
|
'{{metric}} + {{dimensionname}} + {{dimensionvalue}}';
|
|
|
|
|
|
- ctx.backendSrv.datasourceRequest = options => {
|
|
|
+ ctx.backendSrv.datasourceRequest = (options: { url: string }) => {
|
|
|
const expected =
|
|
|
'/testRG/providers/Microsoft.Compute/virtualMachines/testRN/providers/microsoft.insights/metrics';
|
|
|
expect(options.url).toContain(expected);
|
|
|
@@ -308,7 +308,36 @@ describe('AzureMonitorDatasource', () => {
|
|
|
});
|
|
|
|
|
|
describe('When performing metricFindQuery', () => {
|
|
|
- describe('with a metric names query', () => {
|
|
|
+ describe('with a subscriptions query', () => {
|
|
|
+ const response = {
|
|
|
+ data: {
|
|
|
+ value: [
|
|
|
+ { displayName: 'Primary', subscriptionId: 'sub1' },
|
|
|
+ { displayName: 'Secondary', subscriptionId: 'sub2' },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ status: 200,
|
|
|
+ statusText: 'OK',
|
|
|
+ };
|
|
|
+
|
|
|
+ beforeEach(() => {
|
|
|
+ ctx.backendSrv.datasourceRequest = () => {
|
|
|
+ return ctx.$q.when(response);
|
|
|
+ };
|
|
|
+ });
|
|
|
+
|
|
|
+ it('should return a list of subscriptions', () => {
|
|
|
+ return ctx.ds.metricFindQuery('subscriptions()').then((results: Array<{ text: string; value: string }>) => {
|
|
|
+ expect(results.length).toBe(2);
|
|
|
+ expect(results[0].text).toBe('Primary - sub1');
|
|
|
+ expect(results[0].value).toBe('sub1');
|
|
|
+ expect(results[1].text).toBe('Secondary - sub2');
|
|
|
+ expect(results[1].value).toBe('sub2');
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ describe('with a resource groups query', () => {
|
|
|
const response = {
|
|
|
data: {
|
|
|
value: [{ name: 'grp1' }, { name: 'grp2' }],
|
|
|
@@ -318,13 +347,13 @@ describe('AzureMonitorDatasource', () => {
|
|
|
};
|
|
|
|
|
|
beforeEach(() => {
|
|
|
- ctx.backendSrv.datasourceRequest = options => {
|
|
|
+ ctx.backendSrv.datasourceRequest = () => {
|
|
|
return ctx.$q.when(response);
|
|
|
};
|
|
|
});
|
|
|
|
|
|
- it('should return a list of metric names', () => {
|
|
|
- return ctx.ds.metricFindQuery('ResourceGroups()').then(results => {
|
|
|
+ it('should return a list of resource groups', () => {
|
|
|
+ return ctx.ds.metricFindQuery('ResourceGroups()').then((results: Array<{ text: string; value: string }>) => {
|
|
|
expect(results.length).toBe(2);
|
|
|
expect(results[0].text).toBe('grp1');
|
|
|
expect(results[0].value).toBe('grp1');
|
|
|
@@ -334,7 +363,36 @@ describe('AzureMonitorDatasource', () => {
|
|
|
});
|
|
|
});
|
|
|
|
|
|
- describe('with metric definitions query', () => {
|
|
|
+ describe('with a resource groups query that specifies a subscription id', () => {
|
|
|
+ const response = {
|
|
|
+ data: {
|
|
|
+ value: [{ name: 'grp1' }, { name: 'grp2' }],
|
|
|
+ },
|
|
|
+ status: 200,
|
|
|
+ statusText: 'OK',
|
|
|
+ };
|
|
|
+
|
|
|
+ beforeEach(() => {
|
|
|
+ ctx.backendSrv.datasourceRequest = (options: { url: string }) => {
|
|
|
+ expect(options.url).toContain('11112222-eeee-4949-9b2d-9106972f9123');
|
|
|
+ return ctx.$q.when(response);
|
|
|
+ };
|
|
|
+ });
|
|
|
+
|
|
|
+ it('should return a list of resource groups', () => {
|
|
|
+ return ctx.ds
|
|
|
+ .metricFindQuery('ResourceGroups(11112222-eeee-4949-9b2d-9106972f9123)')
|
|
|
+ .then((results: Array<{ text: string; value: string }>) => {
|
|
|
+ expect(results.length).toBe(2);
|
|
|
+ expect(results[0].text).toBe('grp1');
|
|
|
+ expect(results[0].value).toBe('grp1');
|
|
|
+ expect(results[1].text).toBe('grp2');
|
|
|
+ expect(results[1].value).toBe('grp2');
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ describe('with namespaces query', () => {
|
|
|
const response = {
|
|
|
data: {
|
|
|
value: [
|
|
|
@@ -349,7 +407,7 @@ describe('AzureMonitorDatasource', () => {
|
|
|
};
|
|
|
|
|
|
beforeEach(() => {
|
|
|
- ctx.backendSrv.datasourceRequest = options => {
|
|
|
+ ctx.backendSrv.datasourceRequest = (options: { url: string }) => {
|
|
|
const baseUrl =
|
|
|
'http://azuremonitor.com/azuremonitor/subscriptions/9935389e-9122-4ef9-95f9-1513dd24753f/resourceGroups';
|
|
|
expect(options.url).toBe(baseUrl + '/nodesapp/resources?api-version=2018-01-01');
|
|
|
@@ -357,12 +415,48 @@ describe('AzureMonitorDatasource', () => {
|
|
|
};
|
|
|
});
|
|
|
|
|
|
- it('should return a list of metric definitions', () => {
|
|
|
- return ctx.ds.metricFindQuery('Namespaces(nodesapp)').then(results => {
|
|
|
- expect(results.length).toEqual(1);
|
|
|
- expect(results[0].text).toEqual('Microsoft.Network/networkInterfaces');
|
|
|
- expect(results[0].value).toEqual('Microsoft.Network/networkInterfaces');
|
|
|
- });
|
|
|
+ it('should return a list of namespaces', () => {
|
|
|
+ return ctx.ds
|
|
|
+ .metricFindQuery('Namespaces(nodesapp)')
|
|
|
+ .then((results: Array<{ text: string; value: string }>) => {
|
|
|
+ expect(results.length).toEqual(1);
|
|
|
+ expect(results[0].text).toEqual('Microsoft.Network/networkInterfaces');
|
|
|
+ expect(results[0].value).toEqual('Microsoft.Network/networkInterfaces');
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ describe('with namespaces query that specifies a subscription id', () => {
|
|
|
+ const response = {
|
|
|
+ data: {
|
|
|
+ value: [
|
|
|
+ {
|
|
|
+ name: 'test',
|
|
|
+ type: 'Microsoft.Network/networkInterfaces',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ status: 200,
|
|
|
+ statusText: 'OK',
|
|
|
+ };
|
|
|
+
|
|
|
+ beforeEach(() => {
|
|
|
+ ctx.backendSrv.datasourceRequest = (options: { url: string }) => {
|
|
|
+ const baseUrl =
|
|
|
+ 'http://azuremonitor.com/azuremonitor/subscriptions/11112222-eeee-4949-9b2d-9106972f9123/resourceGroups';
|
|
|
+ expect(options.url).toBe(baseUrl + '/nodesapp/resources?api-version=2018-01-01');
|
|
|
+ return ctx.$q.when(response);
|
|
|
+ };
|
|
|
+ });
|
|
|
+
|
|
|
+ it('should return a list of namespaces', () => {
|
|
|
+ return ctx.ds
|
|
|
+ .metricFindQuery('namespaces(11112222-eeee-4949-9b2d-9106972f9123, nodesapp)')
|
|
|
+ .then((results: Array<{ text: string; value: string }>) => {
|
|
|
+ expect(results.length).toEqual(1);
|
|
|
+ expect(results[0].text).toEqual('Microsoft.Network/networkInterfaces');
|
|
|
+ expect(results[0].value).toEqual('Microsoft.Network/networkInterfaces');
|
|
|
+ });
|
|
|
});
|
|
|
});
|
|
|
|
|
|
@@ -385,7 +479,7 @@ describe('AzureMonitorDatasource', () => {
|
|
|
};
|
|
|
|
|
|
beforeEach(() => {
|
|
|
- ctx.backendSrv.datasourceRequest = options => {
|
|
|
+ ctx.backendSrv.datasourceRequest = (options: { url: string }) => {
|
|
|
const baseUrl =
|
|
|
'http://azuremonitor.com/azuremonitor/subscriptions/9935389e-9122-4ef9-95f9-1513dd24753f/resourceGroups';
|
|
|
expect(options.url).toBe(baseUrl + '/nodeapp/resources?api-version=2018-01-01');
|
|
|
@@ -394,11 +488,53 @@ describe('AzureMonitorDatasource', () => {
|
|
|
});
|
|
|
|
|
|
it('should return a list of resource names', () => {
|
|
|
- return ctx.ds.metricFindQuery('resourceNames(nodeapp, microsoft.insights/components )').then(results => {
|
|
|
- expect(results.length).toEqual(1);
|
|
|
- expect(results[0].text).toEqual('nodeapp');
|
|
|
- expect(results[0].value).toEqual('nodeapp');
|
|
|
- });
|
|
|
+ return ctx.ds
|
|
|
+ .metricFindQuery('resourceNames(nodeapp, microsoft.insights/components )')
|
|
|
+ .then((results: Array<{ text: string; value: string }>) => {
|
|
|
+ expect(results.length).toEqual(1);
|
|
|
+ expect(results[0].text).toEqual('nodeapp');
|
|
|
+ expect(results[0].value).toEqual('nodeapp');
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ describe('with resource names query and that specifies a subscription id', () => {
|
|
|
+ const response = {
|
|
|
+ data: {
|
|
|
+ value: [
|
|
|
+ {
|
|
|
+ name: 'Failure Anomalies - nodeapp',
|
|
|
+ type: 'microsoft.insights/alertrules',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'nodeapp',
|
|
|
+ type: 'microsoft.insights/components',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ status: 200,
|
|
|
+ statusText: 'OK',
|
|
|
+ };
|
|
|
+
|
|
|
+ beforeEach(() => {
|
|
|
+ ctx.backendSrv.datasourceRequest = (options: { url: string }) => {
|
|
|
+ const baseUrl =
|
|
|
+ 'http://azuremonitor.com/azuremonitor/subscriptions/11112222-eeee-4949-9b2d-9106972f9123/resourceGroups';
|
|
|
+ expect(options.url).toBe(baseUrl + '/nodeapp/resources?api-version=2018-01-01');
|
|
|
+ return ctx.$q.when(response);
|
|
|
+ };
|
|
|
+ });
|
|
|
+
|
|
|
+ it('should return a list of resource names', () => {
|
|
|
+ return ctx.ds
|
|
|
+ .metricFindQuery(
|
|
|
+ 'resourceNames(11112222-eeee-4949-9b2d-9106972f9123, nodeapp, microsoft.insights/components )'
|
|
|
+ )
|
|
|
+ .then(results => {
|
|
|
+ expect(results.length).toEqual(1);
|
|
|
+ expect(results[0].text).toEqual('nodeapp');
|
|
|
+ expect(results[0].value).toEqual('nodeapp');
|
|
|
+ });
|
|
|
});
|
|
|
});
|
|
|
|
|
|
@@ -425,7 +561,7 @@ describe('AzureMonitorDatasource', () => {
|
|
|
};
|
|
|
|
|
|
beforeEach(() => {
|
|
|
- ctx.backendSrv.datasourceRequest = options => {
|
|
|
+ ctx.backendSrv.datasourceRequest = (options: { url: string }) => {
|
|
|
const baseUrl =
|
|
|
'http://azuremonitor.com/azuremonitor/subscriptions/9935389e-9122-4ef9-95f9-1513dd24753f/resourceGroups';
|
|
|
expect(options.url).toBe(
|
|
|
@@ -438,14 +574,109 @@ describe('AzureMonitorDatasource', () => {
|
|
|
});
|
|
|
|
|
|
it('should return a list of metric names', () => {
|
|
|
- return ctx.ds.metricFindQuery('Metricnames(nodeapp, microsoft.insights/components, rn)').then(results => {
|
|
|
- expect(results.length).toEqual(2);
|
|
|
- expect(results[0].text).toEqual('Percentage CPU');
|
|
|
- expect(results[0].value).toEqual('Percentage CPU');
|
|
|
+ return ctx.ds
|
|
|
+ .metricFindQuery('Metricnames(nodeapp, microsoft.insights/components, rn)')
|
|
|
+ .then((results: Array<{ text: string; value: string }>) => {
|
|
|
+ expect(results.length).toEqual(2);
|
|
|
+ expect(results[0].text).toEqual('Percentage CPU');
|
|
|
+ expect(results[0].value).toEqual('Percentage CPU');
|
|
|
|
|
|
- expect(results[1].text).toEqual('Used capacity');
|
|
|
- expect(results[1].value).toEqual('UsedCapacity');
|
|
|
- });
|
|
|
+ expect(results[1].text).toEqual('Used capacity');
|
|
|
+ expect(results[1].value).toEqual('UsedCapacity');
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ describe('with metric names query and specifies a subscription id', () => {
|
|
|
+ const response = {
|
|
|
+ data: {
|
|
|
+ value: [
|
|
|
+ {
|
|
|
+ name: {
|
|
|
+ value: 'Percentage CPU',
|
|
|
+ localizedValue: 'Percentage CPU',
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: {
|
|
|
+ value: 'UsedCapacity',
|
|
|
+ localizedValue: 'Used capacity',
|
|
|
+ },
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ status: 200,
|
|
|
+ statusText: 'OK',
|
|
|
+ };
|
|
|
+
|
|
|
+ beforeEach(() => {
|
|
|
+ ctx.backendSrv.datasourceRequest = (options: { url: string }) => {
|
|
|
+ const baseUrl =
|
|
|
+ 'http://azuremonitor.com/azuremonitor/subscriptions/11112222-eeee-4949-9b2d-9106972f9123/resourceGroups';
|
|
|
+ expect(options.url).toBe(
|
|
|
+ baseUrl +
|
|
|
+ '/nodeapp/providers/microsoft.insights/components/rn/providers/microsoft.insights/' +
|
|
|
+ 'metricdefinitions?api-version=2018-01-01'
|
|
|
+ );
|
|
|
+ return ctx.$q.when(response);
|
|
|
+ };
|
|
|
+ });
|
|
|
+
|
|
|
+ it('should return a list of metric names', () => {
|
|
|
+ return ctx.ds
|
|
|
+ .metricFindQuery(
|
|
|
+ 'Metricnames(11112222-eeee-4949-9b2d-9106972f9123, nodeapp, microsoft.insights/components, rn)'
|
|
|
+ )
|
|
|
+ .then((results: Array<{ text: string; value: string }>) => {
|
|
|
+ expect(results.length).toEqual(2);
|
|
|
+ expect(results[0].text).toEqual('Percentage CPU');
|
|
|
+ expect(results[0].value).toEqual('Percentage CPU');
|
|
|
+
|
|
|
+ expect(results[1].text).toEqual('Used capacity');
|
|
|
+ expect(results[1].value).toEqual('UsedCapacity');
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ describe('When performing getSubscriptions', () => {
|
|
|
+ const response = {
|
|
|
+ data: {
|
|
|
+ value: [
|
|
|
+ {
|
|
|
+ id: '/subscriptions/99999999-cccc-bbbb-aaaa-9106972f9572',
|
|
|
+ subscriptionId: '99999999-cccc-bbbb-aaaa-9106972f9572',
|
|
|
+ tenantId: '99999999-aaaa-bbbb-cccc-51c4f982ec48',
|
|
|
+ displayName: 'Primary Subscription',
|
|
|
+ state: 'Enabled',
|
|
|
+ subscriptionPolicies: {
|
|
|
+ locationPlacementId: 'Public_2014-09-01',
|
|
|
+ quotaId: 'PayAsYouGo_2014-09-01',
|
|
|
+ spendingLimit: 'Off',
|
|
|
+ },
|
|
|
+ authorizationSource: 'RoleBased',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ count: {
|
|
|
+ type: 'Total',
|
|
|
+ value: 1,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ status: 200,
|
|
|
+ statusText: 'OK',
|
|
|
+ };
|
|
|
+
|
|
|
+ beforeEach(() => {
|
|
|
+ ctx.backendSrv.datasourceRequest = () => {
|
|
|
+ return ctx.$q.when(response);
|
|
|
+ };
|
|
|
+ });
|
|
|
+
|
|
|
+ it('should return list of Resource Groups', () => {
|
|
|
+ return ctx.ds.getSubscriptions().then((results: Array<{ text: string; value: string }>) => {
|
|
|
+ expect(results.length).toEqual(1);
|
|
|
+ expect(results[0].text).toEqual('Primary Subscription - 99999999-cccc-bbbb-aaaa-9106972f9572');
|
|
|
+ expect(results[0].value).toEqual('99999999-cccc-bbbb-aaaa-9106972f9572');
|
|
|
});
|
|
|
});
|
|
|
});
|
|
|
@@ -460,13 +691,13 @@ describe('AzureMonitorDatasource', () => {
|
|
|
};
|
|
|
|
|
|
beforeEach(() => {
|
|
|
- ctx.backendSrv.datasourceRequest = options => {
|
|
|
+ ctx.backendSrv.datasourceRequest = () => {
|
|
|
return ctx.$q.when(response);
|
|
|
};
|
|
|
});
|
|
|
|
|
|
it('should return list of Resource Groups', () => {
|
|
|
- return ctx.ds.getResourceGroups().then(results => {
|
|
|
+ return ctx.ds.getResourceGroups().then((results: Array<{ text: string; value: string }>) => {
|
|
|
expect(results.length).toEqual(2);
|
|
|
expect(results[0].text).toEqual('grp1');
|
|
|
expect(results[0].value).toEqual('grp1');
|
|
|
@@ -509,7 +740,7 @@ describe('AzureMonitorDatasource', () => {
|
|
|
};
|
|
|
|
|
|
beforeEach(() => {
|
|
|
- ctx.backendSrv.datasourceRequest = options => {
|
|
|
+ ctx.backendSrv.datasourceRequest = (options: { url: string }) => {
|
|
|
const baseUrl =
|
|
|
'http://azuremonitor.com/azuremonitor/subscriptions/9935389e-9122-4ef9-95f9-1513dd24753f/resourceGroups';
|
|
|
expect(options.url).toBe(baseUrl + '/nodesapp/resources?api-version=2018-01-01');
|
|
|
@@ -518,23 +749,25 @@ describe('AzureMonitorDatasource', () => {
|
|
|
});
|
|
|
|
|
|
it('should return list of Metric Definitions with no duplicates and no unsupported namespaces', () => {
|
|
|
- return ctx.ds.getMetricDefinitions('nodesapp').then(results => {
|
|
|
- expect(results.length).toEqual(7);
|
|
|
- expect(results[0].text).toEqual('Microsoft.Network/networkInterfaces');
|
|
|
- expect(results[0].value).toEqual('Microsoft.Network/networkInterfaces');
|
|
|
- expect(results[1].text).toEqual('Microsoft.Compute/virtualMachines');
|
|
|
- expect(results[1].value).toEqual('Microsoft.Compute/virtualMachines');
|
|
|
- expect(results[2].text).toEqual('Microsoft.Storage/storageAccounts');
|
|
|
- expect(results[2].value).toEqual('Microsoft.Storage/storageAccounts');
|
|
|
- expect(results[3].text).toEqual('Microsoft.Storage/storageAccounts/blobServices');
|
|
|
- expect(results[3].value).toEqual('Microsoft.Storage/storageAccounts/blobServices');
|
|
|
- expect(results[4].text).toEqual('Microsoft.Storage/storageAccounts/fileServices');
|
|
|
- expect(results[4].value).toEqual('Microsoft.Storage/storageAccounts/fileServices');
|
|
|
- expect(results[5].text).toEqual('Microsoft.Storage/storageAccounts/tableServices');
|
|
|
- expect(results[5].value).toEqual('Microsoft.Storage/storageAccounts/tableServices');
|
|
|
- expect(results[6].text).toEqual('Microsoft.Storage/storageAccounts/queueServices');
|
|
|
- expect(results[6].value).toEqual('Microsoft.Storage/storageAccounts/queueServices');
|
|
|
- });
|
|
|
+ return ctx.ds
|
|
|
+ .getMetricDefinitions('9935389e-9122-4ef9-95f9-1513dd24753f', 'nodesapp')
|
|
|
+ .then((results: Array<{ text: string; value: string }>) => {
|
|
|
+ expect(results.length).toEqual(7);
|
|
|
+ expect(results[0].text).toEqual('Microsoft.Network/networkInterfaces');
|
|
|
+ expect(results[0].value).toEqual('Microsoft.Network/networkInterfaces');
|
|
|
+ expect(results[1].text).toEqual('Microsoft.Compute/virtualMachines');
|
|
|
+ expect(results[1].value).toEqual('Microsoft.Compute/virtualMachines');
|
|
|
+ expect(results[2].text).toEqual('Microsoft.Storage/storageAccounts');
|
|
|
+ expect(results[2].value).toEqual('Microsoft.Storage/storageAccounts');
|
|
|
+ expect(results[3].text).toEqual('Microsoft.Storage/storageAccounts/blobServices');
|
|
|
+ expect(results[3].value).toEqual('Microsoft.Storage/storageAccounts/blobServices');
|
|
|
+ expect(results[4].text).toEqual('Microsoft.Storage/storageAccounts/fileServices');
|
|
|
+ expect(results[4].value).toEqual('Microsoft.Storage/storageAccounts/fileServices');
|
|
|
+ expect(results[5].text).toEqual('Microsoft.Storage/storageAccounts/tableServices');
|
|
|
+ expect(results[5].value).toEqual('Microsoft.Storage/storageAccounts/tableServices');
|
|
|
+ expect(results[6].text).toEqual('Microsoft.Storage/storageAccounts/queueServices');
|
|
|
+ expect(results[6].value).toEqual('Microsoft.Storage/storageAccounts/queueServices');
|
|
|
+ });
|
|
|
});
|
|
|
});
|
|
|
|
|
|
@@ -558,7 +791,7 @@ describe('AzureMonitorDatasource', () => {
|
|
|
};
|
|
|
|
|
|
beforeEach(() => {
|
|
|
- ctx.backendSrv.datasourceRequest = options => {
|
|
|
+ ctx.backendSrv.datasourceRequest = (options: { url: string }) => {
|
|
|
const baseUrl =
|
|
|
'http://azuremonitor.com/azuremonitor/subscriptions/9935389e-9122-4ef9-95f9-1513dd24753f/resourceGroups';
|
|
|
expect(options.url).toBe(baseUrl + '/nodeapp/resources?api-version=2018-01-01');
|
|
|
@@ -567,11 +800,13 @@ describe('AzureMonitorDatasource', () => {
|
|
|
});
|
|
|
|
|
|
it('should return list of Resource Names', () => {
|
|
|
- return ctx.ds.getResourceNames('nodeapp', 'microsoft.insights/components').then(results => {
|
|
|
- expect(results.length).toEqual(1);
|
|
|
- expect(results[0].text).toEqual('nodeapp');
|
|
|
- expect(results[0].value).toEqual('nodeapp');
|
|
|
- });
|
|
|
+ return ctx.ds
|
|
|
+ .getResourceNames('9935389e-9122-4ef9-95f9-1513dd24753f', 'nodeapp', 'microsoft.insights/components')
|
|
|
+ .then((results: Array<{ text: string; value: string }>) => {
|
|
|
+ expect(results.length).toEqual(1);
|
|
|
+ expect(results[0].text).toEqual('nodeapp');
|
|
|
+ expect(results[0].value).toEqual('nodeapp');
|
|
|
+ });
|
|
|
});
|
|
|
});
|
|
|
|
|
|
@@ -594,7 +829,7 @@ describe('AzureMonitorDatasource', () => {
|
|
|
};
|
|
|
|
|
|
beforeEach(() => {
|
|
|
- ctx.backendSrv.datasourceRequest = options => {
|
|
|
+ ctx.backendSrv.datasourceRequest = (options: { url: string }) => {
|
|
|
const baseUrl =
|
|
|
'http://azuremonitor.com/azuremonitor/subscriptions/9935389e-9122-4ef9-95f9-1513dd24753f/resourceGroups';
|
|
|
expect(options.url).toBe(baseUrl + '/nodeapp/resources?api-version=2018-01-01');
|
|
|
@@ -603,11 +838,17 @@ describe('AzureMonitorDatasource', () => {
|
|
|
});
|
|
|
|
|
|
it('should return list of Resource Names', () => {
|
|
|
- return ctx.ds.getResourceNames('nodeapp', 'Microsoft.Storage/storageAccounts/blobServices').then(results => {
|
|
|
- expect(results.length).toEqual(1);
|
|
|
- expect(results[0].text).toEqual('storagetest/default');
|
|
|
- expect(results[0].value).toEqual('storagetest/default');
|
|
|
- });
|
|
|
+ return ctx.ds
|
|
|
+ .getResourceNames(
|
|
|
+ '9935389e-9122-4ef9-95f9-1513dd24753f',
|
|
|
+ 'nodeapp',
|
|
|
+ 'Microsoft.Storage/storageAccounts/blobServices'
|
|
|
+ )
|
|
|
+ .then((results: Array<{ text: string; value: string }>) => {
|
|
|
+ expect(results.length).toEqual(1);
|
|
|
+ expect(results[0].text).toEqual('storagetest/default');
|
|
|
+ expect(results[0].value).toEqual('storagetest/default');
|
|
|
+ });
|
|
|
});
|
|
|
});
|
|
|
});
|
|
|
@@ -653,7 +894,7 @@ describe('AzureMonitorDatasource', () => {
|
|
|
};
|
|
|
|
|
|
beforeEach(() => {
|
|
|
- ctx.backendSrv.datasourceRequest = options => {
|
|
|
+ ctx.backendSrv.datasourceRequest = (options: { url: string }) => {
|
|
|
const baseUrl =
|
|
|
'http://azuremonitor.com/azuremonitor/subscriptions/9935389e-9122-4ef9-95f9-1513dd24753f/resourceGroups/nodeapp';
|
|
|
const expected =
|
|
|
@@ -666,13 +907,15 @@ describe('AzureMonitorDatasource', () => {
|
|
|
});
|
|
|
|
|
|
it('should return list of Metric Definitions', () => {
|
|
|
- return ctx.ds.getMetricNames('nodeapp', 'microsoft.insights/components', 'resource1').then(results => {
|
|
|
- expect(results.length).toEqual(2);
|
|
|
- expect(results[0].text).toEqual('Used capacity');
|
|
|
- expect(results[0].value).toEqual('UsedCapacity');
|
|
|
- expect(results[1].text).toEqual('Free capacity');
|
|
|
- expect(results[1].value).toEqual('FreeCapacity');
|
|
|
- });
|
|
|
+ return ctx.ds
|
|
|
+ .getMetricNames('9935389e-9122-4ef9-95f9-1513dd24753f', 'nodeapp', 'microsoft.insights/components', 'resource1')
|
|
|
+ .then((results: Array<{ text: string; value: string }>) => {
|
|
|
+ expect(results.length).toEqual(2);
|
|
|
+ expect(results[0].text).toEqual('Used capacity');
|
|
|
+ expect(results[0].value).toEqual('UsedCapacity');
|
|
|
+ expect(results[1].text).toEqual('Free capacity');
|
|
|
+ expect(results[1].value).toEqual('FreeCapacity');
|
|
|
+ });
|
|
|
});
|
|
|
});
|
|
|
|
|
|
@@ -717,7 +960,7 @@ describe('AzureMonitorDatasource', () => {
|
|
|
};
|
|
|
|
|
|
beforeEach(() => {
|
|
|
- ctx.backendSrv.datasourceRequest = options => {
|
|
|
+ ctx.backendSrv.datasourceRequest = (options: { url: string }) => {
|
|
|
const baseUrl =
|
|
|
'http://azuremonitor.com/azuremonitor/subscriptions/9935389e-9122-4ef9-95f9-1513dd24753f/resourceGroups/nodeapp';
|
|
|
const expected =
|
|
|
@@ -731,8 +974,14 @@ describe('AzureMonitorDatasource', () => {
|
|
|
|
|
|
it('should return Aggregation metadata for a Metric', () => {
|
|
|
return ctx.ds
|
|
|
- .getMetricMetadata('nodeapp', 'microsoft.insights/components', 'resource1', 'UsedCapacity')
|
|
|
- .then(results => {
|
|
|
+ .getMetricMetadata(
|
|
|
+ '9935389e-9122-4ef9-95f9-1513dd24753f',
|
|
|
+ 'nodeapp',
|
|
|
+ 'microsoft.insights/components',
|
|
|
+ 'resource1',
|
|
|
+ 'UsedCapacity'
|
|
|
+ )
|
|
|
+ .then((results: any) => {
|
|
|
expect(results.primaryAggType).toEqual('Total');
|
|
|
expect(results.supportedAggTypes.length).toEqual(6);
|
|
|
expect(results.supportedTimeGrains.length).toEqual(4);
|
|
|
@@ -784,7 +1033,7 @@ describe('AzureMonitorDatasource', () => {
|
|
|
};
|
|
|
|
|
|
beforeEach(() => {
|
|
|
- ctx.backendSrv.datasourceRequest = options => {
|
|
|
+ ctx.backendSrv.datasourceRequest = (options: { url: string }) => {
|
|
|
const baseUrl =
|
|
|
'http://azuremonitor.com/azuremonitor/subscriptions/9935389e-9122-4ef9-95f9-1513dd24753f/resourceGroups/nodeapp';
|
|
|
const expected =
|
|
|
@@ -798,7 +1047,13 @@ describe('AzureMonitorDatasource', () => {
|
|
|
|
|
|
it('should return dimensions for a Metric that has dimensions', () => {
|
|
|
return ctx.ds
|
|
|
- .getMetricMetadata('nodeapp', 'microsoft.insights/components', 'resource1', 'Transactions')
|
|
|
+ .getMetricMetadata(
|
|
|
+ '9935389e-9122-4ef9-95f9-1513dd24753f',
|
|
|
+ 'nodeapp',
|
|
|
+ 'microsoft.insights/components',
|
|
|
+ 'resource1',
|
|
|
+ 'Transactions'
|
|
|
+ )
|
|
|
.then(results => {
|
|
|
expect(results.dimensions.length).toEqual(4);
|
|
|
expect(results.dimensions[0].text).toEqual('None');
|
|
|
@@ -810,7 +1065,13 @@ describe('AzureMonitorDatasource', () => {
|
|
|
|
|
|
it('should return an empty array for a Metric that does not have dimensions', () => {
|
|
|
return ctx.ds
|
|
|
- .getMetricMetadata('nodeapp', 'microsoft.insights/components', 'resource1', 'FreeCapacity')
|
|
|
+ .getMetricMetadata(
|
|
|
+ '9935389e-9122-4ef9-95f9-1513dd24753f',
|
|
|
+ 'nodeapp',
|
|
|
+ 'microsoft.insights/components',
|
|
|
+ 'resource1',
|
|
|
+ 'FreeCapacity'
|
|
|
+ )
|
|
|
.then(results => {
|
|
|
expect(results.dimensions.length).toEqual(0);
|
|
|
});
|