|
|
@ -825,6 +825,21 @@ describe('PrometheusLanguageProvider with feature toggle', () => { |
|
|
|
expect(result).toEqual(['label1', 'label2']); |
|
|
|
expect(result).toEqual(['label1', 'label2']); |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
it('queryLabelKeys should interpolate variables', async () => { |
|
|
|
|
|
|
|
const provider = new PrometheusLanguageProvider({ |
|
|
|
|
|
|
|
...defaultDatasource, |
|
|
|
|
|
|
|
interpolateString: (string: string) => string.replace(/\$/g, 'interpolated_'), |
|
|
|
|
|
|
|
} as PrometheusDatasource); |
|
|
|
|
|
|
|
const resourceClientSpy = jest |
|
|
|
|
|
|
|
.spyOn(provider['resourceClient'], 'queryLabelKeys') |
|
|
|
|
|
|
|
.mockResolvedValue(['label1', 'label2']); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const result = await provider.queryLabelKeys(timeRange, '{job="$job"}'); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
expect(resourceClientSpy).toHaveBeenCalledWith(timeRange, '{job="interpolated_job"}', undefined); |
|
|
|
|
|
|
|
expect(result).toEqual(['label1', 'label2']); |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('should delegate to resource client queryLabelValues', async () => { |
|
|
|
it('should delegate to resource client queryLabelValues', async () => { |
|
|
|
const provider = new PrometheusLanguageProvider(defaultDatasource); |
|
|
|
const provider = new PrometheusLanguageProvider(defaultDatasource); |
|
|
|
const resourceClientSpy = jest |
|
|
|
const resourceClientSpy = jest |
|
|
@ -836,6 +851,26 @@ describe('PrometheusLanguageProvider with feature toggle', () => { |
|
|
|
expect(resourceClientSpy).toHaveBeenCalledWith(timeRange, 'job', '{job="grafana"}', undefined); |
|
|
|
expect(resourceClientSpy).toHaveBeenCalledWith(timeRange, 'job', '{job="grafana"}', undefined); |
|
|
|
expect(result).toEqual(['value1', 'value2']); |
|
|
|
expect(result).toEqual(['value1', 'value2']); |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
it('queryLabelValues should interpolate variables', async () => { |
|
|
|
|
|
|
|
const provider = new PrometheusLanguageProvider({ |
|
|
|
|
|
|
|
...defaultDatasource, |
|
|
|
|
|
|
|
interpolateString: (string: string) => string.replace(/\$/g, 'interpolated_'), |
|
|
|
|
|
|
|
} as PrometheusDatasource); |
|
|
|
|
|
|
|
const resourceClientSpy = jest |
|
|
|
|
|
|
|
.spyOn(provider['resourceClient'], 'queryLabelValues') |
|
|
|
|
|
|
|
.mockResolvedValue(['label1', 'label2']); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const result = await provider.queryLabelValues(timeRange, '$label', '{job="$job"}'); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
expect(resourceClientSpy).toHaveBeenCalledWith( |
|
|
|
|
|
|
|
timeRange, |
|
|
|
|
|
|
|
'interpolated_label', |
|
|
|
|
|
|
|
'{job="interpolated_job"}', |
|
|
|
|
|
|
|
undefined |
|
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
expect(result).toEqual(['label1', 'label2']); |
|
|
|
|
|
|
|
}); |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
describe('retrieveMethods', () => { |
|
|
|
describe('retrieveMethods', () => { |
|
|
|