Overblik

Dette dokument beskriver en testvejledning for Organdonorregister-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.22018-08-31Ny releaseTrifork
1.0.132019-25-09AjourførtTrifork

Integrationstests

Selve integrationstestene består af Create-Get- og Delete-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 -PextITs -DitAddress=http://127.0.0.1:8080/odr

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.


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

Unit-tests

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

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 odr-service/target/site/jacoco/index.html.

Rapporten dækker selve servicen, dvs. koden i modulet odr-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.



Manuel test af alarm endpoints på lokal service

Det følgende beskriver, hvordan man manuelt aftester (aktivere fejlen i) de forskellige alarmer, der findes på alarm  endpointene.

Notifikationsjob

Alarm endpoint: curl -v http://localhost:8081/odr-operations/odr-send-digitalpost-notifikation/alarm

 HealthIndicator Fremgangsmåde
DBHealthIndicator

Start compose

docker stop development-odrdb-1

Kald alarm endpoint

Resultat: Der er ingen forbindelse til databasen med JNDI navnet java:jboss/datasources/ODR-DS.

PersonInformationHealthIndicator

Ændre property personinformation.url til f.eks http://test3-cnsp.ekstern-test.nspop.dk:8080/stamdata-personinformation/2024/08/01

Start compose

Kør integrationstest OrganDonorNotificationIT

Kald alarm endpoint

Resultat: Person Information servicen har fejlet flere gange end tilladt i en given periode.

DigitalPostHealthIndicator

Ændre property digitalpost.service.url til f.eks http://test3-cnsp.ekstern-test.nspop.dk:8080/digitalpost/2024/05/29/send

Start compose

Kør integrationstest OrganDonorNotificationIT

Kald alarm endpoint

Resultat: Digital Post Adapter servicen har fejlet flere gange end tilladt i en given periode.

StackedOperationsService
(organDonorNotificationService)

Start compose

docker stop development-stamdata_db-1

Kald alarm endpoint

NewestNotificationHealthIndicator

Sæt en kombination af digitalpost.notification.odr.startdate og digitalpost.notification.odr.alarm.date.period, der gør at startdate ligger længere tilbage end period
F.eks. 2025-01-22 og P3D

Start compose

Kald alarm endpoint

Resultat: Der er ikke færdigbehandlet en dato den: 22-01-2025. Den er ældre end 3 dage gammel.

ErrorNotificationHealthIndicator

Som for DigitalPostHealthIndicator

Resultat: Der ligger totalt 3 notifikationer med status Error.

StatusNotificationHealthIndicator

Sæt en kombination af digitalpost.notification.odr.startdate og digitalpost.notification.odr.alarm.date.period, der gør at startdate ligger længere tilbage end period
F.eks. 2025-01-22 og P3D

Start compose

Kør integrationstest OrganDonorNotificationIT

Opdater database:

  • docker exec -it development-odrdb-1  mysql -uroot organDonor
  • Update NotificationPerson set Status = "Pending" where NotificationPersonPID = 1;

Kald alarm endpoint

Resultat: Der ligger 1 notifikationer fra den 22-01-2025 med status Pending.