Skip to content

Commit fb42140

Browse files
committed
add serialization tests
1 parent 74cc427 commit fb42140

File tree

7 files changed

+80
-1
lines changed

7 files changed

+80
-1
lines changed

sentry/src/test/java/io/sentry/protocol/CombinedContextsViewSerializationTest.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ class CombinedContextsViewSerializationTest {
3030
isolation.setOperatingSystem(OperatingSystemSerializationTest.Fixture().getSut())
3131
isolation.setResponse(ResponseSerializationTest.Fixture().getSut())
3232
isolation.setSpring(SpringSerializationTest.Fixture().getSut())
33+
isolation.setFeatureFlags(FeatureFlagsSerializationTest.Fixture().getSut())
3334

3435
global.setRuntime(SentryRuntimeSerializationTest.Fixture().getSut())
3536
global.setGpu(GpuSerializationTest.Fixture().getSut())

sentry/src/test/java/io/sentry/protocol/ContextsSerializationTest.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ class ContextsSerializationTest {
2525
setResponse(ResponseSerializationTest.Fixture().getSut())
2626
setTrace(SpanContextSerializationTest.Fixture().getSut())
2727
setSpring(SpringSerializationTest.Fixture().getSut())
28+
setFeatureFlags(FeatureFlagsSerializationTest.Fixture().getSut())
2829
}
2930
}
3031

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package io.sentry.protocol
2+
3+
import io.sentry.ILogger
4+
import kotlin.test.assertEquals
5+
import org.junit.Test
6+
import org.mockito.kotlin.mock
7+
8+
class FeatureFlagsSerializationTest {
9+
class Fixture {
10+
val logger = mock<ILogger>()
11+
12+
fun getSut() = FeatureFlags(listOf(FeatureFlag("flag-1", true), FeatureFlag("flag-2", false)))
13+
}
14+
15+
private val fixture = Fixture()
16+
17+
@Test
18+
fun serialize() {
19+
val expected = SerializationUtils.sanitizedFile("json/feature_flags.json")
20+
val actual = SerializationUtils.serializeToString(fixture.getSut(), fixture.logger)
21+
22+
assertEquals(expected, actual)
23+
}
24+
25+
@Test
26+
fun deserialize() {
27+
val expectedJson = SerializationUtils.sanitizedFile("json/feature_flags.json")
28+
val actual =
29+
SerializationUtils.deserializeJson<FeatureFlags>(
30+
expectedJson,
31+
FeatureFlags.Deserializer(),
32+
fixture.logger,
33+
)
34+
val actualJson = SerializationUtils.serializeToString(actual, fixture.logger)
35+
36+
assertEquals(expectedJson, actualJson)
37+
}
38+
}

sentry/src/test/java/io/sentry/protocol/SentryEventSerializationTest.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,10 @@ class SentryEventSerializationTest {
3232
level = SentryLevel.ERROR
3333
transaction = "e7aea178-e3a6-46bc-be17-38a3ea8920b6"
3434
setModule("01c8a4f6-8861-4575-a10e-5ed3fba7c794", "b4083431-47e9-433a-b58f-58796f63e27c")
35-
contexts.apply { setSpring(SpringSerializationTest.Fixture().getSut()) }
35+
contexts.apply {
36+
setSpring(SpringSerializationTest.Fixture().getSut())
37+
setFeatureFlags(FeatureFlagsSerializationTest.Fixture().getSut())
38+
}
3639
SentryBaseEventSerializationTest.Fixture().update(this)
3740
}
3841
}

sentry/src/test/resources/json/contexts.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,18 @@
7676
"url": "url",
7777
"unknown": "unknown"
7878
},
79+
"flags": {
80+
"values": [
81+
{
82+
"flag": "flag-1",
83+
"result": true
84+
},
85+
{
86+
"flag": "flag-2",
87+
"result": false
88+
}
89+
]
90+
},
7991
"gpu":
8092
{
8193
"name": "d623a6b5-e1ab-4402-931b-c06f5a43a5ae",
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"values": [
3+
{
4+
"flag": "flag-1",
5+
"result": true
6+
},
7+
{
8+
"flag": "flag-2",
9+
"result": false
10+
}
11+
]
12+
}

sentry/src/test/resources/json/sentry_event.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,18 @@
204204
"cpu_description": "cpu0",
205205
"chipset": "unisoc"
206206
},
207+
"flags": {
208+
"values": [
209+
{
210+
"flag": "flag-1",
211+
"result": true
212+
},
213+
{
214+
"flag": "flag-2",
215+
"result": false
216+
}
217+
]
218+
},
207219
"gpu":
208220
{
209221
"name": "d623a6b5-e1ab-4402-931b-c06f5a43a5ae",

0 commit comments

Comments
 (0)