Introduktion

Formål

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

Følgende typer af test bruges indgår i udviklingsarbejdet:

For de typer af tests og det også beskrevet i hvilket omfang der er særlige krav til testdata, og hvorledes etablerede testdata kan vedligeholdes.

Læsevejledning

Dokumentet henvender sig til udviklere og testere. Læseren forventes at have kendskab til Java software udvikling, herunder unittesting, med anvendelse af Maven, JBoss applikationsserver og MySQL.

Dokumenthistorik

Dokumentet er oprettet med udgangspunkt i 2 separate Testvejledninger for registry henholdsvis repository. Den videre redigeringshistorik efter dette tidspunkt fremgår af confluence "Page History".


Definitioner og referencer

Definition

Beskrivelse

DDS

Dokumentdelingsservice

NSI

National Sundheds-IT

NSP

Den nationale service platform (inden for sundheds-IT)

SHAK

Sygehusafdelingsklassifikation

SOR

Sundhedsvæsenets organisationsregister

STS

Security Token Service

Alias

Beskrivelse

UdviklerGuide

DDS - Guide til Udviklere

TestRapport

DDS - Testrapport til sammenligning

Afviklede komponenttest

Følgende tests er afviklet som en del af komponent udviklingen. Der henvises i øvrigt til [UdviklerGuide] for udførselsvejledning og [TestRapport] for resultat.

Unittest til Code Coverage

DDS Registry\s unittests ligger i projekets test pakker:

Eksempler på unit test er:

Integrationstest til verifikation af funktionalitet

Integrationstestene til DDS Registry og Repository er ligger under /integrationtest.

Der er udviklet integrationstests, der matcher user stories og test cases i dokumentet DDS - Guide til anvendere.

Testene er også dokumenteret i design og arkitektur dokument i afsnit "Adgangsscenarier og tests"

Som udgangspunkt er det meste logning fra idp test biblioteket slået fra. Dette kan aktiveres ved at ændre test property log.in.nspsoapclient til true.

Testdata

Integrationstestene udføres som udgangspunkt vha. NSP Test Identity Provider, hvor også keystores skaffes fra. En undtagelse fra dette er kald til registrering af dokumenter via ITI41, hvor der kaldes direkte mod open-xds uden dgws.

Integrationstestene er afhængige af pre-installeret testdata for:

Integrationstests opretter selv sine testdata i form af spærringer og dokumenter.

Følgende identiteter anvendes som testpersoner i integrationstesten:

Navn

CPR

CVR/SOR

Autorisation 

Autorisationskode

YderNr

National rolle

Andet

EmployeeIdentities.sundhedsassistentEdsgerDijkstra()

1411809893
/
634491000016008




nspSundAssistR2Anvender sundhedsfaglig lægeCharlesBabbage i scenarierne "på vegne af sundhedsfaglig"

EmployeeIdentities.sundhedsassistentKristenNygaard()

1711809763

 /

634491000016008




nspSundAssistR1

EmployeeIdentities.peterNaur()

1811804807
/
634491000016008






EmployeeIdentities.lægeCharlesBabbage()

0611809735

33257872/

634491000016008

6QF17





EmployeeIdentities.lægeCharlesBabbage()

0611809735

12345601







EmployeeIdentities.lægeCharlesBabbage()

0611809735

12345602






whitelisting test

OrganizationIdentities.sundhedsdatastyrelsen()


33257872/

634491000016008






OrganizationIdentities.testOrganisation98021838()


98021838






ParentalCustodyIdentities.graceHopperParentOfMaryHopper

0411809250 





Anvendes til at teste IDWS SRP forældremyndighed over 0106249180

Hvis feltet er tomt, så er det fordi oplysningen ikke er relevant for personen.


Følgende cpr numre anvendes for Patienter:

CPR

Krav

Andet

1208643298

Skal have fuldmagt til 0405732615 ved

  • fuldmagtstrengen  urn:dk:nspop:sts:dds:read
  • Relation i personInformation

 

0405732615En borger der har givet fuldmagt til 1208643298
1509669054Er forældrer til 1309228932
1309228932Er under 15 år, og er barn af 1309228932

1705909535

2106644120

0607834768

