Skip to content

Commit 4acd122

Browse files
authored
Merge pull request #45 from navikt/tms-dependency-admin_9d1f1d7
Dependencies - manuelle endringer kreves
2 parents 59d5d0a + c8ae96d commit 4acd122

File tree

6 files changed

+147
-126
lines changed

6 files changed

+147
-126
lines changed

build.gradle.kts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,8 @@ dependencies {
5050
testImplementation(Ktor.Test.clientMock)
5151
testImplementation(Ktor.Test.serverTestHost)
5252
testImplementation(TmsKtorTokenSupport.azureValidationMock)
53-
testImplementation(Kluent.kluent)
53+
testImplementation(Kotest.assertionsCore)
5454
testImplementation(Mockk.mockk)
55-
testImplementation(TmsTestUtils.testUtils)
5655

5756
testRuntimeOnly(Jjwt.impl)
5857
}

buildSrc/src/main/kotlin/default/dependencies.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ interface KotestDefaults: DependencyGroup {
9090

9191
interface KotlinDefaults: DependencyGroup {
9292
override val groupId get() = "org.jetbrains.kotlin"
93-
override val version get() = "2.1.20"
93+
override val version get() = "2.1.21"
9494

9595
val reflect get() = dependency("kotlin-reflect")
9696
}
@@ -208,7 +208,7 @@ interface TestContainersDefaults: DependencyGroup {
208208

209209
interface TmsCommonLibDefaults: DependencyGroup {
210210
override val groupId get() = "no.nav.tms.common"
211-
override val version get() = "5.0.1"
211+
override val version get() = "5.0.3"
212212

213213
val metrics get() = dependency("metrics")
214214
val observability get() = dependency("observability")
@@ -219,14 +219,14 @@ interface TmsCommonLibDefaults: DependencyGroup {
219219

220220
interface TmsKafkaToolsDefaults: DependencyGroup {
221221
override val groupId get() = "no.nav.tms.kafka"
222-
override val version get() = "2.1.1"
222+
override val version get() = "2.1.4"
223223

224224
val kafkaApplication get() = dependency("kafka-application")
225225
}
226226

227227
interface TmsKtorTokenSupportDefaults: DependencyGroup {
228228
override val groupId get() = "no.nav.tms.token.support"
229-
override val version get() = "5.0.1"
229+
override val version get() = "5.0.4"
230230

231231
val azureExchange get() = dependency("azure-exchange")
232232
val azureValidation get() = dependency("azure-validation")

src/test/kotlin/no/nav/tms/event/api/ApiTest.kt

Lines changed: 51 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
package no.nav.tms.event.api
22

3+
import io.kotest.matchers.shouldBe
34
import io.ktor.client.request.*
45
import io.ktor.client.statement.*
56
import io.ktor.http.*
67
import io.ktor.server.testing.*
7-
import no.nav.tms.common.testutils.initExternalServices
88
import no.nav.tms.event.api.varsel.*
9-
import org.amshove.kluent.shouldBeEqualTo
109
import org.junit.jupiter.api.Test
1110
import java.time.ZonedDateTime
1211

@@ -24,22 +23,26 @@ class ApiTest {
2423
)
2524
testApplication {
2625
eventApiSetup(testHostUrl)
27-
initExternalServices(
28-
testHostUrl,
29-
VarselRouteProvider(
30-
type = "varsel",
31-
endpoint = "detaljert/aktive",
32-
fnrHeaderShouldBe = dummyFnr,
33-
responseBody = responseBody,
34-
),
26+
27+
var fnrHeader: String? = null
28+
29+
setupExternalVarselRoute(
30+
host = testHostUrl,
31+
path = "/varsel/detaljert/aktive",
32+
responseBody = responseBody,
33+
requestPeek = {
34+
fnrHeader = it.headers["ident"]
35+
},
3536
)
3637

3738
client.get("/varsel/aktive") {
38-
header("fodselsnummer", "12345678910")
39+
header("fodselsnummer", dummyFnr)
3940
}.apply {
40-
status shouldBeEqualTo HttpStatusCode.OK
41+
status shouldBe HttpStatusCode.OK
4142
assertContent(bodyAsText(), expectedContent)
4243
}
44+
45+
fnrHeader shouldBe dummyFnr
4346
}
4447
}
4548

@@ -54,21 +57,26 @@ class ApiTest {
5457

5558
testApplication {
5659
eventApiSetup(testHostUrl)
57-
initExternalServices(
58-
testHostUrl,
59-
VarselRouteProvider(
60-
type = "varsel",
61-
endpoint = "/detaljert/inaktive",
62-
fnrHeaderShouldBe = dummyFnr,
63-
responseBody = inaktivMockresponse,
64-
),
60+
61+
var fnrHeader: String? = null
62+
63+
setupExternalVarselRoute(
64+
host = testHostUrl,
65+
path = "/varsel/detaljert/inaktive",
66+
responseBody = inaktivMockresponse,
67+
requestPeek = {
68+
fnrHeader = it.headers["ident"]
69+
},
6570
)
71+
6672
client.get("/varsel/inaktive") {
6773
header("fodselsnummer", "12345678910")
6874
}.apply {
69-
status shouldBeEqualTo HttpStatusCode.OK
75+
status shouldBe HttpStatusCode.OK
7076
assertContent(bodyAsText(), inaktiveExpectedResult)
7177
}
78+
79+
fnrHeader shouldBe dummyFnr
7280
}
7381
}
7482

@@ -83,27 +91,30 @@ class ApiTest {
8391

8492
testApplication {
8593
eventApiSetup(testHostUrl)
86-
initExternalServices(
87-
testHostUrl,
88-
VarselRouteProvider(
89-
type = "varsel",
90-
endpoint = "/detaljert/alle",
91-
fnrHeaderShouldBe = dummyFnr,
92-
responseBody = alleMockresponse,
93-
),
94+
95+
var fnrHeader: String? = null
96+
97+
setupExternalVarselRoute(
98+
host = testHostUrl,
99+
path = "varsel/detaljert/alle",
100+
responseBody = alleMockresponse,
101+
requestPeek = {
102+
fnrHeader = it.headers["ident"]
103+
}
94104
)
105+
95106
client.get("/varsel/alle") {
96107
header("fodselsnummer", "12345678910")
97108
}.apply {
98-
status shouldBeEqualTo HttpStatusCode.OK
109+
status shouldBe HttpStatusCode.OK
99110
assertContent(bodyAsText(), alleExpectedResult)
100111
}
112+
113+
fnrHeader shouldBe dummyFnr
101114
}
102115
}
103116
}
104117

105-
private fun List<Pair<String, DetaljertVarsel>>.mapExternalServiceResponse(): List<String> = map { it.first }
106-
107118
private fun mockContent(
108119
opprettet: ZonedDateTime,
109120
inaktivert: ZonedDateTime? = null,
@@ -163,16 +174,16 @@ fun assertContent(
163174
expectedResult: List<DetaljertVarsel>,
164175
) {
165176
val jsonObjects = objectmapper.readTree(content)
166-
jsonObjects.size() shouldBeEqualTo expectedResult.size
177+
jsonObjects.size() shouldBe expectedResult.size
167178
val expectedObject = expectedResult.first()
168179
jsonObjects.first().also { resultObject ->
169-
resultObject["varselId"].textValue() shouldBeEqualTo expectedObject.varselId
170-
resultObject["produsent"]["namespace"].textValue() shouldBeEqualTo expectedObject.produsent.namespace
171-
resultObject["produsent"]["appnavn"].textValue() shouldBeEqualTo expectedObject.produsent.appnavn
172-
resultObject["sensitivitet"].textValue() shouldBeEqualTo expectedObject.sensitivitet.name
173-
resultObject["innhold"]["tekst"].textValue() shouldBeEqualTo expectedObject.innhold.tekst
174-
resultObject["innhold"]["link"].textValue() shouldBeEqualTo expectedObject.innhold.link
175-
resultObject["aktiv"].asBoolean() shouldBeEqualTo expectedObject.aktiv
180+
resultObject["varselId"].textValue() shouldBe expectedObject.varselId
181+
resultObject["produsent"]["namespace"].textValue() shouldBe expectedObject.produsent.namespace
182+
resultObject["produsent"]["appnavn"].textValue() shouldBe expectedObject.produsent.appnavn
183+
resultObject["sensitivitet"].textValue() shouldBe expectedObject.sensitivitet.name
184+
resultObject["innhold"]["tekst"].textValue() shouldBe expectedObject.innhold.tekst
185+
resultObject["innhold"]["link"].textValue() shouldBe expectedObject.innhold.link
186+
resultObject["aktiv"].asBoolean() shouldBe expectedObject.aktiv
176187
assertZonedDateTime(resultObject, expectedObject.aktivFremTil, "aktivFremTil")
177188
assertZonedDateTime(resultObject, expectedObject.opprettet, "opprettet")
178189
assertZonedDateTime(resultObject, expectedObject.inaktivert, "inaktivert")

src/test/kotlin/no/nav/tms/event/api/LegacyApiTest.kt

Lines changed: 52 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
package no.nav.tms.event.api
22

3+
import io.kotest.matchers.shouldBe
34
import io.ktor.client.request.*
45
import io.ktor.client.statement.*
56
import io.ktor.http.*
67
import io.ktor.server.testing.*
7-
import no.nav.tms.common.testutils.initExternalServices
88
import no.nav.tms.event.api.varsel.*
9-
import org.amshove.kluent.shouldBeEqualTo
109
import org.junit.jupiter.api.TestInstance
1110
import org.junit.jupiter.params.ParameterizedTest
1211
import org.junit.jupiter.params.provider.ValueSource
@@ -30,22 +29,26 @@ class LegacyApiTest {
3029
)
3130
testApplication {
3231
eventApiSetup(testHostUrl)
33-
initExternalServices(
32+
33+
var fnrHeader: String? = null
34+
35+
setupExternalVarselRoute(
3436
testHostUrl,
35-
VarselRouteProvider(
36-
type = type,
37-
endpoint = "/detaljert/aktive",
38-
fnrHeaderShouldBe = dummyFnr,
39-
responseBody = aktiveMockresponse,
40-
),
37+
path = "$type/detaljert/aktive",
38+
responseBody = aktiveMockresponse,
39+
requestPeek = {
40+
fnrHeader = it.headers["ident"]
41+
},
4142
)
4243

4344
client.get("/$type/aktive") {
44-
header("fodselsnummer", "12345678910")
45+
header("fodselsnummer", dummyFnr)
4546
}.apply {
46-
status shouldBeEqualTo HttpStatusCode.OK
47+
status shouldBe HttpStatusCode.OK
4748
assertLegacyContent(bodyAsText(), aktiveExpectedResult)
4849
}
50+
51+
fnrHeader shouldBe dummyFnr
4952
}
5053
}
5154

@@ -63,21 +66,25 @@ class LegacyApiTest {
6366

6467
testApplication {
6568
eventApiSetup(testHostUrl)
66-
initExternalServices(
67-
testHostUrl,
68-
VarselRouteProvider(
69-
type = type,
70-
endpoint = "/detaljert/inaktive",
71-
fnrHeaderShouldBe = dummyFnr,
72-
responseBody = inaktivMockresponse,
73-
),
69+
70+
var fnrHeader: String? = null
71+
72+
setupExternalVarselRoute(
73+
host = testHostUrl,
74+
path = "/$type/detaljert/inaktive",
75+
responseBody = inaktivMockresponse,
76+
requestPeek = {
77+
fnrHeader = it.headers["ident"]
78+
},
7479
)
7580
client.get("/$type/inaktive") {
76-
header("fodselsnummer", "12345678910")
81+
header("fodselsnummer", dummyFnr)
7782
}.apply {
78-
status shouldBeEqualTo HttpStatusCode.OK
83+
status shouldBe HttpStatusCode.OK
7984
assertLegacyContent(bodyAsText(), inaktiveExpectedResult)
8085
}
86+
87+
fnrHeader shouldBe dummyFnr
8188
}
8289
}
8390

@@ -95,21 +102,26 @@ class LegacyApiTest {
95102

96103
testApplication {
97104
eventApiSetup(testHostUrl)
98-
initExternalServices(
99-
testHostUrl,
100-
VarselRouteProvider(
101-
type = type,
102-
endpoint = "/detaljert/alle",
103-
fnrHeaderShouldBe = dummyFnr,
104-
responseBody = alleMockresponse,
105-
),
105+
106+
var fnrHeader: String? = null
107+
108+
setupExternalVarselRoute(
109+
host = testHostUrl,
110+
path = "/$type/detaljert/alle",
111+
responseBody = alleMockresponse,
112+
requestPeek = {
113+
fnrHeader = it.headers["ident"]
114+
},
106115
)
116+
107117
client.get("/$type/all") {
108-
header("fodselsnummer", "12345678910")
118+
header("fodselsnummer", dummyFnr)
109119
}.apply {
110-
status shouldBeEqualTo HttpStatusCode.OK
120+
status shouldBe HttpStatusCode.OK
111121
assertLegacyContent(bodyAsText(), alleExpectedResult)
112122
}
123+
124+
fnrHeader shouldBe dummyFnr
113125
}
114126
}
115127
}
@@ -119,17 +131,17 @@ private fun assertLegacyContent(
119131
expectedResult: List<LegacyVarsel>,
120132
) {
121133
val jsonObjects = objectmapper.readTree(content)
122-
jsonObjects.size() shouldBeEqualTo expectedResult.size
134+
jsonObjects.size() shouldBe expectedResult.size
123135
val expectedObject = expectedResult.first()
124136
jsonObjects.first().also { resultObject ->
125-
resultObject["fodselsnummer"].textValue() shouldBeEqualTo expectedObject.fodselsnummer
126-
resultObject["grupperingsId"].textValue() shouldBeEqualTo expectedObject.grupperingsId
127-
resultObject["eventId"].textValue() shouldBeEqualTo expectedObject.eventId
128-
resultObject["produsent"].textValue() shouldBeEqualTo expectedObject.produsent
129-
resultObject["sikkerhetsnivaa"].asInt() shouldBeEqualTo expectedObject.sikkerhetsnivaa
130-
resultObject["tekst"].textValue() shouldBeEqualTo expectedObject.tekst
131-
resultObject["link"].textValue() shouldBeEqualTo expectedObject.link
132-
resultObject["aktiv"].asBoolean() shouldBeEqualTo expectedObject.aktiv
137+
resultObject["fodselsnummer"].textValue() shouldBe expectedObject.fodselsnummer
138+
resultObject["grupperingsId"].textValue() shouldBe expectedObject.grupperingsId
139+
resultObject["eventId"].textValue() shouldBe expectedObject.eventId
140+
resultObject["produsent"].textValue() shouldBe expectedObject.produsent
141+
resultObject["sikkerhetsnivaa"].asInt() shouldBe expectedObject.sikkerhetsnivaa
142+
resultObject["tekst"].textValue() shouldBe expectedObject.tekst
143+
resultObject["link"].textValue() shouldBe expectedObject.link
144+
resultObject["aktiv"].asBoolean() shouldBe expectedObject.aktiv
133145
assertZonedDateTime(resultObject, expectedObject.synligFremTil, "synligFremTil")
134146
assertZonedDateTime(resultObject, expectedObject.forstBehandlet, "forstBehandlet")
135147
assertZonedDateTime(resultObject, expectedObject.sistOppdatert, "sistOppdatert")

0 commit comments

Comments
 (0)