Skip to content

Commit 1fed21d

Browse files
committed
logback tests
1 parent e575f0d commit 1fed21d

1 file changed

Lines changed: 95 additions & 0 deletions

File tree

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

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -711,4 +711,99 @@ class SentryAppenderTest {
711711
anyOrNull(),
712712
)
713713
}
714+
715+
@Test
716+
fun `does not set template on log when logging message without parameters`() {
717+
fixture = Fixture(minimumLevel = Level.ERROR, enableLogs = true)
718+
fixture.logger.error("testing message without parameters")
719+
720+
Sentry.flush(1000)
721+
722+
verify(fixture.transport)
723+
.send(
724+
checkLogs { logs ->
725+
val log = logs.items.first()
726+
assertEquals("testing message without parameters", log.body)
727+
assertNull(log.attributes?.get("sentry.message.template"))
728+
}
729+
)
730+
}
731+
732+
@Test
733+
fun `sets template on log when logging message with parameters`() {
734+
fixture = Fixture(minimumLevel = Level.ERROR, enableLogs = true)
735+
fixture.logger.error("testing message {}", "param")
736+
737+
Sentry.flush(1000)
738+
739+
verify(fixture.transport)
740+
.send(
741+
checkLogs { logs ->
742+
val log = logs.items.first()
743+
assertEquals("testing message param", log.body)
744+
assertEquals("testing message {}", log.attributes?.get("sentry.message.template")?.value)
745+
assertEquals("param", log.attributes?.get("sentry.message.parameter.0")?.value)
746+
}
747+
)
748+
}
749+
750+
@Test
751+
fun `sets template on log when logging message with parameters and number of parameters is wrong`() {
752+
fixture = Fixture(minimumLevel = Level.ERROR, enableLogs = true)
753+
fixture.logger.error("testing message {} {} {}", "param1", "param2")
754+
755+
Sentry.flush(1000)
756+
757+
verify(fixture.transport)
758+
.send(
759+
checkLogs { logs ->
760+
val log = logs.items.first()
761+
assertEquals("testing message param1 param2 {}", log.body)
762+
assertEquals("testing message {} {} {}", log.attributes?.get("sentry.message.template")?.value)
763+
assertEquals("param1", log.attributes?.get("sentry.message.parameter.0")?.value)
764+
assertEquals("param2", log.attributes?.get("sentry.message.parameter.1")?.value)
765+
assertNull(log.attributes?.get("sentry.message.parameter.2"))
766+
}
767+
)
768+
}
769+
770+
@Test
771+
fun `does not set template or attributes on log with encoder when sendDefaultPii is false`() {
772+
var encoder = PatternLayoutEncoder()
773+
encoder.pattern = "encoded %msg"
774+
fixture = Fixture(minimumLevel = Level.ERROR, enableLogs = true, encoder = encoder, sendDefaultPii = false)
775+
fixture.logger.error("testing message {}", "param")
776+
777+
Sentry.flush(1000)
778+
779+
verify(fixture.transport)
780+
.send(
781+
checkLogs { logs ->
782+
val log = logs.items.first()
783+
assertEquals("encoded testing message param", log.body)
784+
assertNull(log.attributes?.get("sentry.message.template"))
785+
assertNull(log.attributes?.get("sentry.message.parameter.0"))
786+
}
787+
)
788+
}
789+
790+
@Test
791+
fun `sets template and attributes on log with encoder when sendDefaultPii is true`() {
792+
var encoder = PatternLayoutEncoder()
793+
encoder.pattern = "encoded %msg"
794+
fixture = Fixture(minimumLevel = Level.ERROR, enableLogs = true, encoder = encoder, sendDefaultPii = true)
795+
fixture.logger.error("testing message {}", "param")
796+
797+
Sentry.flush(1000)
798+
799+
verify(fixture.transport)
800+
.send(
801+
checkLogs { logs ->
802+
val log = logs.items.first()
803+
assertEquals("encoded testing message param", log.body)
804+
assertEquals("testing message {}", log.attributes?.get("sentry.message.template")?.value)
805+
assertEquals("param", log.attributes?.get("sentry.message.parameter.0")?.value)
806+
}
807+
)
808+
}
714809
}

0 commit comments

Comments
 (0)