diff --git a/public/app/plugins/datasource/prometheus/datasource.test.ts b/public/app/plugins/datasource/prometheus/datasource.test.ts index 7d7d1f613e7..c740af7f85d 100644 --- a/public/app/plugins/datasource/prometheus/datasource.test.ts +++ b/public/app/plugins/datasource/prometheus/datasource.test.ts @@ -24,7 +24,7 @@ import { prometheusSpecialRegexEscape, } from './datasource'; import PromQlLanguageProvider from './language_provider'; -import { PrometheusCacheLevel, PromOptions, PromQuery, PromQueryRequest } from './types'; +import { PromApplication, PrometheusCacheLevel, PromOptions, PromQuery, PromQueryRequest } from './types'; const fetchMock = jest.fn().mockReturnValue(of(createDefaultPromResponse())); @@ -98,6 +98,13 @@ describe('PrometheusDatasource', () => { }); }); + describe('Type and version', () => { + it('Default support labels match endpoint over series when type and version not set', () => { + const labelsMatchSupport = ds.hasLabelsMatchAPISupport(); + expect(labelsMatchSupport).toBe(true); + }); + }); + describe('Query', () => { it('throws if using direct access', async () => { const instanceSettings = { @@ -108,6 +115,8 @@ describe('PrometheusDatasource', () => { access: 'direct', jsonData: { customQueryParameters: '', + prometheusVersion: '2.20.0', + prometheusType: PromApplication.Prometheus, }, } as unknown as DataSourceInstanceSettings; const range = { from: time({ seconds: 63 }), to: time({ seconds: 183 }) }; diff --git a/public/app/plugins/datasource/prometheus/datasource.ts b/public/app/plugins/datasource/prometheus/datasource.ts index 48c5723f214..70a40c154a1 100644 --- a/public/app/plugins/datasource/prometheus/datasource.ts +++ b/public/app/plugins/datasource/prometheus/datasource.ts @@ -189,9 +189,9 @@ export class PrometheusDatasource } _isDatasourceVersionGreaterOrEqualTo(targetVersion: string, targetFlavor: PromApplication): boolean { - // User hasn't configured flavor/version yet, default behavior is to not support features that require version configuration when not provided + // User hasn't configured flavor/version yet, default behavior is to support labels match api support if (!this.datasourceConfigurationPrometheusVersion || !this.datasourceConfigurationPrometheusFlavor) { - return false; + return true; } if (targetFlavor !== this.datasourceConfigurationPrometheusFlavor) { diff --git a/public/app/plugins/datasource/prometheus/metric_find_query.test.ts b/public/app/plugins/datasource/prometheus/metric_find_query.test.ts index 3d6b8b5cb84..d6817259bce 100644 --- a/public/app/plugins/datasource/prometheus/metric_find_query.test.ts +++ b/public/app/plugins/datasource/prometheus/metric_find_query.test.ts @@ -23,7 +23,11 @@ const instanceSettings = { uid: 'ABCDEF', user: 'test', password: 'mupp', - jsonData: { httpMethod: 'GET' }, + jsonData: { + httpMethod: 'GET', + prometheusVersion: '2.20.0', + prometheusType: PromApplication.Prometheus, + }, } as Partial> as DataSourceInstanceSettings; const raw: TimeRange = {