From 9adb18c19fdc239bac0cca0c19e707bba29ef570 Mon Sep 17 00:00:00 2001 From: d142796 Date: Tue, 4 Mar 2025 10:46:42 +0100 Subject: [PATCH] =?UTF-8?q?flyttet=20generering=20av=20utrolig=20masse=20t?= =?UTF-8?q?est=20data=20i=20LastInnMasseTestData.java=20og=20ikke=20LastIn?= =?UTF-8?q?nTestData.java=20slik=20at=20det=20g=C3=A5r=20raskere=20=C3=A5?= =?UTF-8?q?=20starte=20lokalt=20uten=20=C3=A5=20vente=20p=C3=A5=20masse=20?= =?UTF-8?q?data=20generering.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tiltaksgjennomforing/Milj\303\270.java" | 1 + .../LastInnMasseTestData.java | 69 +++++++++++++++++-- .../tiltaksgjennomforing/LastInnTestData.java | 51 -------------- 3 files changed, 66 insertions(+), 55 deletions(-) diff --git "a/src/main/java/no/nav/tag/tiltaksgjennomforing/Milj\303\270.java" "b/src/main/java/no/nav/tag/tiltaksgjennomforing/Milj\303\270.java" index 988f7074d..aa6ff4013 100644 --- "a/src/main/java/no/nav/tag/tiltaksgjennomforing/Milj\303\270.java" +++ "b/src/main/java/no/nav/tag/tiltaksgjennomforing/Milj\303\270.java" @@ -11,4 +11,5 @@ public class Miljø { public static final String DOCKER_COMPOSE = "dockercompose"; public static final String WIREMOCK = "wiremock"; public static final String TESTDATA = "testdata"; + public static final String MASSE_TESTDATA = "masse-testdata"; } diff --git a/src/test/java/no/nav/tag/tiltaksgjennomforing/LastInnMasseTestData.java b/src/test/java/no/nav/tag/tiltaksgjennomforing/LastInnMasseTestData.java index 38b45ff83..d948d7b07 100644 --- a/src/test/java/no/nav/tag/tiltaksgjennomforing/LastInnMasseTestData.java +++ b/src/test/java/no/nav/tag/tiltaksgjennomforing/LastInnMasseTestData.java @@ -2,18 +2,24 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import no.nav.tag.tiltaksgjennomforing.avtale.Avtale; -import no.nav.tag.tiltaksgjennomforing.avtale.AvtaleRepository; -import no.nav.tag.tiltaksgjennomforing.avtale.TestData; +import no.nav.fnrgen.FnrGen; +import no.nav.tag.tiltaksgjennomforing.avtale.*; import org.springframework.boot.context.event.ApplicationReadyEvent; import org.springframework.context.ApplicationListener; import org.springframework.context.annotation.Profile; import org.springframework.stereotype.Component; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; +import java.util.stream.IntStream; + +import static no.nav.tag.tiltaksgjennomforing.avtale.TestData.*; + @Component @RequiredArgsConstructor @Slf4j -@Profile("masse-testdata") +@Profile(Miljø.MASSE_TESTDATA) public class LastInnMasseTestData implements ApplicationListener { private final AvtaleRepository avtaleRepository; @@ -28,5 +34,60 @@ public void onApplicationEvent(ApplicationReadyEvent event) { avtale.getGjeldendeInnhold().setBedriftNavn(NavnGenerator.genererBedriftsnavn()); avtaleRepository.save(avtale); } + + List avtalerDataForLabs = hentMyeMerAvtalerDataForLabs(); + avtalerDataForLabs.forEach(avtale -> { + avtale.setStatus(Status.fra(avtale)); + avtaleRepository.save(avtale); + }); + } + + private List hentMyeMerAvtalerDataForLabs() { + List veldigMangeFlereAvtaler = new ArrayList<>(); + + IntStream.range(0, 5000).forEach(i -> { + BedriftNr bedriftNrTilfeldig = new BedriftNr(genererTilfeldigGyldigBedriftNr()); + List.of( + enMidlertidigLonnstilskuddAvtaleGodkjentAvVeileder(), + enVtaoAvtaleGodkjentAvVeileder(), + enVarigLonnstilskuddAvtaleMedAltUtfyltOgGodkjent() + ) + .forEach(currAvtale -> { + currAvtale.setId(UUID.randomUUID()); + currAvtale.setBedriftNr(bedriftNrTilfeldig); + currAvtale.getGjeldendeInnhold().setId(UUID.randomUUID()); + currAvtale.getGjeldendeInnhold().setDeltakerFornavn(NavnGenerator.genererFornavn()); + currAvtale.getGjeldendeInnhold().setDeltakerEtternavn(NavnGenerator.genererEtternavn()); + currAvtale.getGjeldendeInnhold().setBedriftNavn(NavnGenerator.genererBedriftsnavn()); + currAvtale.getGjeldendeInnhold().setGodkjentAvNavIdent(TestData.enNavIdent()); + currAvtale.setDeltakerFnr(new Fnr(FnrGen.singleFnr())); + + veldigMangeFlereAvtaler.add(currAvtale); + }); + }); + return veldigMangeFlereAvtaler; + } + + public static String genererTilfeldigGyldigBedriftNr(){ + int num1 = (int) Math.floor(Math.random()*10); + int num2 = (int) Math.floor(Math.random()*10); + int num3 = (int) Math.floor(Math.random()*10); + int num4 = (int) Math.floor(Math.random()*10); + int num5 = (int) Math.floor(Math.random()*10); + int num6 = (int) Math.floor(Math.random()*10); + int num7 = (int) Math.floor(Math.random()*10); + int num8 = (int) Math.floor(Math.random()*10); + + // vekt: 3 2 7 6 5 4 3 2 + var weighted = num1*3 + num2*2 + num3*7 + num4*6 + num5*5 + num6*4 + num7*3 + num8*2; + var remainder = weighted % 11; + var contr = 11 - remainder; + + if (contr == 11) + contr = 0; + if (contr == 10) + return null; // feil orgnr + else + return "" + num1 + num2 + num3 + num4 + num5 + num6 + num7 + num8 + contr; // valid orgnr } } diff --git a/src/test/java/no/nav/tag/tiltaksgjennomforing/LastInnTestData.java b/src/test/java/no/nav/tag/tiltaksgjennomforing/LastInnTestData.java index 83e7f89a1..2e8b21edb 100644 --- a/src/test/java/no/nav/tag/tiltaksgjennomforing/LastInnTestData.java +++ b/src/test/java/no/nav/tag/tiltaksgjennomforing/LastInnTestData.java @@ -101,60 +101,9 @@ public void onApplicationEvent(ApplicationReadyEvent event) { avtaler.add(TestData.enMidlertidigLonnstilskuddAvtaleMedAltUtfylt()); Now.resetClock(); - List avtalerDataForLabs = hentMyeMerAvtalerDataForLabs(); - avtaler.addAll(avtalerDataForLabs); avtaler.forEach(avtale -> { avtale.setStatus(Status.fra(avtale)); avtaleRepository.save(avtale); }); } - - private List hentMyeMerAvtalerDataForLabs() { - List veldigMangeFlereAvtaler = new ArrayList<>(); - - IntStream.range(0, 5000).forEach(i -> { - BedriftNr bedriftNrTilfeldig = new BedriftNr(genererTilfeldigGyldigBedriftNr()); - List.of( - enMidlertidigLonnstilskuddAvtaleGodkjentAvVeileder(), - enVtaoAvtaleGodkjentAvVeileder(), - enVarigLonnstilskuddAvtaleMedAltUtfyltOgGodkjent() - ) - .forEach(currAvtale -> { - currAvtale.setId(UUID.randomUUID()); - currAvtale.setBedriftNr(bedriftNrTilfeldig); - currAvtale.getGjeldendeInnhold().setId(UUID.randomUUID()); - currAvtale.getGjeldendeInnhold().setDeltakerFornavn(NavnGenerator.genererFornavn()); - currAvtale.getGjeldendeInnhold().setDeltakerEtternavn(NavnGenerator.genererEtternavn()); - currAvtale.getGjeldendeInnhold().setBedriftNavn(NavnGenerator.genererBedriftsnavn()); - currAvtale.getGjeldendeInnhold().setGodkjentAvNavIdent(TestData.enNavIdent()); - currAvtale.setDeltakerFnr(new Fnr(FnrGen.singleFnr())); - - veldigMangeFlereAvtaler.add(currAvtale); - }); - }); - return veldigMangeFlereAvtaler; - } - - public static String genererTilfeldigGyldigBedriftNr(){ - int num1 = (int) Math.floor(Math.random()*10); - int num2 = (int) Math.floor(Math.random()*10); - int num3 = (int) Math.floor(Math.random()*10); - int num4 = (int) Math.floor(Math.random()*10); - int num5 = (int) Math.floor(Math.random()*10); - int num6 = (int) Math.floor(Math.random()*10); - int num7 = (int) Math.floor(Math.random()*10); - int num8 = (int) Math.floor(Math.random()*10); - - // vekt: 3 2 7 6 5 4 3 2 - var weighted = num1*3 + num2*2 + num3*7 + num4*6 + num5*5 + num6*4 + num7*3 + num8*2; - var remainder = weighted % 11; - var contr = 11 - remainder; - - if (contr == 11) - contr = 0; - if (contr == 10) - return null; // feil orgnr - else - return "" + num1 + num2 + num3 + num4 + num5 + num6 + num7 + num8 + contr; // valid orgnr - } }