...
Innehållsförteckning | ||||
---|---|---|---|---|
|
Revisionshistorik
Expandera | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||
|
1. Inledning
Detta dokument innehåller testinstruktioner för användarorganisationer som ska genomföra anslutningstester i SDK Testbädd (QA). Anslutningstesterna utgör underlag för ifyllnad av SDK Självdeklaration i enlighet med SDK Anslutningsprocess (se ref. R1).
...
1.1.1 Stödjande externa dokument
Ref | Dokument-id | Dokument länk |
---|---|---|
R1 | SDK Anslutningsprocess | |
R2 | Vad är SDK Adressbok | |
R3 | SDK Innehållsspecifikation Meddelande | |
R4 | Regelverk för anslutning till Säker digital kommunikation - Informationssäkerhet | |
R5 | Vad är SDK Testklient | |
R6 | Testdata: SDK-meddelanden, test av valideringsprinciper | |
R7 | eDelivery - Miljöspecifikation för Testfederation - SDK-QA-miljö | DIGGs informationspaket kan erhållas genom en förfrågan till DIGG via info@digg.se |
R8 | eDelevery - Specifikationer (kuverteringsprofil XHE, transportmodell - Utökad Bas, meddelandespecifikation - Meddelandekvittens) | DIGGs informationspaket kan erhållas genom en förfrågan till DIGG via info@digg.se |
R9 | Specifikation av validering, felhantering och kvittens |
2. Testdata
2.1 Användarorganisationen i SDK Adressbok
...
Följande ska konfigureras upp i SDK Adressbok för att kunna genomföra anslutningstester (sedan finns många fler frivilliga fält där användarorganisationen styr hur dessa fylls i för att kunna genomföra verksamhetslika tester):
Identifierare (unik organisationsidentifierare för organisationen) | T.ex. "0203:testkommun.se" |
Namn (organisationens formella namn) | T.ex. "Test kommun" |
Beskrivning (hjälpande beskrivning av organisationen) | T.ex. "Test kommun är en..." |
Geografiska sökkoder | T.ex “Värmlands län” och “Karlstad” |
Funktionsadresser | Funktionsnamn | Funktionsbeskrivning |
---|---|---|
T.ex. "barnoungdom.0203:testkommun.se" | T.ex. "Barn- och ungdomsmottagningen Test kommun" | T.ex. "Barn- och ungdomsmottagningen handhar..." |
2.2 Inera i SDK Adressbok
...
En organisation som är upplagd i SDK Adressbok och som huvudsakligen används under testerna.
Organisationsidentifierare | 0203:testbed.sdk.inera.se |
Organisationsbeskrivning | Testklienten utgör ett stöd för användarorganisationers anslutningstester. Anslutningstesterna behöver genomföras för att kunna fylla i självdeklaration för anslutning till SDK. |
Alternativt namn | SDK Testklient |
Funktionsadresser | Funktionsnamn | Funktionsbeskrivning |
---|---|---|
sdk.testbed.<organisationsidentifierare> Varje användarorganisation tilldelas en funktionsbrevlåda i SDK Testklient (under Ineras organisation) som ger användarorganisationen möjlighet att skicka meddelanden till SDK Testklient, samt att skicka meddelanden från sin funktionsbrevlåda i SDK Testklient. | <organisationsnamn> i SDK Testklient | Funktionsadress för att adressera till <organisationsnamn> i SDK Testklient |
sdk.testbed.0203:testbed.sdk.inera.se | Inera i SDK Testbädd | Funktionsadress i SDK Testbädd |
sdk.testbed.notsupported | Funktionsnamn#1 | Meddelandekvittens returnerar alltid REJECTED med orsakskod BV och detaljkod ‘Not-supported’ om bilaga är inkluderad |
sdk.testbed.rejected | Funktionsnamn#2 | Meddelandekvittens returnerar alltid REJECTED med maximalt innehåll (samtliga optionella element används och elementen håller mycket information |
sdk.testbed.timeout | Funktionsnamn#3 | Meddelandekvittens returneras ej |
2.2.2 SDK Testbädd - Organisation#2 (ej kontaktbar)
En organisation som är upplagd i SDK Adressbok, men som är okontaktbar. Den EndpointURI som är kopplad till organisationen i SMP pekar på en felaktig URI.
Organisationsidentifierare | 0203:org002.testbed.sdk.inera.se |
Funktionsadresser | Funktionsnamn | Funktionsbeskrivning |
---|---|---|
testfunktion.0203:org002.testbed.sdk.inera.se | Inera testfunktion | Funktion används endast för adressering, se TF 2.5.1 - 'Instruktioner för anslutningstester' (https://inera.atlassian.net/wiki/spaces/OISDK/pages/3005120870/SDK+Anslutningsprocess). Funktionen är okontaktbar. |
2.2.3 SDK Testbädd - Organisation#3 (utgånget O2O-certifikat)
En organisation som är upplagd i SDK Adressbok, med ett publikt O2O-certifikatet i SMP som är utgånget.
Organisationsidentifierare | 0203:org003.testbed.sdk.inera.se |
Funktionsadresser | Funktionsnamn | Funktionsbeskrivning |
---|---|---|
testfunktion.0203:org003.testbed.sdk.inera.se | Inera testfunktion | Funktion används endast för adressering, se TF 2.7.1 - 'Instruktioner för anslutningstester' (https://inera.atlassian.net/wiki/spaces/OISDK/pages/3005120870/SDK+Anslutningsprocess). O2O-certifikatet är utgånget. |
2.2.4 SDK Testbädd - Organisation#4 (felaktigt AS4-certifikat)
En organisation som är upplagd i SDK Adressbok, med ett felaktigt AS4-certifikat i accesspunkten. Den EndpointURI som är kopplad till organisationen i SMP pekar mot en testaccesspunkt med ett AS4-certifikat för fel federation och som är utgånget.
Organisationsidentifierare | 0203:digg-qa03.example.se |
Funktionsadresser | Funktionsnamn | Funktionsbeskrivning |
---|---|---|
testfunktion.0203: |
digg.testap03 | Inera testfunktion | Funktion används endast för adressering, se TF 2.7.2 - 'Instruktioner för anslutningstester' (https://inera.atlassian.net/wiki/spaces/OISDK/pages/3005120870/SDK+Anslutningsprocess). Felaktigt AS4-certifikat. |
2.2.5 SDK Testbädd - Organisation#5 (utgånget TLS-certifikat)
En organisation som är upplagd i SDK Adressbok, med ett utgånget TLS-certifikat på transportlagernivå. Den EndpointURI som är kopplad till organisationen i SMP pekar mot en extern server (http://expired.badssl.com ).
Organisationsidentifierare | 0203:org005.testbed.sdk.inera.se |
Funktionsadresser | Funktionsnamn | Funktionsbeskrivning |
---|---|---|
testfunktion.0203:org005.testbed.sdk.inera.se | Inera testfunktion | Funktion används endast för adressering, se TF 2.7.3 - 'Instruktioner för anslutningstester' (https://inera.atlassian.net/wiki/spaces/OISDK/pages/3005120870/SDK+Anslutningsprocess). Funktionen är okontaktbar. |
2.2.6 SDK Testbädd - Organisation#6 (felaktig CA i TLS-certifikat)
En organisation som är upplagd i SDK Adressbok, med ett TLS-certifikat med felaktig CA på transportlagernivå. Den EndpointURI som är kopplad till organisationen i SMP pekar mot en extern server (untrusted.badssl.com ).
Organisationsidentifierare | 0203:org006.testbed.sdk.inera.se |
Funktionsadresser | Funktionsnamn | Funktionsbeskrivning |
---|---|---|
testfunktion.0203:org006.testbed.sdk.inera.se | Inera testfunktion | Funktion används endast för adressering, se TF 2.7.4 - 'Instruktioner för anslutningstester' (https://inera.atlassian.net/wiki/spaces/OISDK/pages/3005120870/SDK+Anslutningsprocess). Funktionen är okontaktbar. |
3 Integrationstest
Anslutningstesterna består av integrationstester som genomförs innan systemtesterna.
...
Skicka ett meddelande från SDK Testklient adresserat till en funktion i den egna användarorganisationen.
Användarorganisationens meddelandetjänst validerar meddelandet och genererar en meddelandekvittens automatiskt.
Meddelandeklienten tar del av meddelandet på ett korrekt sätt
Kontrollera att innehållet stämmer överens med vad som angivits i SDK Testklient
Kontrollera att SDK Testklient tagit emot en meddelandekvittens
Kommentar
Testfallet finns automatiserat i SDK Testklient (skickar meddelande, kontrollerar meddelandekvittens).
Användarorganisationens meddelandetjänst förväntas validera utgående meddelandekvittenser.SDK Testklient - Anslutningstest ‘TF 2.0.1 Normalt meddelande’
TF 2.0.2 - INTEGRATIONSTEST - Meddelandetjänsten skickar meddelande till SDK Testklient
...
Kontrollera att meddelandeklienten kan skicka meddelande via användarorganisationens meddelandetjänst till SDK Testklient och att att paketering av meddelandet genomförs på ett korrekt sätt.
...
Kontrollera hur användarorganisationens meddelandeklienten meddelandeklient hanterar ett inkommande meddelande som är adresserat till en funktion i den egna användarorganisationen.
...
Från SDK Testklient, skicka ett meddelande (minimal) adresserat till en funktion i den egna användarorganisationen
Användarorganisationens meddelandetjänst genererar en meddelandekvittens automatiskt
Meddelandeklienten tar del av meddelandet på ett korrekt sätt
Kontrollera att innehållet stämmer överens med vad som angivits i SDK Testklient
Kontrollera att SDK Testklient tagit emot en meddelandekvittens
Kommentar
Testfallet finns automatiserat i SDK Testklient - Anslutningstest ‘TF 2.1.1 Inga frivilliga fält’(skickar meddelande, kontrollerar meddelandekvittens).
TF 2.1.2 - Meddelandetjänsten tar del av meddelande från SDK Testklient (maximal)
...
Från SDK Testklient, skicka ett meddelande (maximal, små bilagor) adresserat till en funktion i den egna användarorganisationen
Användarorganisationens meddelandetjänst genererar en meddelandekvittens automatiskt
Meddelandeklienten tar del av meddelandet på ett korrekt sätt
Kontrollera att innehållet stämmer överens med vad som angivits i SDK Testklient
Kontrollera att SDK Testklient tagit emot en meddelandekvittens
Kommentar
Testfallet finns automatiserat i SDK Testklient - Anslutningstest ‘TF 2.1.3 Samtliga frivilliga fält’(skickar meddelande, kontrollerar meddelandekvittens).
TF 2.2.1 - Mottaget meddelande innehåller okänd referens till meddelande
...
Från SDK Testklient, skicka ett meddelande adresserat till en funktion i den egna användarorganisationen där 'RefToMessageId' refererar till ett meddelande ('messageId') som inte finns.
Användarorganisationens meddelandetjänst genererar en meddelandekvittens automatiskt med 'Kvittenskod' ACCEPTED
Kontrollera att loggarna stämmer och är följsamma till SDKs krav på spårbarhet (se ref. R4)
Kommentar
Testfallet finns automatiserat i SDK Testklient - Anslutningstest ‘TF 2.2.1 Okänd referens till meddelande’(skickar meddelande, kontrollerar meddelandekvittens).
TF 2.3.1 - Meddelande som ska skickas överskrider storleksbegränsning
...
Från SDK Testklient, skicka ett meddelande adresserat till en funktion i den egna användarorganisationen med felaktig datatyp i meddelandestrukturen.
Användarorganisationens meddelandetjänst genererar en meddelandekvittens automatiskt med:
Kvittenskod: REJECTED
Orsakskod: SV
Detaljkod: structure
Detaljtext: <beskrivning av problemet>
Kontrollera att loggarna stämmer och är följsamma till SDKs krav på spårbarhet (se ref. R4)
Kommentar
Testfallet finns automatiserat i SDK Testklient - Anslutningstest ‘TF 2.4.1 Felaktig datatyp i meddelandestrukturen’(skickar meddelande, kontrollerar meddelandekvittens).
TF 2.4.2 - Felhantering - Schematronvalidering på mottaget meddelande innehåller felaktigt kodverk för elementet 'senderId'
...
Från SDK Testklient, skicka ett meddelande adresserat till en funktion i den egna användarorganisationen där felaktigt kodverk används för 'senderId'.
Användarorganisationens meddelandetjänst genererar en meddelandekvittens automatiskt med:
'Kvittenskod: REJECTED
Orsakskod: BV
Detaljkod: invariant
Detaljtext: <beskrivning av problemet>
Kontrollera att loggarna stämmer och är följsamma till SDKs krav på spårbarhet (se ref. R4)
Kommentar
Testfallet finns automatiserat i SDK Testklient - Anslutningstest ‘TF 2.4.2 Felaktigt kodverk för elementet senderId’(skickar meddelande, kontrollerar meddelandekvittens).
TF 2.4.3 - Felhantering - Schemavalidering på mottaget meddelande som innehåller felaktig datatyp i XHE
...
Från SDK Testklient, skicka ett meddelande adresserat till en funktion i den egna användarorganisationen med felaktig datatyp i XHE.
Användarorganisationens meddelandetjänst genererar en meddelandekvittens automatiskt med:
Kvittenskod: REJECTED
Orsakskod: SV
Detaljkod: structure
Detaljtext: <beskrivning av problemet>
Kontrollera att loggarna stämmer och är följsamma till SDKs krav på spårbarhet (se ref. R4)
Kommentar
Testfallet finns automatiserat i SDK Testklient - Anslutningstest ‘TF 2.4.3 Felaktig datatyp i XHE’(skickar meddelande, kontrollerar meddelandekvittens).
TF 2.4.4 - Felhantering - Mottagna meddelandets identitet är ej unikt
...
Kontrollera att användarorganisationens meddelandetjänst kan returnera REJECTED om ett mottaget meddelande i meddelandelagret inte är unikt ('messageId').
Teststeg
Förberedande: Från SDK Testklient, skicka Skicka ett meddelande adresserat till en funktion i den egna användarorganisationen och kontrollera att meddelandet hanteras korrekt
Från SDK Testklient, skicka Skicka ett meddelande adresserat till en funktion i den egna användarorganisationen där 'messageId' är identiskt med tidigare meddelande
Användarorganisationens meddelandetjänst genererar en meddelandekvittens automatiskt med:
Kvittenskod: REJECTED
Orsakskod: BV
Detaljkod: multiple-matches
Detaljtext: <beskrivning av problemet>
Kontrollera att loggarna stämmer och är följsamma till SDKs krav på spårbarhet (se ref. R4)
Kommentar
Lämpligast SDK Testklient saknar stöd, lämpligast att utföra som en del av interna utvecklingstester.
...
Från SDK Testklient, skicka ett meddelande adresserat till en funktion i den egna användarorganisationen med felaktig funktionsadress (funktionsadressen är inte upplagd i SDK Adressbok)
Användarorganisationens meddelandetjänst genererar en meddelandekvittens automatiskt med:
Kvittenskod: REJECTED
Orsakskod: BV
Detaljkod: not-found
Detaljtext: <beskrivning av problemet>
Kontrollera att loggarna stämmer och är följsamma till SDKs krav på spårbarhet (se ref. R4)
Kommentar
Testfallet finns automatiserat i SDK Testklient - Anslutningstest ‘TF 2.4.5 Felaktig funktionsadress’(skickar meddelande, kontrollerar meddelandekvittens).
TF 2.4.6 - Felhantering - Mottaget meddelande kan inte dirigeras vidare
...
Förberedande: Säkerställ att meddelandeklienten inte är nåbar från användarorganisationens meddelandetjänst
Från SDK Testklient, skicka ett meddelande adresserat till en funktion i den egna användarorganisationen med funktionsadress som pekar på den ej nåbara meddelandeklienten
Användarorganisationens meddelandetjänst hanterar meddelandet på ett korrekt och förväntat sätt (beteende kan skilja sig åt mellan olika lösningar av MT beroende på hur och om meddelandet läggs i kö)
Användarorganisationens meddelandetjänst genererar en meddelandekvittens automatiskt
Om meddelandekvittensen köas upp:
Kvittenskod: ACCEPTEDAnnars:
Kvittenskod: REJECTEDOrsakskod: BV
Detaljkod: exception
Detaljtext: <beskrivning av problemet>
nåbara meddelandeklienten
Användarorganisationens meddelandetjänst genererar en meddelandekvittens automatiskt (kvittenskod: ACCEPTED)
Användarorganisationens meddelandetjänst buffrar meddelandet i gränssnittet mot meddelandeklienten
Kontrollera att loggarna stämmer och är följsamma till SDKs krav på spårbarhet (se ref. R4)
Återställ: Återanslut meddelandeklienten till användarorganisationens meddelandetjänst
Kontrollera loggar (om meddelandet buffrades, tar meddelandeklienten och att meddelandeklienten tar del av det tidigare buffrade meddelandet på ett korrekt sätt)
Kommentar
...
TF 2.4.8 - Felhantering - Mottaget meddelande överskrider storleksbegränsning
...
Från SDK Testklient, skicka ett SDK-meddelande adresserat till en funktion i den egna användarorganisationen där avsändande part i XHE-delen av meddelandet förändrats så att det inte överensstämmer med originalSender i AS4-delen av meddelandet.
Användarorganisationens meddelandetjänst genererar en meddelandekvittens automatiskt med:
Kvittenskod: REJECTED
Orsakskod: BV
Detaljkod: security
Detaljtext: Wrong or unknown sender-id <beskrivning av problemet>
Kontrollera att loggarna stämmer och är följsamma till SDKs krav på spårbarhet (se ref. R4)
KommentarLämpligast att utföra som en del av interna utvecklingstester
Testfallet finns automatiserat i SDK Testklient (skickar meddelande, kontrollerar meddelandekvittens).
TF 2.5.1 - Felhantering - Utgående meddelande kan inte skickas till deltagare med otillgänglig
...
accesspunkt
Syfte
Kontrollera att användarorganisationens meddelandetjänst hanterar meddelande som skickas till en okontaktbar organisation på ett korrekt sätt.
...
Se ref. R9 (Spåra och övervaka på meddelandenivå - REJECTED)
Lämpligast att utföra som en del av interna utvecklingstester.
TF 2.6.2 - Felhantering - Meddelandekvittens REJECTED (maximal)
...
Se ref. R9 (Spåra och övervaka på meddelandenivå - REJECTED)Lämpligast att utföra som en del av interna utvecklingstester.
TF 2.6.3 - Felhantering - Meddelandekvittens saknas
...
Se ref. R9 (Spåra och övervaka på meddelandenivå - MESSAGE_EXCHANGE_ERROR)Lämpligast att utföra som en del av interna utvecklingstester.
TF 2.6.4 - Felhantering - Signatur på inkommande meddelande kan inte verifieras på grund av att cert-pub inte kan nås
...
Kontrollera felhanteringen i användarorganisations meddelandetjänst när publikt certifikat inte kan hämtas ifrån cert-pub tjänst
Teststeg
Förberedande: Konfigurera meddelandetjänstens SML zone för cert-pub tjänst till en onåbar URL.
Från SDK Testklient, skicka ett meddelande adresserat till en funktion i den egna användarorganisationen.
Användarorganisationens meddelandetjänst genererar en meddelandekvittens automatiskt med:
Kvittenskod: REJECTED
Orsakskod: SIG
Detaljkod: security
Detaljtext: Sender signature not validated, public key not found / cert-pub unreachable <beskrivning av problemet>
Kontrollera att loggarna stämmer och är följsamma till SDKs krav på spårbarhet (se ref. R4)
Kommentar
...
Återställ: Konfigurera meddelandetjänstens SML zone för cert-pub tjänst till korrekt URL
TF 2.6.5 - Felhantering - Signering på inkommande meddelande stämmer inte med publik nyckel
...
Från SDK Testklient, skicka ett meddelande adresserat till en funktion i den egna användarorganisationen där signaturen inte är korrekt.
Användarorganisationens meddelandetjänst genererar en meddelandekvittens automatiskt med:
Kvittenskod: REJECTED
Orsakskod: SIG
Detaljkod: security
Detaljtext: Sender signature not validated <beskrivning av problemet>
Kontrollera att loggarna stämmer och är följsamma till SDKs krav på spårbarhet (se ref. R4)
KommentarLämpligast att utföra som en del av interna utvecklingstester
Testfallet finns automatiserat i SDK Testklient (skickar meddelande, kontrollerar meddelandekvittens).
TF 2.6.6 - Felhantering av inkommande krypterat meddelande där meddelande inte kan dekrypteras:
...
Kontrollera felhanteringen i användarorganisations meddelandetjänst när meddelandets nyttolast är krypterat på ett sätt som gör att mottagaren inte kan dekryptera det på förväntat sätt
Teststeg
Från SDK Testklient, skicka Skicka ett meddelande adresserat till en funktion i den egna användarorganisationen med en SDK payload som är förvanskad efter kryptering men signerad på ett korrekt sätt.
Användarorganisationens meddelandetjänst genererar en meddelandekvittens automatiskt med:
Kvittenskod: REJECTED
Orsakskod: BV
Detaljkod: security
Detaljtext: Message could not be decrypted
ska inte generera meddelandekvittens, vilket resulterar i en timeout i SDK Testklient
Kontrollera att loggarna stämmer och är följsamma till SDKs krav på spårbarhet (se ref. R4)
Kommentar
Lämpligast SDK Testklient saknar stöd, lämpligast att utföra som en del av interna utvecklingstester.
...
Från SDK Testklient, skicka ett meddelande adresserat till en funktion i den egna användarorganisationen med en SDK payload som är okrypterad och XHE attributet InstanceEncryptionIndicator satt till false
Användarorganisationens meddelandetjänst genererar en meddelandekvittens automatiskt med:
Kvittenskod: REJECTED
Orsakskod: BV eller SIG
Detaljkod: security
Detaljtext: Unencrypted message not allowed <beskrivning av problemet>
Kontrollera att loggarna stämmer och är följsamma till SDKs krav på spårbarhet (se ref. R4)
KommentarLämpligast att utföra som en del av interna utvecklingstester
Testfallet finns automatiserat i SDK Testklient (skickar meddelande, kontrollerar meddelandekvittens).
TF 2.7.1 - Felhantering - Utgående meddelande kan inte skickas till deltagare med utgånget O2O-certifikat
...
Från SDK Testklient, skicka ett meddelande (fråga) adresserat till en funktion i den egna användarorganisationen
Användarorganisationens meddelandetjänst genererar en meddelandekvittens automatiskt.
Användare av meddelandeklienten tar del av mottaget meddelandet på ett korrekt sätt
Användare av meddelandeklienten besvarar mottaget meddelande ('conversionId' hämtas från mottaget meddelande)
SDK Testklient tar emot svaret, kontrollerar 'conversationId' och skickar en meddelandekvittens
Kontrollera i SDK Testklient att skickade frågan och mottagna svaret presenteras i samma konversion
Kontrollera att meddelandeklienten tagit emot en meddelandekvittens på det skickade svaret
Kommentar
Testfallet finns automatiserat i SDK Testklient (skickar meddelande (1), kontrollerar meddelandekvittens(2), kontrollerar svar (5 och 6), samt skickar meddelandekvittens på svar (7)). Användaren behöver i steg 4 skicka ett svar på meddelandet som skickades i steg 1 från egen systemlösning.
TF 3.2.2 - Meddelandeklienten tar del av besvarat meddelande
...