|
|
|
@ -37,6 +37,11 @@ const defaultLogRow = { |
|
|
|
|
type: FieldType.time, |
|
|
|
|
values: [0], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
name: 'labelTypes', |
|
|
|
|
type: FieldType.other, |
|
|
|
|
values: [{ bar: 'I', foo: 'S', xyz: 'I' }], |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}), |
|
|
|
|
labels: { bar: 'baz', foo: 'uniqueParsedLabel', xyz: 'abc' }, |
|
|
|
@ -75,7 +80,7 @@ describe('LogContextProvider', () => { |
|
|
|
|
); |
|
|
|
|
expect(logContextProvider.getInitContextFilters).toBeCalled(); |
|
|
|
|
expect(logContextProvider.getInitContextFilters).toHaveBeenCalledWith( |
|
|
|
|
{ bar: 'baz', foo: 'uniqueParsedLabel', xyz: 'abc' }, |
|
|
|
|
expect.objectContaining({ labels: { bar: 'baz', foo: 'uniqueParsedLabel', xyz: 'abc' } }), |
|
|
|
|
{ expr: '{bar="baz"}', refId: 'A' }, |
|
|
|
|
{ |
|
|
|
|
from: dateTime(defaultLogRow.timeEpochMs), |
|
|
|
@ -399,7 +404,7 @@ describe('LogContextProvider', () => { |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
it('should correctly create contextFilters', async () => { |
|
|
|
|
const result = await logContextProvider.getInitContextFilters(defaultLogRow.labels, queryWithoutParser); |
|
|
|
|
const result = await logContextProvider.getInitContextFilters(defaultLogRow, queryWithoutParser); |
|
|
|
|
expect(result.contextFilters).toEqual([ |
|
|
|
|
{ enabled: true, nonIndexed: false, label: 'bar', value: 'baz' }, |
|
|
|
|
{ enabled: false, nonIndexed: true, label: 'foo', value: 'uniqueParsedLabel' }, |
|
|
|
@ -409,28 +414,29 @@ describe('LogContextProvider', () => { |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should return empty contextFilters if no query', async () => { |
|
|
|
|
const filters = (await logContextProvider.getInitContextFilters(defaultLogRow.labels, undefined)) |
|
|
|
|
.contextFilters; |
|
|
|
|
const filters = (await logContextProvider.getInitContextFilters(defaultLogRow, undefined)).contextFilters; |
|
|
|
|
expect(filters).toEqual([]); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should return empty contextFilters if no labels', async () => { |
|
|
|
|
const filters = (await logContextProvider.getInitContextFilters({}, queryWithoutParser)).contextFilters; |
|
|
|
|
const filters = ( |
|
|
|
|
await logContextProvider.getInitContextFilters({ labels: [] } as unknown as LogRowModel, queryWithoutParser) |
|
|
|
|
).contextFilters; |
|
|
|
|
expect(filters).toEqual([]); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should call fetchSeriesLabels if parser', async () => { |
|
|
|
|
await logContextProvider.getInitContextFilters(defaultLogRow.labels, queryWithParser); |
|
|
|
|
await logContextProvider.getInitContextFilters(defaultLogRow, queryWithParser); |
|
|
|
|
expect(defaultLanguageProviderMock.fetchSeriesLabels).toBeCalled(); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should call fetchSeriesLabels with given time range', async () => { |
|
|
|
|
await logContextProvider.getInitContextFilters(defaultLogRow.labels, queryWithParser, timeRange); |
|
|
|
|
await logContextProvider.getInitContextFilters(defaultLogRow, queryWithParser, timeRange); |
|
|
|
|
expect(defaultLanguageProviderMock.fetchSeriesLabels).toBeCalledWith(`{bar="baz"}`, { timeRange }); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should call `languageProvider.start` if no parser with given time range', async () => { |
|
|
|
|
await logContextProvider.getInitContextFilters(defaultLogRow.labels, queryWithoutParser, timeRange); |
|
|
|
|
await logContextProvider.getInitContextFilters(defaultLogRow, queryWithoutParser, timeRange); |
|
|
|
|
expect(defaultLanguageProviderMock.start).toBeCalledWith(timeRange); |
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
@ -442,7 +448,7 @@ describe('LogContextProvider', () => { |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
it('should correctly create contextFilters', async () => { |
|
|
|
|
const result = await logContextProvider.getInitContextFilters(defaultLogRow.labels, queryWithParser); |
|
|
|
|
const result = await logContextProvider.getInitContextFilters(defaultLogRow, queryWithParser); |
|
|
|
|
expect(result.contextFilters).toEqual([ |
|
|
|
|
{ enabled: true, nonIndexed: false, label: 'bar', value: 'baz' }, |
|
|
|
|
{ enabled: false, nonIndexed: true, label: 'foo', value: 'uniqueParsedLabel' }, |
|
|
|
@ -452,13 +458,14 @@ describe('LogContextProvider', () => { |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should return empty contextFilters if no query', async () => { |
|
|
|
|
const filters = (await logContextProvider.getInitContextFilters(defaultLogRow.labels, undefined)) |
|
|
|
|
.contextFilters; |
|
|
|
|
const filters = (await logContextProvider.getInitContextFilters(defaultLogRow, undefined)).contextFilters; |
|
|
|
|
expect(filters).toEqual([]); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should return empty contextFilters if no labels', async () => { |
|
|
|
|
const filters = (await logContextProvider.getInitContextFilters({}, queryWithParser)).contextFilters; |
|
|
|
|
const filters = ( |
|
|
|
|
await logContextProvider.getInitContextFilters({ labels: [] } as unknown as LogRowModel, queryWithParser) |
|
|
|
|
).contextFilters; |
|
|
|
|
expect(filters).toEqual([]); |
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
@ -477,7 +484,7 @@ describe('LogContextProvider', () => { |
|
|
|
|
selectedExtractedLabels: ['foo'], |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
const result = await logContextProvider.getInitContextFilters(defaultLogRow.labels, queryWithParser); |
|
|
|
|
const result = await logContextProvider.getInitContextFilters(defaultLogRow, queryWithParser); |
|
|
|
|
expect(result.contextFilters).toEqual([ |
|
|
|
|
{ enabled: false, nonIndexed: false, label: 'bar', value: 'baz' }, // disabled real label
|
|
|
|
|
{ enabled: true, nonIndexed: true, label: 'foo', value: 'uniqueParsedLabel' }, // enabled parsed label
|
|
|
|
@ -494,7 +501,7 @@ describe('LogContextProvider', () => { |
|
|
|
|
selectedExtractedLabels: ['foo'], |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
const result = await logContextProvider.getInitContextFilters(defaultLogRow.labels, queryWithParser); |
|
|
|
|
const result = await logContextProvider.getInitContextFilters(defaultLogRow, queryWithParser); |
|
|
|
|
expect(result.contextFilters).toEqual([ |
|
|
|
|
{ enabled: true, nonIndexed: false, label: 'bar', value: 'baz' }, // enabled real label
|
|
|
|
|
{ enabled: false, nonIndexed: true, label: 'foo', value: 'uniqueParsedLabel' }, |
|
|
|
@ -511,7 +518,7 @@ describe('LogContextProvider', () => { |
|
|
|
|
selectedExtractedLabels: ['foo', 'new'], |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
const result = await logContextProvider.getInitContextFilters(defaultLogRow.labels, queryWithParser); |
|
|
|
|
const result = await logContextProvider.getInitContextFilters(defaultLogRow, queryWithParser); |
|
|
|
|
expect(result.contextFilters).toEqual([ |
|
|
|
|
{ enabled: false, nonIndexed: false, label: 'bar', value: 'baz' }, |
|
|
|
|
{ enabled: true, nonIndexed: true, label: 'foo', value: 'uniqueParsedLabel' }, |
|
|
|
|