Fix unit tests

This commit is contained in:
James Agnew 2016-08-30 18:27:57 -04:00
parent 98e0753b93
commit 6b9f8ec487
2 changed files with 124 additions and 120 deletions

View File

@ -95,12 +95,13 @@ public class ResourceReferenceInfo {
int colonIndex = theInclude.getValue().indexOf(':');
if (colonIndex != -1) {
// DSTU2+ style
String resourceName = theInclude.getValue().substring(0, colonIndex);
String paramName = theInclude.getValue().substring(colonIndex + 1);
RuntimeResourceDefinition resourceDef = myContext.getResourceDefinition(myOwningResource);
RuntimeResourceDefinition resourceDef = myContext.getResourceDefinition(resourceName);
if (resourceDef != null) {
RuntimeSearchParam searchParamDef = resourceDef.getSearchParam(paramName);
if (searchParamDef!=null) {
if (searchParamDef.getPathsSplit().contains(resourceDef.getName() + "." + myName)) {
if (searchParamDef.getPathsSplit().contains(myOwningResource + "." + myName)) {
return true;
}
}

View File

@ -28,6 +28,8 @@ import ca.uhn.fhir.rest.server.BundleInclusionRule;
import ca.uhn.fhir.util.TestUtil;
public class Dstu2BundleFactoryTest {
private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(Dstu2BundleFactoryTest.class);
private static FhirContext ourCtx;
private List<IBaseResource> myResourceList;
private Dstu2BundleFactory myBundleFactory;
@ -42,7 +44,6 @@ public class Dstu2BundleFactoryTest {
TestUtil.clearAllStaticFieldsForUnitTest();
}
@Before
public void setUp() throws Exception {
// DiagnosticReport
@ -76,17 +77,17 @@ public class Dstu2BundleFactoryTest {
diagnosticReport.setPerformer(new ResourceReferenceDt(practitioner));
diagnosticReport.setSubject(new ResourceReferenceDt(patient));
diagnosticReport.setResult(Arrays.asList(new ResourceReferenceDt[]{new ResourceReferenceDt(observation)}));
diagnosticReport.setResult(Arrays.asList(new ResourceReferenceDt[] { new ResourceReferenceDt(observation) }));
diagnosticReport.setSpecimen(Arrays.asList(new ResourceReferenceDt(specimen2)));
observation.setSpecimen(new ResourceReferenceDt(specimen1));
observation.setSubject(new ResourceReferenceDt(patient));
observation.setPerformer(Arrays.asList(new ResourceReferenceDt[]{new ResourceReferenceDt(practitioner)}));
observation.setPerformer(Arrays.asList(new ResourceReferenceDt[] { new ResourceReferenceDt(practitioner) }));
specimen1.setSubject(new ResourceReferenceDt(patient));
specimen1.getCollection().setCollector(new ResourceReferenceDt(practitioner));
myResourceList = Arrays.asList(new IBaseResource[]{diagnosticReport});
myResourceList = Arrays.asList(new IBaseResource[] { diagnosticReport });
myBundleFactory = new Dstu2BundleFactory(ourCtx);
}
@ -120,6 +121,8 @@ public class Dstu2BundleFactoryTest {
public void whenAChainedResourceIsIncludedAndItsParentIsAlsoIncluded_bundle_shouldContainTheChainedResource() throws Exception {
Bundle bundle = makeBundle(BundleInclusionRule.BASED_ON_INCLUDES, includes(DiagnosticReport.INCLUDE_RESULT.getValue(), Observation.INCLUDE_SPECIMEN.getValue()));
ourLog.info(ourCtx.newXmlParser().setPrettyPrint(true).encodeResourceToString(bundle));
assertEquals(3, bundle.getEntry().size());
assertEquals(1, numberOfEntriesOfType(bundle, DiagnosticReport.class));
assertEquals(1, numberOfEntriesOfType(bundle, Observation.class));