mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
- adds a custom label renderer to Logs viewer in Explore
- labels are no longer treated as strings, they are passed as parsed objects to the log row
- label renderer supports onClick handler for an action
- renamed Explore's `onClickTableCell` to `onClickLabel` and wired up log label renderers
- reuse Prometheus `addLabelToSelector` to modify Logging queries via click on label
- added tests to `addLabelToSelector`, changed to include the surrounding `{}`
- use label render also for common labels in the controls panel
- logging meta data section has now a custom renderer that can render numbers, strings, and labels
- style adjustments
46 lines
1.1 KiB
TypeScript
46 lines
1.1 KiB
TypeScript
import { parseQuery } from './query_utils';
|
|
|
|
describe('parseQuery', () => {
|
|
it('returns empty for empty string', () => {
|
|
expect(parseQuery('')).toEqual({
|
|
query: '',
|
|
regexp: '',
|
|
});
|
|
});
|
|
|
|
it('returns regexp for strings without query', () => {
|
|
expect(parseQuery('test')).toEqual({
|
|
query: '',
|
|
regexp: 'test',
|
|
});
|
|
});
|
|
|
|
it('returns query for strings without regexp', () => {
|
|
expect(parseQuery('{foo="bar"}')).toEqual({
|
|
query: '{foo="bar"}',
|
|
regexp: '',
|
|
});
|
|
});
|
|
|
|
it('returns query for strings with query and search string', () => {
|
|
expect(parseQuery('x {foo="bar"}')).toEqual({
|
|
query: '{foo="bar"}',
|
|
regexp: 'x',
|
|
});
|
|
});
|
|
|
|
it('returns query for strings with query and regexp', () => {
|
|
expect(parseQuery('{foo="bar"} x|y')).toEqual({
|
|
query: '{foo="bar"}',
|
|
regexp: 'x|y',
|
|
});
|
|
});
|
|
|
|
it('returns query for selector with two labels', () => {
|
|
expect(parseQuery('{foo="bar", baz="42"}')).toEqual({
|
|
query: '{foo="bar", baz="42"}',
|
|
regexp: '',
|
|
});
|
|
});
|
|
});
|