Skip to content

Commit 9b0a728

Browse files
committed
add profiling tests to remaining spring and spring-boot samples
1 parent b8d629f commit 9b0a728

File tree

4 files changed

+85
-0
lines changed
  • sentry-samples
    • sentry-samples-spring-boot-4-webflux/src/test/kotlin/io/sentry/systemtest
    • sentry-samples-spring-boot-jakarta-opentelemetry/src/test/kotlin/io/sentry/systemtest
    • sentry-samples-spring-boot-jakarta/src/test/kotlin/io/sentry/systemtest
    • sentry-samples-spring-boot-opentelemetry/src/test/kotlin/io/sentry/systemtest

4 files changed

+85
-0
lines changed

sentry-samples/sentry-samples-spring-boot-4-webflux/src/test/kotlin/io/sentry/systemtest/PersonSystemTest.kt

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package io.sentry.systemtest
22

3+
import io.sentry.protocol.SentryId
34
import io.sentry.systemtest.util.TestHelper
45
import kotlin.test.Test
56
import kotlin.test.assertEquals
@@ -52,4 +53,25 @@ class PersonSystemTest {
5253
testHelper.doesTransactionHaveOp(transaction, "http.server")
5354
}
5455
}
56+
57+
@Test
58+
fun `create person starts a profile linked to the transaction`() {
59+
var profilerId: SentryId? = null
60+
val restClient = testHelper.restClient
61+
val person = Person("firstA", "lastB")
62+
val returnedPerson = restClient.createPerson(person)
63+
assertEquals(200, restClient.lastKnownStatusCode)
64+
65+
assertEquals(person.firstName, returnedPerson!!.firstName)
66+
assertEquals(person.lastName, returnedPerson!!.lastName)
67+
68+
testHelper.ensureTransactionReceived { transaction, envelopeHeader ->
69+
profilerId = transaction.contexts.profile?.profilerId
70+
testHelper.doesTransactionHaveOp(transaction, "http.server")
71+
}
72+
73+
testHelper.ensureProfileChunkReceived { profileChunk, envelopeHeader ->
74+
profileChunk.profilerId == profilerId
75+
}
76+
}
5577
}

sentry-samples/sentry-samples-spring-boot-jakarta-opentelemetry/src/test/kotlin/io/sentry/systemtest/PersonSystemTest.kt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package io.sentry.systemtest
22

33
import io.sentry.protocol.FeatureFlag
4+
import io.sentry.protocol.SentryId
45
import io.sentry.systemtest.util.TestHelper
56
import kotlin.test.Test
67
import kotlin.test.assertEquals
@@ -75,6 +76,26 @@ class PersonSystemTest {
7576
}
7677
}
7778

79+
@Test
80+
fun `create person starts a profile linked to the transaction`() {
81+
var profilerId: SentryId? = null
82+
val restClient = testHelper.restClient
83+
val person = Person("firstA", "lastB")
84+
val returnedPerson = restClient.createPerson(person)
85+
assertEquals(200, restClient.lastKnownStatusCode)
86+
87+
assertEquals(person.firstName, returnedPerson!!.firstName)
88+
assertEquals(person.lastName, returnedPerson!!.lastName)
89+
90+
testHelper.ensureTransactionReceived { transaction, envelopeHeader ->
91+
profilerId = transaction.contexts.profile?.profilerId
92+
transaction.transaction == "POST /person/"
93+
}
94+
testHelper.ensureProfileChunkReceived { profileChunk, envelopeHeader ->
95+
profileChunk.profilerId == profilerId
96+
}
97+
}
98+
7899
@Test
79100
fun `create person creates transaction if no sampled flag in sentry-trace header`() {
80101
val restClient = testHelper.restClient

sentry-samples/sentry-samples-spring-boot-jakarta/src/test/kotlin/io/sentry/systemtest/PersonSystemTest.kt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package io.sentry.systemtest
22

33
import io.sentry.protocol.FeatureFlag
4+
import io.sentry.protocol.SentryId
45
import io.sentry.systemtest.util.TestHelper
56
import kotlin.test.Test
67
import kotlin.test.assertEquals
@@ -72,4 +73,24 @@ class PersonSystemTest {
7273
)
7374
}
7475
}
76+
77+
@Test
78+
fun `create person starts a profile linked to the transaction`() {
79+
var profilerId: SentryId? = null
80+
val restClient = testHelper.restClient
81+
val person = Person("firstA", "lastB")
82+
val returnedPerson = restClient.createPerson(person)
83+
assertEquals(200, restClient.lastKnownStatusCode)
84+
85+
assertEquals(person.firstName, returnedPerson!!.firstName)
86+
assertEquals(person.lastName, returnedPerson!!.lastName)
87+
88+
testHelper.ensureTransactionReceived { transaction, envelopeHeader ->
89+
profilerId = transaction.contexts.profile?.profilerId
90+
transaction.transaction == "POST /person/"
91+
}
92+
testHelper.ensureProfileChunkReceived { profileChunk, envelopeHeader ->
93+
profileChunk.profilerId == profilerId
94+
}
95+
}
7596
}

sentry-samples/sentry-samples-spring-boot-opentelemetry/src/test/kotlin/io/sentry/systemtest/PersonSystemTest.kt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package io.sentry.systemtest
22

33
import io.sentry.protocol.FeatureFlag
4+
import io.sentry.protocol.SentryId
45
import io.sentry.systemtest.util.TestHelper
56
import kotlin.test.Test
67
import kotlin.test.assertEquals
@@ -75,6 +76,26 @@ class PersonSystemTest {
7576
}
7677
}
7778

79+
@Test
80+
fun `create person starts a profile linked to the transaction`() {
81+
var profilerId: SentryId? = null
82+
val restClient = testHelper.restClient
83+
val person = Person("firstA", "lastB")
84+
val returnedPerson = restClient.createPerson(person)
85+
assertEquals(200, restClient.lastKnownStatusCode)
86+
87+
assertEquals(person.firstName, returnedPerson!!.firstName)
88+
assertEquals(person.lastName, returnedPerson!!.lastName)
89+
90+
testHelper.ensureTransactionReceived { transaction, envelopeHeader ->
91+
profilerId = transaction.contexts.profile?.profilerId
92+
transaction.transaction == "POST /person/"
93+
}
94+
testHelper.ensureProfileChunkReceived { profileChunk, envelopeHeader ->
95+
profileChunk.profilerId == profilerId
96+
}
97+
}
98+
7899
@Test
79100
fun `create person creates transaction if no sampled flag in sentry-trace header`() {
80101
val restClient = testHelper.restClient

0 commit comments

Comments
 (0)