diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 6afb167b2c4..6967220351b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -37,7 +37,7 @@ sagp = "6.10.0" sqlite = "2.6.2" sqliteAlpha = "2.7.0-alpha06" # Required by Room3 3.0.0-alpha* slf4j = "1.7.30" -spotless = "8.6.0" +spotless = "8.8.0" springboot2 = "2.7.18" springboot3 = "3.5.0" springboot4 = "4.1.0" diff --git a/sentry-android-core/src/test/java/io/sentry/android/core/ActivityLifecycleIntegrationTest.kt b/sentry-android-core/src/test/java/io/sentry/android/core/ActivityLifecycleIntegrationTest.kt index 8b842a0cfa9..1a79e46da8f 100644 --- a/sentry-android-core/src/test/java/io/sentry/android/core/ActivityLifecycleIntegrationTest.kt +++ b/sentry-android-core/src/test/java/io/sentry/android/core/ActivityLifecycleIntegrationTest.kt @@ -242,11 +242,10 @@ class ActivityLifecycleIntegrationTest { @Test fun `Standalone app start transaction op is app start`() { - val sut = - fixture.getSut { - it.tracesSampleRate = 1.0 - it.isEnableStandaloneAppStartTracing = true - } + val sut = fixture.getSut { + it.tracesSampleRate = 1.0 + it.isEnableStandaloneAppStartTracing = true + } sut.register(fixture.scopes, fixture.options) setAppStartTime() @@ -257,8 +256,9 @@ class ActivityLifecycleIntegrationTest { verify(fixture.scopes, times(2)).startTransaction(any(), any()) val contexts = fixture.capturedContexts - val appStartContext = - contexts.single { it.operation == ActivityLifecycleIntegration.STANDALONE_APP_START_OP } + val appStartContext = contexts.single { + it.operation == ActivityLifecycleIntegration.STANDALONE_APP_START_OP + } assertEquals("App Start", appStartContext.name) assertEquals(TransactionNameSource.COMPONENT, appStartContext.transactionNameSource) val appStartTransaction = @@ -278,11 +278,10 @@ class ActivityLifecycleIntegrationTest { @Test @Config(sdk = [Build.VERSION_CODES.VANILLA_ICE_CREAM]) fun `Standalone app start transaction carries app start reason when available`() { - val sut = - fixture.getSut { - it.tracesSampleRate = 1.0 - it.isEnableStandaloneAppStartTracing = true - } + val sut = fixture.getSut { + it.tracesSampleRate = 1.0 + it.isEnableStandaloneAppStartTracing = true + } sut.register(fixture.scopes, fixture.options) setAppStartTime() @@ -304,11 +303,10 @@ class ActivityLifecycleIntegrationTest { @Test fun `Standalone app start transaction has no app start reason when unavailable`() { - val sut = - fixture.getSut { - it.tracesSampleRate = 1.0 - it.isEnableStandaloneAppStartTracing = true - } + val sut = fixture.getSut { + it.tracesSampleRate = 1.0 + it.isEnableStandaloneAppStartTracing = true + } sut.register(fixture.scopes, fixture.options) setAppStartTime() @@ -326,11 +324,10 @@ class ActivityLifecycleIntegrationTest { @Test @Config(sdk = [Build.VERSION_CODES.VANILLA_ICE_CREAM]) fun `Headless standalone app start transaction carries app start reason when available`() { - val sut = - fixture.getSut { - it.tracesSampleRate = 1.0 - it.isEnableStandaloneAppStartTracing = true - } + val sut = fixture.getSut { + it.tracesSampleRate = 1.0 + it.isEnableStandaloneAppStartTracing = true + } sut.register(fixture.scopes, fixture.options) prepareHeadlessAppStart(appStartType = AppStartType.COLD) val startInfo = @@ -347,11 +344,10 @@ class ActivityLifecycleIntegrationTest { @Test fun `HeadlessAppStartListener is registered when standalone flag is on and performance enabled`() { - val sut = - fixture.getSut { - it.tracesSampleRate = 1.0 - it.isEnableStandaloneAppStartTracing = true - } + val sut = fixture.getSut { + it.tracesSampleRate = 1.0 + it.isEnableStandaloneAppStartTracing = true + } sut.register(fixture.scopes, fixture.options) prepareHeadlessAppStart(appStartType = AppStartType.UNKNOWN) @@ -389,11 +385,10 @@ class ActivityLifecycleIntegrationTest { @Test fun `close clears HeadlessAppStartListener`() { - val sut = - fixture.getSut { - it.tracesSampleRate = 1.0 - it.isEnableStandaloneAppStartTracing = true - } + val sut = fixture.getSut { + it.tracesSampleRate = 1.0 + it.isEnableStandaloneAppStartTracing = true + } sut.register(fixture.scopes, fixture.options) sut.close() prepareHeadlessAppStart() @@ -405,11 +400,10 @@ class ActivityLifecycleIntegrationTest { @Test fun `onHeadlessAppStart creates standalone App Start transaction and stashes trace id`() { - val sut = - fixture.getSut { - it.tracesSampleRate = 1.0 - it.isEnableStandaloneAppStartTracing = true - } + val sut = fixture.getSut { + it.tracesSampleRate = 1.0 + it.isEnableStandaloneAppStartTracing = true + } sut.register(fixture.scopes, fixture.options) prepareHeadlessAppStart(appStartType = AppStartType.COLD) @@ -436,11 +430,10 @@ class ActivityLifecycleIntegrationTest { @Test @Config(sdk = [Build.VERSION_CODES.M]) fun `onHeadlessAppStart creates standalone App Start transaction on API 23`() { - val sut = - fixture.getSut { - it.tracesSampleRate = 1.0 - it.isEnableStandaloneAppStartTracing = true - } + val sut = fixture.getSut { + it.tracesSampleRate = 1.0 + it.isEnableStandaloneAppStartTracing = true + } sut.register(fixture.scopes, fixture.options) prepareHeadlessSdkInitAppStart() @@ -463,11 +456,10 @@ class ActivityLifecycleIntegrationTest { @Test fun `onHeadlessAppStart creates standalone App Start transaction when appStartType is WARM`() { - val sut = - fixture.getSut { - it.tracesSampleRate = 1.0 - it.isEnableStandaloneAppStartTracing = true - } + val sut = fixture.getSut { + it.tracesSampleRate = 1.0 + it.isEnableStandaloneAppStartTracing = true + } sut.register(fixture.scopes, fixture.options) prepareHeadlessAppStart(appStartType = AppStartType.WARM) @@ -482,11 +474,10 @@ class ActivityLifecycleIntegrationTest { @Test fun `onHeadlessAppStart does nothing when appStartTimeSpan is incomplete`() { - val sut = - fixture.getSut { - it.tracesSampleRate = 1.0 - it.isEnableStandaloneAppStartTracing = true - } + val sut = fixture.getSut { + it.tracesSampleRate = 1.0 + it.isEnableStandaloneAppStartTracing = true + } sut.register(fixture.scopes, fixture.options) AppStartMetrics.getInstance().appStartTimeSpan.reset() AppStartMetrics.getInstance().sdkInitTimeSpan.reset() @@ -801,11 +792,10 @@ class ActivityLifecycleIntegrationTest { @Test fun `When Activity is destroyed, sets standalone appStartTransaction status to cancelled and finish it`() { - val sut = - fixture.getSut { - it.tracesSampleRate = 1.0 - it.isEnableStandaloneAppStartTracing = true - } + val sut = fixture.getSut { + it.tracesSampleRate = 1.0 + it.isEnableStandaloneAppStartTracing = true + } sut.register(fixture.scopes, fixture.options) setAppStartTime() @@ -1177,11 +1167,10 @@ class ActivityLifecycleIntegrationTest { @Test fun `launcher activity emits ui load and standalone App Start sharing trace id`() { - val sut = - fixture.getSut { - it.tracesSampleRate = 1.0 - it.isEnableStandaloneAppStartTracing = true - } + val sut = fixture.getSut { + it.tracesSampleRate = 1.0 + it.isEnableStandaloneAppStartTracing = true + } sut.register(fixture.scopes, fixture.options) val firstFrameDate = SentryNanotimeDate(1499, 0) fixture.options.dateProvider = SentryDateProvider { firstFrameDate } @@ -1232,11 +1221,10 @@ class ActivityLifecycleIntegrationTest { @Test fun `launcher activity attaches lifecycle spans before finishing stopped standalone App Start`() { - val sut = - fixture.getSut { - it.tracesSampleRate = 1.0 - it.isEnableStandaloneAppStartTracing = true - } + val sut = fixture.getSut { + it.tracesSampleRate = 1.0 + it.isEnableStandaloneAppStartTracing = true + } sut.register(fixture.scopes, fixture.options) val appStartEndDate = SentryNanotimeDate(499, 0) setAppStartTime(SentryNanotimeDate(1, 0), appStartEndDate) @@ -1265,11 +1253,10 @@ class ActivityLifecycleIntegrationTest { @Test fun `activity following a headless start reuses trace id and does not emit second standalone`() { val storedTraceId = SentryId() - val sut = - fixture.getSut { - it.tracesSampleRate = 1.0 - it.isEnableStandaloneAppStartTracing = true - } + val sut = fixture.getSut { + it.tracesSampleRate = 1.0 + it.isEnableStandaloneAppStartTracing = true + } AppStartMetrics.getInstance().setAppStartTraceId(storedTraceId) // headless start always stores the trace header alongside the trace id; the ui.load txn // continues that trace via continueTrace, sharing the trace id. @@ -1291,11 +1278,10 @@ class ActivityLifecycleIntegrationTest { @Test fun `activity within a minute of the headless start continues the same trace`() { val storedTraceId = SentryId() - val sut = - fixture.getSut { - it.tracesSampleRate = 1.0 - it.isEnableStandaloneAppStartTracing = true - } + val sut = fixture.getSut { + it.tracesSampleRate = 1.0 + it.isEnableStandaloneAppStartTracing = true + } AppStartMetrics.getInstance().setAppStartTraceId(storedTraceId) AppStartMetrics.getInstance().appStartSentryTraceHeader = SentryTraceHeader(storedTraceId, SpanId(), true).value @@ -1315,11 +1301,10 @@ class ActivityLifecycleIntegrationTest { @Test fun `activity more than a minute after the headless start starts a fresh trace`() { val storedTraceId = SentryId() - val sut = - fixture.getSut { - it.tracesSampleRate = 1.0 - it.isEnableStandaloneAppStartTracing = true - } + val sut = fixture.getSut { + it.tracesSampleRate = 1.0 + it.isEnableStandaloneAppStartTracing = true + } AppStartMetrics.getInstance().setAppStartTraceId(storedTraceId) AppStartMetrics.getInstance().appStartSentryTraceHeader = SentryTraceHeader(storedTraceId, SpanId(), true).value @@ -1341,11 +1326,10 @@ class ActivityLifecycleIntegrationTest { @Test fun `onHeadlessAppStart stores sentry-trace and baggage headers for continuation`() { - val sut = - fixture.getSut { - it.tracesSampleRate = 1.0 - it.isEnableStandaloneAppStartTracing = true - } + val sut = fixture.getSut { + it.tracesSampleRate = 1.0 + it.isEnableStandaloneAppStartTracing = true + } sut.register(fixture.scopes, fixture.options) prepareHeadlessAppStart(appStartType = AppStartType.COLD) @@ -1363,11 +1347,10 @@ class ActivityLifecycleIntegrationTest { @Test fun `launcher activity shares standalone App Start trace and sampleRand as a sibling`() { - val sut = - fixture.getSut { - it.tracesSampleRate = 1.0 - it.isEnableStandaloneAppStartTracing = true - } + val sut = fixture.getSut { + it.tracesSampleRate = 1.0 + it.isEnableStandaloneAppStartTracing = true + } sut.register(fixture.scopes, fixture.options) setAppStartTime() // the app-start sampling decision carries the sampleRand the whole trace should share @@ -1396,11 +1379,10 @@ class ActivityLifecycleIntegrationTest { @Test fun `activity following a headless start shares stored trace and sampleRand as a sibling and clears headers`() { - val sut = - fixture.getSut { - it.tracesSampleRate = 1.0 - it.isEnableStandaloneAppStartTracing = true - } + val sut = fixture.getSut { + it.tracesSampleRate = 1.0 + it.isEnableStandaloneAppStartTracing = true + } sut.register(fixture.scopes, fixture.options) // 1) a headless start emits the standalone app.start and stores its trace headers diff --git a/sentry-android-core/src/test/java/io/sentry/android/core/AndroidContinuousProfilerTest.kt b/sentry-android-core/src/test/java/io/sentry/android/core/AndroidContinuousProfilerTest.kt index 162e56c36e3..8837030608e 100644 --- a/sentry-android-core/src/test/java/io/sentry/android/core/AndroidContinuousProfilerTest.kt +++ b/sentry-android-core/src/test/java/io/sentry/android/core/AndroidContinuousProfilerTest.kt @@ -539,13 +539,12 @@ class AndroidContinuousProfilerTest { @Test fun `profiler does not start when offline`() { - val profiler = - fixture.getSut { - it.connectionStatusProvider = mock { provider -> - whenever(provider.connectionStatus) - .thenReturn(IConnectionStatusProvider.ConnectionStatus.DISCONNECTED) - } + val profiler = fixture.getSut { + it.connectionStatusProvider = mock { provider -> + whenever(provider.connectionStatus) + .thenReturn(IConnectionStatusProvider.ConnectionStatus.DISCONNECTED) } + } // If the device is offline, the profiler should never start profiler.startProfiler(ProfileLifecycle.MANUAL, fixture.mockTracesSampler) diff --git a/sentry-android-core/src/test/java/io/sentry/android/core/AndroidLoggerBatchProcessorTest.kt b/sentry-android-core/src/test/java/io/sentry/android/core/AndroidLoggerBatchProcessorTest.kt index ab83671fa0e..369f7f6a148 100644 --- a/sentry-android-core/src/test/java/io/sentry/android/core/AndroidLoggerBatchProcessorTest.kt +++ b/sentry-android-core/src/test/java/io/sentry/android/core/AndroidLoggerBatchProcessorTest.kt @@ -68,12 +68,11 @@ class AndroidLoggerBatchProcessorTest { @Test fun `onBackground handles executor exception gracefully`() { - val sut = - fixture.getSut { options -> - val rejectingExecutor = mock() - whenever(rejectingExecutor.submit(any())).thenThrow(RuntimeException("Rejected")) - options.executorService = rejectingExecutor - } + val sut = fixture.getSut { options -> + val rejectingExecutor = mock() + whenever(rejectingExecutor.submit(any())).thenThrow(RuntimeException("Rejected")) + options.executorService = rejectingExecutor + } // Should not throw sut.onBackground() diff --git a/sentry-android-core/src/test/java/io/sentry/android/core/AndroidMetricsBatchProcessorTest.kt b/sentry-android-core/src/test/java/io/sentry/android/core/AndroidMetricsBatchProcessorTest.kt index fceb9ed3f4d..7d85502d149 100644 --- a/sentry-android-core/src/test/java/io/sentry/android/core/AndroidMetricsBatchProcessorTest.kt +++ b/sentry-android-core/src/test/java/io/sentry/android/core/AndroidMetricsBatchProcessorTest.kt @@ -67,12 +67,11 @@ class AndroidMetricsBatchProcessorTest { @Test fun `onBackground handles executor exception gracefully`() { - val sut = - fixture.getSut { options -> - val rejectingExecutor = mock() - whenever(rejectingExecutor.submit(any())).thenThrow(RuntimeException("Rejected")) - options.executorService = rejectingExecutor - } + val sut = fixture.getSut { options -> + val rejectingExecutor = mock() + whenever(rejectingExecutor.submit(any())).thenThrow(RuntimeException("Rejected")) + options.executorService = rejectingExecutor + } // Should not throw sut.onBackground() diff --git a/sentry-android-core/src/test/java/io/sentry/android/core/ApplicationExitIntegrationTestBase.kt b/sentry-android-core/src/test/java/io/sentry/android/core/ApplicationExitIntegrationTestBase.kt index 649e14e413b..edb2ce1df24 100644 --- a/sentry-android-core/src/test/java/io/sentry/android/core/ApplicationExitIntegrationTestBase.kt +++ b/sentry-android-core/src/test/java/io/sentry/android/core/ApplicationExitIntegrationTestBase.kt @@ -369,7 +369,11 @@ abstract class ApplicationExitIntegrationTestBase { val hintAccessors: HintAccessors, val addExitInfo: ApplicationExitTestFixture.( - reason: Int?, timestamp: Long?, importance: Int?, addTrace: Boolean, addBadTrace: Boolean, + reason: Int?, + timestamp: Long?, + importance: Int?, + addTrace: Boolean, + addBadTrace: Boolean, ) -> Unit, val flushLogPrefix: String, ) diff --git a/sentry-android-core/src/test/java/io/sentry/android/core/SentryAndroidTest.kt b/sentry-android-core/src/test/java/io/sentry/android/core/SentryAndroidTest.kt index 8524a1cc807..2bd26051c07 100644 --- a/sentry-android-core/src/test/java/io/sentry/android/core/SentryAndroidTest.kt +++ b/sentry-android-core/src/test/java/io/sentry/android/core/SentryAndroidTest.kt @@ -440,7 +440,9 @@ class SentryAndroidTest { // clean state for a new process. assertEquals( emptyList(), - options.findPersistingScopeObserver()?.read(options, BREADCRUMBS_FILENAME, List::class.java), + options + .findPersistingScopeObserver() + ?.read(options, BREADCRUMBS_FILENAME, List::class.java), ) assertEquals( SentryId.EMPTY_ID.toString(), @@ -463,7 +465,9 @@ class SentryAndroidTest { // assert that persisted values have changed assertEquals( "TestActivity", - options.findPersistingScopeObserver()?.read(options, TRANSACTION_FILENAME, String::class.java), + options + .findPersistingScopeObserver() + ?.read(options, TRANSACTION_FILENAME, String::class.java), ) assertEquals( "io.sentry.sample@1.1.0+220", diff --git a/sentry-android-core/src/test/java/io/sentry/android/core/SentryLogcatAdapterTest.kt b/sentry-android-core/src/test/java/io/sentry/android/core/SentryLogcatAdapterTest.kt index 1a84a1282da..0c0c03d71d2 100644 --- a/sentry-android-core/src/test/java/io/sentry/android/core/SentryLogcatAdapterTest.kt +++ b/sentry-android-core/src/test/java/io/sentry/android/core/SentryLogcatAdapterTest.kt @@ -31,11 +31,10 @@ class SentryLogcatAdapterTest { Bundle().apply { putString(ManifestMetadataReader.DSN, "https://key@sentry.io/123") } val mockContext = ContextUtilsTestHelper.mockMetaData(metaData = metadata) initForTest(mockContext) { - it.beforeBreadcrumb = - SentryOptions.BeforeBreadcrumbCallback { breadcrumb, _ -> - breadcrumbs.add(breadcrumb) - breadcrumb - } + it.beforeBreadcrumb = SentryOptions.BeforeBreadcrumbCallback { breadcrumb, _ -> + breadcrumbs.add(breadcrumb) + breadcrumb + } it.logs.isEnabled = true it.logs.beforeSend = SentryOptions.Logs.BeforeSendLogCallback { logEvent -> diff --git a/sentry-android-core/src/test/java/io/sentry/android/core/SentryPerformanceProviderTest.kt b/sentry-android-core/src/test/java/io/sentry/android/core/SentryPerformanceProviderTest.kt index 58dc56d1493..254571181a6 100644 --- a/sentry-android-core/src/test/java/io/sentry/android/core/SentryPerformanceProviderTest.kt +++ b/sentry-android-core/src/test/java/io/sentry/android/core/SentryPerformanceProviderTest.kt @@ -257,8 +257,9 @@ class SentryPerformanceProviderTest { @Test fun `when provider is closed, profiler is stopped`() { - val provider = - fixture.getSut { config -> writeConfig(config, continuousProfilingEnabled = false) } + val provider = fixture.getSut { config -> + writeConfig(config, continuousProfilingEnabled = false) + } provider.shutdown() assertNotNull(AppStartMetrics.getInstance().appStartProfiler) assertFalse(AppStartMetrics.getInstance().appStartProfiler!!.isRunning) diff --git a/sentry-android-core/src/test/java/io/sentry/android/core/internal/threaddump/ThreadDumpParserTest.kt b/sentry-android-core/src/test/java/io/sentry/android/core/internal/threaddump/ThreadDumpParserTest.kt index b7db35b63ce..4eb1d42eb10 100644 --- a/sentry-android-core/src/test/java/io/sentry/android/core/internal/threaddump/ThreadDumpParserTest.kt +++ b/sentry-android-core/src/test/java/io/sentry/android/core/internal/threaddump/ThreadDumpParserTest.kt @@ -52,8 +52,9 @@ class ThreadDumpParserTest { assertEquals(SentryLockReason.SLEEPING, blockingThread.heldLocks!!["0x09228c2d"]!!.type) assertEquals(null, blockingThread.heldLocks!!["0x09228c2d"]!!.threadId) - val randomThread = - threads.find { it.name == "io.sentry.android.core.internal.util.SentryFrameMetricsCollector" } + val randomThread = threads.find { + it.name == "io.sentry.android.core.internal.util.SentryFrameMetricsCollector" + } assertEquals(19, randomThread!!.id) assertEquals("Native", randomThread.state) assertEquals(false, randomThread.isCrashed) @@ -152,8 +153,9 @@ class ThreadDumpParserTest { assertNull(deletedFrame.addrMode) val debugImages = parser.debugImages - val image = - debugImages.first { image -> image.debugId == "499d48ba-c085-17cf-3209-da67405662f9" } + val image = debugImages.first { image -> + image.debugId == "499d48ba-c085-17cf-3209-da67405662f9" + } assertNotNull(image) assertEquals("499d48ba-c085-17cf-3209-da67405662f9", image.debugId) assertEquals("/apex/com.android.runtime/lib64/bionic/libc.so", image.codeFile) diff --git a/sentry-android-core/src/test/java/io/sentry/android/core/internal/util/CpuInfoUtilsTest.kt b/sentry-android-core/src/test/java/io/sentry/android/core/internal/util/CpuInfoUtilsTest.kt index a6611e17e9a..c3993b94efd 100644 --- a/sentry-android-core/src/test/java/io/sentry/android/core/internal/util/CpuInfoUtilsTest.kt +++ b/sentry-android-core/src/test/java/io/sentry/android/core/internal/util/CpuInfoUtilsTest.kt @@ -14,14 +14,13 @@ class CpuInfoUtilsTest { private lateinit var cpuDirs: File private lateinit var ciu: CpuInfoUtils - private fun populateCpuFiles(values: List) = - values.mapIndexed { i, v -> - val cpuMaxFreqFile = - File(cpuDirs, "cpu$i${File.separator}${CpuInfoUtils.CPUINFO_MAX_FREQ_PATH}") - cpuMaxFreqFile.parentFile?.mkdirs() - cpuMaxFreqFile.writeText(v) - cpuMaxFreqFile - } + private fun populateCpuFiles(values: List) = values.mapIndexed { i, v -> + val cpuMaxFreqFile = + File(cpuDirs, "cpu$i${File.separator}${CpuInfoUtils.CPUINFO_MAX_FREQ_PATH}") + cpuMaxFreqFile.parentFile?.mkdirs() + cpuMaxFreqFile.writeText(v) + cpuMaxFreqFile + } @BeforeTest fun `set up`() { diff --git a/sentry-android-integration-tests/sentry-uitest-android/src/androidTest/java/io/sentry/uitest/android/ReplayTest.kt b/sentry-android-integration-tests/sentry-uitest-android/src/androidTest/java/io/sentry/uitest/android/ReplayTest.kt index 3827561e37c..9c53f0a022d 100644 --- a/sentry-android-integration-tests/sentry-uitest-android/src/androidTest/java/io/sentry/uitest/android/ReplayTest.kt +++ b/sentry-android-integration-tests/sentry-uitest-android/src/androidTest/java/io/sentry/uitest/android/ReplayTest.kt @@ -70,11 +70,10 @@ class ReplayTest : BaseUiTest() { initSentry { it.sessionReplay.sessionSampleRate = 1.0 - it.beforeSendReplay = - SentryOptions.BeforeSendReplayCallback { event, _ -> - sent.set(true) - event - } + it.beforeSendReplay = SentryOptions.BeforeSendReplayCallback { event, _ -> + sent.set(true) + event + } } // wait until first segment is being sent diff --git a/sentry-android-integration-tests/sentry-uitest-android/src/androidTest/java/io/sentry/uitest/android/UserInteractionTests.kt b/sentry-android-integration-tests/sentry-uitest-android/src/androidTest/java/io/sentry/uitest/android/UserInteractionTests.kt index b76017aeb0b..2ea1905b761 100644 --- a/sentry-android-integration-tests/sentry-uitest-android/src/androidTest/java/io/sentry/uitest/android/UserInteractionTests.kt +++ b/sentry-android-integration-tests/sentry-uitest-android/src/androidTest/java/io/sentry/uitest/android/UserInteractionTests.kt @@ -89,11 +89,10 @@ class UserInteractionTests : BaseUiTest() { options.profilesSampleRate = 1.0 options.isEnableUserInteractionTracing = true options.isEnableUserInteractionBreadcrumbs = true - options.beforeBreadcrumb = - SentryOptions.BeforeBreadcrumbCallback { breadcrumb, _ -> - breadcrumbs.add(breadcrumb) - breadcrumb - } + options.beforeBreadcrumb = SentryOptions.BeforeBreadcrumbCallback { breadcrumb, _ -> + breadcrumbs.add(breadcrumb) + breadcrumb + } } } } diff --git a/sentry-android-replay/src/main/java/io/sentry/android/replay/Windows.kt b/sentry-android-replay/src/main/java/io/sentry/android/replay/Windows.kt index 9b9d8f0157b..e81c815dc11 100644 --- a/sentry-android-replay/src/main/java/io/sentry/android/replay/Windows.kt +++ b/sentry-android-replay/src/main/java/io/sentry/android/replay/Windows.kt @@ -83,14 +83,13 @@ internal object WindowSpy { } } - fun pullWindow(maybeDecorView: View): Window? = - decorViewClass?.let { decorViewClass -> - if (decorViewClass.isInstance(maybeDecorView)) { - windowField?.let { windowField -> windowField[maybeDecorView] as Window } - } else { - null - } + fun pullWindow(maybeDecorView: View): Window? = decorViewClass?.let { decorViewClass -> + if (decorViewClass.isInstance(maybeDecorView)) { + windowField?.let { windowField -> windowField[maybeDecorView] as Window } + } else { + null } + } } /** diff --git a/sentry-android-replay/src/main/java/io/sentry/android/replay/gestures/ReplayGestureConverter.kt b/sentry-android-replay/src/main/java/io/sentry/android/replay/gestures/ReplayGestureConverter.kt index 70d0988d3b0..cbedfc24cc2 100644 --- a/sentry-android-replay/src/main/java/io/sentry/android/replay/gestures/ReplayGestureConverter.kt +++ b/sentry-android-replay/src/main/java/io/sentry/android/replay/gestures/ReplayGestureConverter.kt @@ -65,11 +65,10 @@ internal class ReplayGestureConverter(private val dateProvider: ICurrentDateProv moveEvents += RRWebInteractionMoveEvent().apply { this.timestamp = now - this.positions = - positions.map { pos -> - pos.timeOffset -= totalOffset - pos - } + this.positions = positions.map { pos -> + pos.timeOffset -= totalOffset + pos + } this.pointerId = pointerId } currentPositions[pointerId]!!.clear() diff --git a/sentry-android-replay/src/test/java/io/sentry/android/replay/AnrWithReplayIntegrationTest.kt b/sentry-android-replay/src/test/java/io/sentry/android/replay/AnrWithReplayIntegrationTest.kt index 1214c55c057..3df08b2af24 100644 --- a/sentry-android-replay/src/test/java/io/sentry/android/replay/AnrWithReplayIntegrationTest.kt +++ b/sentry-android-replay/src/test/java/io/sentry/android/replay/AnrWithReplayIntegrationTest.kt @@ -155,11 +155,10 @@ class AnrWithReplayIntegrationTest { it.sessionReplay.onErrorSampleRate = 1.0 // beforeSend is called after event processors are applied, so we can assert here // against the enriched ANR event - it.beforeSend = - SentryOptions.BeforeSendCallback { event, _ -> - assertEquals(replayId2.toString(), event.contexts[Contexts.REPLAY_ID]) - event - } + it.beforeSend = SentryOptions.BeforeSendCallback { event, _ -> + assertEquals(replayId2.toString(), event.contexts[Contexts.REPLAY_ID]) + event + } it.addEventProcessor( object : EventProcessor { override fun process(event: SentryReplayEvent, hint: Hint): SentryReplayEvent { diff --git a/sentry-android-replay/src/test/java/io/sentry/android/replay/DefaultReplayBreadcrumbConverterTest.kt b/sentry-android-replay/src/test/java/io/sentry/android/replay/DefaultReplayBreadcrumbConverterTest.kt index 3da118190f0..749d3496698 100644 --- a/sentry-android-replay/src/test/java/io/sentry/android/replay/DefaultReplayBreadcrumbConverterTest.kt +++ b/sentry-android-replay/src/test/java/io/sentry/android/replay/DefaultReplayBreadcrumbConverterTest.kt @@ -368,8 +368,9 @@ class DefaultReplayBreadcrumbConverterTest { } // Set up options with a user callback that returns modified breadcrumb - val userBeforeBreadcrumbCallback = - SentryOptions.BeforeBreadcrumbCallback { _, _ -> userModifiedBreadcrumb } + val userBeforeBreadcrumbCallback = SentryOptions.BeforeBreadcrumbCallback { _, _ -> + userModifiedBreadcrumb + } val options = SentryOptions.empty() options.beforeBreadcrumb = userBeforeBreadcrumbCallback diff --git a/sentry-android-replay/src/test/java/io/sentry/android/replay/ReplayIntegrationTest.kt b/sentry-android-replay/src/test/java/io/sentry/android/replay/ReplayIntegrationTest.kt index 3df0c9f005f..4e77d03c971 100644 --- a/sentry-android-replay/src/test/java/io/sentry/android/replay/ReplayIntegrationTest.kt +++ b/sentry-android-replay/src/test/java/io/sentry/android/replay/ReplayIntegrationTest.kt @@ -1037,7 +1037,9 @@ class ReplayIntegrationTest { replay.start() fixture.options.sessionReplay.frameObserver = - SentryReplayOptions.ReplayFrameObserver { _, _, _ -> throw RuntimeException("test") } + SentryReplayOptions.ReplayFrameObserver { _, _, _ -> + throw RuntimeException("test") + } val sourceBitmap = mock { diff --git a/sentry-android-replay/src/test/java/io/sentry/android/replay/ScreenshotRecorderTest.kt b/sentry-android-replay/src/test/java/io/sentry/android/replay/ScreenshotRecorderTest.kt index 0a5c73f8a5c..2818eeb3537 100644 --- a/sentry-android-replay/src/test/java/io/sentry/android/replay/ScreenshotRecorderTest.kt +++ b/sentry-android-replay/src/test/java/io/sentry/android/replay/ScreenshotRecorderTest.kt @@ -42,10 +42,9 @@ class ScreenshotRecorderTest { @Test fun `when config uses PIXEL_COPY strategy, ScreenshotRecorder creates PixelCopyStrategy`() { - val recorder = - fixture.getSut { options -> - options.sessionReplay.screenshotStrategy = ScreenshotStrategyType.PIXEL_COPY - } + val recorder = fixture.getSut { options -> + options.sessionReplay.screenshotStrategy = ScreenshotStrategyType.PIXEL_COPY + } val strategy = getStrategy(recorder) @@ -57,10 +56,9 @@ class ScreenshotRecorderTest { @Test fun `when config uses CANVAS strategy, ScreenshotRecorder creates CanvasStrategy`() { - val recorder = - fixture.getSut { options -> - options.sessionReplay.screenshotStrategy = ScreenshotStrategyType.CANVAS - } + val recorder = fixture.getSut { options -> + options.sessionReplay.screenshotStrategy = ScreenshotStrategyType.CANVAS + } val strategy = getStrategy(recorder) assertTrue( diff --git a/sentry-android-timber/src/main/java/io/sentry/android/timber/SentryTimberTree.kt b/sentry-android-timber/src/main/java/io/sentry/android/timber/SentryTimberTree.kt index 9c87c8a461d..61b1f99fb16 100644 --- a/sentry-android-timber/src/main/java/io/sentry/android/timber/SentryTimberTree.kt +++ b/sentry-android-timber/src/main/java/io/sentry/android/timber/SentryTimberTree.kt @@ -248,8 +248,9 @@ public class SentryTimberTree( ) { // checks the log level if (isLoggable(sentryLogLevel, minLogLevel)) { - val attributes = - tag?.let { SentryAttributes.of(SentryAttribute.stringAttribute("timber.tag", tag)) } + val attributes = tag?.let { + SentryAttributes.of(SentryAttribute.stringAttribute("timber.tag", tag)) + } val params = SentryLogParameters.create(attributes) params.origin = "auto.log.timber" diff --git a/sentry-async-profiler/src/test/java/io/sentry/asyncprofiler/convert/JfrAsyncProfilerToSentryProfileConverterTest.kt b/sentry-async-profiler/src/test/java/io/sentry/asyncprofiler/convert/JfrAsyncProfilerToSentryProfileConverterTest.kt index d565fd9d51d..26a10352176 100644 --- a/sentry-async-profiler/src/test/java/io/sentry/asyncprofiler/convert/JfrAsyncProfilerToSentryProfileConverterTest.kt +++ b/sentry-async-profiler/src/test/java/io/sentry/asyncprofiler/convert/JfrAsyncProfilerToSentryProfileConverterTest.kt @@ -218,13 +218,12 @@ class JfrAsyncProfilerToSentryProfileConverterTest { assertTrue(frames.isNotEmpty()) // Find frames with complete information - val completeFrames = - frames.filter { frame -> - frame.function != null && - frame.module != null && - frame.lineno != null && - frame.filename != null - } + val completeFrames = frames.filter { frame -> + frame.function != null && + frame.module != null && + frame.lineno != null && + frame.filename != null + } assertTrue(completeFrames.isNotEmpty(), "Should have frames with complete information") } @@ -238,15 +237,15 @@ class JfrAsyncProfilerToSentryProfileConverterTest { val frames = sentryProfile.frames // Verify system packages are marked as not in-app - val systemFrames = - frames.filter { frame -> - frame.module?.let { - it.startsWith("java.") || it.startsWith("sun.") || it.startsWith("jdk.") - } ?: false - } + val systemFrames = frames.filter { frame -> + frame.module?.let { + it.startsWith("java.") || it.startsWith("sun.") || it.startsWith("jdk.") + } ?: false + } - val inappSentryFrames = - frames.filter { frame -> frame.module?.startsWith("io.sentry.") ?: false } + val inappSentryFrames = frames.filter { frame -> + frame.module?.startsWith("io.sentry.") ?: false + } val emptyModuleFrames = frames.filter { it.module.isNullOrEmpty() } diff --git a/sentry-logback/src/test/kotlin/io/sentry/logback/SentryAppenderTest.kt b/sentry-logback/src/test/kotlin/io/sentry/logback/SentryAppenderTest.kt index e93d6ef2db1..877d2a23d75 100644 --- a/sentry-logback/src/test/kotlin/io/sentry/logback/SentryAppenderTest.kt +++ b/sentry-logback/src/test/kotlin/io/sentry/logback/SentryAppenderTest.kt @@ -121,7 +121,9 @@ class SentryAppenderTest { Fixture( startLater = true, options = - SentryOptions().also { it.setTag("only-present-if-logger-init-was-run", "another-value") }, + SentryOptions().also { + it.setTag("only-present-if-logger-init-was-run", "another-value") + }, ) initForTest { it.dsn = "http://key@localhost/proj" diff --git a/sentry-openfeign/src/test/kotlin/io/sentry/openfeign/SentryFeignClientTest.kt b/sentry-openfeign/src/test/kotlin/io/sentry/openfeign/SentryFeignClientTest.kt index 571a2339326..c25a81f9501 100644 --- a/sentry-openfeign/src/test/kotlin/io/sentry/openfeign/SentryFeignClientTest.kt +++ b/sentry-openfeign/src/test/kotlin/io/sentry/openfeign/SentryFeignClientTest.kt @@ -286,11 +286,10 @@ class SentryFeignClientTest { @Test fun `customizer modifies span`() { - val sut = - fixture.getSut { span, _, _ -> - span.description = "overwritten description" - span - } + val sut = fixture.getSut { span, _, _ -> + span.description = "overwritten description" + span + } sut.getOk() assertEquals(1, fixture.sentryTracer.children.size) val httpClientSpan = fixture.sentryTracer.children.first() @@ -299,13 +298,12 @@ class SentryFeignClientTest { @Test fun `customizer receives request and response`() { - val sut = - fixture.getSut { span, request, response -> - assertEquals(request.url(), request.url()) - assertEquals(request.httpMethod().name, request.httpMethod().name) - assertNotNull(response) { assertEquals(201, it.status()) } - span - } + val sut = fixture.getSut { span, request, response -> + assertEquals(request.url(), request.url()) + assertEquals(request.httpMethod().name, request.httpMethod().name) + assertNotNull(response) { assertEquals(201, it.status()) } + span + } sut.getOk() } diff --git a/sentry/src/test/java/io/sentry/CheckInSerializationTest.kt b/sentry/src/test/java/io/sentry/CheckInSerializationTest.kt index 51d37764f4d..69c65a64c62 100644 --- a/sentry/src/test/java/io/sentry/CheckInSerializationTest.kt +++ b/sentry/src/test/java/io/sentry/CheckInSerializationTest.kt @@ -42,14 +42,13 @@ class CheckInSerializationTest { } else { MonitorConfig(MonitorSchedule.interval(42, MonitorScheduleUnit.MINUTE)) } - monitorConfig = - monitorConfigTmp.apply { - checkinMargin = 8L - maxRuntime = 9L - timezone = ZoneId.of("Europe/Vienna").id - failureIssueThreshold = 10 - recoveryThreshold = 20 - } + monitorConfig = monitorConfigTmp.apply { + checkinMargin = 8L + maxRuntime = 9L + timezone = ZoneId.of("Europe/Vienna").id + failureIssueThreshold = 10 + recoveryThreshold = 20 + } } } diff --git a/sentry/src/test/java/io/sentry/DefaultCompositePerformanceCollectorTest.kt b/sentry/src/test/java/io/sentry/DefaultCompositePerformanceCollectorTest.kt index f8e3a8f9f98..bd1e584c2d7 100644 --- a/sentry/src/test/java/io/sentry/DefaultCompositePerformanceCollectorTest.kt +++ b/sentry/src/test/java/io/sentry/DefaultCompositePerformanceCollectorTest.kt @@ -191,11 +191,10 @@ class DefaultCompositePerformanceCollectorTest { SentryNanotimeDate(TimeUnit.SECONDS.toMillis(131), TimeUnit.SECONDS.toNanos(131)), ) whenever(mockDateProvider.now()).thenReturn(dates[0], dates[0], dates[0], dates[1]) - val collector = - fixture.getSut { - it.dateProvider = mockDateProvider - it.addPerformanceCollector(mockCollector) - } + val collector = fixture.getSut { + it.dateProvider = mockDateProvider + it.addPerformanceCollector(mockCollector) + } collector.start(fixture.transaction1) verify(fixture.mockTimer, never())!!.cancel() diff --git a/sentry/src/test/java/io/sentry/JsonReflectionObjectSerializerTest.kt b/sentry/src/test/java/io/sentry/JsonReflectionObjectSerializerTest.kt index 3ef48dad5ef..bd1de8fcbc7 100644 --- a/sentry/src/test/java/io/sentry/JsonReflectionObjectSerializerTest.kt +++ b/sentry/src/test/java/io/sentry/JsonReflectionObjectSerializerTest.kt @@ -102,7 +102,8 @@ class JsonReflectionObjectSerializerTest { "child" to mapOf( "title" to "First Child", - "child" to mapOf("title" to "Second Child", "child" to "fixture-toString"), + "child" to + mapOf("title" to "Second Child", "child" to "fixture-toString"), ), ) val actual = fixture.getSut().serialize(root, fixture.logger) diff --git a/sentry/src/test/java/io/sentry/JsonUnknownSerializationTest.kt b/sentry/src/test/java/io/sentry/JsonUnknownSerializationTest.kt index 438d20a9c44..37bf1efef98 100644 --- a/sentry/src/test/java/io/sentry/JsonUnknownSerializationTest.kt +++ b/sentry/src/test/java/io/sentry/JsonUnknownSerializationTest.kt @@ -145,8 +145,9 @@ class JsonUnknownSerializationTest( ) } - private fun givenJsonUnknown(jsonUnknown: T): T = - jsonUnknown.apply { unknown = mapOf("fixture-key" to "fixture-value") } + private fun givenJsonUnknown(jsonUnknown: T): T = jsonUnknown.apply { + unknown = mapOf("fixture-key" to "fixture-value") + } } @Test diff --git a/sentry/src/test/java/io/sentry/ScopeTest.kt b/sentry/src/test/java/io/sentry/ScopeTest.kt index 4b0047fdc18..86aaf6f8f24 100644 --- a/sentry/src/test/java/io/sentry/ScopeTest.kt +++ b/sentry/src/test/java/io/sentry/ScopeTest.kt @@ -359,11 +359,10 @@ class ScopeTest { val options = SentryOptions().apply { maxBreadcrumbs = 0 - beforeBreadcrumb = - SentryOptions.BeforeBreadcrumbCallback { breadcrumb, _ -> - called = true - breadcrumb - } + beforeBreadcrumb = SentryOptions.BeforeBreadcrumbCallback { breadcrumb, _ -> + called = true + breadcrumb + } } val scope = Scope(options) @@ -377,11 +376,10 @@ class ScopeTest { var called = false val options = SentryOptions().apply { - beforeBreadcrumb = - SentryOptions.BeforeBreadcrumbCallback { breadcrumb, _ -> - called = true - breadcrumb - } + beforeBreadcrumb = SentryOptions.BeforeBreadcrumbCallback { breadcrumb, _ -> + called = true + breadcrumb + } } val scope = Scope(options) diff --git a/sentry/src/test/java/io/sentry/ScopesTest.kt b/sentry/src/test/java/io/sentry/ScopesTest.kt index a4c2c76845e..4b9b3095d53 100644 --- a/sentry/src/test/java/io/sentry/ScopesTest.kt +++ b/sentry/src/test/java/io/sentry/ScopesTest.kt @@ -187,8 +187,9 @@ class ScopesTest { fun `when beforeBreadcrumb returns null, crumb is dropped`() { val options = SentryOptions() options.cacheDirPath = file.absolutePath - options.beforeBreadcrumb = - SentryOptions.BeforeBreadcrumbCallback { _: Breadcrumb, _: Any? -> null } + options.beforeBreadcrumb = SentryOptions.BeforeBreadcrumbCallback { _: Breadcrumb, _: Any? -> + null + } options.dsn = "https://key@sentry.io/proj" options.setSerializer(mock()) val sut = createScopes(options) @@ -240,8 +241,9 @@ class ScopesTest { val options = SentryOptions() options.cacheDirPath = file.absolutePath - options.beforeBreadcrumb = - SentryOptions.BeforeBreadcrumbCallback { _: Breadcrumb, _: Any? -> throw exception } + options.beforeBreadcrumb = SentryOptions.BeforeBreadcrumbCallback { _: Breadcrumb, _: Any? -> + throw exception + } options.dsn = "https://key@sentry.io/proj" options.setSerializer(mock()) val sut = createScopes(options) diff --git a/sentry/src/test/java/io/sentry/SentryClientTest.kt b/sentry/src/test/java/io/sentry/SentryClientTest.kt index ab6fd2075a3..ae91fb32ed1 100644 --- a/sentry/src/test/java/io/sentry/SentryClientTest.kt +++ b/sentry/src/test/java/io/sentry/SentryClientTest.kt @@ -388,7 +388,9 @@ class SentryClientTest { assertClientReport( fixture.sentryOptions.clientReportRecorder, - listOf(DiscardedEvent(DiscardReason.BEFORE_SEND.reason, DataCategory.TraceMetric.category, 1)), + listOf( + DiscardedEvent(DiscardReason.BEFORE_SEND.reason, DataCategory.TraceMetric.category, 1) + ), ) } @@ -408,7 +410,9 @@ class SentryClientTest { assertClientReport( fixture.sentryOptions.clientReportRecorder, - listOf(DiscardedEvent(DiscardReason.BEFORE_SEND.reason, DataCategory.TraceMetric.category, 1)), + listOf( + DiscardedEvent(DiscardReason.BEFORE_SEND.reason, DataCategory.TraceMetric.category, 1) + ), ) } @@ -2204,10 +2208,9 @@ class SentryClientTest { @Test fun `dropping a captured error from beforeSend has no effect on session and does not send anything`() { - val sut = - fixture.getSut { options -> - options.beforeSend = SentryOptions.BeforeSendCallback { _, _ -> null } - } + val sut = fixture.getSut { options -> + options.beforeSend = SentryOptions.BeforeSendCallback { _, _ -> null } + } val scope = givenScopeWithStartedSession() sut.captureEvent(SentryEvent().apply { exceptions = createHandledException() }, scope) @@ -2218,8 +2221,9 @@ class SentryClientTest { @Test fun `dropping a captured error from eventProcessor has no effect on session and does not send anything`() { - val sut = - fixture.getSut { options -> options.addEventProcessor(DropEverythingEventProcessor()) } + val sut = fixture.getSut { options -> + options.addEventProcessor(DropEverythingEventProcessor()) + } val scope = givenScopeWithStartedSession() sut.captureEvent(SentryEvent().apply { exceptions = createHandledException() }, scope) @@ -2307,13 +2311,12 @@ class SentryClientTest { fixture.sentryOptions.onDiscard = onDiscardMock - val sut = - fixture.getSut { options -> - options.sampleRate = 0.000000000001 - options.addIgnoredExceptionForType(NegativeArraySizeException::class.java) - options.beforeSend = beforeSendMock - options.addEventProcessor(globalEventProcessorMock) - } + val sut = fixture.getSut { options -> + options.sampleRate = 0.000000000001 + options.addIgnoredExceptionForType(NegativeArraySizeException::class.java) + options.beforeSend = beforeSendMock + options.addEventProcessor(globalEventProcessorMock) + } val scope = givenScopeWithStartedSession() scope.addEventProcessor(scopedEventProcessorMock) @@ -2350,13 +2353,12 @@ class SentryClientTest { it.arguments.first() as SentryEvent } - val sut = - fixture.getSut { options -> - options.sampleRate = 0.000000000001 - options.addIgnoredExceptionForType(NegativeArraySizeException::class.java) - options.beforeSend = beforeSendMock - options.addEventProcessor(globalEventProcessorMock) - } + val sut = fixture.getSut { options -> + options.sampleRate = 0.000000000001 + options.addIgnoredExceptionForType(NegativeArraySizeException::class.java) + options.beforeSend = beforeSendMock + options.addEventProcessor(globalEventProcessorMock) + } val scope = givenScopeWithStartedSession() scope.addEventProcessor(scopedEventProcessorMock) @@ -2393,13 +2395,12 @@ class SentryClientTest { } whenever(beforeSendMock.execute(any(), anyOrNull())).thenReturn(null) - val sut = - fixture.getSut { options -> - options.sampleRate = 0.000000000001 - options.addIgnoredExceptionForType(NegativeArraySizeException::class.java) - options.beforeSend = beforeSendMock - options.addEventProcessor(globalEventProcessorMock) - } + val sut = fixture.getSut { options -> + options.sampleRate = 0.000000000001 + options.addIgnoredExceptionForType(NegativeArraySizeException::class.java) + options.beforeSend = beforeSendMock + options.addEventProcessor(globalEventProcessorMock) + } val scope = givenScopeWithStartedSession() scope.addEventProcessor(scopedEventProcessorMock) @@ -2432,13 +2433,12 @@ class SentryClientTest { whenever(globalEventProcessorMock.process(any(), anyOrNull())).thenReturn(null) whenever(beforeSendMock.execute(any(), anyOrNull())).thenReturn(null) - val sut = - fixture.getSut { options -> - options.sampleRate = 0.000000000001 - options.addIgnoredExceptionForType(NegativeArraySizeException::class.java) - options.beforeSend = beforeSendMock - options.addEventProcessor(globalEventProcessorMock) - } + val sut = fixture.getSut { options -> + options.sampleRate = 0.000000000001 + options.addIgnoredExceptionForType(NegativeArraySizeException::class.java) + options.beforeSend = beforeSendMock + options.addEventProcessor(globalEventProcessorMock) + } val scope = givenScopeWithStartedSession() scope.addEventProcessor(scopedEventProcessorMock) @@ -2473,13 +2473,12 @@ class SentryClientTest { whenever(globalEventProcessorMock.process(any(), anyOrNull())).thenReturn(null) whenever(beforeSendMock.execute(any(), anyOrNull())).thenReturn(null) - val sut = - fixture.getSut { options -> - options.sampleRate = 0.000000000001 - options.addIgnoredExceptionForType(NegativeArraySizeException::class.java) - options.beforeSend = beforeSendMock - options.addEventProcessor(globalEventProcessorMock) - } + val sut = fixture.getSut { options -> + options.sampleRate = 0.000000000001 + options.addIgnoredExceptionForType(NegativeArraySizeException::class.java) + options.beforeSend = beforeSendMock + options.addEventProcessor(globalEventProcessorMock) + } val scope = givenScopeWithStartedSession() scope.addEventProcessor(scopedEventProcessorMock) @@ -2521,14 +2520,13 @@ class SentryClientTest { @Test fun `can add to attachments in beforeSend`() { - val sut = - fixture.getSut { options -> - options.setBeforeSend { event, hints -> - assertEquals(listOf(fixture.attachment, fixture.attachment2), hints.attachments) - hints.addAttachment(fixture.attachment3) - event - } + val sut = fixture.getSut { options -> + options.setBeforeSend { event, hints -> + assertEquals(listOf(fixture.attachment, fixture.attachment2), hints.attachments) + hints.addAttachment(fixture.attachment3) + event } + } val scope = givenScopeWithStartedSession() scope.addAttachment(fixture.attachment2) @@ -2539,13 +2537,12 @@ class SentryClientTest { @Test fun `can replace attachments in beforeSend`() { - val sut = - fixture.getSut { options -> - options.setBeforeSend { event, hints -> - hints.replaceAttachments(listOf(fixture.attachment3)) - event - } + val sut = fixture.getSut { options -> + options.setBeforeSend { event, hints -> + hints.replaceAttachments(listOf(fixture.attachment3)) + event } + } val scope = givenScopeWithStartedSession() scope.addAttachment(fixture.attachment2) @@ -2556,22 +2553,21 @@ class SentryClientTest { @Test fun `can add to attachments in eventProcessor`() { - val sut = - fixture.getSut { options -> - options.addEventProcessor( - object : EventProcessor { - override fun process(event: SentryEvent, hint: Hint): SentryEvent? { - assertEquals(listOf(fixture.attachment, fixture.attachment2), hint.attachments) - hint.addAttachment(fixture.attachment3) - return event - } + val sut = fixture.getSut { options -> + options.addEventProcessor( + object : EventProcessor { + override fun process(event: SentryEvent, hint: Hint): SentryEvent? { + assertEquals(listOf(fixture.attachment, fixture.attachment2), hint.attachments) + hint.addAttachment(fixture.attachment3) + return event + } - override fun process(transaction: SentryTransaction, hint: Hint): SentryTransaction? { - return transaction - } + override fun process(transaction: SentryTransaction, hint: Hint): SentryTransaction? { + return transaction } - ) - } + } + ) + } val scope = givenScopeWithStartedSession() scope.addAttachment(fixture.attachment2) @@ -2582,21 +2578,20 @@ class SentryClientTest { @Test fun `can replace attachments in eventProcessor`() { - val sut = - fixture.getSut { options -> - options.addEventProcessor( - object : EventProcessor { - override fun process(event: SentryEvent, hint: Hint): SentryEvent? { - hint.replaceAttachments(listOf(fixture.attachment3)) - return event - } + val sut = fixture.getSut { options -> + options.addEventProcessor( + object : EventProcessor { + override fun process(event: SentryEvent, hint: Hint): SentryEvent? { + hint.replaceAttachments(listOf(fixture.attachment3)) + return event + } - override fun process(transaction: SentryTransaction, hint: Hint): SentryTransaction? { - return transaction - } + override fun process(transaction: SentryTransaction, hint: Hint): SentryTransaction? { + return transaction } - ) - } + } + ) + } val scope = givenScopeWithStartedSession() scope.addAttachment(fixture.attachment2) @@ -2647,22 +2642,21 @@ class SentryClientTest { @Test fun `can add to attachments in eventProcessor for transactions`() { - val sut = - fixture.getSut { options -> - options.addEventProcessor( - object : EventProcessor { - override fun process(event: SentryEvent, hint: Hint): SentryEvent? { - return event - } + val sut = fixture.getSut { options -> + options.addEventProcessor( + object : EventProcessor { + override fun process(event: SentryEvent, hint: Hint): SentryEvent? { + return event + } - override fun process(transaction: SentryTransaction, hint: Hint): SentryTransaction? { - assertEquals(listOf(fixture.attachment, fixture.attachment2), hint.attachments) - hint.addAttachment(fixture.attachment3) - return transaction - } + override fun process(transaction: SentryTransaction, hint: Hint): SentryTransaction? { + assertEquals(listOf(fixture.attachment, fixture.attachment2), hint.attachments) + hint.addAttachment(fixture.attachment3) + return transaction } - ) - } + } + ) + } val scope = givenScopeWithStartedSession() scope.addAttachment(fixture.attachment2) @@ -2683,21 +2677,20 @@ class SentryClientTest { @Test fun `can replace attachments in eventProcessor for transactions`() { - val sut = - fixture.getSut { options -> - options.addEventProcessor( - object : EventProcessor { - override fun process(event: SentryEvent, hint: Hint): SentryEvent? { - return event - } + val sut = fixture.getSut { options -> + options.addEventProcessor( + object : EventProcessor { + override fun process(event: SentryEvent, hint: Hint): SentryEvent? { + return event + } - override fun process(transaction: SentryTransaction, hint: Hint): SentryTransaction? { - hint.replaceAttachments(listOf(fixture.attachment3)) - return transaction - } + override fun process(transaction: SentryTransaction, hint: Hint): SentryTransaction? { + hint.replaceAttachments(listOf(fixture.attachment3)) + return transaction } - ) - } + } + ) + } val scope = givenScopeWithStartedSession() scope.addAttachment(fixture.attachment2) @@ -2718,8 +2711,9 @@ class SentryClientTest { @Test fun `passing attachments via hint into breadcrumb ignores them`() { - val sut = - fixture.getSut { options -> options.setBeforeBreadcrumb { breadcrumb, hints -> breadcrumb } } + val sut = fixture.getSut { options -> + options.setBeforeBreadcrumb { breadcrumb, hints -> breadcrumb } + } val scope = givenScopeWithStartedSession() scope.addBreadcrumb( @@ -2734,13 +2728,12 @@ class SentryClientTest { @Test fun `adding attachments in beforeBreadcrumb ignores them`() { - val sut = - fixture.getSut { options -> - options.setBeforeBreadcrumb { breadcrumb, hints -> - hints.addAttachment(fixture.attachment) - breadcrumb - } + val sut = fixture.getSut { options -> + options.setBeforeBreadcrumb { breadcrumb, hints -> + hints.addAttachment(fixture.attachment) + breadcrumb } + } val scope = givenScopeWithStartedSession() scope.addBreadcrumb(Breadcrumb.info("hello from breadcrumb")) @@ -3023,11 +3016,11 @@ class SentryClientTest { @Test fun `beforeEnvelopeCallback is executed`() { var beforeEnvelopeCalled = false - val sut = - fixture.getSut { options -> - options.beforeEnvelopeCallback = - SentryOptions.BeforeEnvelopeCallback { _, _ -> beforeEnvelopeCalled = true } + val sut = fixture.getSut { options -> + options.beforeEnvelopeCallback = SentryOptions.BeforeEnvelopeCallback { _, _ -> + beforeEnvelopeCalled = true } + } sut.captureEvent(SentryEvent(), Hint()) @@ -3036,11 +3029,11 @@ class SentryClientTest { @Test fun `beforeEnvelopeCallback may fail, but the transport is still sends the envelope `() { - val sut = - fixture.getSut { options -> - options.beforeEnvelopeCallback = - SentryOptions.BeforeEnvelopeCallback { _, _ -> RuntimeException("hook failed") } + val sut = fixture.getSut { options -> + options.beforeEnvelopeCallback = SentryOptions.BeforeEnvelopeCallback { _, _ -> + RuntimeException("hook failed") } + } sut.captureEvent(SentryEvent(), Hint()) verify(fixture.transport).send(anyOrNull(), anyOrNull()) @@ -3273,7 +3266,9 @@ class SentryClientTest { } ) fixture.sentryOptions.sessionReplay.beforeErrorSampling = - SentryReplayOptions.BeforeErrorSamplingCallback { _, _ -> false } + SentryReplayOptions.BeforeErrorSamplingCallback { _, _ -> + false + } val sut = fixture.getSut() sut.captureEvent(SentryEvent().apply { exceptions = listOf(SentryException()) }) @@ -3291,7 +3286,9 @@ class SentryClientTest { } ) fixture.sentryOptions.sessionReplay.beforeErrorSampling = - SentryReplayOptions.BeforeErrorSamplingCallback { _, _ -> true } + SentryReplayOptions.BeforeErrorSamplingCallback { _, _ -> + true + } val sut = fixture.getSut() sut.captureEvent(SentryEvent().apply { exceptions = listOf(SentryException()) }) @@ -3325,7 +3322,9 @@ class SentryClientTest { } ) fixture.sentryOptions.sessionReplay.beforeErrorSampling = - SentryReplayOptions.BeforeErrorSamplingCallback { _, _ -> throw RuntimeException("test") } + SentryReplayOptions.BeforeErrorSamplingCallback { _, _ -> + throw RuntimeException("test") + } val sut = fixture.getSut() sut.captureEvent(SentryEvent().apply { exceptions = listOf(SentryException()) }) diff --git a/sentry/src/test/java/io/sentry/SentryTest.kt b/sentry/src/test/java/io/sentry/SentryTest.kt index 3712b083de7..ce8661b41fe 100644 --- a/sentry/src/test/java/io/sentry/SentryTest.kt +++ b/sentry/src/test/java/io/sentry/SentryTest.kt @@ -509,11 +509,10 @@ class SentryTest { initForTest { it.dsn = dsn it.isDebug = true - it.beforeSend = - SentryOptions.BeforeSendCallback { event, hint -> - capturedEvents.add(event) - event - } + it.beforeSend = SentryOptions.BeforeSendCallback { event, hint -> + capturedEvents.add(event) + event + } } } thread.start() @@ -533,8 +532,9 @@ class SentryTest { assertEquals(2, capturedEvents.size) val mainCloneEvent = capturedEvents.firstOrNull { it.message?.formatted == "messageMainClone" } - val currentScopesEvent = - capturedEvents.firstOrNull { it.message?.formatted == "messageCurrent" } + val currentScopesEvent = capturedEvents.firstOrNull { + it.message?.formatted == "messageCurrent" + } assertNotNull(mainCloneEvent) assertNotNull(mainCloneEvent.breadcrumbs?.firstOrNull { it.message == "breadcrumbMainClone" }) @@ -563,11 +563,10 @@ class SentryTest { { it.dsn = dsn it.isDebug = true - it.beforeSend = - SentryOptions.BeforeSendCallback { event, hint -> - capturedEvents.add(event) - event - } + it.beforeSend = SentryOptions.BeforeSendCallback { event, hint -> + capturedEvents.add(event) + event + } }, true, ) @@ -589,8 +588,9 @@ class SentryTest { assertEquals(2, capturedEvents.size) val mainCloneEvent = capturedEvents.firstOrNull { it.message?.formatted == "messageMainClone" } - val currentScopesEvent = - capturedEvents.firstOrNull { it.message?.formatted == "messageCurrent" } + val currentScopesEvent = capturedEvents.firstOrNull { + it.message?.formatted == "messageCurrent" + } assertNotNull(mainCloneEvent) assertNotNull(mainCloneEvent.breadcrumbs?.firstOrNull { it.message == "breadcrumbMainClone" }) diff --git a/sentry/src/test/java/io/sentry/SentryWrapperTest.kt b/sentry/src/test/java/io/sentry/SentryWrapperTest.kt index 31c06fab5ad..0ed46d8fa38 100644 --- a/sentry/src/test/java/io/sentry/SentryWrapperTest.kt +++ b/sentry/src/test/java/io/sentry/SentryWrapperTest.kt @@ -66,11 +66,10 @@ class SentryWrapperTest { initForTest { it.dsn = dsn - it.beforeSend = - SentryOptions.BeforeSendCallback { event, hint -> - capturedEvents.add(event) - event - } + it.beforeSend = SentryOptions.BeforeSendCallback { event, hint -> + capturedEvents.add(event) + event + } } Sentry.addBreadcrumb("MyOriginalBreadcrumbBefore") @@ -119,11 +118,10 @@ class SentryWrapperTest { initForTest { it.dsn = dsn - it.beforeSend = - SentryOptions.BeforeSendCallback { event, hint -> - capturedEvents.add(event) - event - } + it.beforeSend = SentryOptions.BeforeSendCallback { event, hint -> + capturedEvents.add(event) + event + } } Sentry.addBreadcrumb("MyOriginalBreadcrumbBefore") @@ -201,11 +199,10 @@ class SentryWrapperTest { initForTest { it.dsn = dsn - it.beforeSend = - SentryOptions.BeforeSendCallback { event, hint -> - capturedEvents.add(event) - event - } + it.beforeSend = SentryOptions.BeforeSendCallback { event, hint -> + capturedEvents.add(event) + event + } } Sentry.addBreadcrumb("MyOriginalBreadcrumbBefore") diff --git a/sentry/src/test/java/io/sentry/UncaughtExceptionHandlerIntegrationTest.kt b/sentry/src/test/java/io/sentry/UncaughtExceptionHandlerIntegrationTest.kt index 494b7f8a0bc..02da3b9a335 100644 --- a/sentry/src/test/java/io/sentry/UncaughtExceptionHandlerIntegrationTest.kt +++ b/sentry/src/test/java/io/sentry/UncaughtExceptionHandlerIntegrationTest.kt @@ -445,15 +445,14 @@ class UncaughtExceptionHandlerIntegrationTest { whenever(scopes4.globalScope).thenReturn(mock()) whenever(scopes5.globalScope).thenReturn(mock()) - val integrations = - scopesList.map { scope -> - CompletableFuture.supplyAsync( - { - UncaughtExceptionHandlerIntegration(handler).apply { register(scope, fixture.options) } - }, - executor, - ) - } + val integrations = scopesList.map { scope -> + CompletableFuture.supplyAsync( + { + UncaughtExceptionHandlerIntegration(handler).apply { register(scope, fixture.options) } + }, + executor, + ) + } CompletableFuture.allOf(*integrations.toTypedArray()).get() diff --git a/sentry/src/test/java/io/sentry/clientreport/ClientReportMultiThreadingTest.kt b/sentry/src/test/java/io/sentry/clientreport/ClientReportMultiThreadingTest.kt index fb62ee4a454..7f14c987438 100644 --- a/sentry/src/test/java/io/sentry/clientreport/ClientReportMultiThreadingTest.kt +++ b/sentry/src/test/java/io/sentry/clientreport/ClientReportMultiThreadingTest.kt @@ -118,10 +118,9 @@ class ClientReportMultiThreadingTest { println("took ${t2 - t1}ms") clientReportRecorder.resetCountsAndGenerateClientReport()?.let { clientReports.add(it) } - val numberOfLostItems = - clientReports.sumOf { clientReport -> - clientReport.discardedEvents.sumOf { it.quantity.toInt() } - } + val numberOfLostItems = clientReports.sumOf { clientReport -> + clientReport.discardedEvents.sumOf { it.quantity.toInt() } + } assertEquals(numberOfIncrementThreads * numberOfIncrementsPerThread, numberOfLostItems) } diff --git a/sentry/src/test/java/io/sentry/transport/QueuedThreadPoolExecutorTest.kt b/sentry/src/test/java/io/sentry/transport/QueuedThreadPoolExecutorTest.kt index e8e97e95c81..0c22a88aa87 100644 --- a/sentry/src/test/java/io/sentry/transport/QueuedThreadPoolExecutorTest.kt +++ b/sentry/src/test/java/io/sentry/transport/QueuedThreadPoolExecutorTest.kt @@ -145,11 +145,10 @@ class QueuedThreadPoolExecutorTest { val jobBlocker2 = CountDownLatch(1) val sync2 = CountDownLatch(1) - f = - sut.submit { - sync2.countDown() - jobBlocker2.await() - } + f = sut.submit { + sync2.countDown() + jobBlocker2.await() + } assertFalse( f.isCancelled, "A task should be successfully enqueued after making a place in the queue",