@@ -6,7 +6,7 @@ import com.nhaarman.mockitokotlin2.verify
6
6
import io.sentry.Sentry
7
7
import io.sentry.SentryLevel
8
8
import io.sentry.SentryOptions
9
- import io.sentry.test. checkEvent
9
+ import io.sentry.checkEvent
10
10
import io.sentry.transport.ITransport
11
11
import java.time.Instant
12
12
import java.time.LocalDateTime
@@ -21,7 +21,6 @@ import kotlin.test.assertFalse
21
21
import kotlin.test.assertNotNull
22
22
import kotlin.test.assertNull
23
23
import kotlin.test.assertTrue
24
- import org.awaitility.kotlin.await
25
24
import org.slf4j.MDC
26
25
27
26
class SentryHandlerTest {
@@ -67,45 +66,39 @@ class SentryHandlerTest {
67
66
fixture = Fixture (transport = transport)
68
67
fixture.logger.severe(" testing environment field" )
69
68
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())
75
72
}
76
73
77
74
@Test
78
75
fun `converts message` () {
79
76
fixture = Fixture (minimumEventLevel = Level .SEVERE )
80
77
fixture.logger.log(Level .SEVERE , " testing message conversion {0}, {1}" , arrayOf(1 , 2 ))
81
78
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())
92
87
}
93
88
94
89
@Test
95
90
fun `converts message with printf style enabled` () {
96
91
fixture = Fixture (minimumEventLevel = Level .SEVERE )
97
92
fixture.logger.log(Level .SEVERE , " testing message conversion {0}, {1}" , arrayOf(1 , 2 ))
98
93
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())
109
102
}
110
103
111
104
@Test
@@ -115,88 +108,74 @@ class SentryHandlerTest {
115
108
116
109
fixture.logger.config(" testing event date" )
117
110
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()
123
115
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())
128
119
}
129
120
130
121
@Test
131
122
fun `converts fine log level to Sentry level` () {
132
123
fixture = Fixture (minimumEventLevel = Level .FINE )
133
124
fixture.logger.fine(" testing trace level" )
134
125
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())
140
129
}
141
130
142
131
@Test
143
132
fun `converts config log level to Sentry level` () {
144
133
fixture = Fixture (minimumEventLevel = Level .CONFIG )
145
134
fixture.logger.config(" testing debug level" )
146
135
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())
152
139
}
153
140
154
141
@Test
155
142
fun `converts info log level to Sentry level` () {
156
143
fixture = Fixture (minimumEventLevel = Level .INFO )
157
144
fixture.logger.info(" testing info level" )
158
145
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())
164
149
}
165
150
166
151
@Test
167
152
fun `converts warn log level to Sentry level` () {
168
153
fixture = Fixture (minimumEventLevel = Level .WARNING )
169
154
fixture.logger.warning(" testing warn level" )
170
155
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())
176
159
}
177
160
178
161
@Test
179
162
fun `converts severe log level to Sentry level` () {
180
163
fixture = Fixture (minimumEventLevel = Level .SEVERE )
181
164
fixture.logger.severe(" testing error level" )
182
165
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())
188
169
}
189
170
190
171
@Test
191
172
fun `attaches thread information` () {
192
173
fixture = Fixture (minimumEventLevel = Level .WARNING )
193
174
fixture.logger.warning(" testing thread information" )
194
175
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())
200
179
}
201
180
202
181
@Test
@@ -208,22 +187,20 @@ class SentryHandlerTest {
208
187
fixture.logger.info(" this should be a breadcrumb #2" )
209
188
fixture.logger.warning(" testing message with breadcrumbs" )
210
189
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())
227
204
}
228
205
229
206
@Test
@@ -234,14 +211,12 @@ class SentryHandlerTest {
234
211
fixture.logger.info(" this should be a breadcrumb" )
235
212
fixture.logger.warning(" testing message with breadcrumbs" )
236
213
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())
245
220
}
246
221
247
222
@Test
@@ -253,27 +228,23 @@ class SentryHandlerTest {
253
228
fixture.logger.warning(" this should not be sent as the event but be a breadcrumb" )
254
229
fixture.logger.severe(" this should be sent as the event" )
255
230
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())
265
238
}
266
239
267
240
@Test
268
241
fun `uses options set in properties file` () {
269
242
fixture = Fixture ()
270
243
fixture.logger.severe(" some event" )
271
244
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())
277
248
}
278
249
279
250
@Test
@@ -291,11 +262,9 @@ class SentryHandlerTest {
291
262
MDC .put(" key" , " value" )
292
263
fixture.logger.warning(" testing MDC tags" )
293
264
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())
299
268
}
300
269
301
270
@Test
@@ -305,15 +274,13 @@ class SentryHandlerTest {
305
274
MDC .put(" key2" , " value" )
306
275
fixture.logger.warning(" testing MDC tags" )
307
276
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())
317
284
}
318
285
319
286
@Test
@@ -323,42 +290,36 @@ class SentryHandlerTest {
323
290
MDC .put(" key2" , null )
324
291
fixture.logger.warning(" testing MDC tags" )
325
292
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())
331
296
}
332
297
333
298
@Test
334
299
fun `does not create MDC context when no MDC tags are set` () {
335
300
fixture = Fixture (minimumEventLevel = Level .WARNING )
336
301
fixture.logger.warning(" testing without MDC tags" )
337
302
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())
343
306
}
344
307
345
308
@Test
346
309
fun `sets SDK version` () {
347
310
fixture = Fixture (minimumEventLevel = Level .INFO )
348
311
fixture.logger.info(" testing sdk version" )
349
312
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())
363
324
}
364
325
}
0 commit comments