From 5cbb4a0a2d0bb599ead405a348ff434fdd06009a Mon Sep 17 00:00:00 2001 From: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com> Date: Thu, 2 Dec 2021 13:32:02 +0100 Subject: [PATCH] Prometheus: Interpolate template variables in interval (#42637) * Interpolate interval * Add test --- .../datasource/prometheus/datasource.test.ts | 26 +++++++++---------- .../datasource/prometheus/datasource.ts | 1 + 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/public/app/plugins/datasource/prometheus/datasource.test.ts b/public/app/plugins/datasource/prometheus/datasource.test.ts index 5a423957ff8..6deac1daeb9 100644 --- a/public/app/plugins/datasource/prometheus/datasource.test.ts +++ b/public/app/plugins/datasource/prometheus/datasource.test.ts @@ -591,6 +591,19 @@ describe('PrometheusDatasource', () => { expect(interpolatedQuery.legendFormat).toBe(legend); }); + it('should call replace function for interval', () => { + const query = { + expr: 'test{job="bar"}', + interval: '$step', + refId: 'A', + }; + const step = '5s'; + templateSrvStub.replace.mockReturnValue(step); + + const interpolatedQuery = ds.applyTemplateVariables(query, { step: { text: step, value: step } }); + expect(interpolatedQuery.interval).toBe(step); + }); + it('should call replace function for expr', () => { const query = { expr: 'test{job="$job"}', @@ -603,19 +616,6 @@ describe('PrometheusDatasource', () => { expect(interpolatedQuery.expr).toBe(job); }); - it('should not call replace function for interval', () => { - const query = { - expr: 'test{job="bar"}', - interval: '$interval', - refId: 'A', - }; - const interval = '10s'; - templateSrvStub.replace.mockReturnValue(interval); - - const interpolatedQuery = ds.applyTemplateVariables(query, { interval: { text: interval, value: interval } }); - expect(interpolatedQuery.interval).not.toBe(interval); - }); - it('should add ad-hoc filters to expr', () => { templateSrvStub.replace = jest.fn((a: string) => a); templateSrvStub.getAdhocFilters.mockReturnValue([ diff --git a/public/app/plugins/datasource/prometheus/datasource.ts b/public/app/plugins/datasource/prometheus/datasource.ts index 4bd90e1a357..8ba35a561b5 100644 --- a/public/app/plugins/datasource/prometheus/datasource.ts +++ b/public/app/plugins/datasource/prometheus/datasource.ts @@ -961,6 +961,7 @@ export class PrometheusDatasource extends DataSourceWithBackend