Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Derudover kode uden forretningslogik


Integrationstest

Der findes en række forskellige integrationstests og for alle gælder det at de validere som validerer at komponenterne er deployet korrekt og understøtter følgende use cases:

  • Registrering af en log hændelse (kræver Kafka er til rådighed)
  • 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.

  1. shared-test - integrationtest af registrering og medhjælp opslag

Nedenstående er en liste over shared-test:

...

IntegrationTest

...

Standard og default integrationstest. Kontrollere at miljøerne er kørende, kalder Registration og derefter Lookup.

...

MinLog1IntegrationTest

...

Standard integrationstest mod MinLog1. Kontrollere at miljøerne er kørende, kalder Registration og derefter Lookup.

ønskede use cases.

Integrationstests findes under modulet 'integrations-tests'.

Afvikling

Der er lavet følgende

Derudover findes en række "hjælpeværktøjer" som ikke er tiltænkt afvikling i CI miljøer - men som kan anvendes i forbindelse med fejlsøgning:

...

../shared-test/RunMultipleIntegrationTests

...

Afvikler alle tests baseret på plain xml-filer – se :
…/resources/lookup/test-xml/
…/resources/registration/test-xml/

...

../shared-test/dk.nsi.minlog2.testtools.lookup.ExternalLookupTest

...

Afvikler enkeltstående test – request findes i lookup-snippet.xml

...

../shared-test/dk.nsi.minlog2.testtools.registration.ExternalRegistrationTest

...

Afvikler enkeltstående test – request findes i registration-snippet.xml

...

../shared-test/dk.nsi.minlog2.testtools.XMLValidator.XMLValidator

...

Validerer korrekt xml fra filen xml-tovalidate.xml

Senest er tilføjet et maven modul (under integrations-tests). Dette skal gradvist udbygges og ovenstående integrationstest skal løbende overføres til dette maven modul.

Målet at at samle alle MinLog2 integrationstests et sted og gøre det muligt at afvikle disse vha junit ved aktivering af sædvanlige Maven target: mvn test

Der er lavet to 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
test
test1Konfigurationerne passer til NSP TEST01 miljøetmvn
-Denv=test1 test

Afvikling

En del af integrationstestene 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 ../shared/shared-test/src/main/configuration/<env>.properties
  2. Byg med 'mvn clean install –P<env>
  3. Kør integrationstesten fra kommandolinjen i ./shared-test/ med 'mvn exec:java@minlog1' eller 'mvn exec:java@minlog2' 

...

test -Pintegration-test -Denv=test1
test2Konfigurationerne passer til NSP TEST02 miljøetmvn test -Pintegration-test -Denv=test2


...

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'

...

Angivelse af MinLog2 servicens endpoint, fx

...

Angivelse af MinLog2 servicens endpoint, fx

...

  • Adgang til security token service
  • At certifikatet Lis_Rasmussen_Laege.jks.jks, har password Test1234og er tilknyttet CVR 25450442

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ø da request indeholder opslag på CPR "1005781993".

Ingen konfiguration er nødvendig. Afvikling sker fra kommandolinjen som følger:

...

Konfiguration foretages i src/main/resources/client.properties.

...

"tofile" will save the request to file - (IDWS-request-output.xml). Vær opmærksom på sts-endpoint og lookup-endpoint. Ændringer til lookup-endpoint skal også ændres i minlog2-lookupid.wsdl filen

...
<
wsdl:service name="LookupidService">
<wsdl:port name="LookupidServicePort" binding="tns:LookupidSoapBinding">
<soap:address location="http://localhost:8081/minlog2-lookupid/LookupidService" />
</wsdl:port>
</wsdl:service>
...

 

Performance- og endurancetest

Der henvises til MinLog2 - Performancetestvejledning dokumentet.

Dannelse af ID kort (wsse header)

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

...

ID kortet kan herefter anvendes i til en feks. et kald fra SoapUI eller andre klienter.

Forudsætninger:

...