Skip to content

Commit d6ab2ad

Browse files
committed
add createEventEnvelope unit tests for baggage handling
1 parent 25e0cbf commit d6ab2ad

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
import { createEventEnvelope } from '../../src/envelope';
2+
import { DsnComponents, Event } from '@sentry/types';
3+
4+
const testDsn: DsnComponents = { protocol: 'https', projectId: 'abc', host: 'testry.io' };
5+
6+
describe('createEventEnvelope', () => {
7+
describe('baggage header', () => {
8+
it(`doesn't add baggage header if event is not a transaction`, () => {
9+
const event: Event = {};
10+
const envelopeHeaders = createEventEnvelope(event, testDsn)[0];
11+
12+
expect(envelopeHeaders).toBeDefined();
13+
expect(envelopeHeaders.baggage).toBeUndefined();
14+
});
15+
16+
it(`doesn't add baggage header if no baggage data is available`, () => {
17+
const event: Event = {
18+
type: 'transaction',
19+
};
20+
const envelopeHeaders = createEventEnvelope(event, testDsn)[0];
21+
22+
expect(envelopeHeaders).toBeDefined();
23+
expect(envelopeHeaders.baggage).toBeUndefined();
24+
});
25+
26+
const testTable: Array<[string, Event, string]> = [
27+
['adds only baggage item', { type: 'transaction', release: '1.0.0' }, 'sentry-release=1.0.0'],
28+
[
29+
'adds two baggage items',
30+
{ type: 'transaction', release: '1.0.0', environment: 'prod' },
31+
'sentry-environment=prod,sentry-release=1.0.0',
32+
],
33+
[
34+
'adds all baggageitems',
35+
{
36+
type: 'transaction',
37+
release: '1.0.0',
38+
environment: 'prod',
39+
user: { id: 'bob', segment: 'segmentA' },
40+
transaction: 'TX',
41+
},
42+
'sentry-environment=prod,sentry-release=1.0.0,sentry-transaction=TX,sentry-userid=bob,sentry-usersegment=segmentA',
43+
],
44+
];
45+
it.each(testTable)('%s', (_: string, event, serializedBaggage) => {
46+
const envelopeHeaders = createEventEnvelope(event, testDsn)[0];
47+
48+
expect(envelopeHeaders).toBeDefined();
49+
expect(envelopeHeaders.baggage).toBeDefined();
50+
expect(envelopeHeaders.baggage).toEqual(serializedBaggage);
51+
});
52+
});
53+
});

0 commit comments

Comments
 (0)