Page History
| Navitabs | ||||
|---|---|---|---|---|
| ||||
| 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=localDette 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=localtest1Der er følgende muligheder for test miljøer:
...
| local | Tests afvikles mod et lokalt docker-compose setup (denne vælges automatisk hvis environment argumentet ikke sættes). |
| test1 | Afvikles mod NSP test1 og keycloak-test.nspop.dk |
| test2 | Endnu 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).
...
| Property | Beskrivelse | Eksempel-værdi |
|---|---|---|
| EAS: | ||
| eas.endpoint.url | URL'en som EAS-servicen lytter på | https://localhost:8079/eas/fhir |
| eas.client.cert.folder | Sti til mappe med nødvendige certificater, relativ til "integrationtest"-modulet | ../compose/configuration/certs/ |
| eas.client.keystore | Keystore med client key + certificate | caller.test.p12 |
| eas.client.keystore.password | Password til keystore | changeit |
| eas.client.private.key.password | Password til private key | changeit |
| eas.client.truststore | Truststore til EAS-klient | test_ca.jks |
| eas.client.truststore.password | Password til truststore | changeit |
| Keycloak: | ||
| keycloak.endpoint.url | Keycloak URL til JWT-requests | https:// TODOkeycloak-test. test1nspop. nsp.dk :8080/ ehmi-auth/realms/ehmi/protocol/openid-connect/token |
| keycloak.client.cert.folder | Sti til mappe med nødvendige certificater, relativ til "integrationtest"-modulet | ../compose/configuration/certs/ |
| keycloak.client.keystore | Keystore med client key + certificate | caller.test.p12 |
| keycloak.client.keystore.password | Password til keystore | changeit |
| keycloak.client.private.key.password | Password til private key | changeit |
| keycloak.client.truststore | Truststore til EAS-klient | test_ca.jks |
| keycloak.client.truststore.password | Password til truststore | changeit |
Testdata: | ||
| cpr.invalid | CPR som ikke findes på NSP-miljø | 0908720090 |
| cpr.valid.no.sor | CPR hvis "yder" ikke har mapning til SOR ID i SORES | 1808764667 |
| cpr.valid.with.doctor | Eksisterende CPR med egen læge, som har mapning til SOR ID i SORES | 0908720091 |
| yder.valid | Gyldigt ydernummer | 077704 |
| yder.invalid | Ydernummer som ikke findes på NSP-miljø | 077703 |
| sorid.valid | SOR ID som findes i EER | 1254731000016003 |
| sorid.invalid | SOR ID som ikke findes i EER | 42 |
...