Skip to content

Commit 8542a60

Browse files
committed
fix more test assertions
1 parent 245d0f5 commit 8542a60

File tree

2 files changed

+214
-164
lines changed

2 files changed

+214
-164
lines changed

sentry-spring-jakarta/src/test/kotlin/io/sentry/spring/jakarta/mvc/SentrySpringIntegrationTest.kt

Lines changed: 107 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import io.sentry.spring.jakarta.tracing.SentryTracingConfiguration
2222
import io.sentry.spring.jakarta.tracing.SentryTracingFilter
2323
import io.sentry.spring.jakarta.tracing.SentryTransaction
2424
import io.sentry.transport.ITransport
25+
import java.time.Duration
2526
import java.util.concurrent.Callable
2627
import java.util.concurrent.TimeUnit
2728
import kotlin.test.BeforeTest
@@ -114,17 +115,19 @@ class SentrySpringIntegrationTest {
114115

115116
restTemplate.exchange("http://localhost:$port/hello", HttpMethod.GET, entity, Void::class.java)
116117

117-
verify(transport)
118-
.send(
119-
checkEvent { event ->
120-
assertThat(event.request).isNotNull()
121-
assertThat(event.request!!.url).isEqualTo("http://localhost:$port/hello")
122-
assertThat(event.user).isNotNull()
123-
assertThat(event.user!!.username).isEqualTo("user")
124-
assertThat(event.user!!.ipAddress).isEqualTo("169.128.0.1")
125-
},
126-
anyOrNull(),
127-
)
118+
await.untilAsserted {
119+
verify(transport)
120+
.send(
121+
checkEvent { event ->
122+
assertThat(event.request).isNotNull()
123+
assertThat(event.request!!.url).isEqualTo("http://localhost:$port/hello")
124+
assertThat(event.user).isNotNull()
125+
assertThat(event.user!!.username).isEqualTo("user")
126+
assertThat(event.user!!.ipAddress).isEqualTo("169.128.0.1")
127+
},
128+
anyOrNull(),
129+
)
130+
}
128131
}
129132

130133
@Test
@@ -139,14 +142,16 @@ class SentrySpringIntegrationTest {
139142
Void::class.java,
140143
)
141144

142-
verify(transport)
143-
.send(
144-
checkEvent { event ->
145-
assertThat(event.request).isNotNull()
146-
assertThat(event.request!!.data).isEqualTo("""{"body":"content"}""")
147-
},
148-
anyOrNull(),
149-
)
145+
await.untilAsserted {
146+
verify(transport)
147+
.send(
148+
checkEvent { event ->
149+
assertThat(event.request).isNotNull()
150+
assertThat(event.request!!.data).isEqualTo("""{"body":"content"}""")
151+
},
152+
anyOrNull(),
153+
)
154+
}
150155
}
151156

152157
@Test
@@ -161,14 +166,16 @@ class SentrySpringIntegrationTest {
161166
Void::class.java,
162167
)
163168

164-
verify(transport)
165-
.send(
166-
checkEvent { event ->
167-
assertThat(event.request).isNotNull()
168-
assertThat(event.request!!.data).isEqualTo("""{"body":"content"}""")
169-
},
170-
anyOrNull(),
171-
)
169+
await.untilAsserted {
170+
verify(transport)
171+
.send(
172+
checkEvent { event ->
173+
assertThat(event.request).isNotNull()
174+
assertThat(event.request!!.data).isEqualTo("""{"body":"content"}""")
175+
},
176+
anyOrNull(),
177+
)
178+
}
172179
}
173180

174181
@Test
@@ -180,14 +187,16 @@ class SentrySpringIntegrationTest {
180187

181188
restTemplate.exchange("http://localhost:$port/hello", HttpMethod.GET, entity, Void::class.java)
182189

183-
verify(transport)
184-
.send(
185-
checkEvent { event ->
186-
assertThat(event.user).isNotNull()
187-
assertThat(event.user!!.ipAddress).isEqualTo("169.128.0.1")
188-
},
189-
anyOrNull(),
190-
)
190+
await.untilAsserted {
191+
verify(transport)
192+
.send(
193+
checkEvent { event ->
194+
assertThat(event.user).isNotNull()
195+
assertThat(event.user!!.ipAddress).isEqualTo("169.128.0.1")
196+
},
197+
anyOrNull(),
198+
)
199+
}
191200
}
192201

193202
@Test
@@ -196,18 +205,20 @@ class SentrySpringIntegrationTest {
196205

197206
restTemplate.getForEntity("http://localhost:$port/throws", String::class.java)
198207

199-
verify(transport)
200-
.send(
201-
checkEvent { event ->
202-
assertThat(event.exceptions).isNotNull().isNotEmpty
203-
val ex = event.exceptions!!.first()
204-
assertThat(ex.value).isEqualTo("something went wrong")
205-
assertThat(ex.mechanism).isNotNull()
206-
assertThat(ex.mechanism!!.isHandled).isFalse()
207-
assertThat(ex.mechanism!!.type).isEqualTo(SentryExceptionResolver.MECHANISM_TYPE)
208-
},
209-
anyOrNull(),
210-
)
208+
await.untilAsserted {
209+
verify(transport)
210+
.send(
211+
checkEvent { event ->
212+
assertThat(event.exceptions).isNotNull().isNotEmpty
213+
val ex = event.exceptions!!.first()
214+
assertThat(ex.value).isEqualTo("something went wrong")
215+
assertThat(ex.mechanism).isNotNull()
216+
assertThat(ex.mechanism!!.isHandled).isFalse()
217+
assertThat(ex.mechanism!!.type).isEqualTo(SentryExceptionResolver.MECHANISM_TYPE)
218+
},
219+
anyOrNull(),
220+
)
221+
}
211222
}
212223

