package ca.uhn.fhir.context;
import static org.hamcrest.Matchers.containsString;
import static org.junit.Assert.*;
import org.junit.AfterClass;
import org.junit.Test;
import ca.uhn.fhir.model.api.annotation.ResourceDef;
import ca.uhn.fhir.model.dstu.resource.Patient;
import ca.uhn.fhir.util.TestUtil;
public class InvalidResourceTypeTest {
private static FhirContext ourCtx = FhirContext.forDstu1();
@Test
public void testNonInstantiableType() {
try {
ourCtx.getResourceDefinition(NonInstantiableType.class);
fail();
} catch (ConfigurationException e) {
assertThat(e.getMessage(), containsString("Check that this class has a no-argument"));
}
}
@ResourceDef(name = "Patient", id="CustomPatient")
class NonInstantiableType extends Patient
{
// nothing
}
@AfterClass
public static void afterClassClearContext() {
TestUtil.clearAllStaticFieldsForUnitTest();
}
}