From 1311ef4157c79d0e9ad9dea169dbc2fa46cf675c Mon Sep 17 00:00:00 2001 From: James Agnew Date: Fri, 21 Dec 2018 09:26:19 -0500 Subject: [PATCH] Revert to JDK9 to build on travis temporarily --- .travis.yml | 3 +- .../provider/r4/ResourceProviderR4Test.java | 99 +++++++++++++++++++ 2 files changed, 101 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 4d29c64275c..1b5db04965c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,7 +8,8 @@ dist: trusty language: java jdk: - - openjdk11 + - oraclejdk9 + # - openjdk11 env: global: - MAVEN_OPTS="-Xmx10244M -Xss128M -XX:MetaspaceSize=512M -XX:MaxMetaspaceSize=1024M -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC" diff --git a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/provider/r4/ResourceProviderR4Test.java b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/provider/r4/ResourceProviderR4Test.java index 495ed9f54b8..c5dcf1d50cb 100644 --- a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/provider/r4/ResourceProviderR4Test.java +++ b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/provider/r4/ResourceProviderR4Test.java @@ -2772,6 +2772,105 @@ public class ResourceProviderR4Test extends BaseResourceProviderR4Test { assertThat(actual.getText().getDiv().getValueAsString(), containsString("IdentifiertestSearchByResourceChain01")); } + @Test + public void testTerminologyWithCompleteCs_Expand() throws Exception { + + CodeSystem cs = new CodeSystem(); + cs.setContent(CodeSystem.CodeSystemContentMode.COMPLETE); + cs.setUrl("http://cs"); + CodeSystem.ConceptDefinitionComponent a = cs.addConcept() + .setCode("A"); + a.addConcept().setCode("A1"); + a.addConcept().setCode("A2"); + CodeSystem.ConceptDefinitionComponent b = cs.addConcept() + .setCode("B"); + b.addConcept().setCode("B1"); + b.addConcept().setCode("B2"); + ourClient.create().resource(cs).execute(); + + ValueSet vs = new ValueSet(); + vs.setUrl("http://vs"); + vs.getCompose() + .addInclude() + .setSystem("http://cs") + .addFilter() + .setProperty("concept") + .setOp(ValueSet.FilterOperator.ISA) + .setValue("A"); + IIdType vsid = ourClient.create().resource(vs).execute().getId().toUnqualifiedVersionless(); + + HttpGet read = new HttpGet(ourServerBase + "/" + vsid.getValue() + "/$expand"); + try (CloseableHttpResponse response = ourHttpClient.execute(read)) { + String text = IOUtils.toString(response.getEntity().getContent(), StandardCharsets.UTF_8); + ourLog.info(text); + assertEquals(Constants.STATUS_HTTP_200_OK, response.getStatusLine().getStatusCode()); + assertThat(text, containsString("\"A\"")); + assertThat(text, containsString("\"A1\"")); + assertThat(text, not(containsString("\"B\""))); + assertThat(text, not(containsString("\"B1\""))); + } + + +// HttpGet read = new HttpGet(ourServerBase + "/Observation?patient=P5000000302&_sort:desc=code&code:in=http://fkcfhir.org/fhir/vs/ccdacapddialysisorder"); +// try (CloseableHttpResponse response = ourHttpClient.execute(read)) { +// String text = IOUtils.toString(response.getEntity().getContent(), StandardCharsets.UTF_8); +// ourLog.info(text); +// assertEquals(Constants.STATUS_HTTP_200_OK, response.getStatusLine().getStatusCode()); +// assertThat(text, not(containsString("\"text\",\"type\""))); +// } + } + + @Test + public void testTerminologyWithCompleteCs_SearchForConceptIn() throws Exception { + + CodeSystem cs = new CodeSystem(); + cs.setContent(CodeSystem.CodeSystemContentMode.COMPLETE); + cs.setUrl("http://cs"); + CodeSystem.ConceptDefinitionComponent a = cs.addConcept() + .setCode("A"); + a.addConcept().setCode("A1"); + a.addConcept().setCode("A2"); + CodeSystem.ConceptDefinitionComponent b = cs.addConcept() + .setCode("B"); + b.addConcept().setCode("B1"); + b.addConcept().setCode("B2"); + ourClient.create().resource(cs).execute(); + + ValueSet vs = new ValueSet(); + vs.setUrl("http://vs"); + vs.getCompose() + .addInclude() + .setSystem("http://cs") + .addFilter() + .setProperty("concept") + .setOp(ValueSet.FilterOperator.ISA) + .setValue("A"); + ourClient.create().resource(vs).execute().getId().toUnqualifiedVersionless(); + + Observation obs = new Observation(); + obs.getCode().addCoding().setSystem("http://cs").setCode("A1"); + obs.setValue(new StringType("OBS1")); + obs.setStatus(ObservationStatus.FINAL); + ourClient.create().resource(obs).execute(); + + Observation obs2 = new Observation(); + obs2.getCode().addCoding().setSystem("http://cs").setCode("B1"); + obs2.setStatus(ObservationStatus.FINAL); + obs2.setValue(new StringType("OBS2")); + ourClient.create().resource(obs2).execute(); + + HttpGet read = new HttpGet(ourServerBase + "/Observation?code:in=http://vs"); + try (CloseableHttpResponse response = ourHttpClient.execute(read)) { + String text = IOUtils.toString(response.getEntity().getContent(), StandardCharsets.UTF_8); + ourLog.info(text); + assertEquals(Constants.STATUS_HTTP_200_OK, response.getStatusLine().getStatusCode()); + assertThat(text, containsString("\"OBS1\"")); + assertThat(text, not(containsString("\"OBS2\""))); + } + + + } + @Test public void testSearchBundleDoesntIncludeTextElement() throws Exception { HttpGet read = new HttpGet(ourServerBase + "/Patient?_format=json");