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-support
endpoint, including the "stringified" binary image from "Input data" in the JSON payload for the diagnosis support service. - Send a POST request to the
/severity-assessment
endpoint, 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