Skip to content

Commit e1b9dd8

Browse files
author
Luca Forstner
committed
Add test
1 parent 82d889e commit e1b9dd8

File tree

1 file changed

+84
-1
lines changed

1 file changed

+84
-1
lines changed

packages/core/test/lib/transports/multiplexed.test.ts

Lines changed: 84 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,11 @@ import type {
99
import { createClientReportEnvelope, createEnvelope, dsnFromString, parseEnvelope } from '@sentry/utils';
1010

1111
import { createTransport, getEnvelopeEndpointWithUrlEncodedAuth, makeMultiplexedTransport } from '../../../src';
12-
import { eventFromEnvelope } from '../../../src/transports/multiplexed';
12+
import {
13+
SIMPLE_MULTIPLEXED_TRANSPORT_EXTRA_ROUTING_KEY,
14+
eventFromEnvelope,
15+
makeSimpleMultiplexedTransport,
16+
} from '../../../src/transports/multiplexed';
1317

1418
const DSN1 = 'https://[email protected]/4321';
1519
const DSN1_URL = getEnvelopeEndpointWithUrlEncodedAuth(dsnFromString(DSN1)!);
@@ -221,3 +225,82 @@ describe('makeMultiplexedTransport', () => {
221225
await transport.send(TRANSACTION_ENVELOPE);
222226
});
223227
});
228+
229+
describe('makeSimpleMultiplexedTransport()', () => {
230+
it('sends events to targets provided in event.extra[SIMPLE_MULTIPLEXED_TRANSPORT_EXTRA_ROUTING_KEY]', async () => {
231+
expect.assertions(2);
232+
233+
const makeTransport = makeSimpleMultiplexedTransport(
234+
createTestTransport(
235+
url => {
236+
expect(url).toBe(DSN1_URL);
237+
},
238+
url => {
239+
expect(url).toBe(DSN2_URL);
240+
},
241+
),
242+
);
243+
244+
const envelope = createEnvelope<EventEnvelope>({ event_id: 'aa3ff046696b4bc6b609ce6d28fde9e2', sent_at: '123' }, [
245+
[
246+
{ type: 'event' },
247+
{
248+
event_id: 'aa3ff046696b4bc6b609ce6d28fde9e2',
249+
extra: {
250+
[SIMPLE_MULTIPLEXED_TRANSPORT_EXTRA_ROUTING_KEY]: [DSN1, DSN2],
251+
},
252+
},
253+
] as EventItem,
254+
]);
255+
256+
const transport = makeTransport({ url: DSN1_URL, ...transportOptions });
257+
await transport.send(envelope);
258+
});
259+
260+
it('sends events to default DSN if event.extra[SIMPLE_MULTIPLEXED_TRANSPORT_EXTRA_ROUTING_KEY] is not set', async () => {
261+
expect.assertions(1);
262+
263+
const makeTransport = makeSimpleMultiplexedTransport(
264+
createTestTransport(url => {
265+
expect(url).toBe(DSN1_URL);
266+
}),
267+
);
268+
269+
const envelope = createEnvelope<EventEnvelope>({ event_id: 'aa3ff046696b4bc6b609ce6d28fde9e2', sent_at: '123' }, [
270+
[
271+
{ type: 'event' },
272+
{
273+
event_id: 'aa3ff046696b4bc6b609ce6d28fde9e2',
274+
},
275+
] as EventItem,
276+
]);
277+
278+
const transport = makeTransport({ url: DSN1_URL, ...transportOptions });
279+
await transport.send(envelope);
280+
});
281+
282+
it('sends events to default DSN if event.extra[SIMPLE_MULTIPLEXED_TRANSPORT_EXTRA_ROUTING_KEY] is an empty array', async () => {
283+
expect.assertions(1);
284+
285+
const makeTransport = makeSimpleMultiplexedTransport(
286+
createTestTransport(url => {
287+
expect(url).toBe(DSN1_URL);
288+
}),
289+
);
290+
291+
const envelope = createEnvelope<EventEnvelope>({ event_id: 'aa3ff046696b4bc6b609ce6d28fde9e2', sent_at: '123' }, [
292+
[
293+
{ type: 'event' },
294+
{
295+
event_id: 'aa3ff046696b4bc6b609ce6d28fde9e2',
296+
extra: {
297+
[SIMPLE_MULTIPLEXED_TRANSPORT_EXTRA_ROUTING_KEY]: [],
298+
},
299+
},
300+
] as EventItem,
301+
]);
302+
303+
const transport = makeTransport({ url: DSN1_URL, ...transportOptions });
304+
await transport.send(envelope);
305+
});
306+
});

0 commit comments

Comments
 (0)