Skip to content

Commit 89b6643

Browse files
committed
add tests for pii handling
1 parent 3789e96 commit 89b6643

File tree

1 file changed

+77
-0
lines changed

1 file changed

+77
-0
lines changed

sentry-logback/src/test/kotlin/io/sentry/logback/SentryAppenderTest.kt

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -386,6 +386,83 @@ class SentryAppenderTest {
386386
)
387387
}
388388

389+
@Test
390+
fun `sends formatted log message if no encoder`() {
391+
fixture = Fixture(minimumLevel = Level.TRACE, enableLogs = true)
392+
fixture.logger.trace("Testing {} level", "TRACE")
393+
394+
Sentry.flush(1000)
395+
396+
verify(fixture.transport).send(
397+
checkLogs { logs ->
398+
val log = logs.items.first()
399+
assertEquals("Testing TRACE level", log.body)
400+
val attributes = log.attributes!!
401+
assertEquals("Testing {} level", attributes["sentry.message.template"]?.value)
402+
assertEquals("TRACE", attributes["sentry.message.parameter.0"]?.value)
403+
}
404+
)
405+
}
406+
407+
@Test
408+
fun `does not send formatted log message if encoder is available but sendDefaultPii is off`() {
409+
var encoder = PatternLayoutEncoder()
410+
encoder.pattern = "encoderadded %msg"
411+
fixture = Fixture(minimumLevel = Level.TRACE, enableLogs = true, encoder = encoder)
412+
fixture.logger.trace("Testing {} level", "TRACE")
413+
414+
Sentry.flush(1000)
415+
416+
verify(fixture.transport).send(
417+
checkLogs { logs ->
418+
val log = logs.items.first()
419+
assertEquals("encoderadded Testing TRACE level", log.body)
420+
val attributes = log.attributes!!
421+
assertNull(attributes["sentry.message.template"])
422+
assertNull(attributes["sentry.message.parameter.0"])
423+
}
424+
)
425+
}
426+
427+
@Test
428+
fun `sends formatted log message if encoder is available and sendDefaultPii is on but encoder throws`() {
429+
var encoder = ThrowingEncoder()
430+
fixture = Fixture(minimumLevel = Level.TRACE, enableLogs = true, sendDefaultPii = true, encoder = encoder)
431+
fixture.logger.trace("Testing {} level", "TRACE")
432+
433+
Sentry.flush(1000)
434+
435+
verify(fixture.transport).send(
436+
checkLogs { logs ->
437+
val log = logs.items.first()
438+
assertEquals("Testing TRACE level", log.body)
439+
val attributes = log.attributes!!
440+
assertEquals("Testing {} level", attributes["sentry.message.template"]?.value)
441+
assertEquals("TRACE", attributes["sentry.message.parameter.0"]?.value)
442+
}
443+
)
444+
}
445+
446+
@Test
447+
fun `sends formatted log message if encoder is available and sendDefaultPii is on`() {
448+
var encoder = PatternLayoutEncoder()
449+
encoder.pattern = "encoderadded %msg"
450+
fixture = Fixture(minimumLevel = Level.TRACE, enableLogs = true, sendDefaultPii = true, encoder = encoder)
451+
fixture.logger.trace("Testing {} level", "TRACE")
452+
453+
Sentry.flush(1000)
454+
455+
verify(fixture.transport).send(
456+
checkLogs { logs ->
457+
val log = logs.items.first()
458+
assertEquals("encoderadded Testing TRACE level", log.body)
459+
val attributes = log.attributes!!
460+
assertEquals("Testing {} level", attributes["sentry.message.template"]?.value)
461+
assertEquals("TRACE", attributes["sentry.message.parameter.0"]?.value)
462+
}
463+
)
464+
}
465+
389466
@Test
390467
fun `attaches thread information`() {
391468
fixture = Fixture(minimumEventLevel = Level.WARN)

0 commit comments

Comments
 (0)