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.

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, 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 (hvis man kom til at køre uden property skal servicen genstartes for at status health point er glad).


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.

Unittests

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