fix(prom): return label keys from prometheus language providers (#102294)

pull/102310/head
Sven Grossmann 2 months ago committed by GitHub
parent ebb3902307
commit 8140c19bbd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 28
      packages/grafana-prometheus/src/language_provider.test.ts
  2. 1
      packages/grafana-prometheus/src/language_provider.ts

@ -470,6 +470,34 @@ describe('Language completion provider', () => {
)
);
});
it('should set `labelKeys` on language provider', async () => {
const mockQueries: PromQuery[] = [
{
refId: 'C',
expr: 'go_gc_pauses_seconds_bucket',
},
];
const fetchLabel = languageProvider.fetchLabels;
const requestSpy = jest.spyOn(languageProvider, 'request').mockResolvedValue(['foo', 'bar']);
await fetchLabel(tr, mockQueries);
expect(requestSpy).toHaveBeenCalled();
expect(languageProvider.labelKeys).toEqual(['bar', 'foo']);
});
it('should return labelKeys from request', async () => {
const mockQueries: PromQuery[] = [
{
refId: 'C',
expr: 'go_gc_pauses_seconds_bucket',
},
];
const fetchLabel = languageProvider.fetchLabels;
const requestSpy = jest.spyOn(languageProvider, 'request').mockResolvedValue(['foo', 'bar']);
const keys = await fetchLabel(tr, mockQueries);
expect(requestSpy).toHaveBeenCalled();
expect(keys).toEqual(['bar', 'foo']);
});
});
describe('with GET', () => {

@ -251,6 +251,7 @@ export default class PromQlLanguageProvider extends LanguageProvider {
const res = await this.request(url, [], searchParams, this.getDefaultCacheHeaders());
if (Array.isArray(res)) {
this.labelKeys = res.slice().sort();
return res.slice().sort();
}
return [];

Loading…
Cancel
Save