diff --git a/CHANGELOG.md b/CHANGELOG.md index d894e20a00e..8be6cc64701 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,9 @@ ### Breaking Changes +- Use String instead of UUID for SessionId ([#3834](https://github.com/getsentry/sentry-java/pull/3834)) + - The `Session` constructor now takes a `String` instead of a `UUID` for the `sessionId` parameter. + - `Session.getSessionId()` now returns a `String` instead of a `UUID`. - The Android minSdk level for all Android modules is now 21 ([#3852](https://github.com/getsentry/sentry-java/pull/3852)) - The minSdk level for sentry-android-ndk changed from 19 to 21 ([#3851](https://github.com/getsentry/sentry-java/pull/3851)) diff --git a/sentry-android-core/src/test/java/io/sentry/android/core/LifecycleWatcherTest.kt b/sentry-android-core/src/test/java/io/sentry/android/core/LifecycleWatcherTest.kt index 93a731481b1..5613c8eb1f7 100644 --- a/sentry-android-core/src/test/java/io/sentry/android/core/LifecycleWatcherTest.kt +++ b/sentry-android-core/src/test/java/io/sentry/android/core/LifecycleWatcherTest.kt @@ -195,7 +195,7 @@ class LifecycleWatcherTest { DateUtils.getCurrentDateTime(), 0, "abc", - UUID.fromString("3c1ffc32-f68f-4af2-a1ee-dd72f4d62d17"), + "3c1ffc32-f68f-4af2-a1ee-dd72f4d62d17", true, 0, 10.0, @@ -222,7 +222,7 @@ class LifecycleWatcherTest { DateUtils.getDateTime(-1), 0, "abc", - UUID.fromString("3c1ffc32-f68f-4af2-a1ee-dd72f4d62d17"), + "3c1ffc32-f68f-4af2-a1ee-dd72f4d62d17", true, 0, 10.0, @@ -263,7 +263,7 @@ class LifecycleWatcherTest { DateUtils.getCurrentDateTime(), 0, "abc", - UUID.fromString("3c1ffc32-f68f-4af2-a1ee-dd72f4d62d17"), + "3c1ffc32-f68f-4af2-a1ee-dd72f4d62d17", true, 0, 10.0, diff --git a/sentry/api/sentry.api b/sentry/api/sentry.api index cd641fe9356..57bb67df6a2 100644 --- a/sentry/api/sentry.api +++ b/sentry/api/sentry.api @@ -3277,7 +3277,7 @@ public final class io/sentry/SentryWrapper { } public final class io/sentry/Session : io/sentry/JsonSerializable, io/sentry/JsonUnknown { - public fun (Lio/sentry/Session$State;Ljava/util/Date;Ljava/util/Date;ILjava/lang/String;Ljava/util/UUID;Ljava/lang/Boolean;Ljava/lang/Long;Ljava/lang/Double;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public fun (Lio/sentry/Session$State;Ljava/util/Date;Ljava/util/Date;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Long;Ljava/lang/Double;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V public fun (Ljava/lang/String;Lio/sentry/protocol/User;Ljava/lang/String;Ljava/lang/String;)V public fun clone ()Lio/sentry/Session; public synthetic fun clone ()Ljava/lang/Object; @@ -3292,7 +3292,7 @@ public final class io/sentry/Session : io/sentry/JsonSerializable, io/sentry/Jso public fun getIpAddress ()Ljava/lang/String; public fun getRelease ()Ljava/lang/String; public fun getSequence ()Ljava/lang/Long; - public fun getSessionId ()Ljava/util/UUID; + public fun getSessionId ()Ljava/lang/String; public fun getStarted ()Ljava/util/Date; public fun getStatus ()Lio/sentry/Session$State; public fun getTimestamp ()Ljava/util/Date; diff --git a/sentry/src/main/java/io/sentry/Session.java b/sentry/src/main/java/io/sentry/Session.java index 5ea37a74cd2..3ce2d70e89e 100644 --- a/sentry/src/main/java/io/sentry/Session.java +++ b/sentry/src/main/java/io/sentry/Session.java @@ -8,7 +8,6 @@ import java.util.Date; import java.util.Locale; import java.util.Map; -import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicInteger; import org.jetbrains.annotations.ApiStatus; @@ -38,7 +37,7 @@ public enum State { private final @Nullable String distinctId; /** the SessionId, sid */ - private final @Nullable UUID sessionId; + private final @Nullable String sessionId; /** The session init flag */ private @Nullable Boolean init; @@ -79,7 +78,7 @@ public Session( final @Nullable Date timestamp, final int errorCount, final @Nullable String distinctId, - final @Nullable UUID sessionId, + final @Nullable String sessionId, final @Nullable Boolean init, final @Nullable Long sequence, final @Nullable Double duration, @@ -115,7 +114,7 @@ public Session( DateUtils.getCurrentDateTime(), 0, distinctId, - UUID.randomUUID(), + SentryUUID.generateSentryId(), true, null, null, @@ -142,7 +141,7 @@ public boolean isTerminated() { return distinctId; } - public @Nullable UUID getSessionId() { + public @Nullable String getSessionId() { return sessionId; } @@ -366,7 +365,7 @@ public void serialize(final @NotNull ObjectWriter writer, final @NotNull ILogger throws IOException { writer.beginObject(); if (sessionId != null) { - writer.name(JsonKeys.SID).value(sessionId.toString()); + writer.name(JsonKeys.SID).value(sessionId); } if (distinctId != null) { writer.name(JsonKeys.DID).value(distinctId); @@ -435,7 +434,7 @@ public static final class Deserializer implements JsonDeserializer { Date timestamp = null; Integer errorCount = null; // @NotNull String distinctId = null; - UUID sessionId = null; + String sessionId = null; Boolean init = null; State status = null; // @NotNull Long sequence = null; @@ -451,12 +450,11 @@ public static final class Deserializer implements JsonDeserializer { final String nextName = reader.nextName(); switch (nextName) { case JsonKeys.SID: - String sidString = null; - try { - sidString = reader.nextStringOrNull(); - sessionId = UUID.fromString(sidString); - } catch (IllegalArgumentException e) { - logger.log(SentryLevel.ERROR, "%s sid is not valid.", sidString); + String sid = reader.nextStringOrNull(); + if (sid != null && (sid.length() == 36 || sid.length() == 32)) { + sessionId = sid; + } else { + logger.log(SentryLevel.ERROR, "%s sid is not valid.", sid); } break; case JsonKeys.DID: diff --git a/sentry/src/main/java/io/sentry/cache/CacheStrategy.java b/sentry/src/main/java/io/sentry/cache/CacheStrategy.java index d48cc3108dd..479c0e42eaf 100644 --- a/sentry/src/main/java/io/sentry/cache/CacheStrategy.java +++ b/sentry/src/main/java/io/sentry/cache/CacheStrategy.java @@ -28,7 +28,6 @@ import java.util.Arrays; import java.util.Iterator; import java.util.List; -import java.util.UUID; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -242,7 +241,7 @@ private boolean isValidSession(final @NotNull Session session) { return false; } - final UUID sessionId = session.getSessionId(); + final String sessionId = session.getSessionId(); return sessionId != null; } diff --git a/sentry/src/test/java/io/sentry/CombinedScopeViewTest.kt b/sentry/src/test/java/io/sentry/CombinedScopeViewTest.kt index 0b6d39c0dd7..cbb8ed0e9cd 100644 --- a/sentry/src/test/java/io/sentry/CombinedScopeViewTest.kt +++ b/sentry/src/test/java/io/sentry/CombinedScopeViewTest.kt @@ -16,7 +16,6 @@ import org.mockito.kotlin.same import org.mockito.kotlin.verify import org.mockito.kotlin.whenever import java.lang.RuntimeException -import java.util.UUID import kotlin.test.Test import kotlin.test.assertEquals import kotlin.test.assertNotNull @@ -933,9 +932,9 @@ class CombinedScopeViewTest { @Test fun `retrieves last event id from global scope`() { val combined = fixture.getSut() - fixture.scope.lastEventId = SentryId(UUID.fromString("c81d4e2e-bcf2-11e6-869b-7df92533d2dc")) - fixture.isolationScope.lastEventId = SentryId(UUID.fromString("d81d4e2e-bcf2-11e6-869b-7df92533d2dd")) - fixture.globalScope.lastEventId = SentryId(UUID.fromString("e81d4e2e-bcf2-11e6-869b-7df92533d2de")) + fixture.scope.lastEventId = SentryId("c81d4e2e-bcf2-11e6-869b-7df92533d2dc") + fixture.isolationScope.lastEventId = SentryId("d81d4e2e-bcf2-11e6-869b-7df92533d2dd") + fixture.globalScope.lastEventId = SentryId("e81d4e2e-bcf2-11e6-869b-7df92533d2de") assertEquals("e81d4e2ebcf211e6869b7df92533d2de", combined.lastEventId.toString()) } @@ -943,7 +942,7 @@ class CombinedScopeViewTest { @Test fun `sets last event id on all scopes`() { val combined = fixture.getSut() - combined.lastEventId = SentryId(UUID.fromString("c81d4e2e-bcf2-11e6-869b-7df92533d2db")) + combined.lastEventId = SentryId("c81d4e2e-bcf2-11e6-869b-7df92533d2db") assertEquals("c81d4e2ebcf211e6869b7df92533d2db", fixture.scope.lastEventId.toString()) assertEquals("c81d4e2ebcf211e6869b7df92533d2db", fixture.isolationScope.lastEventId.toString()) @@ -953,9 +952,9 @@ class CombinedScopeViewTest { @Test fun `retrieves propagation context from default scope`() { val combined = fixture.getSut() - fixture.scope.propagationContext = PropagationContext().also { it.traceId = SentryId(UUID.fromString("c81d4e2e-bcf2-11e6-869b-7df92533d2dc")) } - fixture.isolationScope.propagationContext = PropagationContext().also { it.traceId = SentryId(UUID.fromString("d81d4e2e-bcf2-11e6-869b-7df92533d2dd")) } - fixture.globalScope.propagationContext = PropagationContext().also { it.traceId = SentryId(UUID.fromString("e81d4e2e-bcf2-11e6-869b-7df92533d2de")) } + fixture.scope.propagationContext = PropagationContext().also { it.traceId = SentryId("c81d4e2e-bcf2-11e6-869b-7df92533d2dc") } + fixture.isolationScope.propagationContext = PropagationContext().also { it.traceId = SentryId("d81d4e2e-bcf2-11e6-869b-7df92533d2dd") } + fixture.globalScope.propagationContext = PropagationContext().also { it.traceId = SentryId("e81d4e2e-bcf2-11e6-869b-7df92533d2de") } assertEquals(ScopeType.ISOLATION, fixture.options.defaultScopeType) assertEquals("d81d4e2ebcf211e6869b7df92533d2dd", combined.propagationContext.traceId.toString()) @@ -965,7 +964,7 @@ class CombinedScopeViewTest { fun `sets propagation context on default scope`() { val combined = fixture.getSut() - combined.propagationContext = PropagationContext().also { it.traceId = SentryId(UUID.fromString("c81d4e2e-bcf2-11e6-869b-7df92533d2db")) } + combined.propagationContext = PropagationContext().also { it.traceId = SentryId("c81d4e2e-bcf2-11e6-869b-7df92533d2db") } assertEquals(ScopeType.ISOLATION, fixture.options.defaultScopeType) assertNotEquals("c81d4e2ebcf211e6869b7df92533d2db", fixture.scope.propagationContext.traceId.toString()) @@ -976,9 +975,9 @@ class CombinedScopeViewTest { @Test fun `withPropagationContext uses default scope`() { val combined = fixture.getSut() - fixture.scope.propagationContext = PropagationContext().also { it.traceId = SentryId(UUID.fromString("c81d4e2e-bcf2-11e6-869b-7df92533d2dc")) } - fixture.isolationScope.propagationContext = PropagationContext().also { it.traceId = SentryId(UUID.fromString("d81d4e2e-bcf2-11e6-869b-7df92533d2dd")) } - fixture.globalScope.propagationContext = PropagationContext().also { it.traceId = SentryId(UUID.fromString("e81d4e2e-bcf2-11e6-869b-7df92533d2de")) } + fixture.scope.propagationContext = PropagationContext().also { it.traceId = SentryId("c81d4e2e-bcf2-11e6-869b-7df92533d2dc") } + fixture.isolationScope.propagationContext = PropagationContext().also { it.traceId = SentryId("d81d4e2e-bcf2-11e6-869b-7df92533d2dd") } + fixture.globalScope.propagationContext = PropagationContext().also { it.traceId = SentryId("e81d4e2e-bcf2-11e6-869b-7df92533d2de") } var capturedPropagationContext: PropagationContext? = null combined.withPropagationContext { propagationContext -> diff --git a/sentry/src/test/java/io/sentry/JsonObjectSerializerTest.kt b/sentry/src/test/java/io/sentry/JsonObjectSerializerTest.kt index cca66f1de23..83634bc0fe0 100644 --- a/sentry/src/test/java/io/sentry/JsonObjectSerializerTest.kt +++ b/sentry/src/test/java/io/sentry/JsonObjectSerializerTest.kt @@ -10,7 +10,6 @@ import java.util.Calendar import java.util.Currency import java.util.Locale import java.util.TimeZone -import java.util.UUID import java.util.concurrent.atomic.AtomicBoolean import java.util.concurrent.atomic.AtomicIntegerArray @@ -240,7 +239,7 @@ internal class JsonObjectSerializerTest { @Test fun `serializing UUID`() { - fixture.getSUT().serialize(fixture.writer, fixture.logger, UUID.fromString("828900a5-15dc-413f-8c17-6ef04d74e074")) + fixture.getSUT().serialize(fixture.writer, fixture.logger, "828900a5-15dc-413f-8c17-6ef04d74e074") verify(fixture.writer).value("828900a5-15dc-413f-8c17-6ef04d74e074") } diff --git a/sentry/src/test/java/io/sentry/JsonReflectionObjectSerializerTest.kt b/sentry/src/test/java/io/sentry/JsonReflectionObjectSerializerTest.kt index 7ea3e2b594f..9a71707ce25 100644 --- a/sentry/src/test/java/io/sentry/JsonReflectionObjectSerializerTest.kt +++ b/sentry/src/test/java/io/sentry/JsonReflectionObjectSerializerTest.kt @@ -7,7 +7,6 @@ import java.net.URI import java.util.Calendar import java.util.Currency import java.util.Locale -import java.util.UUID import java.util.concurrent.atomic.AtomicBoolean import java.util.concurrent.atomic.AtomicIntegerArray import kotlin.test.assertEquals @@ -318,7 +317,7 @@ class JsonReflectionObjectSerializerTest { @Test fun `UUID is serialized`() { - val actual = fixture.getSut().serialize(UUID.fromString("828900a5-15dc-413f-8c17-6ef04d74e074"), fixture.logger) + val actual = fixture.getSut().serialize("828900a5-15dc-413f-8c17-6ef04d74e074", fixture.logger) assertEquals("828900a5-15dc-413f-8c17-6ef04d74e074", actual) } diff --git a/sentry/src/test/java/io/sentry/JsonSerializerTest.kt b/sentry/src/test/java/io/sentry/JsonSerializerTest.kt index 2a8a8a3443a..e9d12ff4b17 100644 --- a/sentry/src/test/java/io/sentry/JsonSerializerTest.kt +++ b/sentry/src/test/java/io/sentry/JsonSerializerTest.kt @@ -371,6 +371,17 @@ class JsonSerializerTest { assertSessionData(expectedSession) } + @Test + fun `session deserializes 32 character id`() { + val sessionId = "c81d4e2ebcf211e6869b7df92533d2db" + val session = createSessionMockData("c81d4e2ebcf211e6869b7df92533d2db") + val jsonSession = serializeToString(session) + // reversing, so we can assert values and not a json string + val expectedSession = fixture.serializer.deserialize(StringReader(jsonSession), Session::class.java) + + assertSessionData(expectedSession, "c81d4e2ebcf211e6869b7df92533d2db") + } + @Test fun `When deserializing an Envelope, all the values should be set to the SentryEnvelope object`() { val jsonEnvelope = FileFromResources.invoke("envelope_session.txt") @@ -1248,9 +1259,9 @@ class JsonSerializerTest { assertEquals(replayRecording, deserializedRecording) } - private fun assertSessionData(expectedSession: Session?) { + private fun assertSessionData(expectedSession: Session?, expectedSessionId: String = "c81d4e2e-bcf2-11e6-869b-7df92533d2db") { assertNotNull(expectedSession) - assertEquals(UUID.fromString("c81d4e2e-bcf2-11e6-869b-7df92533d2db"), expectedSession.sessionId) + assertEquals(expectedSessionId, expectedSession.sessionId) assertEquals("123", expectedSession.distinctId) assertTrue(expectedSession.init!!) assertEquals("2020-02-07T14:16:00.000Z", DateUtils.getTimestamp(expectedSession.started!!)) @@ -1280,14 +1291,14 @@ class JsonSerializerTest { private fun generateEmptySentryEvent(date: Date = Date()): SentryEvent = SentryEvent(date) - private fun createSessionMockData(): Session = + private fun createSessionMockData(sessionId: String = "c81d4e2e-bcf2-11e6-869b-7df92533d2db"): Session = Session( Session.State.Ok, DateUtils.getDateTime("2020-02-07T14:16:00.000Z"), DateUtils.getDateTime("2020-02-07T14:16:00.000Z"), 2, "123", - UUID.fromString("c81d4e2e-bcf2-11e6-869b-7df92533d2db"), + sessionId, true, 123456.toLong(), 6000.toDouble(), diff --git a/sentry/src/test/java/io/sentry/OutboxSenderTest.kt b/sentry/src/test/java/io/sentry/OutboxSenderTest.kt index ad4d40eeaf6..8a1850e7ddc 100644 --- a/sentry/src/test/java/io/sentry/OutboxSenderTest.kt +++ b/sentry/src/test/java/io/sentry/OutboxSenderTest.kt @@ -20,7 +20,6 @@ import java.io.FileNotFoundException import java.nio.file.Files import java.nio.file.Paths import java.util.Date -import java.util.UUID import kotlin.test.Test import kotlin.test.assertEquals import kotlin.test.assertFalse @@ -74,7 +73,7 @@ class OutboxSenderTest { @Test fun `when parser is EnvelopeReader and serializer returns SentryEvent, event captured, file is deleted `() { fixture.envelopeReader = EnvelopeReader(JsonSerializer(fixture.options)) - val expected = SentryEvent(SentryId(UUID.fromString("9ec79c33-ec99-42ab-8353-589fcb2e04dc")), Date()) + val expected = SentryEvent(SentryId("9ec79c33-ec99-42ab-8353-589fcb2e04dc"), Date()) whenever(fixture.serializer.deserialize(any(), eq(SentryEvent::class.java))).thenReturn(expected) val sut = fixture.getSut() val path = getTempEnvelope() diff --git a/sentry/src/test/java/io/sentry/SessionAdapterTest.kt b/sentry/src/test/java/io/sentry/SessionAdapterTest.kt index 0709d77828c..0f29942e360 100644 --- a/sentry/src/test/java/io/sentry/SessionAdapterTest.kt +++ b/sentry/src/test/java/io/sentry/SessionAdapterTest.kt @@ -5,7 +5,6 @@ import org.mockito.kotlin.mock import java.io.StringReader import java.io.StringWriter import java.lang.Exception -import java.util.UUID import kotlin.test.Test import kotlin.test.assertEquals import kotlin.test.assertFailsWith @@ -23,7 +22,7 @@ class SessionAdapterTest { null, 2, "123", - UUID.fromString("c81d4e2e-bcf2-11e6-869b-7df92533d2db"), + "c81d4e2e-bcf2-11e6-869b-7df92533d2db", true, 123456.toLong(), 6000.toDouble(), @@ -47,7 +46,7 @@ class SessionAdapterTest { null, 2, "123", - UUID.fromString("c81d4e2e-bcf2-11e6-869b-7df92533d2db"), + "c81d4e2e-bcf2-11e6-869b-7df92533d2db", true, 123456.toLong(), 6000.toDouble(), @@ -71,7 +70,7 @@ class SessionAdapterTest { DateUtils.getDateTime("2020-02-07T14:16:00.001Z"), 2, null, - UUID.fromString("c81d4e2e-bcf2-11e6-869b-7df92533d2db"), + "c81d4e2e-bcf2-11e6-869b-7df92533d2db", true, 123456.toLong(), 6000.toDouble(), @@ -95,7 +94,7 @@ class SessionAdapterTest { DateUtils.getDateTime("2020-02-07T14:16:00.001Z"), 2, "123", - UUID.fromString("c81d4e2e-bcf2-11e6-869b-7df92533d2db"), + "c81d4e2e-bcf2-11e6-869b-7df92533d2db", null, 123456.toLong(), 6000.toDouble(), @@ -119,7 +118,7 @@ class SessionAdapterTest { DateUtils.getDateTime("2020-02-07T14:16:00.001Z"), 2, "123", - UUID.fromString("c81d4e2e-bcf2-11e6-869b-7df92533d2db"), + "c81d4e2e-bcf2-11e6-869b-7df92533d2db", true, null, 6000.toDouble(), @@ -143,7 +142,7 @@ class SessionAdapterTest { DateUtils.getDateTime("2020-02-07T14:16:00.001Z"), 2, "123", - UUID.fromString("c81d4e2e-bcf2-11e6-869b-7df92533d2db"), + "c81d4e2e-bcf2-11e6-869b-7df92533d2db", true, 123456.toLong(), null, @@ -167,7 +166,7 @@ class SessionAdapterTest { DateUtils.getDateTime("2020-02-07T14:16:00.001Z"), 2, "123", - UUID.fromString("c81d4e2e-bcf2-11e6-869b-7df92533d2db"), + "c81d4e2e-bcf2-11e6-869b-7df92533d2db", true, 123456.toLong(), 6000.toDouble(), @@ -191,7 +190,7 @@ class SessionAdapterTest { DateUtils.getDateTime("2020-02-07T14:16:00.001Z"), 2, "123", - UUID.fromString("c81d4e2e-bcf2-11e6-869b-7df92533d2db"), + "c81d4e2e-bcf2-11e6-869b-7df92533d2db", true, 123456.toLong(), 6000.toDouble(), @@ -215,7 +214,7 @@ class SessionAdapterTest { DateUtils.getDateTime("2020-02-07T14:16:00.001Z"), 2, "123", - UUID.fromString("c81d4e2e-bcf2-11e6-869b-7df92533d2db"), + "c81d4e2e-bcf2-11e6-869b-7df92533d2db", true, 123456.toLong(), 6000.toDouble(), @@ -239,7 +238,7 @@ class SessionAdapterTest { DateUtils.getDateTime("2020-02-07T14:16:00.001Z"), 2, "123", - UUID.fromString("c81d4e2e-bcf2-11e6-869b-7df92533d2db"), + "c81d4e2e-bcf2-11e6-869b-7df92533d2db", true, 123456.toLong(), 6000.toDouble(), @@ -263,7 +262,7 @@ class SessionAdapterTest { DateUtils.getDateTime("2020-02-07T14:16:00.001Z"), 2, "123", - UUID.fromString("c81d4e2e-bcf2-11e6-869b-7df92533d2db"), + "c81d4e2e-bcf2-11e6-869b-7df92533d2db", true, 123456.toLong(), 6000.toDouble(), @@ -287,7 +286,7 @@ class SessionAdapterTest { DateUtils.getDateTime("2020-02-07T14:16:00.001Z"), 2, "123", - UUID.fromString("c81d4e2e-bcf2-11e6-869b-7df92533d2db"), + "c81d4e2e-bcf2-11e6-869b-7df92533d2db", true, 123456.toLong(), 6000.toDouble(), @@ -330,7 +329,7 @@ class SessionAdapterTest { DateUtils.getDateTime("2020-02-07T14:16:00.001Z"), 2, "123", - UUID.fromString("c81d4e2e-bcf2-11e6-869b-7df92533d2db"), + "c81d4e2e-bcf2-11e6-869b-7df92533d2db", true, 123456.toLong(), 6000.toDouble(), @@ -373,7 +372,7 @@ class SessionAdapterTest { DateUtils.getDateTime("2020-02-07T14:16:00.001Z"), 2, "123", - UUID.fromString("c81d4e2e-bcf2-11e6-869b-7df92533d2db"), + "c81d4e2e-bcf2-11e6-869b-7df92533d2db", true, 123456.toLong(), 6000.toDouble(), @@ -512,7 +511,7 @@ class SessionAdapterTest { null, 2, "123", - UUID.fromString("c81d4e2e-bcf2-11e6-869b-7df92533d2db"), + "c81d4e2e-bcf2-11e6-869b-7df92533d2db", true, 123456.toLong(), 6000.toDouble(), @@ -571,7 +570,7 @@ class SessionAdapterTest { @Test fun `missing abnormal_mechanism does not serialize `() { val json = "{\n" + - " \"sid\": \"not a uuid\",\n" + + " \"sid\": \"c81d4e2e-bcf2-11e6-869b-7df92533d2db\",\n" + " \"did\": \"123\",\n" + " \"init\": true,\n" + " \"status\": \"ok\",\n" + @@ -595,7 +594,7 @@ class SessionAdapterTest { DateUtils.getDateTime("2020-02-07T14:16:00.001Z"), 2, "123", - null, + "c81d4e2e-bcf2-11e6-869b-7df92533d2db", true, 123456.toLong(), 6000.toDouble(), diff --git a/sentry/src/test/java/io/sentry/cache/CacheStrategyTest.kt b/sentry/src/test/java/io/sentry/cache/CacheStrategyTest.kt index 3c3e6d18d06..0c8d6210540 100644 --- a/sentry/src/test/java/io/sentry/cache/CacheStrategyTest.kt +++ b/sentry/src/test/java/io/sentry/cache/CacheStrategyTest.kt @@ -14,7 +14,6 @@ import java.io.ByteArrayInputStream import java.io.File import java.io.InputStreamReader import java.nio.file.Files -import java.util.UUID import kotlin.test.AfterTest import kotlin.test.Test import kotlin.test.assertEquals @@ -166,7 +165,7 @@ class CacheStrategyTest { DateUtils.getDateTime("2020-02-07T14:16:00.000Z"), 2, "123", - UUID.fromString("c81d4e2e-bcf2-11e6-869b-7df92533d2db"), + "c81d4e2ebcf211e6869b7df92533d2db", init, 123456.toLong(), 6000.toDouble(), diff --git a/sentry/src/test/java/io/sentry/cache/EnvelopeCacheTest.kt b/sentry/src/test/java/io/sentry/cache/EnvelopeCacheTest.kt index 98751f8c448..7b4abe3f4f3 100644 --- a/sentry/src/test/java/io/sentry/cache/EnvelopeCacheTest.kt +++ b/sentry/src/test/java/io/sentry/cache/EnvelopeCacheTest.kt @@ -8,6 +8,7 @@ import io.sentry.SentryCrashLastRunState import io.sentry.SentryEnvelope import io.sentry.SentryEvent import io.sentry.SentryOptions +import io.sentry.SentryUUID import io.sentry.Session import io.sentry.Session.State import io.sentry.Session.State.Ok @@ -24,7 +25,6 @@ import java.io.File import java.nio.file.Files import java.nio.file.Path import java.util.Date -import java.util.UUID import java.util.concurrent.TimeUnit import kotlin.test.BeforeTest import kotlin.test.Test @@ -308,7 +308,7 @@ class EnvelopeCacheTest { DateUtils.getCurrentDateTime(), 0, "dis", - UUID.randomUUID(), + SentryUUID.generateSentryId(), true, null, null, diff --git a/sentry/src/test/java/io/sentry/protocol/SessionSerializationTest.kt b/sentry/src/test/java/io/sentry/protocol/SessionSerializationTest.kt index f8ca3719c72..129e763331f 100644 --- a/sentry/src/test/java/io/sentry/protocol/SessionSerializationTest.kt +++ b/sentry/src/test/java/io/sentry/protocol/SessionSerializationTest.kt @@ -11,7 +11,6 @@ import org.junit.Test import org.mockito.kotlin.mock import java.io.StringReader import java.io.StringWriter -import java.util.UUID import kotlin.test.assertEquals class SessionSerializationTest { @@ -25,7 +24,7 @@ class SessionSerializationTest { DateUtils.getDateTime("1970-04-21T09:32:21.000Z"), 9001, "631693c2-3d61-4a93-8fd1-89817426ba5a", - UUID.fromString("3c1ffc32-f68f-4af2-a1ee-dd72f4d62d17"), + "3c1ffc32-f68f-4af2-a1ee-dd72f4d62d17", true, 4, 5.5, diff --git a/sentry/src/test/java/io/sentry/util/MapObjectReaderTest.kt b/sentry/src/test/java/io/sentry/util/MapObjectReaderTest.kt index a335fc71f82..c27269c9dfc 100644 --- a/sentry/src/test/java/io/sentry/util/MapObjectReaderTest.kt +++ b/sentry/src/test/java/io/sentry/util/MapObjectReaderTest.kt @@ -13,7 +13,6 @@ import java.util.Currency import java.util.Date import java.util.Locale import java.util.TimeZone -import java.util.UUID import kotlin.test.Test import kotlin.test.assertEquals @@ -71,7 +70,7 @@ class MapObjectReaderTest { writer.name("MapOfLists").value(logger, mapOf("metric_a" to listOf("foo"))) writer.name("Locale").value(logger, Locale.US) writer.name("URI").value(logger, URI.create("http://www.example.com")) - writer.name("UUID").value(logger, UUID.fromString("00000000-1111-2222-3333-444444444444")) + writer.name("UUID").value(logger, "00000000-1111-2222-3333-444444444444") writer.name("Currency").value(logger, Currency.getInstance("EUR")) writer.name("Enum").value(logger, MapObjectWriterTest.BasicEnum.A) writer.name("data").value(logger, mapOf("screen" to "MainActivity")) @@ -96,8 +95,8 @@ class MapObjectReaderTest { assertEquals(Currency.getInstance("EUR"), Currency.getInstance(reader.nextString())) assertEquals("UUID", reader.nextName()) assertEquals( - UUID.fromString("00000000-1111-2222-3333-444444444444"), - UUID.fromString(reader.nextString()) + "00000000-1111-2222-3333-444444444444", + reader.nextString() ) assertEquals("URI", reader.nextName()) assertEquals(URI.create("http://www.example.com"), URI.create(reader.nextString())) diff --git a/sentry/src/test/java/io/sentry/util/MapObjectWriterTest.kt b/sentry/src/test/java/io/sentry/util/MapObjectWriterTest.kt index 4127a8c840f..d52ae8dbc68 100644 --- a/sentry/src/test/java/io/sentry/util/MapObjectWriterTest.kt +++ b/sentry/src/test/java/io/sentry/util/MapObjectWriterTest.kt @@ -12,7 +12,6 @@ import java.util.Currency import java.util.Date import java.util.Locale import java.util.TimeZone -import java.util.UUID import java.util.concurrent.atomic.AtomicBoolean import java.util.concurrent.atomic.AtomicIntegerArray import kotlin.test.Test @@ -61,7 +60,7 @@ class MapObjectWriterTest { writer.name("AtomicBoolean").value(logger, AtomicBoolean(false)) writer.name("URI").value(logger, URI.create("http://www.example.com")) writer.name("InetAddress").value(logger, Inet4Address.getByName("1.1.1.1")) - writer.name("UUID").value(logger, UUID.fromString("00000000-1111-2222-3333-444444444444")) + writer.name("UUID").value(logger, "00000000-1111-2222-3333-444444444444") writer.name("Currency").value(logger, Currency.getInstance("EUR")) writer.name("Calendar").value( logger,