Patienter, hvorpå der oprettes spærring forEjet af integrationstest-bruger i dtg. Hvis samtykke servicen løber sur i antal af dokumenter og frabedelser for denne patient, kan test data slettes.
Flere andrePt. ukendte krav hvis nogen




Testpersonerne oprettes på følgende måde:


Testene for labsvar anvender xml filer fundet i kodens ressource folder. Vær opmærksom på, at heri indgår sorkoder, som anvendes i forbindelse med spærringstest.


Integrationstest mod miljøer

Testene kan afvikles mod følgende miljøer:

Testen afvikles manuelt med følgende kommando, når man befinder sig i dokumentdelingsservice/integrationstest:

mvn verify -P<miljø>,integration-tests

Manuel test af alarm endpoints på lokal service

Det følgende beskriver, hvordan man manuelt aftester (aktivere fejlen i) de forskellige alarmer, der findes på alarm  endpointet:



DatasourceHealthIndicator for WhitelistDataSource

Start compose

docker stop development-whitelist_db-1

DatasourceHealthIndicator for documentSourcesDS

Start compose

docker stop development-dds_db-1

Kald alarm endpoint

DatasourceHealthIndicator for authDataSource

Start compose

docker stop development-stamdata_db-1

Kald alarm endpoint

ConsentVerificationHealthIndicator

Ændre property verification.wsdl.location til f.eks http://test3-cnsp.ekstern-test.nspop.dk:8080/consent-verification/service?wsdl

Start compose

Kør integrationstest

Kald alarm endpoint

TreatmentRelationHealthIndicator

Ændre property treatment.relation.wsdl.location til f.eks http://test3-cnsp.ekstern-test.nspop.dk:8080/brs-nsp/service/brs?wsdl

Start compose

Kør integrationstest

Kald alarm endpoint

PersonInformationHealthIndicator

Ændre property personinformation.url til f.eks http://sdm-mock:8087/stamdata-personinformation/v1 (forkert port)

Start compose

Kør integrationstest

Kald alarm endpoint

SoresHealthIndicator

Ændre property sores.url til f.eks http://test3.ekstern-test.nspop.dk:8080/sores/v3

Start compose

Kør integrationstest

Kald alarm endpoint

MinlogQueryMessagesHealthIndicator

Start compose

docker exec -it development-dds_db-1 mysql -uroot -prootroot documentsources

update minlog_usertype_text set text = 'Sundhedsfaglig hvor samtykker tilsides med meget lang brugertypetekst' where usertype = 'professionalUserConsentOverride';

Kald alarm endpoint

MinLogHealthIndicator

Start compose

Stop kafka servicen med: docker stop development-kafka-1

Kør integrationstest

Kald alarm endpoint

StsHealthIndicator

Ændre property sts.endpoint til f.eks http://test3-cnsp.ekstern-test.nspop.dk:8080/sts/services/SecurityTokenService

Start compose

Kør integrationstest

Kald alarm endpoint

CertificateHealthIndicator

Kræver et udløbet certifikat.

Start compose

Kør integrationstest

Kald alarm endpoint

BackendRegistryHealthIndicator

Start compose

docker exec -it development-dds_db-1 mysql -uroot -prootroot documentsources

update documentregistry set documentregistryserviceurl = 'http://nxrg:8080/nxrgslet/iti18', documentregistryfailurethreshold = 0 where documentregistryid = 1;

Kør integrationstest

Kald alarm endpoint

BackendRepositoryHealthIndicator

Start compose

docker exec -it development-dds_db-1 mysql -uroot -prootroot documentsources

update documentsource set service_endpoint = 'http://openxds-server:8020/axis2ugyldig/services/xdsrepositoryb', failurethreshold = 0 where oid = '1.3.6.1.4.1.21367.2010.1.2.1125';

Kør integrationstest

Kald alarm endpoint



Performancetests

Der er ikke kørt nogen separat performance test på DDS Repository.

Testdata

Der er ingen særlige testdata eller krav til testdata for disse tests.


Endurancetest

Der er ikke kørt nogen separat endurance test på DDS Registry og Repository.

Testdata

Der er ingen særlige testdata eller krav til testdata for disse tests.