Skip to content

Commit 764db2e

Browse files
authored
Merge pull request #5832 from getsentry/feat/data-collection-session-replay-network-options
test(replay): [Data Collection 16] Keep Replay independent
2 parents 48f9273 + 7deab9a commit 764db2e

1 file changed

Lines changed: 32 additions & 0 deletions

File tree

‎sentry-okhttp/src/test/java/io/sentry/okhttp/SentryOkHttpInterceptorTest.kt‎

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import io.sentry.Hint
88
import io.sentry.HttpStatusCodeRange
99
import io.sentry.IScope
1010
import io.sentry.IScopes
11+
import io.sentry.KeyValueCollectionBehavior
1112
import io.sentry.Scope
1213
import io.sentry.ScopeCallback
1314
import io.sentry.Sentry
@@ -22,6 +23,7 @@ import io.sentry.TypeCheckHint
2223
import io.sentry.W3CTraceparentHeader
2324
import io.sentry.exception.SentryHttpClientException
2425
import io.sentry.mockServerRequestTimeoutMillis
26+
import io.sentry.util.network.NetworkRequestData
2527
import java.io.IOException
2628
import java.util.concurrent.TimeUnit
2729
import kotlin.test.Test
@@ -45,6 +47,7 @@ import okhttp3.mockwebserver.MockWebServer
4547
import okhttp3.mockwebserver.SocketPolicy
4648
import org.mockito.kotlin.any
4749
import org.mockito.kotlin.anyOrNull
50+
import org.mockito.kotlin.argumentCaptor
4851
import org.mockito.kotlin.check
4952
import org.mockito.kotlin.doAnswer
5053
import org.mockito.kotlin.mock
@@ -324,6 +327,35 @@ class SentryOkHttpInterceptorTest {
324327
)
325328
}
326329

330+
@Test
331+
fun `data collection settings do not affect Session Replay network details`() {
332+
val sut =
333+
fixture.getSut(
334+
optionsConfiguration = {
335+
it.dataCollection.httpBodies = emptySet()
336+
it.dataCollection.httpHeaders.request = KeyValueCollectionBehavior.off()
337+
it.dataCollection.httpHeaders.response = KeyValueCollectionBehavior.off()
338+
it.sessionReplay.setNetworkDetailAllowUrls(listOf(".*"))
339+
}
340+
)
341+
342+
val request = postRequest().newBuilder().addHeader("Accept", "application/json").build()
343+
sut.newCall(request).execute()
344+
345+
val hint = argumentCaptor<Hint>()
346+
verify(fixture.scopes).addBreadcrumb(any(), hint.capture())
347+
val networkDetails =
348+
assertNotNull(
349+
hint.firstValue.getAs(
350+
TypeCheckHint.SENTRY_REPLAY_NETWORK_DETAILS,
351+
NetworkRequestData::class.java,
352+
)
353+
)
354+
assertEquals("request-body", networkDetails.request?.body?.body)
355+
assertEquals("application/json", networkDetails.request?.headers?.get("Accept"))
356+
assertNotNull(networkDetails.response)
357+
}
358+
327359
@SuppressWarnings("SwallowedException")
328360
@Test
329361
fun `adds breadcrumb when http calls results in exception`() {

0 commit comments

Comments
 (0)