Skip to content

Commit 8fdc163

Browse files
committed
add unit tests for mergeAndSerializeBaggage
1 parent 43f0990 commit 8fdc163

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

packages/utils/test/baggage.test.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import {
22
createBaggage,
33
getBaggageValue,
44
isBaggageEmpty,
5+
mergeAndSerializeBaggage,
56
parseBaggageString,
67
serializeBaggage,
78
setBaggageValue,
@@ -105,4 +106,27 @@ describe('Baggage', () => {
105106
expect(isBaggageEmpty(baggage)).toEqual(outcome);
106107
});
107108
});
109+
110+
describe('mergeAndSerializeBaggage', () => {
111+
it.each([
112+
[
113+
'returns original baggage when there is no additional baggage',
114+
createBaggage({ release: '1.1.1', userid: '1234' }, 'foo=bar'),
115+
undefined,
116+
'foo=bar,sentry-release=1.1.1,sentry-userid=1234',
117+
],
118+
[
119+
'returns merged baggage when there is a 3rd party header added',
120+
createBaggage({ release: '1.1.1', userid: '1234' }, 'foo=bar'),
121+
'bar=baz,key=value',
122+
'bar=baz,key=value,sentry-release=1.1.1,sentry-userid=1234',
123+
],
124+
['returns merged baggage original baggage is empty', createBaggage({}), 'bar=baz,key=value', 'bar=baz,key=value'],
125+
['returns empty string when original and 3rd party baggage are empty', createBaggage({}), '', ''],
126+
['returns merged baggage original baggage is undefined', undefined, 'bar=baz,key=value', 'bar=baz,key=value'],
127+
['returns empty string when both params are undefined', undefined, undefined, ''],
128+
])('%s', (_: string, baggage, headerBaggageString, outcome) => {
129+
expect(mergeAndSerializeBaggage(baggage, headerBaggageString)).toEqual(outcome);
130+
});
131+
});
108132
});

0 commit comments

Comments
 (0)