Skip to content

Commit 47fedcf

Browse files
Optimize tests execution. (#1658)
1 parent 9c64c24 commit 47fedcf

File tree

15 files changed

+482
-630
lines changed

15 files changed

+482
-630
lines changed

sentry-jul/build.gradle.kts

-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ dependencies {
3535
testImplementation(kotlin(Config.kotlinStdLib))
3636
testImplementation(Config.TestLibs.kotlinTestJunit)
3737
testImplementation(Config.TestLibs.mockitoKotlin)
38-
testImplementation(Config.TestLibs.awaitility)
3938
testImplementation(Config.Libs.logbackClassic)
4039
}
4140

sentry-jul/src/test/kotlin/io/sentry/jul/SentryHandlerTest.kt

+102-141
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import com.nhaarman.mockitokotlin2.verify
66
import io.sentry.Sentry
77
import io.sentry.SentryLevel
88
import io.sentry.SentryOptions
9-
import io.sentry.test.checkEvent
9+
import io.sentry.checkEvent
1010
import io.sentry.transport.ITransport
1111
import java.time.Instant
1212
import java.time.LocalDateTime
@@ -21,7 +21,6 @@ import kotlin.test.assertFalse
2121
import kotlin.test.assertNotNull
2222
import kotlin.test.assertNull
2323
import kotlin.test.assertTrue
24-
import org.awaitility.kotlin.await
2524
import org.slf4j.MDC
2625

2726
class SentryHandlerTest {
@@ -67,45 +66,39 @@ class SentryHandlerTest {
6766
fixture = Fixture(transport = transport)
6867
fixture.logger.severe("testing environment field")
6968

70-
await.untilAsserted {
71-
verify(fixture.transport).send(checkEvent { event ->
72-
assertEquals("manual-environment", event.environment)
73-
}, anyOrNull())
74-
}
69+
verify(fixture.transport).send(checkEvent { event ->
70+
assertEquals("manual-environment", event.environment)
71+
}, anyOrNull())
7572
}
7673

7774
@Test
7875
fun `converts message`() {
7976
fixture = Fixture(minimumEventLevel = Level.SEVERE)
8077
fixture.logger.log(Level.SEVERE, "testing message conversion {0}, {1}", arrayOf(1, 2))
8178

82-
await.untilAsserted {
83-
verify(fixture.transport).send(checkEvent { event ->
84-
assertNotNull(event.message) { message ->
85-
assertEquals("testing message conversion 1, 2", message.formatted)
86-
assertEquals("testing message conversion {0}, {1}", message.message)
87-
assertEquals(listOf("1", "2"), message.params)
88-
}
89-
assertEquals("jul.SentryHandlerTest", event.logger)
90-
}, anyOrNull())
91-
}
79+
verify(fixture.transport).send(checkEvent { event ->
80+
assertNotNull(event.message) { message ->
81+
assertEquals("testing message conversion 1, 2", message.formatted)
82+
assertEquals("testing message conversion {0}, {1}", message.message)
83+
assertEquals(listOf("1", "2"), message.params)
84+
}
85+
assertEquals("jul.SentryHandlerTest", event.logger)
86+
}, anyOrNull())
9287
}
9388

9489
@Test
9590
fun `converts message with printf style enabled`() {
9691
fixture = Fixture(minimumEventLevel = Level.SEVERE)
9792
fixture.logger.log(Level.SEVERE, "testing message conversion {0}, {1}", arrayOf(1, 2))
9893

99-
await.untilAsserted {
100-
verify(fixture.transport).send(checkEvent { event ->
101-
assertNotNull(event.message) { message ->
102-
assertEquals("testing message conversion 1, 2", message.formatted)
103-
assertEquals("testing message conversion {0}, {1}", message.message)
104-
assertEquals(listOf("1", "2"), message.params)
105-
}
106-
assertEquals("jul.SentryHandlerTest", event.logger)
107-
}, anyOrNull())
108-
}
94+
verify(fixture.transport).send(checkEvent { event ->
95+
assertNotNull(event.message) { message ->
96+
assertEquals("testing message conversion 1, 2", message.formatted)
97+
assertEquals("testing message conversion {0}, {1}", message.message)
98+
assertEquals(listOf("1", "2"), message.params)
99+
}
100+
assertEquals("jul.SentryHandlerTest", event.logger)
101+
}, anyOrNull())
109102
}
110103

111104
@Test
@@ -115,88 +108,74 @@ class SentryHandlerTest {
115108

116109
fixture.logger.config("testing event date")
117110

118-
await.untilAsserted {
119-
verify(fixture.transport).send(checkEvent { event ->
120-
val eventTime = Instant.ofEpochMilli(event.timestamp.time)
121-
.atZone(ZoneId.of("UTC"))
122-
.toLocalDateTime()
111+
verify(fixture.transport).send(checkEvent { event ->
112+
val eventTime = Instant.ofEpochMilli(event.timestamp.time)
113+
.atZone(ZoneId.of("UTC"))
114+
.toLocalDateTime()
123115

124-
assertTrue { eventTime.plusSeconds(1).isAfter(utcTime) }
125-
assertTrue { eventTime.minusSeconds(1).isBefore(utcTime) }
126-
}, anyOrNull())
127-
}
116+
assertTrue { eventTime.plusSeconds(1).isAfter(utcTime) }
117+
assertTrue { eventTime.minusSeconds(1).isBefore(utcTime) }
118+
}, anyOrNull())
128119
}
129120

130121
@Test
131122
fun `converts fine log level to Sentry level`() {
132123
fixture = Fixture(minimumEventLevel = Level.FINE)
133124
fixture.logger.fine("testing trace level")
134125

135-
await.untilAsserted {
136-
verify(fixture.transport).send(checkEvent { event ->
137-
assertEquals(SentryLevel.DEBUG, event.level)
138-
}, anyOrNull())
139-
}
126+
verify(fixture.transport).send(checkEvent { event ->
127+
assertEquals(SentryLevel.DEBUG, event.level)
128+
}, anyOrNull())
140129
}
141130

142131
@Test
143132
fun `converts config log level to Sentry level`() {
144133
fixture = Fixture(minimumEventLevel = Level.CONFIG)
145134
fixture.logger.config("testing debug level")
146135

147-
await.untilAsserted {
148-
verify(fixture.transport).send(checkEvent { event ->
149-
assertEquals(SentryLevel.DEBUG, event.level)
150-
}, anyOrNull())
151-
}
136+
verify(fixture.transport).send(checkEvent { event ->
137+
assertEquals(SentryLevel.DEBUG, event.level)
138+
}, anyOrNull())
152139
}
153140

154141
@Test
155142
fun `converts info log level to Sentry level`() {
156143
fixture = Fixture(minimumEventLevel = Level.INFO)
157144
fixture.logger.info("testing info level")
158145

159-
await.untilAsserted {
160-
verify(fixture.transport).send(checkEvent { event ->
161-
assertEquals(SentryLevel.INFO, event.level)
162-
}, anyOrNull())
163-
}
146+
verify(fixture.transport).send(checkEvent { event ->
147+
assertEquals(SentryLevel.INFO, event.level)
148+
}, anyOrNull())
164149
}
165150

166151
@Test
167152
fun `converts warn log level to Sentry level`() {
168153
fixture = Fixture(minimumEventLevel = Level.WARNING)
169154
fixture.logger.warning("testing warn level")
170155

171-
await.untilAsserted {
172-
verify(fixture.transport).send(checkEvent { event ->
173-
assertEquals(SentryLevel.WARNING, event.level)
174-
}, anyOrNull())
175-
}
156+
verify(fixture.transport).send(checkEvent { event ->
157+
assertEquals(SentryLevel.WARNING, event.level)
158+
}, anyOrNull())
176159
}
177160

178161
@Test
179162
fun `converts severe log level to Sentry level`() {
180163
fixture = Fixture(minimumEventLevel = Level.SEVERE)
181164
fixture.logger.severe("testing error level")
182165

183-
await.untilAsserted {
184-
verify(fixture.transport).send(checkEvent { event ->
185-
assertEquals(SentryLevel.ERROR, event.level)
186-
}, anyOrNull())
187-
}
166+
verify(fixture.transport).send(checkEvent { event ->
167+
assertEquals(SentryLevel.ERROR, event.level)
168+
}, anyOrNull())
188169
}
189170

190171
@Test
191172
fun `attaches thread information`() {
192173
fixture = Fixture(minimumEventLevel = Level.WARNING)
193174
fixture.logger.warning("testing thread information")
194175

195-
await.untilAsserted {
196-
verify(fixture.transport).send(checkEvent { event ->
197-
assertNotNull(event.getExtra("thread_id"))
198-
}, anyOrNull())
199-
}
176+
verify(fixture.transport).send(checkEvent { event ->
177+
assertNotNull(event.getExtra("thread_id"))
178+
}, anyOrNull())
200179
}
201180

202181
@Test
@@ -208,22 +187,20 @@ class SentryHandlerTest {
208187
fixture.logger.info("this should be a breadcrumb #2")
209188
fixture.logger.warning("testing message with breadcrumbs")
210189

211-
await.untilAsserted {
212-
verify(fixture.transport).send(checkEvent { event ->
213-
assertNotNull(event.breadcrumbs) { breadcrumbs ->
214-
assertEquals(2, breadcrumbs.size)
215-
val breadcrumb = breadcrumbs[0]
216-
val breadcrumbTime = Instant.ofEpochMilli(event.timestamp.time)
217-
.atZone(ZoneId.of("UTC"))
218-
.toLocalDateTime()
219-
assertTrue { breadcrumbTime.plusSeconds(1).isAfter(utcTime) }
220-
assertTrue { breadcrumbTime.minusSeconds(1).isBefore(utcTime) }
221-
assertEquals("this should be a breadcrumb #1", breadcrumb.message)
222-
assertEquals("jul.SentryHandlerTest", breadcrumb.category)
223-
assertEquals(SentryLevel.DEBUG, breadcrumb.level)
224-
}
225-
}, anyOrNull())
226-
}
190+
verify(fixture.transport).send(checkEvent { event ->
191+
assertNotNull(event.breadcrumbs) { breadcrumbs ->
192+
assertEquals(2, breadcrumbs.size)
193+
val breadcrumb = breadcrumbs[0]
194+
val breadcrumbTime = Instant.ofEpochMilli(event.timestamp.time)
195+
.atZone(ZoneId.of("UTC"))
196+
.toLocalDateTime()
197+
assertTrue { breadcrumbTime.plusSeconds(1).isAfter(utcTime) }
198+
assertTrue { breadcrumbTime.minusSeconds(1).isBefore(utcTime) }
199+
assertEquals("this should be a breadcrumb #1", breadcrumb.message)
200+
assertEquals("jul.SentryHandlerTest", breadcrumb.category)
201+
assertEquals(SentryLevel.DEBUG, breadcrumb.level)
202+
}
203+
}, anyOrNull())
227204
}
228205

229206
@Test
@@ -234,14 +211,12 @@ class SentryHandlerTest {
234211
fixture.logger.info("this should be a breadcrumb")
235212
fixture.logger.warning("testing message with breadcrumbs")
236213

237-
await.untilAsserted {
238-
verify(fixture.transport).send(checkEvent { event ->
239-
assertNotNull(event.breadcrumbs) { breadcrumbs ->
240-
assertEquals(1, breadcrumbs.size)
241-
assertEquals("this should be a breadcrumb", breadcrumbs[0].message)
242-
}
243-
}, anyOrNull())
244-
}
214+
verify(fixture.transport).send(checkEvent { event ->
215+
assertNotNull(event.breadcrumbs) { breadcrumbs ->
216+
assertEquals(1, breadcrumbs.size)
217+
assertEquals("this should be a breadcrumb", breadcrumbs[0].message)
218+
}
219+
}, anyOrNull())
245220
}
246221

247222
@Test
@@ -253,27 +228,23 @@ class SentryHandlerTest {
253228
fixture.logger.warning("this should not be sent as the event but be a breadcrumb")
254229
fixture.logger.severe("this should be sent as the event")
255230

256-
await.untilAsserted {
257-
verify(fixture.transport).send(checkEvent { event ->
258-
assertNotNull(event.breadcrumbs) { breadcrumbs ->
259-
assertEquals(2, breadcrumbs.size)
260-
assertEquals("this should be a breadcrumb", breadcrumbs[0].message)
261-
assertEquals("this should not be sent as the event but be a breadcrumb", breadcrumbs[1].message)
262-
}
263-
}, anyOrNull())
264-
}
231+
verify(fixture.transport).send(checkEvent { event ->
232+
assertNotNull(event.breadcrumbs) { breadcrumbs ->
233+
assertEquals(2, breadcrumbs.size)
234+
assertEquals("this should be a breadcrumb", breadcrumbs[0].message)
235+
assertEquals("this should not be sent as the event but be a breadcrumb", breadcrumbs[1].message)
236+
}
237+
}, anyOrNull())
265238
}
266239

267240
@Test
268241
fun `uses options set in properties file`() {
269242
fixture = Fixture()
270243
fixture.logger.severe("some event")
271244

272-
await.untilAsserted {
273-
verify(fixture.transport).send(checkEvent { event ->
274-
assertEquals("release from sentry.properties", event.release)
275-
}, anyOrNull())
276-
}
245+
verify(fixture.transport).send(checkEvent { event ->
246+
assertEquals("release from sentry.properties", event.release)
247+
}, anyOrNull())
277248
}
278249

279250
@Test
@@ -291,11 +262,9 @@ class SentryHandlerTest {
291262
MDC.put("key", "value")
292263
fixture.logger.warning("testing MDC tags")
293264

294-
await.untilAsserted {
295-
verify(fixture.transport).send(checkEvent { event ->
296-
assertEquals(mapOf("key" to "value"), event.contexts["MDC"])
297-
}, anyOrNull())
298-
}
265+
verify(fixture.transport).send(checkEvent { event ->
266+
assertEquals(mapOf("key" to "value"), event.contexts["MDC"])
267+
}, anyOrNull())
299268
}
300269

301270
@Test
@@ -305,15 +274,13 @@ class SentryHandlerTest {
305274
MDC.put("key2", "value")
306275
fixture.logger.warning("testing MDC tags")
307276

308-
await.untilAsserted {
309-
verify(fixture.transport).send(checkEvent { event ->
310-
assertNotNull(event.contexts["MDC"]) {
311-
val contextData = it as Map<*, *>
312-
assertNull(contextData["key1"])
313-
assertEquals("value", contextData["key2"])
314-
}
315-
}, anyOrNull())
316-
}
277+
verify(fixture.transport).send(checkEvent { event ->
278+
assertNotNull(event.contexts["MDC"]) {
279+
val contextData = it as Map<*, *>
280+
assertNull(contextData["key1"])
281+
assertEquals("value", contextData["key2"])
282+
}
283+
}, anyOrNull())
317284
}
318285

319286
@Test
@@ -323,42 +290,36 @@ class SentryHandlerTest {
323290
MDC.put("key2", null)
324291
fixture.logger.warning("testing MDC tags")
325292

326-
await.untilAsserted {
327-
verify(fixture.transport).send(checkEvent { event ->
328-
assertNull(event.contexts["MDC"])
329-
}, anyOrNull())
330-
}
293+
verify(fixture.transport).send(checkEvent { event ->
294+
assertNull(event.contexts["MDC"])
295+
}, anyOrNull())
331296
}
332297

333298
@Test
334299
fun `does not create MDC context when no MDC tags are set`() {
335300
fixture = Fixture(minimumEventLevel = Level.WARNING)
336301
fixture.logger.warning("testing without MDC tags")
337302

338-
await.untilAsserted {
339-
verify(fixture.transport).send(checkEvent { event ->
340-
assertFalse(event.contexts.containsKey("MDC"))
341-
}, anyOrNull())
342-
}
303+
verify(fixture.transport).send(checkEvent { event ->
304+
assertFalse(event.contexts.containsKey("MDC"))
305+
}, anyOrNull())
343306
}
344307

345308
@Test
346309
fun `sets SDK version`() {
347310
fixture = Fixture(minimumEventLevel = Level.INFO)
348311
fixture.logger.info("testing sdk version")
349312

350-
await.untilAsserted {
351-
verify(fixture.transport).send(checkEvent { event ->
352-
assertNotNull(event.sdk) {
353-
assertEquals(BuildConfig.SENTRY_JUL_SDK_NAME, it.name)
354-
assertEquals(BuildConfig.VERSION_NAME, it.version)
355-
assertNotNull(it.packages)
356-
assertTrue(it.packages!!.any { pkg ->
357-
"maven:io.sentry:sentry-jul" == pkg.name &&
358-
BuildConfig.VERSION_NAME == pkg.version
359-
})
360-
}
361-
}, anyOrNull())
362-
}
313+
verify(fixture.transport).send(checkEvent { event ->
314+
assertNotNull(event.sdk) {
315+
assertEquals(BuildConfig.SENTRY_JUL_SDK_NAME, it.name)
316+
assertEquals(BuildConfig.VERSION_NAME, it.version)
317+
assertNotNull(it.packages)
318+
assertTrue(it.packages!!.any { pkg ->
319+
"maven:io.sentry:sentry-jul" == pkg.name &&
320+
BuildConfig.VERSION_NAME == pkg.version
321+
})
322+
}
323+
}, anyOrNull())
363324
}
364325
}

0 commit comments

Comments
 (0)