|
@@ -1,3 +1,5 @@
|
|
|
+import {OrganizationFixture} from 'sentry-fixture/organization';
|
|
|
+
|
|
|
import type {MetricMeta, MRI} from 'sentry/types/metrics';
|
|
|
import type {ImportDashboard, ImportWidget} from 'sentry/utils/metrics/dashboardImport';
|
|
|
import {parseDashboard, WidgetParser} from 'sentry/utils/metrics/dashboardImport';
|
|
@@ -74,7 +76,12 @@ describe('WidgetParser', () => {
|
|
|
it('should parse a widget with single timeseries', async () => {
|
|
|
const widgetToImport = mockWidget();
|
|
|
|
|
|
- const result = new WidgetParser(widgetToImport, availableMetrics, 'test-org').parse();
|
|
|
+ const result = new WidgetParser(
|
|
|
+ widgetToImport,
|
|
|
+ availableMetrics,
|
|
|
+ 'test-org',
|
|
|
+ false
|
|
|
+ ).parse();
|
|
|
const {report, widget} = await result;
|
|
|
|
|
|
expect(report.outcome).toEqual('success');
|
|
@@ -106,7 +113,12 @@ describe('WidgetParser', () => {
|
|
|
'sum:sentry.bar.baz{}',
|
|
|
]),
|
|
|
});
|
|
|
- const result = new WidgetParser(widgetToImport, availableMetrics, 'test-org').parse();
|
|
|
+ const result = new WidgetParser(
|
|
|
+ widgetToImport,
|
|
|
+ availableMetrics,
|
|
|
+ 'test-org',
|
|
|
+ false
|
|
|
+ ).parse();
|
|
|
const {report, widget} = await result;
|
|
|
|
|
|
expect(report.outcome).toEqual('success');
|
|
@@ -145,7 +157,12 @@ describe('WidgetParser', () => {
|
|
|
requests: mockRequests(['sum:sentry.foo.bar.avg{foo:bar} by {baz}']),
|
|
|
});
|
|
|
|
|
|
- const result = new WidgetParser(widgetToImport, availableMetrics, 'test-org').parse();
|
|
|
+ const result = new WidgetParser(
|
|
|
+ widgetToImport,
|
|
|
+ availableMetrics,
|
|
|
+ 'test-org',
|
|
|
+ false
|
|
|
+ ).parse();
|
|
|
const {report, widget} = await result;
|
|
|
|
|
|
expect(report.outcome).toEqual('success');
|
|
@@ -172,7 +189,12 @@ describe('WidgetParser', () => {
|
|
|
requests: mockRequests(['sum:sentry.unknown-metric{foo:bar} by {baz}']),
|
|
|
});
|
|
|
|
|
|
- const result = new WidgetParser(widgetToImport, availableMetrics, 'test-org').parse();
|
|
|
+ const result = new WidgetParser(
|
|
|
+ widgetToImport,
|
|
|
+ availableMetrics,
|
|
|
+ 'test-org',
|
|
|
+ false
|
|
|
+ ).parse();
|
|
|
const {report} = await result;
|
|
|
|
|
|
expect(report.outcome).toEqual('error');
|
|
@@ -187,7 +209,7 @@ describe('WidgetParser', () => {
|
|
|
requests: mockRequests(['sum:sentry.foo.bar{not-a-tag:bar} by {baz}']),
|
|
|
});
|
|
|
|
|
|
- const result = new WidgetParser(widget, availableMetrics, 'test-org').parse();
|
|
|
+ const result = new WidgetParser(widget, availableMetrics, 'test-org', false).parse();
|
|
|
const {report} = await result;
|
|
|
|
|
|
expect(report.outcome).toEqual('warning');
|
|
@@ -201,7 +223,7 @@ describe('WidgetParser', () => {
|
|
|
requests: mockRequests(['sum:sentry.foo.bar{foo:bar*} by {baz}']),
|
|
|
});
|
|
|
|
|
|
- const result = new WidgetParser(widget, availableMetrics, 'test-org').parse();
|
|
|
+ const result = new WidgetParser(widget, availableMetrics, 'test-org', false).parse();
|
|
|
const {report} = await result;
|
|
|
|
|
|
expect(report.outcome).toEqual('warning');
|
|
@@ -239,7 +261,11 @@ describe('parseDashboard', () => {
|
|
|
widgets: [mockWidget(), mockWidget()],
|
|
|
} as ImportDashboard;
|
|
|
|
|
|
- const result = await parseDashboard(dashboard, availableMetrics, 'test-org');
|
|
|
+ const result = await parseDashboard(
|
|
|
+ dashboard,
|
|
|
+ availableMetrics,
|
|
|
+ OrganizationFixture({slug: 'test-org'})
|
|
|
+ );
|
|
|
const {report, widgets} = result;
|
|
|
|
|
|
expect(report.length).toEqual(2);
|
|
@@ -263,7 +289,11 @@ describe('parseDashboard', () => {
|
|
|
],
|
|
|
} as ImportDashboard;
|
|
|
|
|
|
- const result = await parseDashboard(dashboard, availableMetrics, 'test-org');
|
|
|
+ const result = await parseDashboard(
|
|
|
+ dashboard,
|
|
|
+ availableMetrics,
|
|
|
+ OrganizationFixture({slug: 'test-org'})
|
|
|
+ );
|
|
|
const {report, widgets} = result;
|
|
|
|
|
|
expect(report.length).toEqual(2);
|
|
@@ -293,7 +323,11 @@ describe('parseDashboard', () => {
|
|
|
],
|
|
|
} as ImportDashboard;
|
|
|
|
|
|
- const result = await parseDashboard(dashboard, availableMetrics, 'test-org');
|
|
|
+ const result = await parseDashboard(
|
|
|
+ dashboard,
|
|
|
+ availableMetrics,
|
|
|
+ OrganizationFixture({slug: 'test-org'})
|
|
|
+ );
|
|
|
|
|
|
const {report, widgets} = result;
|
|
|
expect(report.length).toEqual(1);
|
|
@@ -301,8 +335,8 @@ describe('parseDashboard', () => {
|
|
|
|
|
|
const queries = widgets[0].queries;
|
|
|
expect(queries.length).toEqual(5);
|
|
|
- expect(queries[2].aggregates[0]).toEqual('equation|2 * $B');
|
|
|
- expect(queries[3].aggregates[0]).toEqual('equation|$A + $B');
|
|
|
- expect(queries[4].aggregates[0]).toEqual('equation|($B + $B) - $A');
|
|
|
+ expect(queries[2].aggregates[0]).toEqual('equation|2 * $b');
|
|
|
+ expect(queries[3].aggregates[0]).toEqual('equation|$a + $b');
|
|
|
+ expect(queries[4].aggregates[0]).toEqual('equation|($b + $b) - $a');
|
|
|
});
|
|
|
});
|