PLAN_011 Non-Base64 encoded images are rejected
Description
This test verifies that the REST API rejects images that are not encoded in Base64 format and returns an appropriate error message.
System requirements
This test can be executed with standard hardware, and it is not necessary to use any specific software. Any commonly available system should be sufficient for the task.
Preconditions
- The entire system (including the reverse proxy, REST API, and all upstream services) is deployed, operational, and accessible online.
Input data
First, download this sample image to your computer. Using your preferred tool, open the image file and copy the raw binary data into a text file. Then, take this binary data from the text file and replace the placeholder text <Paste-the-binary-data-here> with it in each of the following two JSON payloads. You can automate the entire process by handling all these tasks programmatically.
- Request body for diagnosis support service.
{
"subject": {
"reference": "fake-patient-id"
},
"media": [
{
"contentType": "image/jpeg",
"data": <Paste-the-binary-data-here>,
}
]
}
- Request body for severity assessment service.
{
"subject": {
"reference": "fake-patient-id"
},
"media": {
"contentType": "image/jpeg",
"data": <Paste-the-binary-data-here>
},
"known_condition": {
"conclusion": {
"code": "EA80",
"display": "Atopic dermatitis",
"system_alias": "ICD-11"
}
},
"body_site": "arm_left",
"scoring_systems": [
"ascorad"
],
"questionnaire_response": [
{
"questionnaire": "ascorad",
"item": [
{"code": "surface", "answer": [{"value": 40}]},
{"code": "itchiness", "answer": [{"value": 3}]},
{"code": "sleeplessness", "answer": [{"value": 2}]},
],
},
],
}
Before adding the raw image bytes to the data field of the JSON, convert them to a text string. The payload only accepts JSON-serializable objects, which bytes are not.
Steps
- Send a POST request to the
/diagnosis-supportendpoint, including the "stringified" binary image from "Input data" in the JSON payload for the diagnosis support service. - Send a POST request to the
/severity-assessmentendpoint, including the "stringified" binary image from "Input data" in the JSON payload for the severity assessment service.
Expected outcome
- Both endpoints are unable to process the request and return an error message indicating that the image must be encoded in Base64 format.
Verifies software requirements
- REQ_005
Risk control for
-
- Data transmission failure from care provider's system
-
- Data input failure
Signature meaning
The signatures for the approval process of this document can be found in the verified commits at the repository for the QMS. As a reference, the team members who are expected to participate in this document and their roles in the approval process, as defined in Annex I Responsibility Matrix of the GP-001, are:
- Tester: JD-017, JD-009, JD-004
- Approver: JD-005