Clean up validation

This commit is contained in:
James Agnew 2016-01-15 18:44:28 -05:00
parent d290110126
commit f9960b22d5
7 changed files with 19389 additions and 8 deletions

View File

@ -186,11 +186,13 @@ public class FhirValidator {
next.validateBundle(ctx);
}
IBaseOperationOutcome oo = ctx.toResult().toOperationOutcome();
if (oo != null && OperationOutcomeUtil.hasIssues(myContext, oo)) {
throw new ValidationFailureException(myContext, oo);
if (ctx.toResult().isSuccessful() == false ) {
IBaseOperationOutcome oo = ctx.toResult().toOperationOutcome();
if (oo != null && OperationOutcomeUtil.hasIssues(myContext, oo)) {
throw new ValidationFailureException(myContext, oo);
}
}
}
private void applyDefaultValidators() {

View File

@ -1771,12 +1771,12 @@ public class ResourceProviderDstu21Test extends BaseResourceProviderDstu21Test {
String methodName = "testSearchWithMissing";
Organization org = new Organization();
IIdType deletedIdMissingTrue = (IdType) ourClient.create().resource(org).execute().getId().toUnqualifiedVersionless();
IIdType deletedIdMissingTrue = ourClient.create().resource(org).execute().getId().toUnqualifiedVersionless();
ourClient.delete().resourceById(deletedIdMissingTrue).execute();
org = new Organization();
org.setName("Help I'm a Bug");
IIdType deletedIdMissingFalse = (IdType) ourClient.create().resource(org).execute().getId().toUnqualifiedVersionless();
IIdType deletedIdMissingFalse = ourClient.create().resource(org).execute().getId().toUnqualifiedVersionless();
ourClient.delete().resourceById(deletedIdMissingFalse).execute();
List<IBaseResource> resources = new ArrayList<IBaseResource>();

View File

@ -153,7 +153,7 @@ public class ResourceValidatorTest {
assertTrue(result.isSuccessful());
assertNotNull(operationOutcome);
assertEquals(0, operationOutcome.getIssue().size());
assertEquals(1, operationOutcome.getIssue().size());
}
@Test

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,29 @@
package ca.uhn.fhir.parser;
import static org.junit.Assert.assertEquals;
import java.util.List;
import org.apache.commons.io.IOUtils;
import org.junit.Test;
import ca.uhn.fhir.context.FhirContext;
import ca.uhn.fhir.model.api.ExtensionDt;
import ca.uhn.fhir.model.dstu2.resource.Conformance;
import ca.uhn.fhir.model.dstu2.resource.Conformance.RestSecurity;
public class ExtensionsDstu2Test {
private static final FhirContext ourCtx = FhirContext.forDstu2();
@Test
public void testParseExtensions() throws Exception {
String input = IOUtils.toString(getClass().getResourceAsStream("/smart-conf.xml"));
Conformance conf = (Conformance) ourCtx.newXmlParser().parseResource(input);
RestSecurity sec = conf.getRest().get(0).getSecurity();
List<ExtensionDt> uris = sec.getUndeclaredExtensionsByUrl("http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris");
assertEquals(1, uris.size());
}
}

View File

@ -132,7 +132,7 @@ public class ResourceValidatorDstu2Test {
assertTrue(result.toString(), result.isSuccessful());
assertNotNull(operationOutcome);
assertEquals(0, operationOutcome.getIssue().size());
assertEquals(1, operationOutcome.getIssue().size());
}
@SuppressWarnings("deprecation")

File diff suppressed because it is too large Load Diff