Overblik

Dette dokument beskriver en testvejledning for Behandlingstestamenteregister-servicen. Det forudsættes at projektet er bygget og installeret, og med denne vejledning kan man således afvikle integrations- og performancetests og derved kontrollere robustheden.

Ændringslog

Version

Dato

Ændring

Ansvarlig

1.0.2

2018-08-31

Ny release

Trifork

1.0.32018-09-06Endpoints ændret fra /ltr-btr til /btrTrifork
1.0.142019-25-09AjourførtTrifork

Integrationstests

Selve integrationstestene består af et Create- og dernæst Get-IDWS kald og skal afvikles mod den deployede komponent med test-opsætning.

Når servicens er installeret og deployet, kan korrekt deployment verificeres ved at køre integrationstestene. Dette gøres ved at anvende følgende Maven-kommando, som aktiverer Maven-profilen extITs og specificerer adressen på det specificerede miljø:

mvn verify -pl ltr-btr-service-wildfly -PextITs -DitAddress=http://127.0.0.1:8080/btr

I ovenstående kommando kan 127.0.0.1:8080 erstattes med adressen på eksternt miljø.

Bemærk at dette kræver, at projektet er fuldt bygget, for at lokale dependencies er på plads.

Bemærk endeligt at integrationstestene opretter data, der ikke slettes igen, dvs. afviklen er altså ikke idempotent.


Hvis man ønsker at køre integrationstests lokalt, 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. Bemærk at projektet skal bygges før ovenstående kommando fungerer, dette gøres med følgende kommando, ligeledes fra projektroden:

mvn clean install -DskipTests=true

Som nævnt ovenfor, så slettes oprettede data ikke igen automatisk. Hvis man ønsker at slette data for at køre tests igen, kan følgende kommando benyttes:

docker exec development_btrdb_1 /bin/bash -c "echo \"use btr; delete from TreatmentWill; use ltr; delete from LivingWill;\" | mysql -uroot"

Unit-tests

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

Test Data

CreateLivingWill metode er depricated og eksisterer ikke længere i BTR. Tests såsom LivingWillServiceTests (Unit Tests) og UpgradeToTreatmentWill (Integrationstest) kræver eksisterende livsviljedataposter. Living Will-testdata indlæses fra V10__create_livingWill.sql-filen placeret i compose/database/db/test/btr/V10__create_livingWill.sql.

For unit tests indlæses data i den indlejrede btr-database (se ltr-btr-service/src/test/java/dk/sundhedsdatastyrelsen/livtestamente/service/conf/TestDAOConfig.java )

Til integrationstest migreres scriptet ved hjælp af flyaway som angivet i docker-compose-filen.UpgradeToTreatmentWill-integrationstesten kalder kun UpgradeToTreatmentWill-webservicemetoden, hvis der er en levende testamente til stede i databasen. Testen består som standard.

Codecoverage

Efter afvikling af unit-tests genereres en testrapport med Maven-plugin’et JaCoCo. Rapporten kan ses ved at åbne følgende fil i en browser ltr-btr-service/target/site/jacoco/index.html.

Rapporten dækker selve servicen, dvs. koden i modulet ltr-btr-service. Codecoverage er minimum 80%. Der henvises til JaCoCo testrapporten for yderligere information vedr. coverage. Bemærk at JaCoCo ikke kan verificere linjer, der kaster exceptions, og at sådanne linjer altid vil stå som missed.

  • No labels