Skip to content

Commit

Permalink
Lett til alle næringer og tilsvarende statistikk i test
Browse files Browse the repository at this point in the history
oppdaterer også db dump

Co-authored-by: Thomas Dufourd <thomas.dufourd@nav.no>
  • Loading branch information
klechr and thomasdufourd committed Sep 20, 2023
1 parent 4e1385f commit 0ec5c98
Show file tree
Hide file tree
Showing 16 changed files with 21,713 additions and 4,671 deletions.
2 changes: 1 addition & 1 deletion run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

./gradlew build -x test
docker-compose up -d
curl -o db_script.sql https://raw.githubusercontent.com/navikt/lydia-api/main/scripts/db/lydia_api_container_db_localhost-2023_09_07_12_14_08-dump.sql
curl -o db_script.sql https://raw.githubusercontent.com/navikt/lydia-api/main/scripts/db/lydia_api_container_db_localhost-2023_09_20_13_24_09-dump.sql
sleep 3
PGPASSWORD=test psql -h localhost -p 5432 -U postgres -f db_script.sql > /dev/null
rm db_script.sql
4,518 changes: 0 additions & 4,518 deletions scripts/db/lydia_api_container_db_localhost-2023_09_07_12_14_08-dump.sql

This file was deleted.

6,607 changes: 6,607 additions & 0 deletions scripts/db/lydia_api_container_db_localhost-2023_09_20_13_24_09-dump.sql

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import com.google.gson.GsonBuilder
import com.google.gson.stream.JsonReader
import org.slf4j.LoggerFactory
import java.io.ByteArrayInputStream
import java.io.File
import java.io.InputStreamReader

