Add test for invalid local reference (DSTU3)
Currently an invalid local reference causes an InternalErrorException caused by: FHIRException: Resource resolution services not provided. The validation should instead return normally and contain an error message.
This commit is contained in:
parent
f766156ca3
commit
229e0977d2
|
@ -17,12 +17,16 @@ import org.hl7.fhir.dstu3.hapi.ctx.IValidationSupport.CodeValidationResult;
|
||||||
import org.hl7.fhir.dstu3.model.*;
|
import org.hl7.fhir.dstu3.model.*;
|
||||||
import org.hl7.fhir.dstu3.model.Bundle.BundleEntryComponent;
|
import org.hl7.fhir.dstu3.model.Bundle.BundleEntryComponent;
|
||||||
import org.hl7.fhir.dstu3.model.CodeSystem.ConceptDefinitionComponent;
|
import org.hl7.fhir.dstu3.model.CodeSystem.ConceptDefinitionComponent;
|
||||||
|
import org.hl7.fhir.dstu3.model.Enumerations.PublicationStatus;
|
||||||
import org.hl7.fhir.dstu3.model.Observation.ObservationStatus;
|
import org.hl7.fhir.dstu3.model.Observation.ObservationStatus;
|
||||||
|
import org.hl7.fhir.dstu3.model.Questionnaire.QuestionnaireItemComponent;
|
||||||
|
import org.hl7.fhir.dstu3.model.Questionnaire.QuestionnaireItemType;
|
||||||
import org.hl7.fhir.dstu3.model.StructureDefinition.StructureDefinitionKind;
|
import org.hl7.fhir.dstu3.model.StructureDefinition.StructureDefinitionKind;
|
||||||
import org.hl7.fhir.dstu3.model.ValueSet.ConceptSetComponent;
|
import org.hl7.fhir.dstu3.model.ValueSet.ConceptSetComponent;
|
||||||
import org.hl7.fhir.dstu3.model.ValueSet.ValueSetExpansionComponent;
|
import org.hl7.fhir.dstu3.model.ValueSet.ValueSetExpansionComponent;
|
||||||
import org.hl7.fhir.dstu3.utils.FHIRPathEngine;
|
import org.hl7.fhir.dstu3.utils.FHIRPathEngine;
|
||||||
import org.hl7.fhir.instance.model.api.IBaseResource;
|
import org.hl7.fhir.instance.model.api.IBaseResource;
|
||||||
|
|
||||||
import org.junit.*;
|
import org.junit.*;
|
||||||
import org.junit.rules.TestRule;
|
import org.junit.rules.TestRule;
|
||||||
import org.junit.rules.TestWatcher;
|
import org.junit.rules.TestWatcher;
|
||||||
|
@ -737,6 +741,25 @@ public class FhirInstanceValidatorDstu3Test {
|
||||||
assertThat(nonInfo, empty());
|
assertThat(nonInfo, empty());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An invalid local reference should not cause a ServiceException.
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void testInvalidLocalReference() {
|
||||||
|
Questionnaire resource = new Questionnaire();
|
||||||
|
resource.setStatus(PublicationStatus.ACTIVE);
|
||||||
|
|
||||||
|
QuestionnaireItemComponent item = new QuestionnaireItemComponent();
|
||||||
|
item.setLinkId("linkId-1");
|
||||||
|
item.setType(QuestionnaireItemType.CHOICE);
|
||||||
|
item.setOptions(new Reference("#invalid-ref"));
|
||||||
|
resource.addItem(item);
|
||||||
|
|
||||||
|
ValidationResult output = myVal.validateWithResult(resource);
|
||||||
|
List<SingleValidationMessage> nonInfo = logResultsAndReturnNonInformationalOnes(output);
|
||||||
|
assertThat(nonInfo, hasSize(2));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* See #370
|
* See #370
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue