1. Introduktion

1.1. Formål

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.

1.2. 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.

1.3. Dokumenthistorik

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.1012.11.2018KvalitetsITFlyttet dokumentation til Confluence
2.3.248.10.2021KvalitetsITSDS-4961: Opdatering af oplysninger om testdata

1.4. 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

Guide til Udviklere DDS Registry (SSE/11734/PHB/0010)

TestRapport

Testrapport Dokumentdelingsservices (SSE/11734/TRP/0112)

2. 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.

2.1. Unittest til Code Coverage

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.

2.2. Integrationstest til verifikation af funktionalitet

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.

2.2.1. Testdata

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:

NavnCPRCVRAutorisation AutorisationskodeYderNrNational rolleCertifikatCertifikat udløbsdato
Casper Rasmussen080476972333257872

CBTH1 

7170658309
Casper_Rasmussen_Laege.jks5. november 2024
Grethe Pedersen181279247633257872


nspSundAssistR2Grethe_Pedersen.jks5. november 2024
Peter Rasmussen011280916933257872


nspSundAssistR1Peter_Rasmussen.jks5. november 2024
Trine Pedersen111287486033257872(frataget autorisation)


Trine_Pedersen.jks5. november 2024

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


Testpersonerne oprettes på følgende måde:


  • Her efter kan der udstedes certifikater:
    • Det er SDS der udsteder dem og de skal bruge navn, CPR-oplysninger og hvilken email adresse de skal udstedes til.
    • De skal altid udstedes til nsp.support@arosii.dk (bemærk: links hvor man kan hente certifikaterne sendes til denne postkasse).
    • 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
  • Når certifikaterne er blevet udstedt kan der tilknyttes SEB-roller:
    • Det er SDS SEB-ansvarlig der kan tilknytte roller og skal bruge følgende oplysninger om testpersonen: navn, CPR, RID og rolle.
    • Man kan finde RID'en i certifikatet på følgende måde:
         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:

CertifikatCertifikat udløbsdatoBemærkning
ssl-trust.jks12. marts 2022
Statens_Serum_Institut_VOCES.jks16. august 2024Findes to steder
validVocesVault1.jks13. februar 2023Findes to steder
TEST trusted IdP SOSI alias (til bootstrap token).jks13. februar 2023
TEST whitelisted SP SOSI alias.jks13. februar 2023

2.2.2. Integrationstest mod miljøer

Testene kan afvikles mod følgende miljøer:

  • local (udviklingsmiljøet som defineret i docker-compose setup, se udviklerguide for en beskrivelse af hvordan dette startes op.)
  • test1 (DDS deployet på TEST1 miljøet)
  • test2 (DDS deployet på TEST2 miljøet)

Testen afvikles manuelt med følgende kommando:

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

2.3. Performancetests

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

2.3.1. Testdata

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


2.4. Endurancetest

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

2.4.1. Testdata

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


  • No labels