class NæringsDownloader(
Expand All @@ -14,6 +15,23 @@ class NæringsDownloader(

private val log = LoggerFactory.getLogger(this.javaClass)

fun lastInnNæringerFraFil() {
// denne er lastet ned fra ssb sitt api (url ligger i nais.yaml)
File("src/test/resources/næringer.json").inputStream().use { stream ->
val gson = GsonBuilder().serializeNulls().create()
JsonReader(InputStreamReader(stream)).use { reader ->
reader.beginObject()
while (reader.hasNext() && !reader.nextName().equals("classificationItems"))
reader.skipValue()
reader.beginArray()
while (reader.hasNext()) {
val næringsDto = gson.fromJson<NæringsDto>(reader, NæringsDto::class.java)
næringsRepository.settInn(næringsDto)
}
}
}
}

fun lastNedNæringer() {
val start = System.currentTimeMillis()
log.info("Starter å importere næringer fra ssb")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,10 @@ class IASakStatistikkEksportererTest {

@Test
fun `skal trigge kafka-eksport av IASakStatistikk`() {
val næringskode = "${Bransjer.BYGG.næringskoder.first()}.123"
val virksomhet = TestVirksomhet.nyVirksomhet(næringer = listOf(Næringsgruppe(kode = næringskode, navn = "Bygg og ting")))
val næringskode = "${Bransjer.ANLEGG.næringskoder.first()}.120"
val virksomhet = TestVirksomhet.nyVirksomhet(
næringer = listOf(Næringsgruppe(kode = næringskode, navn = "Bygging av jernbaner og undergrunnsbaner"))
)
lastInnNyVirksomhet(virksomhet)

val sak = opprettSakForVirksomhet(orgnummer = virksomhet.orgnr, token = oauth2ServerContainer.superbruker1.token)
Expand All @@ -68,7 +70,7 @@ class IASakStatistikkEksportererTest {
it.antallPersoner shouldBe hentFraKvartal(it, "antall_personer")
it.sykefraversprosent shouldBe hentFraKvartal(it, "sykefraversprosent")
it.sykefraversprosentSiste4Kvartal shouldBe hentFraSiste4Kvartaler(it, "prosent")
it.bransjeprogram shouldBe Bransjer.BYGG
it.bransjeprogram shouldBe Bransjer.ANLEGG
it.endretAvRolle shouldBe Rolle.SAKSBEHANDLER
it.enhetsnummer shouldBe "2900"
it.enhetsnavn shouldBe "IT-avdelingen"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,14 @@ package no.nav.lydia.container.ia.eksport

import ia.felles.definisjoner.bransjer.Bransjer
import io.kotest.matchers.shouldBe
import no.nav.lydia.helper.TestData.Companion.BOLIGBYGGELAG
import no.nav.lydia.ia.eksport.finnBransje
import no.nav.lydia.virksomhet.domene.Næringsgruppe
import kotlin.test.Test

class IASakStatistikkEksportererUnitTest {
val næringsgruppeIkkeIBransjeprogram = Næringsgruppe("Denne næringen finnes ikke i et bransjeprogram", "99999")
val næringsgruppeBygg = Næringsgruppe("Bygg og sånt", "${Bransjer.BYGG.næringskoder.first()}.123")
val næringsgruppeBygg = BOLIGBYGGELAG
@Test
fun `skal finne riktig bransje fra næringskoder i bygg (2 siffet kode)`() {
finnBransje(listOf(næringsgruppeBygg)) shouldBe Bransjer.BYGG
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package no.nav.lydia.container.ia.eksport

import ia.felles.definisjoner.bransjer.Bransjer
import io.kotest.inspectors.forAtLeastOne
import io.kotest.matchers.collections.shouldHaveSize
import io.kotest.matchers.shouldBe
Expand All @@ -16,6 +15,7 @@ import no.nav.lydia.helper.TestContainerHelper
import no.nav.lydia.helper.TestContainerHelper.Companion.kafkaContainerHelper
import no.nav.lydia.helper.TestContainerHelper.Companion.oauth2ServerContainer
import no.nav.lydia.helper.TestContainerHelper.Companion.performGet
import no.nav.lydia.helper.TestData.Companion.BOLIGBYGGELAG
import no.nav.lydia.helper.TestVirksomhet
import no.nav.lydia.helper.VirksomhetHelper.Companion.lastInnNyVirksomhet
import no.nav.lydia.helper.tilSingelRespons
Expand All @@ -26,7 +26,6 @@ import no.nav.lydia.ia.sak.domene.IAProsessStatus.KONTAKTES
import no.nav.lydia.ia.sak.domene.IASakshendelseType
import no.nav.lydia.ia.sak.domene.IASakshendelseType.TA_EIERSKAP_I_SAK
import no.nav.lydia.ia.sak.domene.IASakshendelseType.VIRKSOMHET_SKAL_KONTAKTES
import no.nav.lydia.virksomhet.domene.Næringsgruppe
import org.junit.After
import org.junit.Before
import kotlin.test.Test
Expand All @@ -47,9 +46,8 @@ class IASakStatusEksportørTest {

@Test
fun `skal trigge kafka-eksport av IASakStatus`() {
val næringskode = "${Bransjer.BYGG.næringskoder.first()}.123"
val virksomhet =
TestVirksomhet.nyVirksomhet(næringer = listOf(Næringsgruppe(kode = næringskode, navn = "Bygg og ting")))
TestVirksomhet.nyVirksomhet(næringer = listOf(BOLIGBYGGELAG))
lastInnNyVirksomhet(virksomhet)

val sak =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,12 @@ import no.nav.lydia.helper.SakHelper.Companion.nyHendelse
import no.nav.lydia.helper.SakHelper.Companion.nySakIViBistår
import no.nav.lydia.helper.StatusoversiktHelper
import no.nav.lydia.helper.TestContainerHelper
import no.nav.lydia.helper.TestData.Companion.BARNEHAGER
import no.nav.lydia.helper.TestData.Companion.BOLIGBYGGELAG
import no.nav.lydia.helper.TestVirksomhet
import no.nav.lydia.helper.VirksomhetHelper
import no.nav.lydia.ia.sak.domene.IAProsessStatus
import no.nav.lydia.ia.sak.domene.IASakshendelseType
import no.nav.lydia.virksomhet.domene.Næringsgruppe
import no.nav.lydia.virksomhet.domene.Sektor
import kotlin.test.Test

Expand Down Expand Up @@ -73,7 +74,7 @@ class StatusoversiktApiTest {
fun `skal kunne filtrere på næring eller bransje`() {
val virksomhet = VirksomhetHelper.lastInnNyVirksomhet(
nyVirksomhet = TestVirksomhet.nyVirksomhet(
næringer = listOf(Næringsgruppe("Boligbyggelag", "41.101"))
næringer = listOf(BOLIGBYGGELAG)
)
)
nySakIViBistår(orgnummer = virksomhet.orgnr)
Expand All @@ -83,7 +84,7 @@ class StatusoversiktApiTest {

VirksomhetHelper.lastInnNyVirksomhet(
nyVirksomhet = TestVirksomhet.nyVirksomhet(
næringer = listOf(Næringsgruppe("Barnehager", "88.911"))
næringer = listOf(BARNEHAGER)
)
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ import no.nav.lydia.helper.TestContainerHelper.Companion.performPost
import no.nav.lydia.helper.TestContainerHelper.Companion.postgresContainer
import no.nav.lydia.helper.TestData
import no.nav.lydia.helper.TestData.Companion.BEDRIFTSRÅDGIVNING
import no.nav.lydia.helper.TestData.Companion.BOLIGBYGGELAG
import no.nav.lydia.helper.TestData.Companion.NÆRING_JORDBRUK
import no.nav.lydia.helper.TestData.Companion.NÆRING_PLEIE_OG_OMSORGSTJENESTER_I_INSTITUSJON
import no.nav.lydia.helper.TestData.Companion.NÆRING_SKOGBRUK
Expand Down Expand Up @@ -770,7 +771,7 @@ class SykefraversstatistikkApiTest {

@Test
fun `skal kunne søke på bransjeprogram`() {
val virksomhet = nyVirksomhet(næringer = listOf(Næringsgruppe("Boligbyggelag", "41.101")))
val virksomhet = nyVirksomhet(næringer = listOf(BOLIGBYGGELAG))
lastInnNyVirksomhet(nyVirksomhet = virksomhet)
hentSykefravær(
bransjeProgram = "${Bransjer.BYGG}",
Expand All @@ -783,7 +784,7 @@ class SykefraversstatistikkApiTest {

@Test
fun `skal kunne søke på både næringsgrupper og bransjeprogram samtidig`() {
val virksomhet = nyVirksomhet(næringer = listOf(Næringsgruppe("Boligbyggelag", "41.101")))
val virksomhet = nyVirksomhet(næringer = listOf(BOLIGBYGGELAG))
val virksomhet2 = nyVirksomhet(næringer = listOf(Næringsgruppe("Bygging av havne- og damanlegg", "42.910")))
val virksomhet3 = nyVirksomhet(næringer = listOf(Næringsgruppe("Sykehus et eller annet", "86.101")))

Expand Down Expand Up @@ -1101,8 +1102,8 @@ class SykefraversstatistikkApiTest {
companion object {
private val sistePubliserteKvartal: SistePubliserteKvartal =
SistePubliserteKvartal(
årstall = SykefraversstatistikkImportTestUtils.KVARTAL_2023_1.årstall,
kvartal = SykefraversstatistikkImportTestUtils.KVARTAL_2023_1.kvartal,
årstall = gjeldendePeriode.årstall,
kvartal = gjeldendePeriode.kvartal,
tapteDagsverk = 504339.8,
muligeDagsverk = 10104849.1,
prosent = 6.0,
Expand All @@ -1115,7 +1116,7 @@ class SykefraversstatistikkApiTest {
muligeDagsverk = 578099000.3,
prosent = 5.4,
erMaskert = false,
kvartaler = listOf(SykefraversstatistikkImportTestUtils.KVARTAL_2023_1)
kvartaler = listOf(gjeldendePeriode.tilKvartal())
)

fun lagVirksomhetMedNæringsundergruppeOgSykefraværsprosent(næringsundergruppe: Næringsgruppe, prosent: Double): String {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import no.nav.lydia.helper.*
import no.nav.lydia.helper.TestData.Companion.BARNEHAGER
import no.nav.lydia.helper.TestData.Companion.DYRKING_AV_RIS
import no.nav.lydia.helper.TestData.Companion.NÆRINGSMIDLER_IKKE_NEVNT
import no.nav.lydia.helper.TestData.Companion.NÆRING_MED_BINDESTREK
import no.nav.lydia.helper.TestVirksomhet.Companion.OSLO_FLERE_ADRESSER
import no.nav.lydia.helper.TestVirksomhet.Companion.nyVirksomhet
import no.nav.lydia.helper.VirksomhetHelper.Companion.hentVirksomhetsinformasjon
Expand Down Expand Up @@ -58,18 +59,8 @@ class VirksomhetApiTest {
val orgnummer = VirksomhetHelper.lastInnNyVirksomhet(
nyVirksomhet = nyVirksomhet(
næringer = listOf(
Næringsgruppe(
navn = "Testgruppe en",
kode = "99.001"
),
Næringsgruppe(
navn = "Test - gruppe to",
kode = "99.002"
),
Næringsgruppe(
navn = "Test-gruppe tre",
kode = "99.003"
)
BARNEHAGER,
NÆRING_MED_BINDESTREK
)
)
).orgnr
Expand All @@ -80,9 +71,8 @@ class VirksomhetApiTest {
)

virksomhet.orgnr shouldBe orgnummer
virksomhet.næringsundergruppe1.navn shouldBe "Testgruppe en"
virksomhet.næringsundergruppe2?.navn shouldBe "Test - gruppe to"
virksomhet.næringsundergruppe3?.navn shouldBe "Test-gruppe tre"
virksomhet.næringsundergruppe1.navn shouldBe BARNEHAGER.navn
virksomhet.næringsundergruppe2?.navn shouldBe NÆRING_MED_BINDESTREK.navn
}

@Test
Expand Down Expand Up @@ -221,7 +211,6 @@ class VirksomhetApiTest {
val virksomhet = VirksomhetHelper.lastInnNyVirksomhet(nyVirksomhet(næringer = listOf(DYRKING_AV_RIS)))
val virksomhetDto = hentVirksomhetsinformasjon(orgnummer = virksomhet.orgnr)

// hovednæring lastes inn i TestData (søk etter tilTosifret)
virksomhetDto.næring shouldBe Næringsgruppe(kode = "01", navn = "Kortnavn for 01")
virksomhetDto.næring shouldBe Næringsgruppe(kode = "01", navn = "Jordbruk, tilhør. tjenester, jakt")
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,21 @@ import io.kotest.matchers.shouldBe
import io.kotest.matchers.shouldNotBe
import io.ktor.http.*
import kotlinx.datetime.Clock
import no.nav.lydia.helper.*
import no.nav.lydia.helper.PiaBrregOppdateringTestData.Companion.endredeVirksomheter
import no.nav.lydia.helper.PiaBrregOppdateringTestData.Companion.fjernedeVirksomheter
import no.nav.lydia.helper.PiaBrregOppdateringTestData.Companion.nyeVirksomheter
import no.nav.lydia.helper.PiaBrregOppdateringTestData.Companion.slettedeVirksomheter
import no.nav.lydia.helper.PiaBrregOppdateringTestData.Companion.virksomhetSomSkalFåNæringskodeOppdatert
import no.nav.lydia.helper.PiaBrregOppdateringTestData.Companion.virksomhetUtenAdresse
import no.nav.lydia.helper.TestContainerHelper
import no.nav.lydia.helper.TestData
import no.nav.lydia.helper.TestVirksomhet
import no.nav.lydia.helper.TestVirksomhet.Companion.nyVirksomhet
import no.nav.lydia.helper.VirksomhetHelper
import no.nav.lydia.helper.genererEndretNavn
import no.nav.lydia.integrasjoner.brreg.Beliggenhetsadresse
import no.nav.lydia.integrasjoner.ssb.NæringsDownloader
import no.nav.lydia.virksomhet.api.VirksomhetDto
import no.nav.lydia.virksomhet.domene.Næringsgruppe
import no.nav.lydia.virksomhet.domene.Sektor
import no.nav.lydia.virksomhet.domene.VirksomhetStatus
import java.sql.Timestamp
import kotlin.test.Test
Expand Down Expand Up @@ -51,13 +53,6 @@ class VirksomhetOppdateringTest {
)
)
)
NæringsDownloader(
url = IntegrationsHelper.mockKallMotSsbNæringer(
httpMock = TestContainerHelper.httpMock,
testData = TestData.fraVirksomhet(nyVirksomhet, sektor = Sektor.STATLIG, perioder = listOf())
),
næringsRepository = TestContainerHelper.næringsRepository
).lastNedNæringer()

TestContainerHelper.kafkaContainerHelper.sendBrregAlleVirksomheter(listOf(nyVirksomhet))

Expand Down
23 changes: 0 additions & 23 deletions src/test/kotlin/no/nav/lydia/helper/IntegrationsHelper.kt

This file was deleted.

33 changes: 17 additions & 16 deletions src/test/kotlin/no/nav/lydia/helper/KafkaContainerHelper.kt
Original file line number Diff line number Diff line change
Expand Up @@ -195,13 +195,28 @@ class KafkaContainerHelper(

fun sendSykefraversstatistikkPerKategoriIBulkOgVentTilKonsumert(
importDtoer: List<SykefraversstatistikkPerKategoriImportDto>,
topic: String,
groupId: String,
) {
runBlocking {
if (importDtoer.isEmpty()) return@runBlocking

val sendteMeldinger = importDtoer.map { melding ->
kafkaProducer.send(melding.tilProducerRecord()).get()
kafkaProducer.send(ProducerRecord(
topic,
gson.toJson(
KeySykefraversstatistikkPerKategori(
kategori = melding.kategori.name,
kode = melding.kode,
årstall = melding.sistePubliserteKvartal.årstall,
kvartal = melding.sistePubliserteKvartal.kvartal
),
),
gson.toJson(melding)
)).get()
}
ventTilKonsumert(
konsumentGruppeId = Kafka.statistikkVirksomhetGroupId,
konsumentGruppeId = groupId,
recordMetadata = sendteMeldinger.last()
)
}
Expand Down Expand Up @@ -345,20 +360,6 @@ class KafkaContainerHelper(
)
}

private fun SykefraversstatistikkPerKategoriImportDto.tilProducerRecord() =
ProducerRecord(
statistikkVirksomhetTopic,
gson.toJson(
KeySykefraversstatistikkPerKategori(
kategori = kategori.name,
kode = kode,
årstall = sistePubliserteKvartal.årstall,
kvartal = sistePubliserteKvartal.kvartal
),
),
gson.toJson(this)
)

private fun SykefraversstatistikkMetadataVirksomhetImportDto.tilProducerRecord() =
ProducerRecord(
statistikkMetadataVirksomhetTopic,
Expand Down
Loading

0 comments on commit 0ec5c98

Please sign in to comment.