Skip to content

Commit 81ee869

Browse files
committed
Merge branch 'feat/kafka-producer-wrapper' into fix/kafka-consumer-interceptor-reflection
2 parents 7f9aae6 + 18e05fa commit 81ee869

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

sentry-kafka/src/test/kotlin/io/sentry/kafka/SentryKafkaProducerTest.kt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import io.sentry.BaggageHeader
44
import io.sentry.IScopes
55
import io.sentry.ISentryLifecycleToken
66
import io.sentry.ISpan
7+
import io.sentry.NoOpSpan
78
import io.sentry.Scope
89
import io.sentry.ScopeCallback
910
import io.sentry.Sentry
@@ -232,6 +233,21 @@ class SentryKafkaProducerTest {
232233
assertNotNull(record.headers().lastHeader(SentryKafkaProducer.SENTRY_ENQUEUED_TIME_HEADER))
233234
}
234235

236+
@Test
237+
fun `injects headers but creates no span when active span is no-op`() {
238+
whenever(scopes.span).thenReturn(NoOpSpan.getInstance())
239+
val producer = SentryKafkaProducer.wrap(delegate, scopes)
240+
val record = ProducerRecord<String, String>("my-topic", "key", "value")
241+
242+
producer.send(record)
243+
244+
verify(delegate).send(eq(record), isNull())
245+
// Headers should still be injected from PropagationContext
246+
assertNotNull(record.headers().lastHeader(SentryTraceHeader.SENTRY_TRACE_HEADER))
247+
assertNotNull(record.headers().lastHeader(BaggageHeader.BAGGAGE_HEADER))
248+
assertNotNull(record.headers().lastHeader(SentryKafkaProducer.SENTRY_ENQUEUED_TIME_HEADER))
249+
}
250+
235251
@Test
236252
fun `preserves pre-existing third-party baggage header entries`() {
237253
createTransaction()

0 commit comments

Comments
 (0)