Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: SDS-6048 Ret URL og propertynavn til integrationstest

...

Dato

Ansvarlig

Beskrivelse

26/2-2018KvalitetsITInitiel version
07/04-2021KvalitetsITFlere detaljer vedr. integrationstest med docker-compose

Definitioner og referencer

...

mvn test -Pintegration-test   -Dconsentadministration.endpoint=http://test1-cnsp.ekstern-test.nspop.dk:8080/consent-administration/service -Dlarservice.wsdlendpoint=http://localhost:8082/lar/MedicationAllergyService?wsdl

Parametrene, der skal sættes er dokumenteret herunder

Property

Beskrivelse

consentadministration.endpointEndpoint til samtykkeadministrationen, der skal benyttes
larservice.wsdlendpointURL, der udpeger Larservicens WSDLLarservicen


Ved aktivering af integrationstesten vil helbreds/versionsservice afprøves. Denne kaldes også health servicen.

Derudover vil der laves test af oprettelse samt hentning af allergioplysninger via LAR med udgangpunkt i de User Stories og krav som er beskrevet i krav specifikationen.

Kørsel af integrationstest mod lokalt kørende service

Udfør følgende trin, hvis du ønsker at køre integrationstest mod lokal version deployed vha. docker-compose (Se detaljer i udvikler guides til LAR og CAVE service)

  1. Tjek source ud til LAR og CAVE servicene
  2. Byg servicene
  3. Start CAVE servicen lokalt med docker-compose
  4. Start LAR servicen lokalt med docker-compose
  5. Kør mvn test -Pintegration-test   -Dconsentadministration.endpoint=http://test1-cnsp.ekstern-test.nspop.dk:8080/consent-administration/service -Dlarservice.endpoint=http://localhost:8082/lar/MedicationAllergyService

User Stories og krav anvendt

...

  1. Som en sundhedsperson, vil jeg registrere medicin-allergioplysninger for en patient, så oplysningerne bliver tilgængelige på tværs af parterne i sundhedsvæsenet
  2. Som en sundhedsperson, vil jeg se medicin-allergioplysninger for en patient, så jeg kan undgå at ordinere medicin, som patienten ikke kan tåle
  3. Som en sundhedsperson, vil jeg opdatere medicin-allergioplysninger for en patient, så oplysningerne bliver tilgængelige på tværs af parterne i sundhedsvæsenet

Derudover er der følgende krav som hver har deres forudsætninger og formål:

  • Registrering af lægemiddelallergi-oplysning, user story 1
    • Med og uden Uuid for identifikation
  • Læsning af lægemiddelallergi-oplysning, user story 2
    • læsning for en given patient
    • angivelse af om historik ønskes eller ej
      • Uden historik returneres kun aktive allergier
      • Med historik er det
      er
      • op til det modtagene system at sortere i aktive og inaktive allergier
    • negativ samtykke håndteres
    • Der registreres i minlog og behandler relation servicen.
  • Opdatering af lægemiddelallergi-oplysning, user story 13
    • en eksisterende allergi for en given patient kan opdateres, når den har status aktiv
    • patient kan ikke opdateres, der registreres en ny med ændrede data
    • kun seneste version af allergien kan opdateres
    • alt historik gemmes
  • Sletning af lægemiddelallergi-oplysning, user story 1 + 3
    • en eksisterende allergi for en given patient kan ikke slettes. Der registreres opdateres en ny eksisterende med status inaktiv istedet
  • Transformation af LAR oplysninger til CAVE oplysninger, user story 1 + 2 + 3
    • LAR servicen modtager et format, som gemmes vha. CAVE servicen som har sit eget format.
  • Fejlhåndtering ved kald af LAR servicen, user story 1 + 2 + 3
    • Der er en række status koder, med mere detaljerede status tekster til fejlhåndtering

...

  1. registrering af allergi med uuid - postivt udfald
    • input: gyldig allergi med uuid
    • udfald: status ok, værdier i allergi som forventet
    • test: U1T1testAtAllergiKanOprettesPaaLovligtCprNummerUuidMedsendes
  2. registrering af allergi uden uuid - positivt udfald
    • input: gyldig allergi uden uuid
    • udfald: status ok, uuid er udfyldt på registreret allergi 
    • test: U1T2testAtAllergiKanOprettesPaaLovligtCprNummerUuidMedsendesIkke
  3. registrering af allergi med eksisterende uuid - negativt udfald, opdatering er genbrug af uuid ikke tilladt
    • input: gyldig allergi med eksisterende uuid
    • udfald: status valideringsfejl, allergien er ikke gemt
    • test: U1T3testAtAllergiIkkeKanOprettesNårEksisterendeUuidAnvendes
  4. registrering af allergi med formål at afslutte (slettemuligheden) - positivt negativt udfald
    • input gyldig allergi med status inaktiv (forudsætning, der findes allerede en aktiv)
    • udfald: status okvalideringsfejl, og der findes både en aktiv og en inaktiv allergifortsat kun den oprindelige allergi som aktiv
    • test: U1T4testAtAllergiKanOprettesOgEfterfølgendeInaktiveresUuidMedsendesU1T4testAtAllergiIkkeKanOprettesOgEfterfølgendeInaktiveresUuidMedsendes
  5. registrering af ugylding allergi - negativt udfald
    • input: ugyldig allergi, substance code mangler i input
    • udfald: status valideringsfejl, allergien er ikke gemt
    • test: U1T5testAtAllergiIkkeOprettesNårSubstanceCodeMangler

