Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add sample TestScript #47

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
256 changes: 256 additions & 0 deletions input/testing/testscript-example-readtest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,256 @@
{
"resourceType": "TestScript",
"id": "testscript-example-readtest",
"text": {
"status": "generated",
"div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative</b></p><p><b>url</b>: <a>http://hl7.org/fhir/TestScript/testscript-example-readtest</a></p><p><b>identifier</b>: id: urn:oid:1.3.6.1.4.1.21367.2005.3.7.9879</p><p><b>version</b>: 1.0</p><p><b>name</b>: TestScript Example Read Test</p><p><b>status</b>: draft</p><p><b>experimental</b>: true</p><p><b>date</b>: 2017-01-18</p><p><b>publisher</b>: HL7</p><p><b>contact</b>: Support: <a>[email protected]</a></p><p><b>description</b>: TestScript example resource with ported Sprinkler basic read tests R001, R002, R003, R004. The read tests will utilize user defined dynamic variables that will hold the Patient resource id values.</p><p><b>jurisdiction</b>: <span>United States of America (the)</span></p><p><b>purpose</b>: Patient Read Operation</p><p><b>copyright</b>: © HL7.org 2011+</p><blockquote><p><b>metadata</b></p><h3>Links</h3><table><tr><td>-</td><td><b>Url</b></td><td><b>Description</b></td></tr><tr><td>*</td><td><a>http://hl7.org/fhir/patient.html</a></td><td>Demographics and other administrative information about an individual or animal receiving care or other health-related services.</td></tr></table><h3>Capabilities</h3><table><tr><td>-</td><td><b>Required</b></td><td><b>Validated</b></td><td><b>Description</b></td><td><b>Link</b></td><td><b>Capabilities</b></td></tr><tr><td>*</td><td>true</td><td>false</td><td>Patient Read Operation</td><td><a>http://hl7.org/fhir/http.html#read</a></td><td><a>http://hl7.org/fhir/CapabilityStatement/example</a></td></tr></table></blockquote><h3>Scopes</h3><table><tr><td>-</td><td><b>Artifact</b></td><td><b>Conformance</b></td><td><b>Phase</b></td></tr><tr><td>*</td><td><a>http://hl7.org/fhir/StructureDefinition/Patient</a></td><td><span>optional</span></td><td><span>unit</span></td></tr></table><p><b>profile</b>: <a>Generated Summary: url: http://hl7.org/fhir/StructureDefinition/Patient; version: 4.6.0; name: Patient; ACTIVE; date: Apr 14, 2021 5:30:20 AM; publisher: Health Level Seven International (Patient Administration); http://hl7.org/fhir, http://www.hl7.org/Special/com...; description: Demographics and other administrative information about an individual or animal receiving care or other health-related services.; purpose: Tracking patient is the center of the healthcare process.; 4.6.0; RESOURCE; type: Patient; baseDefinition: http://hl7.org/fhir/StructureDefinition/DomainResource; SPECIALIZATION</a></p><blockquote><p><b>variable</b></p><p><b>name</b>: KnownPatientResourceId</p><p><b>defaultValue</b>: example</p></blockquote><blockquote><p><b>variable</b></p><p><b>name</b>: NonExistsPatientResourceId</p><p><b>defaultValue</b>: does-not-exist</p></blockquote><blockquote><p><b>test</b></p><p><b>name</b>: Sprinkler Read Test R001</p><p><b>description</b>: Read a known Patient and validate response.</p><blockquote><p><b>action</b></p><h3>Operations</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote></blockquote><blockquote><p><b>test</b></p><p><b>name</b>: Sprinkler Read Test R002</p><p><b>description</b>: Read an unknown Resource Type and validate response.</p><blockquote><p><b>action</b></p><h3>Operations</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote></blockquote><blockquote><p><b>test</b></p><p><b>name</b>: Sprinkler Read Test R003</p><p><b>description</b>: Read a known, non-existing Patient and validate response.</p><blockquote><p><b>action</b></p><h3>Operations</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote></blockquote><blockquote><p><b>test</b></p><p><b>name</b>: Sprinkler Read Test R004</p><p><b>description</b>: Read a Patient using a known bad formatted resource id and validate response.</p><blockquote><p><b>action</b></p><h3>Operations</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote></blockquote></div>"
},
"extension": [{
"url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.scope",
"extension" : [{
"url" : "http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.scope.artifact",
"valueCanonical" : "http://somewhere.org/fhir/uv/myig/StructureDefinition/mypatient"
},
{
"url" : "http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.scope.conformance",
"valueCodeableConcept" : {
"coding" : [{
"system" : "http://hl7.org/fhir/testscript-scope-conformance-codes",
"code" : "optional"
}]
}
},
{
"url" : "http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.scope.phase",
"valueCodeableConcept" : {
"coding" : [{
"system" : "http://hl7.org/fhir/testscript-scope-phase-codes",
"code" : "unit"
}]
}
}
]
}],



"identifier": {
"system": "urn:ietf:rfc:3986",
"value": "urn:oid:1.3.6.1.4.1.21367.2005.3.7.9879"
},
"version": "1.0",
"name": "TestScript Example Read Test",
"status": "draft",
"experimental": true,
"date": "2017-01-18",
"publisher": "HL7",
"contact": [
{
"name": "Support",
"telecom": [
{
"system": "email",
"value": "[email protected]",
"use": "work"
}
]
}
],
"description": "TestScript example resource with ported Sprinkler basic read tests R001, R002, R003, R004. The read tests will utilize user defined dynamic variables that will hold the Patient resource id values.",
"jurisdiction": [
{
"coding": [
{
"system": "urn:iso:std:iso:3166",
"code": "US",
"display": "United States of America (the)"
}
]
}
],
"purpose": "Patient Read Operation",
"copyright": "© HL7.org 2011+",
"metadata": {
"link": [
{
"url": "http://hl7.org/fhir/patient.html",
"description": "Demographics and other administrative information about an individual or animal receiving care or other health-related services."
}
],
"capability": [
{
"required": true,
"validated": false,
"description": "Patient Read Operation",
"link": [
"http://hl7.org/fhir/http.html#read"
],
"capabilities": "http://hl7.org/fhir/CapabilityStatement/example"
}
]
},

"profile": [
{
"id": "patient-profile",
"reference": "http://hl7.org/fhir/StructureDefinition/Patient"
}
],
"variable": [
{
"name": "KnownPatientResourceId",
"defaultValue": "example"
},
{
"name": "NonExistsPatientResourceId",
"defaultValue": "does-not-exist"
}
],
"test": [
{
"id": "R001",
"name": "Sprinkler Read Test R001",
"description": "Read a known Patient and validate response.",
"action": [
{
"operation": {
"type": {
"system": "http://terminology.hl7.org/CodeSystem/testscript-operation-codes",
"code": "read"
},
"resource": "Patient",
"description": "Read the known Patient resource on the destination test system using the user defined dynamic variable ${KnownPatientResourceId}.",
"accept": "xml",
"encodeRequestUrl": true,
"params": "/${KnownPatientResourceId}"
}
},
{
"assert": {
"description": "Confirm that the returned HTTP status is 200(OK).",
"response": "okay",
"stopTestOnFail": false,
"warningOnly": false
}
},
{
"assert": {
"description": "Confirm that the returned format is XML.",
"contentType": "xml",
"stopTestOnFail": false,
"warningOnly": false
}
},
{
"assert": {
"description": "Confirm that the returned HTTP Header Last-Modified is present. Warning only as the server might not support versioning.",
"headerField": "Last-Modified",
"operator": "notEmpty",
"stopTestOnFail": false,
"warningOnly": true
}
},
{
"assert": {
"description": "Confirm that the returned resource type is Patient.",
"resource": "Patient",
"stopTestOnFail": false,
"warningOnly": false
}
},
{
"assert": {
"description": "Confirm that the returned Patient conforms to the base FHIR specification.",
"stopTestOnFail": false,
"validateProfileId": "patient-profile",
"warningOnly": false
}
}
]
},
{
"id": "R002",
"name": "Sprinkler Read Test R002",
"description": "Read an unknown Resource Type and validate response.",
"action": [
{
"operation": {
"type": {
"system": "http://terminology.hl7.org/CodeSystem/testscript-operation-codes",
"code": "read"
},
"resource": "Patient",
"description": "Attempt to read the Parameters resource type. What we really want here is an illegal type but the build process won't allow that. Parameters is a valid resource which doesn't have an end-point so, this should fail.",
"accept": "xml",
"encodeRequestUrl": true,
"params": "/1"
}
},
{
"assert": {
"description": "Confirm that the returned HTTP status is 404(Not Found).",
"response": "notFound",
"stopTestOnFail": false,
"warningOnly": false
}
}
]
},
{
"id": "R003",
"name": "Sprinkler Read Test R003",
"description": "Read a known, non-existing Patient and validate response.",
"action": [
{
"operation": {
"type": {
"system": "http://terminology.hl7.org/CodeSystem/testscript-operation-codes",
"code": "read"
},
"resource": "Patient",
"description": "Attempt to read the non-existing Patient resource on the destination test system using the user defined dynamic variable ${NonExistsPatientResourceId}.",
"accept": "xml",
"encodeRequestUrl": true,
"params": "/${NonExistsPatientResourceId}"
}
},
{
"assert": {
"description": "Confirm that the returned HTTP status is 404(Not Found).",
"response": "notFound",
"stopTestOnFail": false,
"warningOnly": false
}
}
]
},
{
"id": "R004",
"name": "Sprinkler Read Test R004",
"description": "Read a Patient using a known bad formatted resource id and validate response.",
"action": [
{
"operation": {
"type": {
"system": "http://terminology.hl7.org/CodeSystem/testscript-operation-codes",
"code": "read"
},
"resource": "Patient",
"description": "Attempt to read a Patient resource on the destination test system using known bad formatted resource id.",
"accept": "xml",
"encodeRequestUrl": true,
"params": "/ID-may-not-contain-CAPITALS"
}
},
{
"assert": {
"description": "Confirm that the returned HTTP status is 400(Bad Request).",
"response": "bad",
"stopTestOnFail": false,
"warningOnly": false
}
}
]
}
]
}