Page History
Navitabs | ||||||
---|---|---|---|---|---|---|
| ||||||
Indhold
Table of Contents |
---|
Indledning
Leverancen indeholder unit tests, integrationstest og endurancetest.
Unittests bør afvikles som en del af byggeprocessen, mens integrationstesten bør afvikles mod den deployede komponent. Begge disse tests kan afvikles med maven.
Endurancetesten bør afvikles med jmeter mod den deployede komponent.
Indeværende dokument indeholder beskrivelse af, hvordan disse tests afvikles. Resultatet af endurancetesten er beskrevet i særskilt dokument.
Læsevejledning
Læseren forventes at have kendskab til National Sundheds-IT's platform NSP, samt generelt kendskab til WildFly applikation server, MariaDB, Kafka og java.
Dokumenthistorik
Version | Dato | Ansvarlig | Beskrivelse |
1.4 | 23-01-2020 | KIT | Beskrivelse af ny suite til integrationstests |
1.3 | 19-09-2019 | Openminds | Gennemgang og mere detaljeret dokumentation |
1.2 | 2025-09-2018 | Openminds | Yderligere specifikation som følge af ny borgerservice og Kafka |
1.1 | 07-09-2017 | Openminds | Tilføjelse af yderligere integrationtests |
1.0 | 15-06-2017 | Aage Nielsen |
Definitioner og forkortelser
Definition | Beskrivelse |
NSP | Den nationale service platform (inden for sundheds-IT) |
Unit tests
Unit tests bliver afviklet som en del af bygget, med mindre man eksplicit angivet, at det ikke ønskes.
Kør 'mvn clean install' eller 'mvn clean test'
Coverage report
Cobertura benyttes til – via maven – at danne en coverage rapport:
...
Rapporten kan også findes i code/target/staging.
Bemærkninger
Det er et krav, at der skal være en coverage på 80 %. Dog kan fx genereret kode afvige fra dette.
...
- dk.medcom.dgws.*
- oasis.*
- org.*
- dk.sundhedsdatastyrelsen.minlog.xml_schema.*
...
Integrationstest
Der findes en række forskellige integrationstests og for alle gælder det at de validere at som validerer at komponenterne er deployet korrekt og understøtter følgende ønskede use cases:
- Registrering af en log hændelse
- Opslag på log hændelser via CPR
Der findes en række test classer som kan benyttes i forskellige sammenhæng. Vær opmærksom på at der findes 2 moduler som anvendes med test af integration for øje.
- shared-test - integrationtest af registrering og medhjælp opslag
- shared-test-idws - integrationstest af borger opslag
Nedenstående er en liste over shared-test:
...
IntegrationTest
...
Standard integrationstest. Kontrollere at miljøerne er kørende, kalder Registration og derefter Lookup
...
RunMultipleIntegrationTests
...
Afvikler alle tests baseret på plain xml-filer – se :
…/resources/lookup/test-xml/
…/resources/registration/test-xml/
...
ExternalLookupTest
...
Afvikler enkeltstående test – request findes i lookup-snippet.xml
...
ExternalRegistrationTest
...
Afvikler enkeltstående test – request findes i registration-snippet.xml
...
XMLValidator
...
Validerer korrekt xml fra filen xml-tovalidate.xml
Afvikling
Integrationstesten kan afvikles fra en kommandolinje mod komponenten på en kørende JBoss server. Testen kan enten afvikles med et id kort som parameter eller selv danne et id kort ved at kalde test STS.
Det er muligt at læse konfigurationen fra en fil eller med parametre til kommandolinjen:
...
- Tilret parametre i /testtools/src/main/configuration/<env>.properties
- Byg med 'mvn clean install –P<env>
- Kør integrationstesten fra kommandolinjen i /testtools med 'mvn exec:java'
...
.
Integrationstests findes under modulet 'integrations-tests'.
Afvikling
Der er lavet følgende konfigurationer, som kan aktiveres ved at tilføje miljøangivelse i kaldet af maven.
Testmiljø | Beskrivelse | Afvikles |
---|---|---|
dev | Konfigurationerne passer til det miljø, der startes op under udvikling i docker (/minlog/compose/development) | mvn test -Pintegration-test -Denv=dev |
test1 | Konfigurationerne passer til NSP TEST01 miljøet | mvn test -Pintegration-test -Denv=test1 |
test2 | Konfigurationerne passer til NSP TEST02 miljøet | mvn test -Pintegration-test -Denv=test2 |
Performance- og endurancetest
Der henvises til MinLog2 - Performancetestvejledning dokumentet.
Runtime konfigurationen overstyrer konfiguration i bygget. Dette gælder for alle integrationstests.
Følgende konfigurationer er til rådighed:
...
minlog2.endpoint.registration.url
...
Angivelse af MinLog2 servicens endpoint, fx
...
minlog2.endpoint.lookup.url
...
Angivelse af MinLog2 servicens endpoint, fx
...
idcard.from.file
...
Angiver, hvorvidt id kortet skal læses fra en fil.
Hvis værdien er 'false' kaldes STS.
...
sts.endpoint.url
Angivelse af STS endpoint, fx
...
idcard.path
...
Absolut sti til id kort.
Denne værdi er nødvendig hvis idcard.from.file er 'true'
...
db.url
...
Database url til en MariaDB database. Anvendes af "RunMultipleIntegrationTests" til at slette alle logentries markeret med Systemname='Integrationtest'
...
- Adgang til security token service
- At certifikatet Karl_Hoffmann_Svendsen_Laege.jks.jks, har password Test1234og er tilknyttet CVR 46837428
Integrationtest til Lookupid (shared-test-idws)
Modulet shared/shared-test-idws indeholder en klient IDWSTestClient. En integrationtest der kontrollere at miljøerne er kørende og kalder Lookupid. Denne client kræver at IntegrationTest er blevet afviklet mindst en gang mod det ønskede miljø.
Ingen konfiguration er nødvendig. Afvikling sker fra kommandolinjen som følger:
...
Konfiguration foretages i src/main/resources/client.properties.
...
Performance- og endurancetest
TBD
Dannelse af ID kort (wsse header)
Det er muligt at få udstedt et ID kort fra test STS'en som følger:
...
Forudsætninger:
...