Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Navitabs
rootSundhedsadresseringsservicen (EAS) - Leverancebeskrivelse
includeroottrue


Table of Contents

Introduktion

Formål

Formålet med dette dokument er at beskrive de tests, som er udviklet og afviklet forud for release af EAS.

...

  • Unittests, der verificerer, at de individuelle enheder i kildekoden virker efter hensigten, herunder måling af code coverage.

  • Integrationstest: Integrationstests, der afvikles op imod kørende EAS service til verifikation af funktionalitet og deployment.

Læsevejledning

Dokumentet henvender sig til udviklere og testere.

Læseren forventes at have kendskab til Java software udvikling, herunder unittesting ved anvendelse af JUnit, Cucumber og Maven.

UnitTests

Der findes UnitTests af centrale enheder (klasser) i EAS. Testene er implementeret vha JUnit.

...

target/reports/surefire.html

Testcoverage

Jacoco anvendes til at lave en testrapport med coverage for hele applikationen. Rapporten generes ved at køre

...

coverage/target/site/jacoco-aggregate/index.html

Integrationstests

Integrationstestene for EAS er implementeret vha Cucumber og JUnit i modulet integrationtests, og er beregnet til afvikling mod en kørende udgave af EAS.

...

Integrationstestene tjekker primært om kaldene går igennem, eller giver fejl, alt efter hvad forventningen er i den givne situation. Mere specifik forretningslogik testes igennem unit-testene.

Afvikling

Først og fremmest skal der udføres scripts, som opsætter keystore med signeringscertifikatet fra Keycloak (Inkl. hele certifikatkæden), samt opsætter klientcertifikater til anvendelse mod EAS og fra EAS mod EER.

  • setup_client_certificate.sh
    setup_keycloak_trust.sh

De 2 scripts kan udføres via nspbuilder fra og med version 4.0.5:

docker run --rm -it -v "$PWD":/workspace -w /workspace -e revision="snapshot" registry.nspop.dk/tools/nspbuilder:4.0.5 ./setup_keycloak_trust.sh
docker run --rm -it -v "$PWD":/workspace -w /workspace -e revision="snapshot" registry.nspop.dk/tools/nspbuilder:4.0.5 ./setup_client_certificate.sh

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

mvn verify -pl integrationtest -Pintegration-test -Denvironment=local

Dette vil afvikle integrationstestene mod lokalt kørende EAS-services.

Testene kan også afvikles mod NSP's test miljøer ved at sætte ændre argumentet environment. F.eks.

mvn verify -pl integrationtest -Pintegration-test -Denvironment=localtest1

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

...

localTests afvikles mod et lokalt docker-compose setup (denne vælges automatisk hvis environment argumentet ikke sættes).
test1Endnu ikke muligAfvikles mod NSP test1 og keycloak-test.nspop.dk
test2Endnu ikke mulig


Bemærk. hvis det ønskes at afvikle integrationstests mod services køres i lokalt docker-compose setup, skal services først startes (se Guide til udviklere).

...

PropertyBeskrivelseEksempel-værdi
EAS:

eas.endpoint.urlURL'en som EAS-servicen lytter påhttps://localhost:8079/eas/fhir
eas.client.cert.folderSti til mappe med nødvendige certificater, relativ til "integrationtest"-modulet../compose/configuration/certs/
eas.client.keystoreKeystore med client key + certificatecaller.test.p12
eas.client.keystore.passwordPassword til keystorechangeit
eas.client.private.key.passwordPassword til private keychangeit
eas.client.truststoreTruststore til EAS-klienttest_ca.jks
eas.client.truststore.passwordPassword til truststorechangeit
Keycloak:

keycloak.endpoint.urlKeycloak URL til JWT-requests

https://

TODO.test1.nsp

keycloak-test.nspop.dk

:8080

/

ehmi-

auth/realms/ehmi/protocol/openid-connect/token

keycloak.client.cert.folderSti til mappe med nødvendige certificater, relativ til "integrationtest"-modulet../compose/configuration/certs/
keycloak.client.keystoreKeystore med client key + certificatecaller.test.p12
keycloak.client.keystore.passwordPassword til keystorechangeit
keycloak.client.private.key.passwordPassword til private keychangeit
keycloak.client.truststoreTruststore til EAS-klienttest_ca.jks
keycloak.client.truststore.passwordPassword til truststorechangeit

Testdata:



cpr.invalidCPR som ikke findes på NSP-miljø0908720090
cpr.valid.no.sorCPR hvis "yder" ikke har mapning til SOR ID i SORES1808764667
cpr.valid.with.doctorEksisterende CPR med egen læge, som har mapning til SOR ID i SORES0908720091
yder.validGyldigt ydernummer077704
yder.invalidYdernummer som ikke findes på NSP-miljø077703
sorid.validSOR ID som findes i EER1254731000016003
sorid.invalidSOR ID som ikke findes i EER42

...