@@ -175,9 +175,42 @@ describe('W3CBaggagePropagator', () => {
175
175
} ) ;
176
176
177
177
describe ( '.extract()' , ( ) => {
178
+ const baggageValue = 'key1=d4cda95b,key3=c88815a7, keyn = valn, keym =valm' ;
179
+ const expected = propagation . createBaggage ( {
180
+ key1 : { value : 'd4cda95b' } ,
181
+ key3 : { value : 'c88815a7' } ,
182
+ keyn : { value : 'valn' } ,
183
+ keym : { value : 'valm' } ,
184
+ } ) ;
185
+
178
186
it ( 'should extract context of a sampled span from carrier' , ( ) => {
179
- carrier [ BAGGAGE_HEADER ] =
180
- 'key1=d4cda95b,key3=c88815a7, keyn = valn, keym =valm' ;
187
+ carrier [ BAGGAGE_HEADER ] = baggageValue ;
188
+ const extractedBaggage = propagation . getBaggage (
189
+ httpBaggagePropagator . extract (
190
+ ROOT_CONTEXT ,
191
+ carrier ,
192
+ defaultTextMapGetter
193
+ )
194
+ ) ;
195
+
196
+ assert . deepStrictEqual ( extractedBaggage , expected ) ;
197
+ } ) ;
198
+
199
+ it ( 'should extract context of a sampled span when the headerValue comes as array' , ( ) => {
200
+ carrier [ BAGGAGE_HEADER ] = [ baggageValue ] ;
201
+ const extractedBaggage = propagation . getBaggage (
202
+ httpBaggagePropagator . extract (
203
+ ROOT_CONTEXT ,
204
+ carrier ,
205
+ defaultTextMapGetter
206
+ )
207
+ ) ;
208
+
209
+ assert . deepStrictEqual ( extractedBaggage , expected ) ;
210
+ } ) ;
211
+
212
+ it ( 'should extract context of a sampled span when the headerValue comes as array with multiple items' , ( ) => {
213
+ carrier [ BAGGAGE_HEADER ] = [ 'key1=d4cda95b,key3=c88815a7, keyn = valn' , 'keym =valm' ] ;
181
214
const extractedBaggage = propagation . getBaggage (
182
215
httpBaggagePropagator . extract (
183
216
ROOT_CONTEXT ,
@@ -186,12 +219,6 @@ describe('W3CBaggagePropagator', () => {
186
219
)
187
220
) ;
188
221
189
- const expected = propagation . createBaggage ( {
190
- key1 : { value : 'd4cda95b' } ,
191
- key3 : { value : 'c88815a7' } ,
192
- keyn : { value : 'valn' } ,
193
- keym : { value : 'valm' } ,
194
- } ) ;
195
222
assert . deepStrictEqual ( extractedBaggage , expected ) ;
196
223
} ) ;
197
224
} ) ;
0 commit comments