use of ca.uhn.hl7v2.model.Group in project openmrs-module-fhir2 by openmrs.
the class GroupFhirResourceProviderIntegrationTest method shouldReturnExistingGroupAsXML.
@Test
public void shouldReturnExistingGroupAsXML() throws Exception {
MockHttpServletResponse response = get("/Group/" + COHORT_UUID).accept(BaseFhirIntegrationTest.FhirMediaTypes.XML).go();
assertThat(response, isOk());
assertThat(response.getContentType(), is(BaseFhirIntegrationTest.FhirMediaTypes.XML.toString()));
assertThat(response.getContentAsString(), notNullValue());
Group group = readResponse(response);
assertThat(group, notNullValue());
assertThat(group.getIdElement().getIdPart(), equalTo(COHORT_UUID));
assertThat(group, validResource());
}
use of ca.uhn.hl7v2.model.Group in project openmrs-module-fhir2 by openmrs.
the class GroupResourceProviderIntegrationTest method shouldReturnExistingGroupAsXML.
@Test
public void shouldReturnExistingGroupAsXML() throws Exception {
MockHttpServletResponse response = get("/Group/" + GROUP_UUID).accept(BaseFhirIntegrationTest.FhirMediaTypes.XML).go();
assertThat(response, isOk());
assertThat(response.getContentType(), is(BaseFhirIntegrationTest.FhirMediaTypes.XML.toString()));
assertThat(response.getContentAsString(), notNullValue());
Group group = readResponse(response);
assertThat(group, notNullValue());
assertThat(group.getIdElement().getIdPart(), equalTo(GROUP_UUID));
assertThat(group, validResource());
assertThat(group.getMember(), notNullValue());
assertThat(group.getQuantity(), equalTo(1));
assertThat(group.getMember().size(), equalTo(1));
}
use of ca.uhn.hl7v2.model.Group in project openmrs-module-fhir2 by openmrs.
the class GroupResourceProviderIntegrationTest method shouldUpdateExistingGroupAsJson.
@Test
@Transactional(readOnly = true)
public void shouldUpdateExistingGroupAsJson() throws Exception {
// Before update
MockHttpServletResponse response = get("/Group/" + GROUP_UUID).accept(FhirMediaTypes.JSON).go();
assertThat(response, isOk());
assertThat(response.getContentType(), is(FhirMediaTypes.JSON.toString()));
assertThat(response.getContentAsString(), notNullValue());
Group group = readResponse(response);
Extension descExtension = group.getExtensionByUrl(FhirConstants.OPENMRS_FHIR_EXT_GROUP_DESCRIPTION);
assertThat(group, notNullValue());
assertThat(group, validResource());
assertThat(group.getIdElement().getIdPart(), equalTo(GROUP_UUID));
assertThat(group.getMember(), notNullValue());
assertThat(group.getQuantity(), equalTo(1));
assertThat(descExtension.getValue().toString(), equalTo("cohort voided"));
// Get existing group with updated name
String jsonGroup;
try (InputStream is = this.getClass().getClassLoader().getResourceAsStream(JSON_UPDATE_GROUP_DOCUMENT)) {
Objects.requireNonNull(is);
jsonGroup = IOUtils.toString(is, StandardCharsets.UTF_8);
}
// Update
response = put("/Group/" + GROUP_UUID).jsonContent(jsonGroup).accept(FhirMediaTypes.JSON).go();
assertThat(response, isOk());
assertThat(response.getContentType(), is(FhirMediaTypes.JSON.toString()));
assertThat(response.getContentAsString(), notNullValue());
// read updated record
group = readResponse(response);
descExtension = group.getExtensionByUrl(FhirConstants.OPENMRS_FHIR_EXT_GROUP_DESCRIPTION);
assertThat(group, notNullValue());
assertThat(group.getIdElement().getIdPart(), equalTo(GROUP_UUID));
assertThat(group.getActive(), is(true));
assertThat(group.getMember(), notNullValue());
assertThat(group.getQuantity(), equalTo(1));
assertThat(descExtension.getValue().toString(), equalTo("Patients with at least one encounter"));
assertThat(group, validResource());
// Double-check via get
response = get("/Group/" + GROUP_UUID).accept(FhirMediaTypes.JSON).go();
Group updatedGroup = readResponse(response);
descExtension = updatedGroup.getExtensionByUrl(FhirConstants.OPENMRS_FHIR_EXT_GROUP_DESCRIPTION);
assertThat(updatedGroup, validResource());
assertThat(updatedGroup, notNullValue());
assertThat(updatedGroup.getActive(), is(true));
assertThat(group.getMember(), notNullValue());
assertThat(group.getQuantity(), equalTo(1));
assertThat(descExtension.getValue().toString(), equalTo("Patients with at least one encounter"));
}
use of ca.uhn.hl7v2.model.Group in project openmrs-module-fhir2 by openmrs.
the class GroupResourceProviderIntegrationTest method shouldReturnBadRequestWhenDocumentIdDoesNotMatchGroupIdAsJSON.
@Test
public void shouldReturnBadRequestWhenDocumentIdDoesNotMatchGroupIdAsJSON() throws Exception {
// get the existing record
MockHttpServletResponse response = get("/Group/" + GROUP_UUID).accept(FhirMediaTypes.JSON).go();
Group group = readResponse(response);
// update the existing record
group.setId(BAD_GROUP_UUID);
// send the update to the server
response = put("/Group/" + GROUP_UUID).jsonContent(toJson(group)).accept(FhirMediaTypes.JSON).go();
assertThat(response, isBadRequest());
assertThat(response.getContentType(), is(FhirMediaTypes.JSON.toString()));
assertThat(response.getContentAsString(), notNullValue());
OperationOutcome operationOutcome = readOperationOutcome(response);
assertThat(operationOutcome, notNullValue());
assertThat(operationOutcome.hasIssue(), is(true));
}
use of ca.uhn.hl7v2.model.Group in project openmrs-module-fhir2 by openmrs.
the class GroupResourceProviderIntegrationTest method shouldReturnBadRequestWhenDocumentIdDoesNotMatchGroupIdAsXML.
@Test
public void shouldReturnBadRequestWhenDocumentIdDoesNotMatchGroupIdAsXML() throws Exception {
// get the existing record
MockHttpServletResponse response = get("/Group/" + GROUP_UUID).accept(FhirMediaTypes.XML).go();
Group group = readResponse(response);
// update the existing record
group.setId(BAD_GROUP_UUID);
// send the update to the server
response = put("/Group/" + GROUP_UUID).xmlContent(toXML(group)).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));
}
Aggregations