@@ -331,10 +331,11 @@ class DefaultReplayBreadcrumbConverterTest {
331331 @Test
332332 fun `returned breadcrumb is not modified when no user BeforeBreadcrumbCallback is provided` () {
333333 val converter = fixture.getSut()
334- val breadcrumb = Breadcrumb (Date ()).apply {
335- message = " test message"
336- category = " test.category"
337- }
334+ val breadcrumb =
335+ Breadcrumb (Date ()).apply {
336+ message = " test message"
337+ category = " test.category"
338+ }
338339 val hint = Hint ()
339340
340341 converter.setUserBeforeBreadcrumbCallback(null )
@@ -347,17 +348,20 @@ class DefaultReplayBreadcrumbConverterTest {
347348 @Test
348349 fun `returned breadcrumb is modified according to user provided BeforeBreadcrumbCallback` () {
349350 val converter = fixture.getSut()
350- val originalBreadcrumb = Breadcrumb (Date ()).apply {
351- message = " original message"
352- category = " original.category"
353- }
354- val userModifiedBreadcrumb = Breadcrumb (Date ()).apply {
355- message = " modified message"
356- category = " modified.category"
357- }
351+ val originalBreadcrumb =
352+ Breadcrumb (Date ()).apply {
353+ message = " original message"
354+ category = " original.category"
355+ }
356+ val userModifiedBreadcrumb =
357+ Breadcrumb (Date ()).apply {
358+ message = " modified message"
359+ category = " modified.category"
360+ }
358361 val hint = Hint ()
359362
360- val userBeforeBreadcrumbCallback = SentryOptions .BeforeBreadcrumbCallback { _, _ -> userModifiedBreadcrumb }
363+ val userBeforeBreadcrumbCallback =
364+ SentryOptions .BeforeBreadcrumbCallback { _, _ -> userModifiedBreadcrumb }
361365 converter.setUserBeforeBreadcrumbCallback(userBeforeBreadcrumbCallback)
362366
363367 val result = converter.execute(originalBreadcrumb, hint)
@@ -368,10 +372,11 @@ class DefaultReplayBreadcrumbConverterTest {
368372 @Test
369373 fun `returns null when user BeforeBreadcrumbCallback returns null` () {
370374 val converter = fixture.getSut()
371- val breadcrumb = Breadcrumb (Date ()).apply {
372- message = " test message"
373- category = " test.category"
374- }
375+ val breadcrumb =
376+ Breadcrumb (Date ()).apply {
377+ message = " test message"
378+ category = " test.category"
379+ }
375380 val hint = Hint ()
376381
377382 val userCallback = SentryOptions .BeforeBreadcrumbCallback { _, _ -> null }
@@ -385,20 +390,22 @@ class DefaultReplayBreadcrumbConverterTest {
385390 @Test
386391 fun `network data is extracted from hint for http breadcrumbs with user callback` () {
387392 val converter = fixture.getSut()
388- val httpBreadcrumb = Breadcrumb (Date ()).apply {
389- type = " http"
390- category = " http"
391- data[" url" ] = " https://example.com"
392- }
393-
394- val networkData = NetworkRequestData (
395- " GET" ,
396- 200 ,
397- 100L ,
398- 500L ,
399- ReplayNetworkRequestOrResponse (100L , null , mapOf (" Content-Type" to " application/json" )),
400- ReplayNetworkRequestOrResponse (500L , null , mapOf (" Content-Type" to " application/json" ))
401- )
393+ val httpBreadcrumb =
394+ Breadcrumb (Date ()).apply {
395+ type = " http"
396+ category = " http"
397+ data[" url" ] = " https://example.com"
398+ }
399+
400+ val networkData =
401+ NetworkRequestData (
402+ " GET" ,
403+ 200 ,
404+ 100L ,
405+ 500L ,
406+ ReplayNetworkRequestOrResponse (100L , null , mapOf (" Content-Type" to " application/json" )),
407+ ReplayNetworkRequestOrResponse (500L , null , mapOf (" Content-Type" to " application/json" )),
408+ )
402409 val hint = Hint ()
403410 hint.set(" replay:networkDetails" , networkData)
404411
@@ -408,26 +415,35 @@ class DefaultReplayBreadcrumbConverterTest {
408415 val result = converter.execute(httpBreadcrumb, hint)
409416
410417 assertSame(httpBreadcrumb, result)
411- // Network data should be stored internally for later conversion
412418 }
413419
414420 @Test
415421 fun `network data is extracted from hint for http breadcrumbs without user callback` () {
416422 val converter = fixture.getSut()
417- val httpBreadcrumb = Breadcrumb (Date ()).apply {
418- type = " http"
419- category = " http"
420- data[" url" ] = " https://example.com"
421- }
422-
423- val networkData = NetworkRequestData (
424- " POST" ,
425- 201 ,
426- 200L ,
427- 400L ,
428- ReplayNetworkRequestOrResponse (200L , NetworkBody .JsonObject (mapOf (" body" to " request" )), mapOf ()),
429- ReplayNetworkRequestOrResponse (400L , NetworkBody .JsonObject (mapOf (" body" to " response" )), mapOf ())
430- )
423+ val httpBreadcrumb =
424+ Breadcrumb (Date ()).apply {
425+ type = " http"
426+ category = " http"
427+ data[" url" ] = " https://example.com"
428+ }
429+
430+ val networkData =
431+ NetworkRequestData (
432+ " POST" ,
433+ 201 ,
434+ 200L ,
435+ 400L ,
436+ ReplayNetworkRequestOrResponse (
437+ 200L ,
438+ NetworkBody .fromJsonObject(mapOf (" body" to " request" )),
439+ mapOf (),
440+ ),
441+ ReplayNetworkRequestOrResponse (
442+ 400L ,
443+ NetworkBody .fromJsonObject(mapOf (" body" to " response" )),
444+ mapOf (),
445+ ),
446+ )
431447 val hint = Hint ()
432448 hint.set(" replay:networkDetails" , networkData)
433449
@@ -445,19 +461,21 @@ class DefaultReplayBreadcrumbConverterTest {
445461 val hint = Hint ()
446462
447463 // First callback modifies the message
448- val firstCallback = SentryOptions .BeforeBreadcrumbCallback { b, _ ->
449- b.message = " modified by first"
450- b
451- }
464+ val firstCallback =
465+ SentryOptions .BeforeBreadcrumbCallback { b, _ ->
466+ b.message = " modified by first"
467+ b
468+ }
452469 converter.setUserBeforeBreadcrumbCallback(firstCallback)
453470 var result = converter.execute(breadcrumb, hint)
454471 assertEquals(" modified by first" , result?.message)
455472
456473 // Second callback modifies differently
457- val secondCallback = SentryOptions .BeforeBreadcrumbCallback { b, _ ->
458- b.message = " modified by second"
459- b
460- }
474+ val secondCallback =
475+ SentryOptions .BeforeBreadcrumbCallback { b, _ ->
476+ b.message = " modified by second"
477+ b
478+ }
461479 converter.setUserBeforeBreadcrumbCallback(secondCallback)
462480
463481 breadcrumb.message = " test" // Reset
@@ -474,11 +492,12 @@ class DefaultReplayBreadcrumbConverterTest {
474492 var capturedBreadcrumb: Breadcrumb ? = null
475493 var capturedHint: Hint ? = null
476494
477- val capturingCallback = SentryOptions .BeforeBreadcrumbCallback { b, h ->
478- capturedBreadcrumb = b
479- capturedHint = h
480- b
481- }
495+ val capturingCallback =
496+ SentryOptions .BeforeBreadcrumbCallback { b, h ->
497+ capturedBreadcrumb = b
498+ capturedHint = h
499+ b
500+ }
482501 converter.setUserBeforeBreadcrumbCallback(capturingCallback)
483502
484503 converter.execute(breadcrumb, hint)
@@ -490,10 +509,11 @@ class DefaultReplayBreadcrumbConverterTest {
490509 @Test
491510 fun `non-http breadcrumbs do not extract network data` () {
492511 val converter = fixture.getSut()
493- val navigationBreadcrumb = Breadcrumb (Date ()).apply {
494- type = " navigation"
495- category = " navigation"
496- }
512+ val navigationBreadcrumb =
513+ Breadcrumb (Date ()).apply {
514+ type = " navigation"
515+ category = " navigation"
516+ }
497517 val hint = Hint ()
498518 hint.set(" replay:networkDetails" , NetworkRequestData (" GET" , 200 , null , null , null , null ))
499519
@@ -511,20 +531,22 @@ class DefaultReplayBreadcrumbConverterTest {
511531 val breadcrumb = Breadcrumb (Date ()).apply { message = " original" }
512532 val hint = Hint ()
513533
514- val firstCallback = SentryOptions .BeforeBreadcrumbCallback { b, h ->
515- b.message = " modified by first"
516- b
517- }
518-
519- val secondCallback = SentryOptions .BeforeBreadcrumbCallback { b, h ->
520- // This simulates what happens when ReplayBreadcrumbConverter
521- // wraps a user's callback
522- val result = firstCallback.execute(b, h)
523- result?.let {
524- it.message = " ${it.message} and second"
525- it
534+ val firstCallback =
535+ SentryOptions .BeforeBreadcrumbCallback { b, h ->
536+ b.message = " modified by first"
537+ b
538+ }
539+
540+ val secondCallback =
541+ SentryOptions .BeforeBreadcrumbCallback { b, h ->
542+ // This simulates what happens when ReplayBreadcrumbConverter
543+ // wraps a user's callback
544+ val result = firstCallback.execute(b, h)
545+ result?.let {
546+ it.message = " ${it.message} and second"
547+ it
548+ }
526549 }
527- }
528550
529551 converter.setUserBeforeBreadcrumbCallback(secondCallback)
530552
0 commit comments