Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Navitabs
rootMinLog2 - Leverancebeskrivelse
firsttabMinLog2
includeroottrue


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.423-01-2020KITBeskrivelse af ny suite til integrationstests
1.319-09-2019OpenmindsGennemgang og mere detaljeret dokumentation
1.22025-09-2018OpenmindsYderligere 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.

...

Derudover kode uden forretningslogik

  • dk.nsi.minlog2.testtools.*

...


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 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. Nedenstående er en liste over de primære:

...

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:

...

  1. Tilret parametre i /testtools/src/main/configuration/<env>.properties
  2. Byg med 'mvn clean install –P<env>
  3. Kør integrationstesten fra kommandolinjen i /testtools med 'mvn exec:java'

...

ønskede use cases.

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øBeskrivelseAfvikles
devKonfigurationerne passer til det miljø, der startes op under udvikling i docker (/minlog/compose/development)mvn test -Pintegration-test -Denv=dev
test1Konfigurationerne passer til NSP TEST01 miljøetmvn test -Pintegration-test -Denv=test1
test2Konfigurationerne passer til NSP TEST02 miljøetmvn 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

...

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:

mvn exec:java

...

TBD

...

Det er muligt at få udstedt et ID kort fra test STS'en som følger:

...

Forudsætninger:

...