Formålet med dette dokument er at beskrive de tests, som er udviklet og afviklet forud for release af DDS Registry.
Følgende typer af test bruges indgår i udviklingsarbejdet:
Unittests, der verificerer, at de individuelle enheder i kildekoden virker efter hensigten, herunder måling af code coverage.
Integrationstest, der verificerer at de individuelle enheder kan integreres og arbejde sammen, til verifikation af funktion og deployment.
Performancetest, der verificerer at servicen performer med hensyn til svartider og er stabil under et specifikt load, som i nogle tilfælde kan anvendes med samme mål som integrationstests.
Endurancetests, der verificerer at servicen fungerer under længerevarende belastning og ikke har f.eks. memory leaks, som kan udføres i stagning/produktionslignende miljø.
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.
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.
Version | Dato | Ansvarlig | Beskrivelse |
1.0 | 29.06.2012 | Systematic | Initiel udgave |
1.1 | 21.08.2012 | Systematic | Beskrivelse af keystores i afsnit 2.2.1 uddybet, Maven-kommando i afsnit 2.2 opdateret. Integrationstests med specielle forudsætninger er nu beskrevet i afsnit 2.2.2 og 2.2.3. Opdateret placeringen af environment fil. |
1.1a | 19.04.2012 | Systematic | Opdateret placeringen af flere tests, grundet refaktorering af kode Udgave til Release Candidate 1 |
1.2 | 19.06.2013 | Systematic | Kvalitetssikret |
1.3 | 23.05.2014 | Systematic | Rettelser som konsekvens af opsplitning af tidl. NPI-mavenprojekt i selvstændige komponenter. |
1.4 | 28.11.2014 | Systematic | Nationalt Patientindeks (NPI) erstattet med Dokumentdelingsservice (DDS) |
1.5 | 14.01.2015 | Systematic | Nye kommandoer til maven og ændring af npi og npiservices til dds |
1.6 | 05.05.2015 | Systematic | Kodereferencer er opdaterede pga. navneskifte fra NPI til DDS |
1.7 | 17.12.2016 | Systematic | Opdateret header billede |
1.8 | 3.10.2017 | Systematic | Forældet reference til TRP/0009 erstattet med TRP/0112. |
1.9 | 13.06.2018 | Systematic | Migreret til NSPOP SVN |
1.10 | 12.11.2018 | KvalitetsIT | Flyttet dokumentation til Confluence |
2.3.24 | 8.10.2021 | KvalitetsIT | SDS-4961: Opdatering af oplysninger om testdata |
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 | Guide til Udviklere DDS Registry (SSE/11734/PHB/0010) |
TestRapport | Testrapport Dokumentdelingsservices (SSE/11734/TRP/0112) |
Følgende tests er afviklet som en del af komponent udviklingen. Der henvises i øvrigt til [UdviklerGuide] for udførselsvejledning og [TestRapport] for resultat.
DDS Registry\s unittests ligger i:
dds\ddsregistry\application\src\test\java\dk\nsi\ddsregistry\adhocquerywrapper\AdhocQueryRequestWrapperTest.java
dds\ddsregistry\application\src\test\java\dk\nsi\ddsregistry\adhocquerywrapper\AdhocQueryResponseWrapperTest.java
dds\ddsregistry\application\src\test\java\dk\nsi\ddsregistry\impl\DDSRegistryLogicTest.java
dds\common\src\test\java\dk\nsi\ddsservices\invocation\treatmentrelation\TreatmentRelationInvokerTest.java
dds\common\src\test\java\dk\nsi\ddsservices\lookup\authorisationcode\AuthorisationCodeCheckerTest.java
dds\common\src\test\java\dk\nsi\ddsservices\ws\impl\UserCheckTest.java
AdhocQueryRequestWrapperTest verificerer at udtræk af patient id fra AdhocQueryRequest er korrekt.
AdhocQueryResponseWrapperTest tester metoder på AdhocQueryResponseWrapper til filtrering af AdhocQueryResponse ud fra samtykker.
DDSRegistryLogicTest tester den implementerede forretningslogik i DDS Registry, fejlhåndtering og delvist tilgængelighed af de backend services DDS Registry bruger.
TreatmentRelationInvokerTest tester integrationen mod behandlingsrelationsservicen.
AuthorisationCodeCheckerTest tester rettighedsstyring i forhold til autorisationstabellen, som i testen er en in-memory-database.
UserCheckTest tester valideringens- og autorisationslogikken til rettighedsstyring ifm. HSUID-roller.
Integrationstestene til DDS Registry er ligger under /integrationtest.
Der er udviklet integrationstests, der matcher user stories og test cases i dokumentet DDS - Guide til anvendere.
Keystores benyttes i forbindelse med integrationstestene.
Integrationstestene er afhængige af pre-installeret testdata for:
Whitelist
Stamdata (SOR-data og autorisationsregister-data)
Integrationstests opretter selv sine testdata i form af spærringer og dokumenter.
Følgende testpersoner benyttes i integrationstesten:
Navn | CPR | CVR | Autorisation | Autorisationskode | YderNr | National rolle | Certifikat | Certifikat udløbsdato |
---|---|---|---|---|---|---|---|---|
Casper Rasmussen | 0804769723 | 33257872 | CBTH1 | 7170 | 658309 | Casper_Rasmussen_Laege.jks | 5. november 2024 | |
Grethe Pedersen | 1812792476 | 33257872 | nspSundAssistR2 | Grethe_Pedersen.jks | 5. november 2024 | |||
Peter Rasmussen | 0112809169 | 33257872 | nspSundAssistR1 | Peter_Rasmussen.jks | 5. november 2024 | |||
Trine Pedersen | 1112874860 | 33257872 | (frataget autorisation) | Trine_Pedersen.jks | 5. november 2024 |
Hvis feltet er tomt, så er det fordi oplysningen ikke er relevant for personen.
Testpersonerne oprettes på følgende måde:
Når certifikaterne hentes første gang er de i PCKS 12 format de kan konverteres til JKS på følgende måde:
keytool -importkeystore -srckeystore Casper_Rasmussen_Laege.p12 -srcstoretype pkcs12 -srcstorepass Test1234 -destkeystore Casper_Rasmussen_Laege.jks -deststoretype jks -deststorepass Test1234
keytool -v -list -keystore Casper_Rasmussen_Laege.jks -storepass Test1234 | grep RID
I dette tilfælde vil RID'en være 40718906
Øvrige certifikater der benyttes i integrationstesten:
Certifikat | Certifikat udløbsdato | Bemærkning |
---|---|---|
ssl-trust.jks | 12. marts 2022 | |
Statens_Serum_Institut_VOCES.jks | 16. august 2024 | Findes to steder |
validVocesVault1.jks | 13. februar 2023 | Findes to steder |
TEST trusted IdP SOSI alias (til bootstrap token).jks | 13. februar 2023 | |
TEST whitelisted SP SOSI alias.jks | 13. februar 2023 |
Testene kan afvikles mod følgende miljøer:
Testen afvikles manuelt med følgende kommando:
mvn verify -P<miljø>,integration-tests
Der er ikke kørt nogen separat performance test på DDS Repository.
Der er ingen særlige testdata eller krav til testdata for disse tests.
Der er ikke kørt nogen separat endurance test på DDS Registry.
Der er ingen særlige testdata eller krav til testdata for disse tests.