Skip to content

Commit

Permalink
La til tester eu/eøs statsborgere
Browse files Browse the repository at this point in the history
  • Loading branch information
nilsmsa committed Sep 4, 2024
1 parent cf400b5 commit 0fb2e02
Show file tree
Hide file tree
Showing 2 changed files with 220 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
package no.nav.paw.arbeidssokerregisteret.testdata

import io.kotest.common.runBlocking
import io.ktor.http.*
import no.nav.paw.arbeidssoekerregisteret.api.startstopp.models.AarsakTilAvvisningV2
import no.nav.paw.arbeidssoekerregisteret.api.startstopp.models.ApiRegelId
import no.nav.paw.arbeidssoekerregisteret.api.startstopp.models.FeilV2
import no.nav.paw.arbeidssokerregisteret.*
import no.nav.paw.arbeidssokerregisteret.application.IkkeBosattINorgeIHenholdTilFolkeregisterloven
import no.nav.paw.arbeidssokerregisteret.application.Under18Aar
import no.nav.paw.arbeidssokerregisteret.intern.v1.Avvist
import no.nav.paw.arbeidssokerregisteret.intern.v1.vo.Bruker
import no.nav.paw.arbeidssokerregisteret.intern.v1.vo.BrukerType
import no.nav.paw.arbeidssokerregisteret.intern.v1.vo.Opplysning
import no.nav.paw.arbeidssokerregisteret.routes.apiRegel
import no.nav.paw.kafkakeygenerator.client.KafkaKeysClient
import no.nav.paw.pdl.graphql.generated.hentperson.Foedsel
import no.nav.paw.pdl.graphql.generated.hentperson.Person
import no.nav.paw.pdl.graphql.generated.hentperson.UtenlandskAdresse
import org.apache.kafka.clients.producer.ProducerRecord
import java.time.Instant
import java.time.ZoneId
import java.time.format.DateTimeFormatter
import java.util.*
import no.nav.paw.arbeidssoekerregisteret.api.startstopp.models.Opplysning as ApiOpplysning

