@@ -81,6 +81,7 @@ class SentryKafkaRecordInterceptorTest {
8181 private fun createRecordWithHeaders (
8282 sentryTrace : String? = null,
8383 baggage : String? = null,
84+ baggageHeaders : List <String >? = null,
8485 enqueuedTime : String? = null,
8586 deliveryAttempt : Int? = null,
8687 ): ConsumerRecord <String , String > {
@@ -91,6 +92,9 @@ class SentryKafkaRecordInterceptorTest {
9192 baggage?.let {
9293 headers.add(BaggageHeader .BAGGAGE_HEADER , it.toByteArray(StandardCharsets .UTF_8 ))
9394 }
95+ baggageHeaders?.forEach {
96+ headers.add(BaggageHeader .BAGGAGE_HEADER , it.toByteArray(StandardCharsets .UTF_8 ))
97+ }
9498 enqueuedTime?.let {
9599 headers.add(
96100 SentryKafkaProducerInterceptor .SENTRY_ENQUEUED_TIME_HEADER ,
@@ -141,6 +145,25 @@ class SentryKafkaRecordInterceptorTest {
141145 verify(forkedScopes).continueTrace(org.mockito.kotlin.isNull(), org.mockito.kotlin.isNull())
142146 }
143147
148+ @Test
149+ fun `intercept passes all baggage headers to continueTrace` () {
150+ val interceptor = SentryKafkaRecordInterceptor <String , String >(scopes)
151+ val sentryTraceValue = " 2722d9f6ec019ade60c776169d9a8904-cedf5b7571cb4972-1"
152+ val record =
153+ createRecordWithHeaders(
154+ sentryTrace = sentryTraceValue,
155+ baggageHeaders = listOf (" third=party" , " sentry-sample_rate=1" ),
156+ )
157+
158+ interceptor.intercept(record, consumer)
159+
160+ verify(forkedScopes)
161+ .continueTrace(
162+ org.mockito.kotlin.eq(sentryTraceValue),
163+ org.mockito.kotlin.eq(listOf (" third=party" , " sentry-sample_rate=1" )),
164+ )
165+ }
166+
144167 @Test
145168 fun `sets retry count from delivery attempt header` () {
146169 val interceptor = SentryKafkaRecordInterceptor <String , String >(scopes)
0 commit comments