|
2 | 2 | createBaggage,
|
3 | 3 | getBaggageValue,
|
4 | 4 | isBaggageEmpty,
|
| 5 | + mergeAndSerializeBaggage, |
5 | 6 | parseBaggageString,
|
6 | 7 | serializeBaggage,
|
7 | 8 | setBaggageValue,
|
@@ -105,4 +106,27 @@ describe('Baggage', () => {
|
105 | 106 | expect(isBaggageEmpty(baggage)).toEqual(outcome);
|
106 | 107 | });
|
107 | 108 | });
|
| 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 | + }); |
108 | 132 | });
|
0 commit comments