...

  1. læsning af allergi - positivt udfald, ingen historik
    • input: patient uden negativ samtykke, ingen værdispring, ingen historik
    • udfald: status ok, patientens nyeste version af allergier med status aktiv hentes
    • test: U2T1testAtToAllergierKanHentesForPatientUdenNegativeSamtykkerUdenBrugAfVaerdiSpring
  2. læsning af allergi - negativ samtykke uden værdispring, ingen historik - negativt udfald
    • input: patient med negativ samtykke mod kaldende sundhedsperson, ingen værdispring, ingen historik
    • udfald: status negativ samtykke, ingen allergier vises
    • test: U2T2testAtAllergierIkkeKanHentesForPatientMedNegativSamtykkeModSundhedsPersonenDerForetagerFremsoegningUdenBrugAfVaerdispring
  3. læsning af allergi - negativ samtykke med værdispring, ingen historik - positivt udfald
    • input: patient med negativ samtykke mod kaldende sundhedsperson, værdispring, ingen historik
    • udfald: status ok, patientens nyeste version af allergier med status aktiv hentes
    • test: U1T3testAtAllergierKanHentesForPatientMedNegativSamtykkeModSundhedsPersonDerForetagerFremsoegningMedBrugAfVaerdispring
  4. læsning af allergi - negativ samtykke mod anden person, ingen historik, positivt udfald, ingen historik
    • input: patient med negativ samtykke mod anden person end kaldende sundhedsperson, ingen værdispring
    • udfald: status ok, patientens nyeste version af allergier med status aktiv hentes
    • test: U1T4testAtAllergierKanHentesForPatientMedNegativSamtykkeModEnAndenSundhedsPersonenEndDenDerForetagerFremsoegningU2T4testAtAllergierKanHentesForPatientMedNegativSamtykkeModEnAndenSundhedsPersonenEndDenDerForetagerFremsoegning
  5. læsning af allergi - dataspecifik negativ samtykke uden værdispring, ingen historik, delvist positivt udfald
    • input: patient med dataspecifikt negativ samtykke, ingen værdispring, ingen historik
    • udfald: status succes men dataspec., et udsnit af patientens nyeste version af patientens allergier med status aktiv hentes
    • test: U1T5testAtAllergierForRegistreringerPaaSorkodeHvorPatientHarDataSpecifiktNegativtSamtykkeFiltreresFraNaarDerIkkeBrugesVaerdispringU2T5testAtAllergierForRegistreringerPaaSorkodeHvorPatientHarDataSpecifiktNegativtSamtykkeFiltreresFraNaarDerIkkeBrugesVaerdispring
  6. læsning af allergi - dataspecifik negativ samtykke med værdispring, ingen historik, postivt udfald
    • input: patient med dataspecifikt negativ samtykke, værdispring, ingen historik
    • udfald: status success, patientens nyeste version af allergier med status aktiv hentes
    • test: U2T6testAtAllergierForRegistreringerPaaSorkodeHvorPatientHarDataSpecifiktNegativtSamtykkeIkkeFiltreresFraNaarDerBrugesVaerdispring
  7. læsning af allergi med ikke eksisterende patient, ingen historik - postivt udfald
    • input: patient som ikke har allergier registreret, ingen værdspring, ingen historik
    • udfald: status ok, der er ingen allergier at hente
    • test: U2T7testAtIngenAllergierHentesForPatientUdenNegativeSamtykkerUdenBrugAfVaerdiSpring
  8. læsning af allergi med manglende søgekriterie, ingen historik - negativt udfald
    • input: ingen patient, ingen værdispring, ingen historik
    • udfald: status valideringsfejl, ingen allergier returneres
    • test: U2T8testAtIngenAllergierHentesForBlankPatientUdenBrugAfVaerdiSpring
  9. læsning af allergi, med historik , allergi har historik og er inaktiv - positiv udfald
    1. input: patient uden negativ samtykke, ingen værdispring, historik
    2. udfald: status ok, patientens allergier med alle status hentes i alle versioner
    3. test: U2T9testAtAllergierKanHentesMedHistorik
  10. læsning af allergi, ingen historik (selvom der er en del historik) - positiv udfald
    1. input: patient uden negativ samtykke, ingen værdispring, ingen historik
    2. udfald: status ok, patientens nyeste version af allergier med status aktiv hentes
    3. test: U2T10testAtAllergierKanHentesUdenHistorik
  11. læsning af allergi, ingen historik (selvom der er en del historik og inaktiv) - positiv udfald
    1. input: patient uden negativ samtykke, ingen værdispring, ingen historik
    2. udfald: status ok, der er ingen allergier at hente
    3. test: U2T11testAtAllergierIkkeKanHentesUdenHistorikNaarInactive
  12. læsning af allergi uden angivelse af om historik (som ved ingen historik) - positiv udfald
    1. input: patient uden negativ samtykke, ingen værdispring, med historik
    2. udfald: status ok, patientens nyeste version af allergier med status aktiv hentes
    3. test: U2T11testAtAllergierKanHentesUdenHistorikDefault

