Skip to content

Commit

Permalink
Lagar test for import og fikser alt som ikkje fungerer
Browse files Browse the repository at this point in the history
Co-authored-by: Per-Christian Nielsen <per-christian.nielsen@nav.no>
Co-authored-by: Christian Klem <christian.klem@nav.no>
Co-authored-by: Thomas Dufourd <thomas.dufourd@nav.no>
Co-authored-by: Nima Jimale <nima.jimale@nav.no>
  • Loading branch information
5 people committed Aug 23, 2023
1 parent 866c3c0 commit f589222
Show file tree
Hide file tree
Showing 9 changed files with 103 additions and 1 deletion.
2 changes: 2 additions & 0 deletions .nais/nais.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,8 @@ spec:
value: arbeidsgiver.sykefravarsstatistikk-land-v1
- name: STATISTIKK_SEKTOR_TOPIC
value: arbeidsgiver.sykefravarsstatistikk-sektor-v1
- name: STATISTIKK_BRANSJE_TOPIC
value: arbeidsgiver.sykefravarsstatistikk-bransje-v1
- name: STATISTIKK_NARING_TOPIC
value: arbeidsgiver.sykefravarsstatistikk-naring-v1
- name: STATISTIKK_NARINGSKODE_TOPIC
Expand Down
1 change: 1 addition & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ services:
STATISTIKK_METADATA_VIRKSOMHET_TOPIC: arbeidsgiver.sykefravarsstatistikk-metadata-virksomhet-v1
STATISTIKK_LAND_TOPIC: arbeidsgiver.sykefravarsstatistikk-land-v1
STATISTIKK_SEKTOR_TOPIC: arbeidsgiver.sykefravarsstatistikk-sektor-v1
STATISTIKK_BRANSJE_TOPIC: arbeidsgiver.sykefravarsstatistikk-bransje-v1
STATISTIKK_NARING_TOPIC: arbeidsgiver.sykefravarsstatistikk-naring-v1
STATISTIKK_NARINGSKODE_TOPIC: arbeidsgiver.sykefravarsstatistikk-naringskode-v1
STATISTIKK_VIRKSOMHET_TOPIC: arbeidsgiver.sykefravarsstatistikk-virksomhet-v1
Expand Down
1 change: 1 addition & 0 deletions src/main/kotlin/no/nav/lydia/NaisEnvironment.kt
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ class Kafka(
val statistikkMetadataVirksomhetTopic: String = getEnvVar("STATISTIKK_METADATA_VIRKSOMHET_TOPIC"),
val statistikkLandTopic: String = getEnvVar("STATISTIKK_LAND_TOPIC"),
val statistikkSektorTopic: String = getEnvVar("STATISTIKK_SEKTOR_TOPIC"),
val statistikkBransjeTopic: String = getEnvVar("STATISTIKK_BRANSJE_TOPIC"),
val statistikkNæringTopic: String = getEnvVar("STATISTIKK_NARING_TOPIC"),
val statistikkNæringskodeTopic: String = getEnvVar("STATISTIKK_NARINGSKODE_TOPIC"),
val statistikkVirksomhetTopic: String = getEnvVar("STATISTIKK_VIRKSOMHET_TOPIC"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,13 +52,14 @@ object StatistikkPerKategoriConsumer : CoroutineScope, Helsesjekk {
listOf(
kafka.statistikkLandTopic,
kafka.statistikkSektorTopic,
kafka.statistikkBransjeTopic,
kafka.statistikkNæringTopic,
kafka.statistikkNæringskodeTopic,
kafka.statistikkVirksomhetTopic
)
)
logger.info("Kafka consumer subscribed to ${kafka.statistikkLandTopic}, ${kafka.statistikkSektorTopic} " +
"${kafka.statistikkNæringTopic}, ${kafka.statistikkNæringskodeTopic} " +
"${kafka.statistikkBransjeTopic}, ${kafka.statistikkNæringTopic}, ${kafka.statistikkNæringskodeTopic} " +
"and ${kafka.statistikkVirksomhetTopic} in StatistikkPerKategoriConsumer")

while (job.isActive) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
create table sykefravar_statistikk_bransje
(
id serial primary key,
arstall smallint not null,
kvartal smallint not null,
bransje varchar not null,
antall_personer decimal not null,
tapte_dagsverk decimal not null,
mulige_dagsverk decimal not null,
prosent decimal not null,
maskert boolean not null,
opprettet timestamp default current_timestamp,
constraint bransje_periode unique (bransje, arstall, kvartal)
);
create index idx_bransje_sykefravar_statistikk_bransje on sykefravar_statistikk_bransje(bransje);
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
package no.nav.lydia.container.sykefraversstatistikk.importering

import no.nav.lydia.Kafka
import no.nav.lydia.container.sykefraversstatistikk.importering.SykefraversstatistikkImportTestUtils.Companion.KVARTAL_2023_1
import no.nav.lydia.container.sykefraversstatistikk.importering.SykefraversstatistikkImportTestUtils.Companion.cleanUpStatistikkSiste4KvartalTable
import no.nav.lydia.container.sykefraversstatistikk.importering.SykefraversstatistikkImportTestUtils.Companion.cleanUpStatistikkTable
import no.nav.lydia.container.sykefraversstatistikk.importering.SykefraversstatistikkImportTestUtils.Companion.hentStatistikkGjeldendeKvartal
import no.nav.lydia.container.sykefraversstatistikk.importering.SykefraversstatistikkImportTestUtils.Companion.hentStatistikkSiste4Kvartal
import no.nav.lydia.container.sykefraversstatistikk.importering.SykefraversstatistikkImportTestUtils.Companion.shouldBeEqual
import no.nav.lydia.container.sykefraversstatistikk.importering.SykefraversstatistikkImportTestUtils.JsonMelding
import no.nav.lydia.helper.KafkaContainerHelper
import no.nav.lydia.helper.TestContainerHelper
import no.nav.lydia.helper.TestData
import no.nav.lydia.sykefraversstatistikk.import.Kategori.BRANSJE
import no.nav.lydia.sykefraversstatistikk.import.Siste4Kvartal
import no.nav.lydia.sykefraversstatistikk.import.SistePubliserteKvartal
import kotlin.test.BeforeTest
import kotlin.test.Test


class SykefraversstatistikkBransjeImportTest {
private val kafkaContainer = TestContainerHelper.kafkaContainerHelper

private val sistePubliserteKvartal: SistePubliserteKvartal =
SistePubliserteKvartal(
årstall = KVARTAL_2023_1.årstall,
kvartal = KVARTAL_2023_1.kvartal,
tapteDagsverk = 504339.8,
muligeDagsverk = 10104849.1,
prosent = 6.0,
erMaskert = false,
antallPersoner = 3000001
)
private val siste4Kvartal: Siste4Kvartal =
Siste4Kvartal(
tapteDagsverk = 31505774.2,
muligeDagsverk = 578099000.3,
prosent = 5.4,
erMaskert = false,
kvartaler = listOf(KVARTAL_2023_1)
)

@BeforeTest
fun cleanUp() {
cleanUpStatistikkTable(BRANSJE, TestData.BRANSJE_BARNEHAGE)
cleanUpStatistikkSiste4KvartalTable(BRANSJE, TestData.BRANSJE_BARNEHAGE)
}

@Test
fun `vi lagrer sykefraværsstatistikk for kategori BRANSJE (både siste kvartal OG siste 4 kvartaler)`() {
val kafkaMelding = JsonMelding(
kategori = BRANSJE,
kode = TestData.BRANSJE_BARNEHAGE,
kvartal = KVARTAL_2023_1,
sistePubliserteKvartal = sistePubliserteKvartal,
siste4Kvartal = siste4Kvartal
)

kafkaContainer.sendOgVentTilKonsumert(
nøkkel = kafkaMelding.toJsonKey(),
melding = kafkaMelding.toJsonValue(),
topic = KafkaContainerHelper.statistikkBransjeTopic,
konsumentGruppeId = Kafka.statistikkPerKategoriGroupId
)

kafkaMelding shouldBeEqual
hentStatistikkGjeldendeKvartal(
BRANSJE,
TestData.BRANSJE_BARNEHAGE,
KVARTAL_2023_1
).sistePubliserteKvartal
kafkaMelding shouldBeEqual
hentStatistikkSiste4Kvartal(BRANSJE, TestData.BRANSJE_BARNEHAGE).siste4Kvartal
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -74,13 +74,15 @@ class SykefraversstatistikkImportTestUtils {
private val tabellnavn = mapOf(
Kategori.LAND to "sykefravar_statistikk_land",
Kategori.SEKTOR to "sykefravar_statistikk_sektor",
Kategori.BRANSJE to "sykefravar_statistikk_bransje",
Kategori.NÆRING to "sykefravar_statistikk_naring",
Kategori.NÆRINGSKODE to "sykefravar_statistikk_naringsundergruppe",
Kategori.VIRKSOMHET to "sykefravar_statistikk_virksomhet"
)
private val kodenavn = mapOf(
Kategori.LAND to "land",
Kategori.SEKTOR to "sektor_kode",
Kategori.BRANSJE to "bransje",
Kategori.NÆRING to "naring",
Kategori.NÆRINGSKODE to "naringsundergruppe",
Kategori.VIRKSOMHET to "orgnr"
Expand Down
4 changes: 4 additions & 0 deletions src/test/kotlin/no/nav/lydia/helper/KafkaContainerHelper.kt
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ class KafkaContainerHelper(
const val statistikkMetadataVirksomhetTopic = "arbeidsgiver.sykefravarsstatistikk-metadata-virksomhet-v1"
const val statistikkLandTopic = "arbeidsgiver.sykefravarsstatistikk-land-v1"
const val statistikkSektorTopic = "arbeidsgiver.sykefravarsstatistikk-sektor-v1"
const val statistikkBransjeTopic = "arbeidsgiver.sykefravarsstatistikk-bransje-v1"
const val statistikkNæringTopic = "arbeidsgiver.sykefravarsstatistikk-naring-v1"
const val statistikkNæringskodeTopic = "arbeidsgiver.sykefravarsstatistikk-naringskode-v1"
const val statistikkVirksomhetTopic = "arbeidsgiver.sykefravarsstatistikk-virksomhet-v1"
Expand Down Expand Up @@ -93,6 +94,7 @@ class KafkaContainerHelper(
statistikkMetadataVirksomhetTopic,
statistikkLandTopic,
statistikkSektorTopic,
// statistikkBransjeTopic,
statistikkVirksomhetTopic
)
kafkaProducer = producer()
Expand All @@ -108,6 +110,7 @@ class KafkaContainerHelper(
statistikkMetadataVirksomhetTopic = statistikkMetadataVirksomhetTopic,
statistikkLandTopic = statistikkLandTopic,
statistikkSektorTopic = statistikkSektorTopic,
statistikkBransjeTopic = statistikkBransjeTopic,
statistikkNæringTopic = statistikkNæringTopic,
statistikkNæringskodeTopic = statistikkNæringskodeTopic,
statistikkVirksomhetTopic = statistikkVirksomhetTopic,
Expand All @@ -130,6 +133,7 @@ class KafkaContainerHelper(
"STATISTIKK_LAND_TOPIC" to statistikkLandTopic,
"STATISTIKK_METADATA_VIRKSOMHET_TOPIC" to statistikkMetadataVirksomhetTopic,
"STATISTIKK_SEKTOR_TOPIC" to statistikkSektorTopic,
"STATISTIKK_BRANSJE_TOPIC" to statistikkBransjeTopic,
"STATISTIKK_NARING_TOPIC" to statistikkNæringTopic,
"STATISTIKK_NARINGSKODE_TOPIC" to statistikkNæringskodeTopic,
"STATISTIKK_VIRKSOMHET_TOPIC" to statistikkVirksomhetTopic,
Expand Down
1 change: 1 addition & 0 deletions src/test/kotlin/no/nav/lydia/helper/TestData.kt
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ class TestData(
) {
companion object {
const val LANDKODE_NO = "NO"
const val BRANSJE_BARNEHAGE = "Barnehager"
const val NÆRING_JORDBRUK = "01"
const val NÆRING_SKOGBRUK = "02"
const val NÆRINGSKODE_BARNEHAGER = "88911"
Expand Down

0 comments on commit f589222

Please sign in to comment.