Update tests

This commit is contained in:
Matias Chomicki
2025-07-01 10:45:24 +02:00
parent 8b82a8aa81
commit 4ef3a3a5cd
4 changed files with 50 additions and 17 deletions
@@ -46,6 +46,7 @@ export const createLogLine = (
order: LogsSortOrder.Descending,
timeZone: 'browser',
virtualization: undefined,
wrapLogMessage: true,
}
): LogListModel => {
const logs = preProcessLogs([createLogRow(overrides)], processOptions);
@@ -79,6 +79,7 @@ describe('preProcessLogs', () => {
getFieldLinks,
order: LogsSortOrder.Descending,
timeZone: 'browser',
wrapLogMessage: true,
});
});
@@ -92,9 +93,37 @@ describe('preProcessLogs', () => {
entry: `35.191.12.195 - accounts.google.com:test@grafana.com [18/Mar/2025:08:58:38 +0000] 200 "POST /grafana/api/ds/query?ds_type=prometheus&requestId=SQR461 HTTP/1.1" 59460 "https://test.example.com/?orgId=1" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36" "95.91.240.90, 34.107.247.24"`,
logLevel: LogLevel.critical,
});
const logListModel = new LogListModel(logRowModel, { escape: false, timeZone: 'browser ' });
const logListModel = new LogListModel(logRowModel, { escape: false, timeZone: 'browser ', wrapLogMessage: true });
expect(logListModel).toMatchObject(logRowModel);
});
test('Unwrapped log lines strip new lines', () => {
const logListModel = createLogLine(
{ labels: { place: `lu\nna` }, entry: `log\n message\n 1` },
{
escape: false,
order: LogsSortOrder.Descending,
timeZone: 'browser',
wrapLogMessage: false, // unwrapped
}
);
expect(logListModel.getDisplayedFieldValue('place')).toBe('luna');
expect(logListModel.body).toBe('log message 1');
});
test('Wrapped log lines do not modify new lines', () => {
const logListModel = createLogLine(
{ labels: { place: `lu\nna` }, entry: `log\n message\n 1` },
{
escape: false,
order: LogsSortOrder.Descending,
timeZone: 'browser',
wrapLogMessage: true, // wrapped
}
);
expect(logListModel.getDisplayedFieldValue('place')).toBe(logListModel.labels['place']);
expect(logListModel.body).toBe(logListModel.raw);
});
});
test('Orders logs', () => {
@@ -176,7 +205,7 @@ describe('preProcessLogs', () => {
entry = new Array(2 * virtualization.getTruncationLength(null)).fill('e').join('');
longLog = createLogLine(
{ entry, labels: { field: 'value' } },
{ escape: false, order: LogsSortOrder.Descending, timeZone: 'browser', virtualization }
{ escape: false, order: LogsSortOrder.Descending, timeZone: 'browser', virtualization, wrapLogMessage: true }
);
});
@@ -3,7 +3,7 @@ import { createTheme, LogsSortOrder } from '@grafana/data';
import { LOG_LINE_BODY_FIELD_NAME } from '../LogDetailsBody';
import { createLogLine } from '../__mocks__/logRow';
import { LogListModel } from './processing';
import { LogListModel, PreProcessOptions } from './processing';
import { LogLineVirtualization, getLogLineSize, DisplayOptions } from './virtualization';
describe('Virtualization', () => {
@@ -28,11 +28,16 @@ describe('Virtualization', () => {
hasSampledLogs: false,
};
const preProcessOptions: PreProcessOptions = {
escape: false,
order: LogsSortOrder.Descending,
timeZone: 'browser',
virtualization,
wrapLogMessage: true,
};
beforeEach(() => {
log = createLogLine(
{ labels: { place: 'luna' }, entry: `log message 1` },
{ escape: false, order: LogsSortOrder.Descending, timeZone: 'browser', virtualization }
);
log = createLogLine({ labels: { place: 'luna' }, entry: `log message 1` }, preProcessOptions);
//virtualization = new LogLineVirtualization(createTheme(), 'default');
container = document.createElement('div');
jest.spyOn(container, 'clientWidth', 'get').mockReturnValue(CONTAINER_SIZE);
@@ -86,7 +91,7 @@ describe('Virtualization', () => {
entry: new Array(TWO_LINES_OF_CHARACTERS).fill('e').join(''),
logLevel: undefined,
},
{ escape: false, order: LogsSortOrder.Descending, timeZone: 'browser', virtualization }
preProcessOptions
);
const size = getLogLineSize(virtualization, [log], container, [], { ...defaultOptions, wrap: true }, 0);
@@ -96,7 +101,7 @@ describe('Virtualization', () => {
test('Measures a multi-line log line with level, controls, and displayed time', () => {
log = createLogLine(
{ labels: { place: 'luna' }, entry: new Array(TWO_LINES_OF_CHARACTERS).fill('e').join('') },
{ escape: false, order: LogsSortOrder.Descending, timeZone: 'browser', virtualization }
preProcessOptions
);
const size = getLogLineSize(
@@ -118,7 +123,7 @@ describe('Virtualization', () => {
entry: new Array(TWO_LINES_OF_CHARACTERS).fill('e').join(''),
logLevel: undefined,
},
{ escape: false, order: LogsSortOrder.Descending, timeZone: 'browser', virtualization }
preProcessOptions
);
const size = getLogLineSize(
@@ -136,7 +141,7 @@ describe('Virtualization', () => {
test('Measures displayed fields in a log line with level, controls, and displayed time', () => {
log = createLogLine(
{ labels: { place: 'luna' }, entry: new Array(TWO_LINES_OF_CHARACTERS).fill('e').join('') },
{ escape: false, order: LogsSortOrder.Descending, timeZone: 'browser', virtualization }
preProcessOptions
);
const size = getLogLineSize(
@@ -154,7 +159,7 @@ describe('Virtualization', () => {
test('Measures a multi-line log line with duplicates', () => {
log = createLogLine(
{ labels: { place: 'luna' }, entry: new Array(TWO_LINES_OF_CHARACTERS).fill('e').join('') },
{ escape: false, order: LogsSortOrder.Descending, timeZone: 'browser', virtualization }
preProcessOptions
);
log.duplicates = 1;
@@ -173,7 +178,7 @@ describe('Virtualization', () => {
test('Measures a multi-line log line with errors', () => {
log = createLogLine(
{ labels: { place: 'luna' }, entry: new Array(TWO_LINES_OF_CHARACTERS).fill('e').join('') },
{ escape: false, order: LogsSortOrder.Descending, timeZone: 'browser', virtualization }
preProcessOptions
);
const size = getLogLineSize(
@@ -191,7 +196,7 @@ describe('Virtualization', () => {
test('Measures a multi-line sampled log line', () => {
log = createLogLine(
{ labels: { place: 'luna' }, entry: new Array(TWO_LINES_OF_CHARACTERS).fill('e').join('') },
{ escape: false, order: LogsSortOrder.Descending, timeZone: 'browser', virtualization }
preProcessOptions
);
const size = getLogLineSize(
@@ -232,7 +237,7 @@ describe('Virtualization', () => {
entry: new Array(TWO_LINES_OF_CHARACTERS).fill('e').join(''),
logLevel: undefined,
},
{ escape: false, order: LogsSortOrder.Descending, timeZone: 'browser', virtualization }
preProcessOptions
);
const size = getLogLineSize(
@@ -2,8 +2,6 @@ import ansicolor from 'ansicolor';
import { BusEventWithPayload, GrafanaTheme2 } from '@grafana/data';
import { LOG_LINE_BODY_FIELD_NAME } from '../LogDetailsBody';
import { LogListFontSize } from './LogList';
import { LogListModel } from './processing';