Overblik

Dette dokument beskriver en testvejledning for Fravalg af Genoplivning Ved Hjertestop Register-servicen. Det forudsættes at projektet er bygget og installeret, og med denne vejledning kan man således afvikle integrationstests og derved kontrollere robustheden.

Integrationstests

Integrationstestene for FGVHR er implementeret vha Cucumber og JUnit i modulet fgvhr-integrationtest, og er beregnet til afvikling mod en kørende udgave af FGVHR.


For at køre den fulde integrationstest inklusiv integration til digital post, skal man have whitelistet sin ip hos Trifork. Se nedenfor, hvis man ønsker at skippe digital post testen. 

Der er desuden lavet noget speciel setup i compose filen i development for fgvhr-operations servicen. Se guide til udviklere for mere herom.


Inden integrationstest afvikles, skal projektet bygges. Dette gøres med følgende kommando:

mvn clean install -DskipTests=true

Afvikling af Integrationstests aktiveres via Maven med følgende kommando:

mvn verify -pl fgvhr_integration_tests -Pintegration-test

Dette vil afvikle integrationstestene mod en lokalt kørende FGVHR.

Testene kan også afvilkes mod test miljøerne ved at sætte argumentet environment. F.eks.

mvn verify -pl fgvhr_integration_tests -Pintegration-test -Denvironment=test1

Der er følgende muligheder for test miljøer:

Miljø

Beskrivelse

localTesten køres mod et lokalt docker-compose setup (denne vælges automatisk hvis environment argumentet ikke sættes).
test1Testen køres mod service der er deployet på test1.
test2Testen køres mod service der er deployet på test2.

Alternativt kan FGVHR endpointet sættes manuelt med maven property fgvhr.service.endpoint

mvn verify -pl fgvhr_integration_tests -Pintegration-test -Dfgvhr.service.endpoint=http://en-anden-url:8080/fgvhr

Hvis man ønsker at køre integrationstesten lokalt mod docker-compose setup, så kan man starte et lokalt udviklingmiljø op med kommandoen

docker-compose -f compose/development/docker-compose.yml up --build

Bemærk: Det kan tage op mod et minut før containeren er klar. De nødvendige databaser bliver oprettet automatisk.


Skulle Digst servicen være nede, eller har man ikke fået ip whitelisted sin ip hos Trifork, kan integrationstesten køres ved at tilføje følgende runtime property:

-Dcucumber.filter.tags="not @RequiresDigst"

Dette undlader at køre de test, som er afhængige af Digsts.

Skulle triforks digital post komponent være nede, kan integrationstesten køres ved at tilføje følgende runtime property:

-Dcucumber.filter.tags="not @RequiresDigitalPost" 

Dette undlader at køre de test, som er afhængige af komponenten. Bemærk, hvis man kom til at køre uden denne property, og fik fejl, skal servicen genstartes for at status health point bliver glad igen.


Vedr. slettejob

Da ma ikke kan teste slettejobbet i detalje i integrationstesten ligger der test data i database scriptene (902_test_data_deceased.sql og 903_test_data_digitalpost.sql), som indsætter personer, som er afdøde og ligeledes digital post på disse afdøde. Det fremgår af scriptet hvilke linier det er. Efter kørsel af slettejobbet kan man manuelt tjekke at dette data er blevet slettet.


Vedr. digital post afsendelse

For at integrationstesten til digital kan køre glat igennem, skal de anvendte patient CPR numre oprettes med følgende data

  • fornavn
  • efternavn
  • vejnavn
  • bynavn
  • postnr

Unittests

Vejledning til afvikling af unit-tests er beskrevet i udviklerguiden.

  • No labels