-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #27 from vinodaravind01/main
docs: update test cases with SHINNY IG version 1.1.0
- Loading branch information
Showing
20 changed files
with
27,095 additions
and
3 deletions.
There are no files selected for viewing
2,633 changes: 2,633 additions & 0 deletions
2,633
...ion-test-prime/fhir-service-prime/src/2024-11-14/AHCHRSNQuestionnaireResponseExample.json
Large diffs are not rendered by default.
Oops, something went wrong.
2,504 changes: 2,504 additions & 0 deletions
2,504
...ression-test-prime/fhir-service-prime/src/2024-11-14/AHCHRSNScreeningResponseExample.json
Large diffs are not rendered by default.
Oops, something went wrong.
1,490 changes: 1,490 additions & 0 deletions
1,490
...g/regression-test-prime/fhir-service-prime/src/2024-11-14/NYScreeningResponseExample.json
Large diffs are not rendered by default.
Oops, something went wrong.
585 changes: 585 additions & 0 deletions
585
...t-prime/fhir-service-prime/src/2024-11-14/ObservationAssessmentFoodInsecurityExample.json
Large diffs are not rendered by default.
Oops, something went wrong.
74 changes: 74 additions & 0 deletions
74
...rsn/screening/regression-test-prime/fhir-service-prime/src/2024-11-14/README.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
## Steps to test the .http files through CLI | ||
|
||
```bash | ||
$ npm install -g httpyac | ||
$ cd assurance/1115-waiver/ahc-hrsn/screening/regression-test-prime/fhir-service-prime/src/YYYY-MM-DD | ||
$ HOST=https://synthetic.fhir.api.devl.techbd.org httpyac send fhir-service.test.http --all | ||
``` | ||
|
||
For more complete example, see [regression-test.sh](../../../regression-test.sh) | ||
|
||
### `fhir-service.test.http` | ||
|
||
This is the REST-API execution file performs the actual test. It interacts | ||
with two primary API endpoints (`/Bundle/$validate` & `/Bundle/`) to ensure they are | ||
functioning as expected. | ||
|
||
#### Running httpYac tests in Postman | ||
|
||
For developers who prefer to use Postman for API testing and debugging, you can easily convert `fhir-service.test.http` httpYac file to Postman: | ||
|
||
- Open the `fhir-service.test.http` and familiarize yourself with the structure of the file. You will see sections defining HTTP requests, including HTTP methods (GET, POST, etc.), URLs, headers, and body content. | ||
- Open Postman and create a new collection. | ||
- Add a new request to the collection for each HTTP request defined in the `fhir-service.test.http` file: | ||
- Copy the method (GET, POST, etc.) from the httpYac file and set it in Postman. | ||
- Copy the URL from the httpYac file and paste it into the Postman request URL field. | ||
- **NOTE:** Pay attention to the header `X-TechBD-Tenant-ID: TECH_BD_FHIR_SERVICE_QE_IDENTIFIER`. When using your tool instead of HTTP YAC (e.g., Postman), ensure this header is passed correctly according to your API requirements. | ||
**Example:** | ||
- Key: `X-TechBD-Tenant-ID` | ||
- Value: `CommonTenant123` | ||
- Set the request headers in Postman by copying the headers from the httpYac file. Ensure each header key and value is correctly set. | ||
- If the request includes a body, copy the body content from the httpYac file and paste it into the Postman body section. Select the appropriate body type (e.g., raw, JSON, form-data). | ||
- Be sure to replace variables as necessary | ||
|
||
### `AHCHRSNQuestionnaireResponseExample.json` | ||
|
||
This JSON file contains sample data compliant with the implementation guidelines | ||
of our FHIR service. It is used within the .http tests to simulate valid data | ||
submission. | ||
|
||
### `AHCHRSNScreeningResponseExample.json` | ||
|
||
This JSON file contains sample data compliant with the implementation guidelines | ||
of our FHIR service. It is used within the .http tests to simulate valid data | ||
submission. | ||
|
||
### `NYScreeningResponseExample.json` | ||
|
||
This JSON file contains sample data compliant with the implementation guidelines | ||
of our FHIR service. It is used within the .http tests to simulate valid data | ||
submission. | ||
|
||
### `ServiceRequestExample.json` | ||
|
||
This JSON file contains sample data compliant with the implementation guidelines | ||
of our FHIR service. It is used within the .http tests to simulate valid data | ||
submission. | ||
|
||
### `TaskCompletedExample.json` | ||
|
||
This JSON file contains sample data compliant with the implementation guidelines | ||
of our FHIR service. It is used within the .http tests to simulate valid data | ||
submission. | ||
|
||
### `TaskExample.json` | ||
|
||
This JSON file contains sample data compliant with the implementation guidelines | ||
of our FHIR service. It is used within the .http tests to simulate valid data | ||
submission. | ||
|
||
### `TaskOutputProcedureExample.json` | ||
|
||
This JSON file contains sample data compliant with the implementation guidelines | ||
of our FHIR service. It is used within the .http tests to simulate valid data | ||
submission. |
914 changes: 914 additions & 0 deletions
914
...eening/regression-test-prime/fhir-service-prime/src/2024-11-14/ServiceRequestExample.json
Large diffs are not rendered by default.
Oops, something went wrong.
616 changes: 616 additions & 0 deletions
616
...reening/regression-test-prime/fhir-service-prime/src/2024-11-14/TaskCompletedExample.json
Large diffs are not rendered by default.
Oops, something went wrong.
839 changes: 839 additions & 0 deletions
839
...c-hrsn/screening/regression-test-prime/fhir-service-prime/src/2024-11-14/TaskExample.json
Large diffs are not rendered by default.
Oops, something went wrong.
696 changes: 696 additions & 0 deletions
696
...g/regression-test-prime/fhir-service-prime/src/2024-11-14/TaskOutputProcedureExample.json
Large diffs are not rendered by default.
Oops, something went wrong.
150 changes: 150 additions & 0 deletions
150
.../screening/regression-test-prime/fhir-service-prime/src/2024-11-14/fhir-service.test.http
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,150 @@ | ||
# this file is for testing and verifying the FHIR service with two api endpoints | ||
# ------------------------------------------------------------------------ | ||
# * requires the `vscode-httpyac` Visual Studio Code extension within IDE | ||
# or httpYac CLI when executing outside of the IDE | ||
# * this service has 2 endpoints /Bundle/$validate & /Bundle/ | ||
|
||
@hostName = http://localhost:8080 | ||
{{ | ||
// dotEnv is loaded by default so let's see if custom hostName is available; | ||
// if $HTTPYAC_HOST is available use it first otherwise use $HOST | ||
if(process.env.HOST) exports.hostName = process.env.HOST; | ||
if(process.env.HTTPYAC_HOST) exports.hostName = process.env.HTTPYAC_HOST; | ||
}} | ||
|
||
@contentType = application/json | ||
@contentTypeFHIR = application/fhir+json | ||
@TECH_BD_FHIR_SERVICE_QE_IDENTIFIER = QC-TEST | ||
|
||
|
||
### /metadata endpoint should return FHIR CapabilityStatement | ||
GET {{hostName}}/metadata | ||
Content-Type: {{contentType}} | ||
?? status == 200 | ||
?? header content-type == text/html;charset=UTF-8 | ||
?? response.body != null | ||
|
||
### /Bundle/$validate should validate AHCHRSNQuestionnaireResponseExample.json with Content-Type application/json | ||
POST {{hostName}}/Bundle/$validate HTTP/1.1 | ||
Content-Type: {{contentTypeFHIR}} | ||
X-TechBD-Tenant-ID: {{TECH_BD_FHIR_SERVICE_QE_IDENTIFIER}} | ||
?? status == 200 | ||
?? response.body != null | ||
?? js response.parsedBody.OperationOutcome.resourceType == OperationOutcome | ||
?? js response.parsedBody.OperationOutcome.validationResults[0].operationOutcome.issue[0].severity == warning | ||
?? js response.parsedBody.OperationOutcome.validationResults[0].valid == true | ||
?? js response.parsedBody.OperationOutcome.validationResults[0].operationOutcome.issue.filter(issue => issue.severity === 'error').length == 0 | ||
|
||
< AHCHRSNQuestionnaireResponseExample.json | ||
|
||
### /Bundle/$validate should validate AHCHRSNScreeningResponseExample.json with Content-Type application/json | ||
|
||
POST {{hostName}}/Bundle/$validate HTTP/1.1 | ||
Content-Type: {{contentTypeFHIR}} | ||
X-TechBD-Tenant-ID: {{TECH_BD_FHIR_SERVICE_QE_IDENTIFIER}} | ||
?? status == 200 | ||
?? response.body != null | ||
?? js response.parsedBody.OperationOutcome.resourceType == OperationOutcome | ||
?? js response.parsedBody.OperationOutcome.validationResults[0].operationOutcome.issue[0].severity == warning | ||
?? js response.parsedBody.OperationOutcome.validationResults[0].valid == true | ||
?? js response.parsedBody.OperationOutcome.validationResults[0].operationOutcome.issue.filter(issue => issue.severity === 'error').length == 0 | ||
|
||
< AHCHRSNScreeningResponseExample.json | ||
|
||
|
||
### /Bundle/$validate should validate NYScreeningResponseExample.json with Content-Type application/json | ||
|
||
POST {{hostName}}/Bundle/$validate HTTP/1.1 | ||
Content-Type: {{contentTypeFHIR}} | ||
X-TechBD-Tenant-ID: {{TECH_BD_FHIR_SERVICE_QE_IDENTIFIER}} | ||
?? status == 200 | ||
?? response.body != null | ||
?? js response.parsedBody.OperationOutcome.resourceType == OperationOutcome | ||
?? js response.parsedBody.OperationOutcome.validationResults[0].operationOutcome.issue[0].severity == warning | ||
?? js response.parsedBody.OperationOutcome.validationResults[0].valid == true | ||
?? js response.parsedBody.OperationOutcome.validationResults[0].operationOutcome.issue.filter(issue => issue.severity === 'error').length == 0 | ||
|
||
< NYScreeningResponseExample.json | ||
|
||
### /Bundle/$validate should validate ObservationAssessmentFoodInsecurityExample.json with Content-Type application/json | ||
|
||
POST {{hostName}}/Bundle/$validate HTTP/1.1 | ||
Content-Type: {{contentTypeFHIR}} | ||
X-TechBD-Tenant-ID: {{TECH_BD_FHIR_SERVICE_QE_IDENTIFIER}} | ||
?? status == 200 | ||
?? response.body != null | ||
?? js response.parsedBody.OperationOutcome.resourceType == OperationOutcome | ||
?? js response.parsedBody.OperationOutcome.validationResults[0].operationOutcome.issue[0].severity == warning | ||
?? js response.parsedBody.OperationOutcome.validationResults[0].valid == true | ||
?? js response.parsedBody.OperationOutcome.validationResults[0].operationOutcome.issue.filter(issue => issue.severity === 'error').length == 0 | ||
|
||
< ObservationAssessmentFoodInsecurityExample.json | ||
|
||
|
||
### /Bundle/$validate should validate ServiceRequestExample.json with Content-Type application/json | ||
|
||
POST {{hostName}}/Bundle/$validate HTTP/1.1 | ||
Content-Type: {{contentTypeFHIR}} | ||
X-TechBD-Tenant-ID: {{TECH_BD_FHIR_SERVICE_QE_IDENTIFIER}} | ||
?? status == 200 | ||
?? response.body != null | ||
?? js response.parsedBody.OperationOutcome.resourceType == OperationOutcome | ||
?? js response.parsedBody.OperationOutcome.validationResults[0].operationOutcome.issue[0].severity == warning | ||
?? js response.parsedBody.OperationOutcome.validationResults[0].valid == true | ||
?? js response.parsedBody.OperationOutcome.validationResults[0].operationOutcome.issue.filter(issue => issue.severity === 'error').length == 0 | ||
|
||
< ServiceRequestExample.json | ||
|
||
### /Bundle/$validate should validate TaskCompletedExample.json with Content-Type application/json | ||
|
||
POST {{hostName}}/Bundle/$validate HTTP/1.1 | ||
Content-Type: {{contentTypeFHIR}} | ||
X-TechBD-Tenant-ID: {{TECH_BD_FHIR_SERVICE_QE_IDENTIFIER}} | ||
?? status == 200 | ||
?? response.body != null | ||
?? js response.parsedBody.OperationOutcome.resourceType == OperationOutcome | ||
?? js response.parsedBody.OperationOutcome.validationResults[0].operationOutcome.issue[0].severity == warning | ||
?? js response.parsedBody.OperationOutcome.validationResults[0].valid == true | ||
?? js response.parsedBody.OperationOutcome.validationResults[0].operationOutcome.issue.filter(issue => issue.severity === 'error').length == 0 | ||
|
||
< TaskCompletedExample.json | ||
|
||
### /Bundle/$validate should validate TaskExample.json with Content-Type application/json | ||
|
||
POST {{hostName}}/Bundle/$validate HTTP/1.1 | ||
Content-Type: {{contentTypeFHIR}} | ||
X-TechBD-Tenant-ID: {{TECH_BD_FHIR_SERVICE_QE_IDENTIFIER}} | ||
?? status == 200 | ||
?? response.body != null | ||
?? js response.parsedBody.OperationOutcome.resourceType == OperationOutcome | ||
?? js response.parsedBody.OperationOutcome.validationResults[0].operationOutcome.issue[0].severity == warning | ||
?? js response.parsedBody.OperationOutcome.validationResults[0].valid == true | ||
?? js response.parsedBody.OperationOutcome.validationResults[0].operationOutcome.issue.filter(issue => issue.severity === 'error').length == 0 | ||
|
||
< TaskExample.json | ||
|
||
|
||
### /Bundle/$validate should validate TaskOutputProcedureExample.json with Content-Type application/json | ||
|
||
POST {{hostName}}/Bundle/$validate HTTP/1.1 | ||
Content-Type: {{contentTypeFHIR}} | ||
X-TechBD-Tenant-ID: {{TECH_BD_FHIR_SERVICE_QE_IDENTIFIER}} | ||
?? status == 200 | ||
?? response.body != null | ||
?? js response.parsedBody.OperationOutcome.resourceType == OperationOutcome | ||
?? js response.parsedBody.OperationOutcome.validationResults[0].operationOutcome.issue[0].severity == warning | ||
?? js response.parsedBody.OperationOutcome.validationResults[0].valid == true | ||
?? js response.parsedBody.OperationOutcome.validationResults[0].operationOutcome.issue.filter(issue => issue.severity === 'error').length == 0 | ||
|
||
< TaskOutputProcedureExample.json | ||
|
||
|
||
### Bundle should validate and submit TestServiceRequest.json as @TECH_BD_FHIR_SERVICE_QE_IDENTIFIER - with Content-Type application/fhir+json | ||
# DO NOT use any header variables which are not required by QEs | ||
POST {{hostName}}/Bundle HTTP/1.1 | ||
Content-Type: {{contentTypeFHIR}} | ||
X-TechBD-Tenant-ID: {{TECH_BD_FHIR_SERVICE_QE_IDENTIFIER}} | ||
?? status == 200 | ||
?? response.body != null | ||
|
||
< AHCHRSNQuestionnaireResponseExample.json |
Oops, something went wrong.