use of org.hl7.fhir.r5.model.Task in project openmrs-module-fhir2 by openmrs.
the class TaskFhirResourceIntegrationTest method shouldCreateNewTaskAsXML.
@Test
public void shouldCreateNewTaskAsXML() throws Exception {
String xmlTask;
try (InputStream is = this.getClass().getClassLoader().getResourceAsStream(XML_CREATE_TASK_DOCUMENT)) {
assertThat(is, notNullValue());
xmlTask = IOUtils.toString(is, StandardCharsets.UTF_8);
}
MockHttpServletResponse response = post("/Task").accept(FhirMediaTypes.XML).xmlContent(xmlTask).go();
assertThat(response, isCreated());
assertThat(response.getHeader("Location"), containsString("/Task/"));
assertThat(response.getContentType(), is(FhirMediaTypes.XML.toString()));
assertThat(response.getContentAsString(), notNullValue());
Task task = readResponse(response);
assertThat(task, notNullValue());
assertThat(task.getIdElement().getIdPart(), notNullValue());
assertThat(task.getStatus(), is(Task.TaskStatus.ACCEPTED));
assertThat(task.getIntent(), is(Task.TaskIntent.ORDER));
assertThat(task.getAuthoredOn(), within(1, ChronoUnit.MINUTES, new Date()));
assertThat(task.getLastModified(), within(1, ChronoUnit.MINUTES, new Date()));
assertThat(task, validResource());
response = get("/Task/" + task.getIdElement().getIdPart()).accept(FhirMediaTypes.XML).go();
assertThat(response, isOk());
Task newTask = readResponse(response);
assertThat(newTask, notNullValue());
assertThat(newTask.getIdElement().getIdPart(), equalTo(task.getIdElement().getIdPart()));
assertThat(newTask.getStatus(), equalTo(task.getStatus()));
assertThat(newTask.getIntent(), equalTo(task.getIntent()));
assertThat(task.getAuthoredOn(), equalTo(task.getAuthoredOn()));
assertThat(task.getLastModified(), equalTo(task.getLastModified()));
}
use of org.hl7.fhir.r5.model.Task in project openmrs-module-fhir2 by openmrs.
the class TaskFhirResourceIntegrationTest method shouldSearchForAllTasksAsJson.
@Test
public void shouldSearchForAllTasksAsJson() throws Exception {
MockHttpServletResponse response = get("/Task").accept(FhirMediaTypes.JSON).go();
assertThat(response, isOk());
assertThat(response.getContentType(), is(FhirMediaTypes.JSON.toString()));
assertThat(response.getContentAsString(), notNullValue());
Bundle results = readBundleResponse(response);
assertThat(results, notNullValue());
assertThat(results.getType(), equalTo(Bundle.BundleType.SEARCHSET));
assertThat(results.hasEntry(), is(true));
List<Bundle.BundleEntryComponent> entries = results.getEntry();
assertThat(entries, everyItem(hasProperty("fullUrl", startsWith("http://localhost/ws/fhir2/R4/Task/"))));
assertThat(entries, everyItem(hasResource(instanceOf(Task.class))));
assertThat(entries, everyItem(hasResource(validResource())));
}
use of org.hl7.fhir.r5.model.Task in project openmrs-module-fhir2 by openmrs.
the class TaskFhirResourceIntegrationTest method shouldReturnNotFoundWhenUpdatingNonExistentTaskAsXML.
@Test
public void shouldReturnNotFoundWhenUpdatingNonExistentTaskAsXML() throws Exception {
MockHttpServletResponse response = get("/Task/" + TASK_UUID).accept(FhirMediaTypes.XML).go();
assertThat(response, isOk());
Task patient = readResponse(response);
patient.setId(WRONG_TASK_UUID);
response = put("/Task/" + WRONG_TASK_UUID).xmlContent(toXML(patient)).accept(FhirMediaTypes.XML).go();
assertThat(response, isNotFound());
assertThat(response.getContentType(), is(FhirMediaTypes.XML.toString()));
assertThat(response.getContentAsString(), notNullValue());
OperationOutcome operationOutcome = readOperationOutcome(response);
assertThat(operationOutcome, notNullValue());
assertThat(operationOutcome.hasIssue(), is(true));
}
use of org.hl7.fhir.r5.model.Task in project openmrs-module-fhir2 by openmrs.
the class TaskFhirResourceIntegrationTest method shouldReturnBadRequestWhenDocumentIdDoesNotMatchTaskIdAsXML.
@Test
public void shouldReturnBadRequestWhenDocumentIdDoesNotMatchTaskIdAsXML() throws Exception {
MockHttpServletResponse response = get("/Task/" + TASK_UUID).accept(FhirMediaTypes.XML).go();
assertThat(response, isOk());
Task task = readResponse(response);
task.setId(WRONG_TASK_UUID);
response = put("/Task/" + TASK_UUID).xmlContent(toXML(task)).accept(FhirMediaTypes.XML).go();
assertThat(response, isBadRequest());
assertThat(response.getContentType(), is(FhirMediaTypes.XML.toString()));
assertThat(response.getContentAsString(), notNullValue());
OperationOutcome operationOutcome = readOperationOutcome(response);
assertThat(operationOutcome, notNullValue());
assertThat(operationOutcome.hasIssue(), is(true));
}
use of org.hl7.fhir.r5.model.Task in project openmrs-module-fhir2 by openmrs.
the class TaskFhirResourceIntegrationTest method shouldSearchForFilteredAndSortedTasksAsJson.
@Test
public void shouldSearchForFilteredAndSortedTasksAsJson() throws Exception {
MockHttpServletResponse response = get("/Task?status=requested&_sort=_lastUpdated").accept(FhirMediaTypes.JSON).go();
assertThat(response, isOk());
assertThat(response.getContentType(), is(FhirMediaTypes.JSON.toString()));
assertThat(response.getContentAsString(), notNullValue());
Bundle results = readBundleResponse(response);
assertThat(results, notNullValue());
assertThat(results.getType(), is(Bundle.BundleType.SEARCHSET));
assertThat(results.hasEntry(), is(true));
List<Bundle.BundleEntryComponent> entries = results.getEntry();
assertThat(entries, hasSize(2));
assertThat(entries, everyItem(hasResource(hasProperty("status", is(Task.TaskStatus.REQUESTED)))));
assertThat(entries, containsInRelativeOrder(hasResource(hasProperty("meta", hasProperty("lastUpdated", equalTo(Date.from(LocalDateTime.of(2012, 5, 1, 0, 0, 0).atZone(ZoneId.systemDefault()).toInstant()))))), hasResource(hasProperty("meta", hasProperty("lastUpdated", equalTo(Date.from(LocalDateTime.of(2012, 7, 1, 0, 0, 0).atZone(ZoneId.systemDefault()).toInstant())))))));
}
Aggregations