Loki: Fix throwing error when no labels received (#81077)

* Loki: Fix throwing error when no labels received

* Remove es code
This commit is contained in:
Ivana Huckova
2024-01-23 15:20:29 +01:00
committed by GitHub
parent e4a0a6a4ee
commit 2407bc83ee
2 changed files with 14 additions and 0 deletions
@@ -138,6 +138,17 @@ describe('Language completion provider', () => {
start: 1546372800000,
});
});
it('should work if request returns undefined', async () => {
const datasource = setup({});
datasource.getTimeRangeParams = jest
.fn()
.mockImplementation((range: TimeRange) => ({ start: range.from.valueOf(), end: range.to.valueOf() }));
const languageProvider = new LanguageProvider(datasource);
languageProvider.request = jest.fn().mockResolvedValue(undefined);
const series = await languageProvider.fetchSeriesLabels('stream', { timeRange: mockTimeRange });
expect(series).toEqual({});
});
});
describe('label values', () => {
@@ -172,6 +172,9 @@ export default class LokiLanguageProvider extends LanguageProvider {
if (!value) {
const params = { 'match[]': interpolatedMatch, start, end };
const data = await this.request(url, params);
if (!Array.isArray(data)) {
return {};
}
const { values } = processLabels(data);
value = values;
this.seriesCache.set(cacheKey, value);