Skip to content

Commit f8b0805

Browse files
committed
fix tests
1 parent 24a6b81 commit f8b0805

File tree

6 files changed

+24
-37
lines changed

6 files changed

+24
-37
lines changed

jest.setup.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,7 @@ const mockedAmqpConnection = {
2727
const mockedConnect = amqp.connect;
2828

2929
mockedConnect.mockResolvedValue(Promise.resolve(mockedAmqpConnection));
30+
31+
module.exports = {
32+
mockedAmqpChannel,
33+
};

workers/sentry/jest.config.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
/**
2+
* We don't need mongo for this worker, so it has own setup file
3+
*/
4+
15
/**
26
* To prevent problems related to timezones we set node timezone
37
*/
@@ -21,6 +25,4 @@ module.exports = {
2125
},
2226

2327
setupFiles: [ './../../jest.setup.js' ],
24-
25-
setupFilesAfterEnv: [ './../../jest.setup.redis-mock.js' ],
2628
};

workers/sentry/src/index.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { DefaultEventWorkerTask } from '../../default/types/default-event-worker
44
import WorkerNames from '../../../lib/workerNames.js';
55
import { Envelope, EnvelopeItem, EventEnvelope, EventItem, parseEnvelope } from '@sentry/core';
66
import { Worker } from '../../../lib/worker';
7-
import { composeBacktrace, composeContext, composeTitle, composeUserData } from './utils/converter';
7+
import { composeAddons, composeBacktrace, composeContext, composeTitle, composeUserData } from './utils/converter';
88
import { b64decode } from './utils/base64';
99
/**
1010
* Worker for handling Sentry events
@@ -30,10 +30,6 @@ export default class SentryEventWorker extends Worker {
3030

3131
try {
3232
const rawEvent = b64decode(event.payload.envelope);
33-
34-
console.log('event', event.payload.envelope);
35-
console.log('parsed', rawEvent);
36-
3733
const envelope = parseEnvelope(rawEvent);
3834

3935
this.logger.debug(JSON.stringify(envelope));
@@ -110,22 +106,25 @@ export default class SentryEventWorker extends Worker {
110106
// eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars
111107
const [_eventHeaders, eventPayload] = eventItem;
112108

109+
const title = composeTitle(eventPayload);
113110
const backtrace = composeBacktrace(eventPayload);
114111
const context = composeContext(eventPayload);
115112
const user = composeUserData(eventPayload);
113+
const addons = composeAddons(eventPayload);
116114

117115
return {
118116
projectId, // Public key is used as hawk project ID
119117
catcherType: 'errors/sentry',
120118
payload: {
121-
title: composeTitle(eventPayload),
119+
title,
122120
type: eventPayload.level || 'error',
123121
timestamp: sentAtUnix,
124122
backtrace,
125123
release: trace?.release || undefined,
126124
context,
127125
catcherVersion: pkg.version,
128126
user,
127+
addons,
129128
},
130129
};
131130
}

workers/sentry/src/utils/converter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ export function composeBacktrace(eventPayload: SentryEvent): EventData<DefaultAd
2929

3030
const isSomeLinesAvailable = frame.context_line || frame.pre_context || frame.post_context;
3131

32-
if (isSomeLinesAvailable && frame.lineno) {
32+
if (isSomeLinesAvailable && frame.lineno !== undefined) {
3333
sourceCode = [];
3434
const lineNo = frame.lineno;
3535

workers/sentry/tests/index.test.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
import SentryEventWorker from '../src';
22
import { SentryEventWorkerTask } from '../types/sentry-event-worker-task';
33
import '../../../env-test';
4-
import { mockedAmqpChannel } from './rabbit.mock';
4+
import { mockedAmqpChannel } from '../../../jest.setup.js';
55
import { ClientReportEnvelope, ClientReportItem } from '@sentry/core';
66
import { b64encode } from '../src/utils/base64';
7-
jest.mock('amqplib');
87

98
/**
109
* Testing Event
@@ -18,6 +17,15 @@ const testEventData = {
1817
describe('SentryEventWorker', () => {
1918
const worker = new SentryEventWorker();
2019

20+
beforeEach(async () => {
21+
await worker.start();
22+
});
23+
24+
afterEach(async () => {
25+
await worker.finish();
26+
jest.clearAllMocks();
27+
});
28+
2129
test('should not handle bad event data', async () => {
2230
const handleEvent = async (): Promise<void> => {
2331
await worker.handle({} as SentryEventWorkerTask);

workers/sentry/tests/rabbit.mock.ts

Lines changed: 0 additions & 26 deletions
This file was deleted.

0 commit comments

Comments
 (0)