refactor(core): Hide stack trace for warning-level errors (#12411)

This commit is contained in:
Iván Ovejero
2025-01-02 17:48:39 +01:00
committed by GitHub
parent 5b925bcf10
commit 3ff902feb9
3 changed files with 31 additions and 1 deletions

View File

@@ -5,6 +5,7 @@ import { mock } from 'jest-mock-extended';
import { ApplicationError } from 'n8n-workflow';
import { ErrorReporter } from '@/error-reporter';
import type { Logger } from '@/logging/logger';
jest.mock('@sentry/node', () => ({
init: jest.fn(),
@@ -101,4 +102,29 @@ describe('ErrorReporter', () => {
expect(result).toBeNull();
});
});
describe('error', () => {
let error: ApplicationError;
let logger: Logger;
let errorReporter: ErrorReporter;
const metadata = undefined;
beforeEach(() => {
error = new ApplicationError('Test error');
logger = mock<Logger>();
errorReporter = new ErrorReporter(logger);
});
it('should include stack trace for error-level `ApplicationError`', () => {
error.level = 'error';
errorReporter.error(error);
expect(logger.error).toHaveBeenCalledWith(`Test error\n${error.stack}\n`, metadata);
});
it('should exclude stack trace for warning-level `ApplicationError`', () => {
error.level = 'warning';
errorReporter.error(error);
expect(logger.error).toHaveBeenCalledWith('Test error', metadata);
});
});
});