File tree Expand file tree Collapse file tree 3 files changed +36
-6
lines changed
sentry-kotlin-multiplatform/src
appleMain/kotlin/io/sentry/kotlin/multiplatform/extensions
appleTest/kotlin/io/sentry/kotlin/multiplatform
commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/extensions Expand file tree Collapse file tree 3 files changed +36
-6
lines changed Original file line number Diff line number Diff line change @@ -5,12 +5,15 @@ import io.sentry.kotlin.multiplatform.CocoaSentryEvent
55import io.sentry.kotlin.multiplatform.SentryEvent
66
77internal fun CocoaSentryEvent.applyKmpEvent (kmpEvent : SentryEvent ): CocoaSentryEvent {
8- // Native SDKs may have a default behaviour if no release is set.
9- // Setting a release (even if it's null) will remove this behaviour,
8+ // Native SDKs may have a default behaviour if no release/dist is set.
9+ // Setting a release/dist (even if it's null) will remove this behaviour,
1010 // so we have to check if the values differ first before setting.
1111 if (releaseName != kmpEvent.release) {
1212 releaseName = kmpEvent.release
1313 }
14+ if (dist != kmpEvent.dist) {
15+ dist = kmpEvent.dist
16+ }
1417 kmpEvent.level?.let { level = it.toCocoaSentryLevel() }
1518 kmpEvent.platform?.let { platform = it }
1619 message = kmpEvent.message?.toCocoaMessage()
Original file line number Diff line number Diff line change @@ -7,22 +7,46 @@ import kotlin.test.assertFalse
77class ApplyKmpEventTest {
88 @Test
99 fun `native release is not set if kmp release has same value` () {
10- val nativeEvent = FakeSentryEvent ()
11- val kmpEvent = SentryEvent ()
10+ val nativeEvent = FakeSentryEvent ().apply {
11+ releaseName = " 1.0.0"
12+ }
13+ val kmpEvent = SentryEvent ().apply {
14+ release = " 1.0.0"
15+ }
1216
1317 nativeEvent.applyKmpEvent(kmpEvent)
1418
1519 assertFalse(nativeEvent.wasReleaseSet)
1620 }
21+
22+ @Test
23+ fun `native dist is not set if kmp dist has same value` () {
24+ val nativeEvent = FakeSentryEvent ().apply {
25+ dist = " randomDist"
26+ }
27+ val kmpEvent = SentryEvent ().apply {
28+ dist = " randomDist"
29+ }
30+
31+ nativeEvent.applyKmpEvent(kmpEvent)
32+
33+ assertFalse(nativeEvent.wasDistSet)
34+ }
1735}
1836
1937// init with a SentryLevel as a workaround for:
2038// Unable to call non-designated initializer as super constructor
2139private class FakeSentryEvent : CocoaSentryEvent (Internal .Sentry .kSentryLevelFatal) {
2240 var wasReleaseSet = false
41+ var wasDistSet = false
2342
2443 override fun setReleaseName (releaseName : String? ) {
2544 super .setReleaseName(releaseName)
2645 wasReleaseSet = true
2746 }
47+
48+ override fun setDist (dist : String? ) {
49+ super .setDist(dist)
50+ wasDistSet = true
51+ }
2852}
Original file line number Diff line number Diff line change @@ -6,12 +6,15 @@ import io.sentry.kotlin.multiplatform.SentryEvent
66
77// TODO(buenaflor): properly test this once we introduce a mocking framework
88internal fun JvmSentryEvent.applyKmpEvent (kmpEvent : SentryEvent ): JvmSentryEvent {
9- // Native SDKs may have a default behaviour if no release is set.
10- // Setting a release (even if it's null) will remove this behaviour,
9+ // Native SDKs may have a default behaviour if no release/dist is set.
10+ // Setting a release/dist (even if it's null) will remove this behaviour,
1111 // so we have to check if the values differ first before setting.
1212 if (release != kmpEvent.release) {
1313 release = kmpEvent.release
1414 }
15+ if (dist != kmpEvent.dist) {
16+ dist = kmpEvent.dist
17+ }
1518 level = kmpEvent.level?.toJvmSentryLevel()
1619 message = kmpEvent.message?.toJvmMessage()
1720 logger = kmpEvent.logger
You can’t perform that action at this time.
0 commit comments