213224
@Test
@@ -216,11 +227,13 @@ class SentrySpringIntegrationTest {
216227

217228
restTemplate.getForEntity("http://localhost:$port/throws", String::class.java)
218229

219-
verify(transport)
220-
.send(
221-
checkEvent { event -> assertThat(event.transaction).isEqualTo("GET /throws") },
222-
anyOrNull(),
223-
)
230+
await.untilAsserted {
231+
verify(transport)
232+
.send(
233+
checkEvent { event -> assertThat(event.transaction).isEqualTo("GET /throws") },
234+
anyOrNull(),
235+
)
236+
}
224237
}
225238

226239
@Test
@@ -229,37 +242,45 @@ class SentrySpringIntegrationTest {
229242

230243
restTemplate.getForEntity("http://localhost:$port/throws-handled", String::class.java)
231244

232-
verify(transport, never())
233-
.send(checkEvent { event -> assertThat(event).isNotNull() }, anyOrNull())
245+
await.atMost(3, TimeUnit.SECONDS).during(Duration.ofSeconds(2)).untilAsserted {
246+
verify(transport, never())
247+
.send(checkEvent { event -> assertThat(event).isNotNull() }, anyOrNull())
248+
}
234249
}
235250

236251
@Test
237252
fun `calling a method annotated with @SentryCaptureException captures exception`() {
238253
val exception = java.lang.RuntimeException("test exception")
239254
anotherService.aMethodThatTakesAnException(exception)
240-
verify(transport)
241-
.send(
242-
checkEvent { assertThat(it.exceptions!!.first().value).isEqualTo(exception.message) },
243-
anyOrNull(),
244-
)
255+
await.untilAsserted {
256+
verify(transport)
257+
.send(
258+
checkEvent { assertThat(it.exceptions!!.first().value).isEqualTo(exception.message) },
259+
anyOrNull(),
260+
)
261+
}
245262
}
246263

247264
@Test
248265
fun `calling a method annotated with @SentryCaptureException captures exception in later param`() {
249266
val exception = java.lang.RuntimeException("test exception")
250267
anotherService.aMethodThatTakesAnExceptionAsLaterParam("a", "b", exception)
251-
verify(transport)
252-
.send(
253-
checkEvent { assertThat(it.exceptions!!.first().value).isEqualTo(exception.message) },
254-
anyOrNull(),
255-
)
268+
await.untilAsserted {
269+
verify(transport)
270+
.send(
271+
checkEvent { assertThat(it.exceptions!!.first().value).isEqualTo(exception.message) },
272+
anyOrNull(),
273+
)
274+
}
256275
}
257276

258277
@Test
259278
fun `calling a method annotated with @SentryTransaction creates transaction`() {
260279
someService.aMethod()
261-
verify(transport)
262-
.send(checkTransaction { assertThat(it.status).isEqualTo(SpanStatus.OK) }, anyOrNull())
280+
await.untilAsserted {
281+
verify(transport)
282+
.send(checkTransaction { assertThat(it.status).isEqualTo(SpanStatus.OK) }, anyOrNull())
283+
}
263284
}
264285

265286
@Test
@@ -269,14 +290,16 @@ class SentrySpringIntegrationTest {
269290
} catch (e: Exception) {
270291
scopes.captureException(e)
271292
}
272-
verify(transport)
273-
.send(
274-
checkEvent {
275-
assertThat(it.contexts.trace).isNotNull
276-
assertThat(it.contexts.trace!!.operation).isEqualTo("bean")
277-
},
278-
anyOrNull(),
279-
)
293+
await.untilAsserted {
294+
verify(transport)
295+
.send(
296+
checkEvent {
297+
assertThat(it.contexts.trace).isNotNull
298+
assertThat(it.contexts.trace!!.operation).isEqualTo("bean")
299+
},
300+
anyOrNull(),
301+
)
302+
}
280303
}
281304

282305
@Test
@@ -286,14 +309,16 @@ class SentrySpringIntegrationTest {
286309
} catch (e: Exception) {
287310
scopes.captureException(e)
288311
}
289-
verify(transport)
290-
.send(
291-
checkEvent {
292-
assertThat(it.contexts.trace).isNotNull
293-
assertThat(it.contexts.trace!!.operation).isEqualTo("child-op")
294-
},
295-
anyOrNull(),
296-
)
312+
await.untilAsserted {
313+
verify(transport)
314+
.send(
315+
checkEvent {
316+
assertThat(it.contexts.trace).isNotNull
317+
assertThat(it.contexts.trace!!.operation).isEqualTo("child-op")
318+
},
319+
anyOrNull(),
320+
)
321+
}
297322
}
298323

299324
@Test

0 commit comments

Comments
 (0)