Skip to content

Commit e176f14

Browse files
committed
Fikset tester, setter userId første request også hvis userId mangler
1 parent 62b2ec1 commit e176f14

File tree

2 files changed

+22
-5
lines changed

2 files changed

+22
-5
lines changed

log/main/no/nav/tilleggsstonader/libs/log/filter/LogFilter.kt

+4-4
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,13 @@ class LogFilter(val sporBruker: Boolean) : HttpFilter() {
5050
if (!sporBruker) {
5151
return
5252
}
53-
val userId = resolveUserId(request)
53+
var userId = resolveUserId(request)
5454
if (userId.isNullOrEmpty()) {
5555
// user-id tracking only works if the client is stateful and supports cookies.
5656
// if no user-id is found, generate one for any following requests but do not use it on the
5757
// current request to avoid generating large numbers of useless user-ids.
58-
generateUserIdCookie(response)
58+
userId = IdUtils.generateId()
59+
generateUserIdCookie(response, userId)
5960
}
6061
MDC.put(MDC_USER_ID, userId)
6162
}
@@ -95,8 +96,7 @@ class LogFilter(val sporBruker: Boolean) : HttpFilter() {
9596
?: IdUtils.generateId()
9697
}
9798

98-
private fun generateUserIdCookie(response: HttpServletResponse) {
99-
val userId = IdUtils.generateId()
99+
private fun generateUserIdCookie(response: HttpServletResponse, userId: String) {
100100
val cookie = Cookie(RANDOM_USER_ID_COOKIE_NAME, userId).apply {
101101
path = "/"
102102
maxAge = ONE_MONTH_IN_SECONDS

log/test/no/nav/tilleggsstonader/libs/log/filter/LogFilterTest.kt

+18-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import io.mockk.mockk
55
import jakarta.servlet.http.HttpServletRequest
66
import jakarta.servlet.http.HttpServletResponse
77
import no.nav.tilleggsstonader.libs.log.NavHttpHeaders
8+
import no.nav.tilleggsstonader.libs.log.mdc.MDCConstants
89
import org.assertj.core.api.Assertions.assertThat
910
import org.junit.jupiter.api.BeforeEach
1011
import org.junit.jupiter.api.Test
@@ -14,7 +15,7 @@ class LogFilterTest {
1415

1516
private lateinit var httpServletRequest: HttpServletRequest
1617
private lateinit var httpServletResponse: HttpServletResponse
17-
private val logFilter = LogFilter()
18+
private val logFilter = LogFilter(true)
1819

1920
@BeforeEach
2021
fun setup() {
@@ -52,6 +53,22 @@ class LogFilterTest {
5253
.isEqualTo(HttpServletResponse.SC_INTERNAL_SERVER_ERROR)
5354
}
5455

56+
@Test
57+
fun `skal ikke logge bruker hvis sporBruker=true`() {
58+
logFilter.doFilter(httpServletRequest, httpServletResponse) { _, _ ->
59+
assertThat(MDC.get(MDCConstants.MDC_USER_ID)).isNotNull()
60+
}
61+
}
62+
63+
@Test
64+
fun `skal ikke logge bruker hvis sporBruker=false`() {
65+
val logFilter = LogFilter(sporBruker = false)
66+
67+
logFilter.doFilter(httpServletRequest, httpServletResponse) { _, _ ->
68+
assertThat(MDC.get(MDCConstants.MDC_USER_ID)).isNull()
69+
}
70+
}
71+
5572
private val mockHttpServletRequest = mockk<HttpServletRequest>(relaxed = true).also {
5673
every { it.method } returns "GET"
5774
every { it.requestURI } returns "/test/path"

0 commit comments

Comments
 (0)