Skip to content

Commit 913e5ea

Browse files
committed
Henter personId for å hente meldegrupper
1 parent ef40e25 commit 913e5ea

File tree

2 files changed

+50
-14
lines changed

2 files changed

+50
-14
lines changed

Diff for: src/main/kotlin/no/nav/meldeplikt/meldekortservice/service/ArenaOrdsService.kt

+15-3
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import no.nav.meldeplikt.meldekortservice.config.Environment
1414
import no.nav.meldeplikt.meldekortservice.mapper.MeldekortdetaljerMapper
1515
import no.nav.meldeplikt.meldekortservice.model.AccessToken
1616
import no.nav.meldeplikt.meldekortservice.model.ArenaOrdsSkrivemodus
17+
import no.nav.meldeplikt.meldekortservice.model.feil.NoContentException
1718
import no.nav.meldeplikt.meldekortservice.model.feil.OrdsException
1819
import no.nav.meldeplikt.meldekortservice.model.korriger.KopierMeldekortResponse
1920
import no.nav.meldeplikt.meldekortservice.model.meldegruppe.MeldegruppeResponse
@@ -95,10 +96,20 @@ class ArenaOrdsService(
9596
}
9697

9798
suspend fun hentMeldegrupper(ident: String, fraDato: LocalDate): MeldegruppeResponse {
99+
val personId: String
100+
101+
val personResponse = hentMeldekort(ident)
102+
if (personResponse.status == HttpStatusCode.OK) {
103+
val person = mapFraXml(personResponse.content, Person::class.java)
104+
personId = person.personId.toString()
105+
} else {
106+
throw NoContentException()
107+
}
108+
98109
val response = getResponseWithRetry(
99110
"${env.ordsUrl}$ARENA_ORDS_HENT_MELDEGRUPPER",
100111
HttpMethod.Get,
101-
setupHeaders(ident = ident, fraDato = fraDato)
112+
setupHeaders(personId = personId, fraDato = fraDato)
102113
)
103114

104115
return defaultObjectMapper.readValue(response.body<String>(), MeldegruppeResponse::class.java)
@@ -124,6 +135,7 @@ class ArenaOrdsService(
124135
private fun setupHeaders(
125136
meldekortId: Long? = null,
126137
ident: String? = null,
138+
personId: String? = null,
127139
fraDato: LocalDate? = null
128140
): StringValuesBuilder {
129141
val headers = HeadersBuilder()
@@ -135,8 +147,8 @@ class ArenaOrdsService(
135147
if (ident != null) {
136148
headers.append("fnr", ident)
137149
}
138-
if (ident != null && fraDato != null) {
139-
headers.append("person_id", ident)
150+
if (personId != null && fraDato != null) {
151+
headers.append("person_id", personId)
140152
headers.append("fradato", fraDato.format(DateTimeFormatter.ISO_LOCAL_DATE))
141153
}
142154

Diff for: src/test/kotlin/no/nav/meldeplikt/meldekortservice/service/ArenaOrdsServiceTest.kt

+35-11
Original file line numberDiff line numberDiff line change
@@ -247,21 +247,45 @@ class ArenaOrdsServiceTest {
247247
)
248248
)
249249

250+
val personId = "1019108"
251+
val person = "" +
252+
"<Person>" +
253+
" <PersonId>$personId</PersonId>" +
254+
" <Etternavn>DUCK</Etternavn>" +
255+
" <Fornavn>DONALD</Fornavn>" +
256+
" <Maalformkode>NO</Maalformkode>" +
257+
" <Meldeform>EMELD</Meldeform>" +
258+
" <MeldekortListe/>" +
259+
" <FravaerListe/>" +
260+
"</Person>"
261+
250262
val client = HttpClient(MockEngine) {
251263
engine {
252264
addHandler { request ->
253-
assertEquals(HttpMethod.Get, request.method)
254-
assertEquals("Bearer $DUMMY_TOKEN", request.headers["Authorization"])
255-
assertEquals(fnr, request.headers["person_id"])
256-
assertEquals(
257-
"https://dummyurl.nav.no$ARENA_ORDS_HENT_MELDEGRUPPER",
258-
request.url.toString()
259-
)
265+
if (request.url.toString() == "https://dummyurl.nav.no/api/v2/meldeplikt/meldekort") {
266+
assertEquals(HttpMethod.Get, request.method)
267+
assertEquals("Bearer $DUMMY_TOKEN", request.headers["Authorization"])
268+
assertEquals(fnr, request.headers["fnr"])
269+
270+
respond(
271+
person,
272+
headers = headersOf(HttpHeaders.ContentType, ContentType.Application.Xml.toString())
273+
)
274+
} else {
275+
assertEquals(HttpMethod.Get, request.method)
276+
assertEquals("Bearer $DUMMY_TOKEN", request.headers["Authorization"])
277+
assertEquals(personId, request.headers["person_id"])
278+
assertEquals(
279+
"https://dummyurl.nav.no$ARENA_ORDS_HENT_MELDEGRUPPER",
280+
request.url.toString()
281+
)
282+
283+
respond(
284+
defaultObjectMapper.writeValueAsString(meldegruppeResponse),
285+
headers = headersOf(HttpHeaders.ContentType, ContentType.Application.Json.toString())
286+
)
287+
}
260288

261-
respond(
262-
defaultObjectMapper.writeValueAsString(meldegruppeResponse),
263-
headers = headersOf(HttpHeaders.ContentType, ContentType.Application.Json.toString())
264-
)
265289
}
266290
}
267291
}

0 commit comments

Comments
 (0)