Opdatering

  1. opdatering af allergi med uuid - postivt udfald
    • input: gyldig eksisterende allergi med uuid
    • udfald: status ok, værdier i allergi opdateret som forventet
    • test: U3T1testAtAllergiKanOpdateresPaaLovligtCprNummer
  2. opdatering af allergi uden uuid - negativt udfald
    • input: gyldig eksisterende allergi uden uuid (findes reelt ikke da uuid er null)
    • udfald: status fejl, allergien er ikke opdateret
    • test: U3T2testAtAllergiIkkeKanOpdateresPaaLovligtCprNummerUuidMedsendesIkke
  3. opdatering af allergi med ukendt uuid - negativt udfald
    • input: gyldig eksisterende allergi med ikke eksisterende uuid (findes reelt ikke da uuid ikke findes)
    • udfald: status fejl, allergien er ikke opdateret
    • test: U3T3testAtAllergiIkkeKanOpdateresNaarIkkeEksisterendeUuidAnvendes
  4. opdatering af allergi med patient ændret - negativt udfald
    • input: gyldig eksisterende allergi med opdateret patient
    • udfald: status fejl, allergien er ikke opdateret
    • test: U3T4testAtAllergiIkkeKanOpdateresNaarPatientAendres
  5. opdatering af ikke seneste version af allergi - negativ udfald
    • input: gyldig eksisterende allergi med ikke nyeste version id
    • udfald: status fejl, allergien er ikke opdateret
    • test: U3T5testAtAllergiIkkeKanOpdateresNaarIkkeNyesteVersion
  6. opdatering af allergi 3 gange og al historik gemmes - postivt udfald
    • input: gyldig eksisterende allergi
    • udfald: status ok
    • test: U3T6testAtAllergiKanOpdateresTreGangeOgHistorikGemmes
  7. opdatering af allergi med inaktiv status (slettemarkering) -  postivt udfald
    • input: gyldig eksisterende allergi
    • udfald: status ok
    • test: U3T7testAtAllergiKanOpdateresMedStatusInaktiv
  8. opdatering af inaktiv allergi - negativt udfald
    • input: gyldig eksisterende allergi med status inaktiv
    • udfald: status fejl, allergien er ikke opdateret
    • test: U3T8testAtAllergiIkkeKanOpdateresNaarStatusInaktiv
  9. opdatering af allergi med invalid data - negativt udfald
    • input: gyldig eksisterende allergi og blank drugid
    • udfald: status fejl, allergien er ikke opdateret
    • test: U3T9testAtAllergiIkkeKanOpdateresPaaLovligtCprNummerNaarDrugidBlankes
  10. opdatering af allergi uden versionid - negativt udfald
    1. input: gyldig eksisterende allergi men uden versionid
    2. udfald: status fejl, allergien er ikke opdateret
    3. test: U3T10testAtAllergiIkkeKanOpdateresNaarVersionNull

Transformation

Transformering testes som en del af testen "registrering af allergi med uuid - postivt udfald" hvor input og output sammenlignes. Dermed har data ikke ændret sig under transformering fra LAR >> CAVE >> LAR format.

...

Fejlhåndtering testes som en del af både registrering, opdatering og læsning, i det test som har negativ udfald.

...

mvn test -Pperformancedata-test   -Dconsentadministration.endpoint=http://test1-cnsp.ekstern-test.nspop.dk:8080/consent-administration/service  -Dlarservice.wsdlendpoint=http://localhost:8065/larservice/MedicationAllergyService?wsdl

Vær opmærksom på, at justeringer kan være nødvendige i kildekoden (Modulet larservice-integrationtest, pakken .performancedata, klassen PerformanceTestDataImport.java) omkring antallet af records, fordeling af recorder information samt cpr nummer genereringen).

...

mvn test -Pdataimport-test   -Dconsentadministration.endpoint=http://test1-cnsp.ekstern-test.nspop.dk:8080/consent-administration/service  -Dlarservice.wsdlendpoint=http://localhost:8065/larservice/MedicationAllergyService?wsdl

Kørslerne tager udgangspunkt i navngivne filer (se kildekode)  som placeres i test resources biblioteket, og disse bliver så læst ind i allergi databasen.

...