data object SvenskBrukerBosattISverigeUnder18aar : TestCase {
val dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd")
.withZone(ZoneId.systemDefault())
val yearFormatter = DateTimeFormatter.ofPattern("yyyy")
.withZone(ZoneId.systemDefault())
override val id = "12345678909"
override val person = Person(
foedsel = Instant.now().let { dato ->
Foedsel(
dateFormatter.format(dato),
yearFormatter.format(dato).toInt()
).list()
},
statsborgerskap = "SWE".statsborgerskap(),
opphold = emptyList(),
folkeregisterpersonstatus = dNummer.folkeregisterpersonstatus(),
bostedsadresse = bostedsadresse(
utenlandskAdresse = UtenlandskAdresse(landkode = "SWE")
),
innflyttingTilNorge = emptyList(),
utflyttingFraNorge = emptyList()
)

override val configure: TestCaseBuilder.() -> Unit = {
authToken = mockOAuth2Server.personToken(id)
}

override val producesHttpResponse: HttpStatusCode = HttpStatusCode.Forbidden
override val producesError: FeilV2 = FeilV2(
melding = IkkeBosattINorgeIHenholdTilFolkeregisterloven.beskrivelse,
feilKode = FeilV2.FeilKode.AVVIST,
aarsakTilAvvisning = AarsakTilAvvisningV2(
regler = listOf(
Under18Aar.apiRegel()
),
detaljer = listOf(
ApiOpplysning.ER_UNDER_18_AAR,
ApiOpplysning.HAR_UTENLANDSK_ADRESSE,
ApiOpplysning.HAR_REGISTRERT_ADRESSE_I_EU_EOES,
ApiOpplysning.ER_EU_EOES_STATSBORGER,
ApiOpplysning.IKKE_ANSATT,
ApiOpplysning.SAMME_SOM_INNLOGGET_BRUKER,
ApiOpplysning.INGEN_INFORMASJON_OM_OPPHOLDSTILLATELSE,
ApiOpplysning.DNUMMER,
ApiOpplysning.INGEN_FLYTTE_INFORMASJON
)
)
)

override fun producesRecord(
kafkaKeysClient: KafkaKeysClient
) = ProducerRecord(
"any",
runBlocking { kafkaKeysClient.getIdAndKey(id).key },
Avvist(
hendelseId = UUID.randomUUID(),
id = runBlocking { kafkaKeysClient.getIdAndKey(id).id },
identitetsnummer = id,
metadata = no.nav.paw.arbeidssokerregisteret.intern.v1.vo.Metadata(
tidspunkt = Instant.now(),
kilde = "paw-arbeidssokerregisteret-api-start-stopp-perioder",
utfoertAv = Bruker(
id = id,
type = BrukerType.SLUTTBRUKER
),
aarsak = "any",
tidspunktFraKilde = null
),
opplysninger = setOf(
Opplysning.ER_UNDER_18_AAR,
Opplysning.ER_EU_EOES_STATSBORGER,
Opplysning.HAR_UTENLANDSK_ADRESSE,
Opplysning.HAR_REGISTRERT_ADRESSE_I_EU_EOES,
Opplysning.IKKE_ANSATT,
Opplysning.SAMME_SOM_INNLOGGET_BRUKER,
Opplysning.INGEN_INFORMASJON_OM_OPPHOLDSTILLATELSE,
Opplysning.ER_NORSK_STATSBORGER,
Opplysning.DNUMMER,
Opplysning.INGEN_FLYTTE_INFORMASJON
)
)
)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
package no.nav.paw.arbeidssokerregisteret.testdata

import io.kotest.common.runBlocking
import io.ktor.http.*
import no.nav.paw.arbeidssoekerregisteret.api.startstopp.models.AarsakTilAvvisningV2
import no.nav.paw.arbeidssoekerregisteret.api.startstopp.models.FeilV2
import no.nav.paw.arbeidssokerregisteret.*
import no.nav.paw.arbeidssokerregisteret.application.EuEoesStatsborgerMenHarStatusIkkeBosatt
import no.nav.paw.arbeidssokerregisteret.application.IkkeBosattINorgeIHenholdTilFolkeregisterloven
import no.nav.paw.arbeidssokerregisteret.application.Under18Aar
import no.nav.paw.arbeidssokerregisteret.intern.v1.Avvist
import no.nav.paw.arbeidssokerregisteret.intern.v1.vo.Bruker
import no.nav.paw.arbeidssokerregisteret.intern.v1.vo.BrukerType
import no.nav.paw.arbeidssokerregisteret.intern.v1.vo.Opplysning
import no.nav.paw.arbeidssokerregisteret.routes.apiRegel
import no.nav.paw.kafkakeygenerator.client.KafkaKeysClient
import no.nav.paw.pdl.graphql.generated.hentperson.Foedsel
import no.nav.paw.pdl.graphql.generated.hentperson.Person
import no.nav.paw.pdl.graphql.generated.hentperson.UtenlandskAdresse
import org.apache.kafka.clients.producer.ProducerRecord
import java.time.Instant
import java.time.ZoneId
import java.time.format.DateTimeFormatter
import java.util.*
import no.nav.paw.arbeidssoekerregisteret.api.startstopp.models.Opplysning as ApiOpplysning

data object SvenskBrukerBosattISverigeUnder18aarMedStatusIkkeBosatt : TestCase {
val dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd")
.withZone(ZoneId.systemDefault())
val yearFormatter = DateTimeFormatter.ofPattern("yyyy")
.withZone(ZoneId.systemDefault())
override val id = "12345678909"
override val person = Person(
foedsel = Instant.now().let { dato ->
Foedsel(
dateFormatter.format(dato),
yearFormatter.format(dato).toInt()
).list()
},
statsborgerskap = "SWE".statsborgerskap(),
opphold = emptyList(),
folkeregisterpersonstatus = folkeregisterpersonstatus(dNummer, ikkeBosatt),
bostedsadresse = bostedsadresse(
utenlandskAdresse = UtenlandskAdresse(landkode = "SWE")
),
innflyttingTilNorge = emptyList(),
utflyttingFraNorge = emptyList()
)

override val configure: TestCaseBuilder.() -> Unit = {
authToken = mockOAuth2Server.personToken(id)
}

override val producesHttpResponse: HttpStatusCode = HttpStatusCode.Forbidden
override val producesError: FeilV2 = FeilV2(
melding = IkkeBosattINorgeIHenholdTilFolkeregisterloven.beskrivelse,
feilKode = FeilV2.FeilKode.AVVIST,
aarsakTilAvvisning = AarsakTilAvvisningV2(
regler = listOf(
Under18Aar.apiRegel(),
EuEoesStatsborgerMenHarStatusIkkeBosatt.apiRegel()
),
detaljer = listOf(
ApiOpplysning.ER_UNDER_18_AAR,
ApiOpplysning.HAR_UTENLANDSK_ADRESSE,
ApiOpplysning.HAR_REGISTRERT_ADRESSE_I_EU_EOES,
ApiOpplysning.ER_EU_EOES_STATSBORGER,
ApiOpplysning.IKKE_ANSATT,
ApiOpplysning.SAMME_SOM_INNLOGGET_BRUKER,
ApiOpplysning.INGEN_INFORMASJON_OM_OPPHOLDSTILLATELSE,
ApiOpplysning.IKKE_BOSATT,
ApiOpplysning.DNUMMER,
ApiOpplysning.INGEN_FLYTTE_INFORMASJON
)
)
)

override fun producesRecord(
kafkaKeysClient: KafkaKeysClient
) = ProducerRecord(
"any",
runBlocking { kafkaKeysClient.getIdAndKey(id).key },
Avvist(
hendelseId = UUID.randomUUID(),
id = runBlocking { kafkaKeysClient.getIdAndKey(id).id },
identitetsnummer = id,
metadata = no.nav.paw.arbeidssokerregisteret.intern.v1.vo.Metadata(
tidspunkt = Instant.now(),
kilde = "paw-arbeidssokerregisteret-api-start-stopp-perioder",
utfoertAv = Bruker(
id = id,
type = BrukerType.SLUTTBRUKER
),
aarsak = "any",
tidspunktFraKilde = null
),
opplysninger = setOf(
Opplysning.ER_UNDER_18_AAR,
Opplysning.IKKE_BOSATT,
Opplysning.ER_EU_EOES_STATSBORGER,
Opplysning.HAR_UTENLANDSK_ADRESSE,
Opplysning.HAR_REGISTRERT_ADRESSE_I_EU_EOES,
Opplysning.IKKE_ANSATT,
Opplysning.SAMME_SOM_INNLOGGET_BRUKER,
Opplysning.INGEN_INFORMASJON_OM_OPPHOLDSTILLATELSE,
Opplysning.DNUMMER,
Opplysning.INGEN_FLYTTE_INFORMASJON
)
)
)
}

0 comments on commit 0fb2e02

Please sign in to comment.