refactor(core): Stop reporting EAUTH error codes to Sentry (no-changelog) (#9496)

This commit is contained in:
Iván Ovejero
2024-05-23 15:12:01 +02:00
committed by GitHub
parent 8737c0965e
commit f8683c31e0
4 changed files with 49 additions and 9 deletions

View File

@@ -32,6 +32,20 @@ export class WorkflowActivationError extends ExecutionBaseError {
this.node = node;
this.workflowId = workflowId;
this.message = message;
if (level) this.level = level;
this.setLevel(level);
}
private setLevel(level?: ApplicationError['level']) {
if (level) {
this.level = level;
return;
}
if (['ETIMEDOUT', 'ECONNREFUSED', 'EAUTH'].some((code) => this.message.includes(code))) {
this.level = 'warning';
return;
}
this.level = 'error';
}
}

View File

@@ -0,0 +1,29 @@
import { WorkflowActivationError } from '@/index';
describe('WorkflowActivationError', () => {
it('should default to `error` level', () => {
const error = new WorkflowActivationError('message');
expect(error.level).toBe('error');
});
const cause = new Error('Some error message');
it('should set `level` based on arg', () => {
const firstError = new WorkflowActivationError('message', { level: 'warning', cause });
expect(firstError.level).toBe('warning');
const secondError = new WorkflowActivationError('message', { level: 'error', cause });
expect(secondError.level).toBe('error');
});
test.each(['ETIMEDOUT', 'ECONNREFUSED', 'EAUTH'])(
'should set `level` to `warning` for %s',
(code) => {
const error = new WorkflowActivationError(code, { cause });
expect(error.level).toBe('warning');
},
);
});