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 |
|---|---|
| local | Testen køres mod et lokalt docker-compose setup (denne vælges automatisk hvis environment argumentet ikke sættes). |
| test1 | Testen køres mod service der er deployet på test1. |
| test2 | Testen 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.