Testfall för meddelandesystem - SDK API
Testfall för anpassning av meddelandesystem till SDK API
Meddelandesystem innefattar meddelandeklient (MK) samt meddelandetjänst (MT). Digg tillhandahåller ett SDK API som standardiserar informationsöverföring mellan MT och MK (se SDK API MT/MK – Implementationsguide).
Digg tillhandahåller en verifieringstjänst (SDK testklient) för att verifiera meddelandesystem mot SDK API MT/MK. Meddelandeklienten ska vara ansluten mot miljön OPEN-TEST för att komma åt testklienten och kunna kommunicera genom SDK API. Testfallen för meddelandetjänst (API producent) kan inte verifieras av SDK testklient utan måste göras internt eller tillsammans med en annan leverantörs API konsument.
API operationer
Se Rekommendation API MT/MK och API-specifikation för mer detaljer.
- Hämta meddelande per id (getMessageById)
GET /sdk/messages/{messageId}
- Hämta meddelande per filter
(getMessageByFilter)
- Radera meddelande
(deleteMessageById)
DELETE /sdk/messages/{messageId}
- Skicka meddelande
(sendMessage)
POST
/sdk/messages
Responskoder i SDK API:et
I API:et används olika responskoder för att kommunicera resultatet av en fråga. Här är exempel på några vanliga förekommande responskoder.
Lyckad förfrågan
- 200 OK: Frågan har lyckats.
- 201 Created: En ny resurs har skapats som resultat av frågan.
- 202 Accepted: Systemet hart tagit emot och accepterat frågan, men att den ännu inte har bearbetats.
Klientfel
- 400 Bad request
- 401 Unauthorized
- 404 Not Found
Meddelandestatus – utgående
Bilden nedanför visar hur meddelandestatus används för utgående meddelanden. Blå rutor indikerar obligatorisk meddelandestatus. För mer fördjupning angående meddelandestatus se Rekommendation API MT- MK för Säker digital kommunikation.
Radera meddelanden
Meddelandeklienten instruerar meddelandetjänsten att radera meddelande genom DELETE anrop (deleteMessageByID).
Endast meddelanden med slutlig status kan raderas:
- NEW
- ACCEPTED
- MESSAGE_EXCHANGE_ERROR
Testfall för meddelandetjänst (producent av SDK API)
Följande testfall hjälper till att säkerställa att meddelandetjänsten fungerar korrekt och följer nödvändiga standarder.
TF 4.0.1 - Meddelandetjänsten hanterar inkommande meddelande
Syfte
Kontrollera att meddelandetjänsten hanterar ett inkommande meddelande.
Teststeg
Förberedande: Från SDK testklient, skicka ett meddelande adresserat till en funktion i den egna deltagarorganisationen.
- Meddelandeklienten hämtar nya mottagna meddelanden
- Meddelandetjänsten returnerar lista på meddelanden i status NEW i respons 200.
- Meddelandeklienten hämtar meddelande per id.
- Meddelandetjänsten returnerar meddelande i respons 200.
- Meddelandeklienten ger instruktion till meddelandetjänst att radera meddelandet i meddelandetjänsten
- Meddelandetjänsten raderar meddelandet och returnerar respons 202.
TF 4.0.2 - Meddelandetjänsten hanterar utgående meddelande
Syfte
Kontrollera att meddelandetjänstens hanterar ett utgående meddelande.
Teststeg
Meddelandeklienten skickar meddelande till SDK testklient.
- Meddelandetjänsten tar del av meddelandet, validerar och skickar det vidare till SDK testklient, samt returnerar respons 201.
- Kontrollera meddelandet genom att göra API anrop. Meddelandeklienten hämtar status (messageStatus) på meddelande per id: ”Get message by ID”.
- Meddelandeklienten ansvarar för att:
- hantera och presentera meddelandets messagestatus Accepted.
- radera meddelande per id med API anrop:
- ge instruktion för radering av meddelandet i meddelandetjänsten.
- Meddelandetjänsten raderar meddelandet och returnerar respons 202.
TF 4.1.1 - Meddelandetjänsten hanterar utgående meddelande - minimalt innehåll
Syfte
Kontrollera att meddelandetjänsten hanterar och skickar ett minimalt meddelande och att meddelandeklienten hämtar status på ett korrekt sätt.
Teststeg
Meddelandeklienten skickar ett meddelande, där inga valfria fält används, till SDK testklient.
Meddelandetjänsten tar del av meddelandet och skickar det vidare till SDK testklient. Meddelandet kontrolleras i SDK testklient.
- Meddelandeklienten hämtar status på meddelande per id. Kontrollera messageStatus dvs. att meddelandet har levererats (Accepted).
- Meddelandetjänsten returnerar status (Accepted) i response 200.
- Meddelandeklienten ger intruktion till meddelandetjänsten att radera meddelandet i meddelandetjänsten.
- Meddelandetjänsten raderar meddelandet och returnerar respons 202.
TF 4.1.2 - Meddelandetjänsten hanterar utgående meddelande - maximalt innehåll
Syfte
Kontrollera att meddelandeklienten skickar ett meddelande med samtliga valfria fält och att meddelandetjänsten hanterar och skickar ett maximalt meddelande vidare till SDK testklient på ett korrekt sätt.
Teststeg
Meddelandeklienten skickar ett meddelande där samtliga valfria fält används till SDK testklient:
Meddelandetjänsten tar del av meddelandet och skickar det vidare till SDK testklient. Meddelandeklienten hämtar status på meddelande per id.
- Kontrollera messageStatus dvs. att meddelandet har levererats (Accepted).
- Meddelandetjänsten returnerar status (Accepted) i response 200.
- Meddelandeklienten ger intruktion till meddelandetjänsten att radera meddelandet i meddelandetjänsten
- Meddelandetjänsten raderar meddelandet och returnerar respons 202.
TF 4.0.3 - Meddelandeklient skapar och skickar meddelande till SDK testklient via meddelandetjänsten som visar att meddelandet inte har gått igenom pga saknad funktionsadress.
Syfte
Kontrollera statushantering för utgående meddelande som inte kan levereras pga en saknad funktionsadress.
Teststeg
Meddelandeklienten skickar meddelande till en funktionsbrevlåda som inte finns i SDK testklient.
- Meddelandetjänsten tar del av meddelandet, validerar och skickar det vidare till SDK testklient, samt returnerar respons 201.
- Kontrollera meddelandet genom att göra API anrop. Meddelandeklienten hämtar messageStatus på meddelande per id: ”Get message by ID”.
- Meddelandeklienten hämtar meddelandestatus på utgående meddelandet som inte levererats och får respons (messagestatus=MESSAGE_EXCHANGE_ERROR).
- Meddelandeklienten informerar verksamhetsprocess/användare om avvikelsen.
TF 4.3.1 - Statushantering - meddelandekvittens saknas
Syfte
Kontrollera meddelandetjänstens statushantering per id baserat på filter i SDK API för ett utgående meddelande där meddelandekvittens uteblir.
Teststeg
- Meddelandeklienten skickar meddelande till SDK testklient (organisation ‘SDK testklient – OPEN-TEST, Digg testklient testfall för hantering av utebliven kvittens):
- Meddelandetjänsten tar del av meddelandet och skickar det vidare till SDK testklient, samt returnerar respons 201.
- Meddelandeklienten hämtar meddelande per id.
- Meddelandetjänsten returnerar status WAITING_FOR_RECEIPT tillsammans med meddelande.
- Går till messageStatus MESSAGE_EXCHANGE_ERROR.
- Meddelandeklienten informerar verksamhetsprocess/användare om avvikelsen.
TF 4.3.2 - Statushantering - transportkvittens saknas
Syfte
Kontrollera statushantering för ett utgående meddelande där transportkvittens uteblir.
Teststeg
- Meddelandeklienten skickar meddelande till en okontaktbar organisation (Organisation#2):
- Meddelandetjänsten tar del av meddelandet och skickar det vidare till okontaktbar organisation, samt returnerar respons 201.
- Meddelandetjänsten noterar timeout på transportkvittens.
- Meddelandeklienten hämtar lista på utgående meddelanden som inte levererats genom tex (filter[messagestatus]=MESSAGE_EXCHANGE_ERROR):
- Meddelandetjänsten returnerar lista på meddelanden i status MESSAGE_EXCHANGE_ERROR (ett meddelandeId) i respons 200.
- Meddelandeklienten informerar verksamhetsprocess/användare om avvikelsen.
- Meddelandeklienten raderar meddelande per id:
- Meddelandetjänsten raderar meddelandet och returnerar respons 202.
TF 4.3.3 - Statushantering - meddelandet avvisat av mottagaren
Syfte
Kontrollera meddelandetjänstens statushantering för ett utgående meddelande som avvisas av mottagaren (REJECTED).
Teststeg
- Meddelandeklienten skickar meddelande till SDK testklient (organisation ‘SDK testklient – OPEN-TEST’, Digg testklient testfall för bilaga NOTSUPPORTED):
- Meddelandetjänsten tar del av meddelandet och skickar det vidare till SDK testklient, samt returnerar respons 201.
- Meddelandeklienten hämtar lista på utgående meddelanden som har skickats.
- Meddelandetjänsten returnerar lista på meddelanden i status MESSAGE_EXCHANGE_ERROR (ett meddelandeId) i respons 200.
- Meddelandeklienten informerar verksamhetsprocess/användare om avvikelsen.
- Meddelandeklienten raderar meddelande per id:
- Meddelandetjänsten raderar meddelandet och returnerar respons 202.
TF 4.4.1 - Felhantering - utgående meddelande är felaktigt formaterat
Syfte
Kontrollera meddelandetjänstens felhantering för ett utgående meddelande som är felaktigt formaterat.
Teststeg
- Meddelandeklienten skickar ett felaktigt formaterat meddelande där ‘messageStatus’ inkluderas med okänd statuskod (UNKNOWN):
- Meddelandetjänsten validerar API anropet synkront (direkt vid anrop) till skillnad mot tidigare valideringar som sker asynkront i meddelandetjäntern. Meddelandetjänsten returnerar felmeddelande i respons 400.
Kommentar
Genomförs förslagsvis som en del av interna utvecklingstester.
TF 4.4.2 - Felhantering - begär meddelande som inte finns
Syfte
Kontrollera meddelandetjänstens felhantering där meddelandeklienten hämtar meddelande med okänt meddelandeId.
Teststeg
- Meddelandeklienten hämtar okänt meddelande per id:
- Meddelandetjänsten returnerar felmeddelande i respons 404.
Kommentar
Genomförs förslagsvis som en del av interna utvecklingstester.
TF 4.4.5 - Felhantering - radera meddelande som inte finns
Syfte
Kontrollera meddelandetjänstens felhantering där meddelandeklienten raderar meddelande med okänt meddelandeId.
Teststeg
- Meddelandeklienten raderar meddelande per id (messageId=<unknown>):
- Meddelandetjänsten returnerar felmeddelande i respons (”404”,” NOT FOUND”).
- Meddelandeklienten tar del av felmeddelandet.
Kommentar
Genomförs förslagsvis som en del av interna utvecklingstester.
TF 4.4.6 - Felhantering - radera meddelande som inte är i slutlig status
Syfte
Kontrollera meddelandetjänstens felhantering där meddelandeklienten raderar meddelande som ännu inte är i slutlig status.
Teststeg
- Meddelandeklienten skickar meddelande till SDK testklient (organisation ‘SDK Testklient – OPEN-TEST’, Digg testklient testfall för hantering av utebliven kvittens):
- Meddelandetjänsten tar del av meddelandet och skickar det vidare till SDK testklient, samt returnerar respons 201.
- Meddelandeklienten raderar meddelande per id:
- Meddelandetjänsten returnerar felmeddelande 400.
- Avvakta tills meddelandetjänsten får timeout på meddelandekvittens. Meddelandet fårmessage status”MESSAGE_EXCHANGE_ERROR”.
- Meddelandeklienten ger instruktion för radering av meddelande per id:
- Meddelandetjänsten raderar meddelandet och returnerar respons 202.
Kommentar
Genomförs förslagsvis som en del av interna utvecklingstester.
TF 4.4.7 - Felhantering - utgående meddelande är felaktigt adresserat utifrån behörighet
Syfte
Kontrollera meddelandetjänstens felhantering för ett utgående meddelande som är felaktigt i förhållande till vad konsumenten har behörighet till.
Teststeg
- Meddelandeklienten skickar ett meddelande där användarbehörighet saknas (exempelvis använder en avsändare som meddelandeklienten inte är behörig till). ‘sender’ och/eller ‘senderAttention/subOrganization/extension’ stämmer inte överens med den auktoriserade konsumentens behörighet (t.ex. genom att tillämpa behörighetsstyrande attribut (‘auth_id’) ):
- Meddelandetjänsten returnerar felmeddelande i respons 400.
Kommentar
Genomförs förslagsvis som en del av interna utvecklingstester.
Testfall för meddelandeklient
Testfallen nedan är utformade för att säkerställa att meddelandeklienten korrekt konsumerar SDK API och hanterar olika scenarier och felhantering.
TF 5.0.1 - Meddelandeklienten hanterar mottaget meddelande
Syfte
Kontrollera att meddelandeklienten hanterar ett inkommande meddelande.
Teststeg
Förberedande: Från SDK testklient, skicka ett meddelande adresserat till en funktion i den egna deltagarorganisationen.
- Meddelandeklienten hämtar lista på nya mottagna meddelanden
- Meddelandetjänsten returnerar lista på meddelanden i status NEW (ett meddelandeId) i respons 200.
- Meddelandeklienten hämtar meddelande per id:
- Meddelandetjänsten returnerar meddelande i respons 200.
- Meddelandeklienten ger instruktion till meddelandetjänst att radera meddelandet i meddelandetjänsten
- Meddelandetjänsten raderar meddelandet och returnerar respons 202.
TF 5.0.2 - Meddelandeklienten hanterar utgående meddelande
Syfte
Kontrollera att meddelandeklienten hanterar ett utgående meddelande.
Teststeg
Meddelandeklienten skickar meddelande till SDK testklient.
- Meddelandetjänsten tar del av meddelandet, validerar och skickar det vidare till SDK testklient, samt returnerar respons 201.
- Kontrollera meddelandet genom att göra API anrop. Meddelandeklienten hämtar status på meddelande per id:Get message by ID.
- Meddelandeklienten hämtar messagestatus på meddelande per id:
- Meddelandeklienten hanterar och presenterar meddelandets messagestatus Accepted.
- Meddelandeklienten raderar meddelande per id med API anrop:
- Meddelandeklienten ger instruktion för radering av meddelandet i meddelandetjänsten. Meddelandetjänsten raderar meddelandet och returnerar respons 202.
TF 5.1.1 - Meddelandeklienten hanterar mottaget meddelande – minimalt
Syfte
Kontrollera att meddelandeklienten hanterar ett inkommande minimalt meddelande och att meddelandeklienten hämtar status på ett korrekt sätt.
Teststeg
SDK testklient skickar ett meddelande till meddelandeklienten, där inga valfria fält används:
- Meddelandetjänsten tar del av meddelandet och skickar det vidare till meddelandeklienten samt returnerar response 201.
- Meddelandeklienten hämtar status på meddelande per id.
- Meddelandetjänsten returnerar status (Accepted) i response 200.
- Meddelandeklienten raderar meddelande per id med API anrop:
- Meddelandeklienten ger instruktion för radering av meddelandet i meddelandetjänsten.
- Meddelandetjänsten raderar meddelandet och returnerar respons 202.
TF 5.1.2 - Meddelandeklienten hanterar mottaget meddelande - maximalt
Syfte
SDK testklient skickar ett meddelande till meddelandeklienten. Kontrollera att meddelandeklienten hanterar ett inkommande maximalt meddelande.
Teststeg
SDK testklient skickar ett meddelande till meddelandeklienten där samtliga valfria fält används:
- Meddelandetjänsten tar del av meddelandet och skickar det vidare till meddelandeklienten, samt returnerar respons 201.
- Meddelandeklienten hämtar status på meddelande per id.
- Meddelandetjänsten returnerar status i respons 200.
- Meddelandeklienten raderar meddelande per id med API anrop:
- Meddelandeklienten ger instruktion för radering av meddelandet i meddelandetjänsten.
- Meddelandetjänsten raderar meddelandet och returnerar respons 202.
TF 5.0.3 - Meddelandeklient skapar och skickar meddelande till SDK testklient via meddelandetjänsten som visar att meddelandet inte har gått igenom pga saknad funktionsadress.
Syfte
Kontrollera statushantering för utgående meddelande som inte kan levereras pga en saknad funktionsadress.
- I de fall Meddelandetjänst implementerat synkron validering vid anrop kommer anropet resultera i ”400 Bad request”
Teststeg
Meddelandeklienten skickar meddelande till en funktionsbrevlåda som inte finns i SDK testklient.
- Meddelandetjänsten tar del av meddelandet, validerar och skickar det vidare till SDK testklient, samt returnerar respons 201.
- Kontrollera meddelandet genom att göra API anrop. Meddelandeklienten hämtar status på meddelande per id: ”Get message by ID”.
- Meddelandeklienten hämtar meddelandestatus på utgående meddelandet som inte levererats och får respons (messageStatus=MESSAGE_EXCHANGE_ERROR).
- Meddelandeklienten informerar verksamhetsprocess/användare om avvikelsen.
- Meddelandeklienten raderar meddelande per id:
- Meddelandetjänsten raderar meddelandet och returnerar respons 202.
TF 5.2.1 - Statushantering - meddelandekvittens saknas
Syfte
Kontrollera meddelandeklientens statushantering för ett utgående meddelande där meddelandekvittens uteblir.
Teststeg
- Meddelandeklienten skickar meddelande till SDK testklient (organisation ‘SDK testklient – OPEN-TEST, Digg testklient testfall för hantering av utebliven kvittens):
- Meddelandetjänsten tar del av meddelandet och skickar det vidare till SDK testklient, samt returnerar respons 201.
- Meddelandeklienten hämtar meddelande per id.
- Meddelandetjänsten returnerar status WAITING_FOR_RECEIPT tillsammans med meddelande.
- Går till messageStatus MESSAGE_EXCHANGE_ERROR.
- Meddelandeklienten informerar verksamhetsprocess/användare om avvikelsen.
- Meddelandeklienten raderar meddelande per id:
- Meddelandetjänsten raderar meddelandet och returnerar respons 202
TF 5.2.2 - Statushantering - meddelandekvittens avvisat av mottagaren
Syfte
Kontrollera meddelandeklientens statushantering i SDK API för ett utgående meddelande som avvisas av mottagaren (REJECTED).
Teststeg
- Meddelandeklienten skickar meddelande till SDK testklient (organisation ‘SDK Testklient – OPEN-TEST’,Digg testklient testfall för bilaga NOTSUPPORTED).
- Meddelandeklienten hämtar status på meddelande per id:
- Meddelandeklienten hanterar och presenterar status (MESSAGE_EXCHANGE_ERROR) och felkoder på ett korrekt sätt.
- Meddelandeklient hanterar avvikande status mot verksamhetsprocess/användaren.
- Meddelandeklienten raderar meddelande per id:
- Meddelandeklienten hanterar det raderade meddelandet på ett korrekt sätt.
Ditt svar hjälper oss att förbättra sidan
Senast uppdaterad: