Fix more tests

This commit is contained in:
James Agnew 2017-09-05 18:04:46 -07:00
parent 118c40beeb
commit c32e8d42b3
8 changed files with 21 additions and 8 deletions

View File

@ -7,6 +7,7 @@ import ca.uhn.fhir.jpa.dao.ISearchParamRegistry;
import ca.uhn.fhir.jpa.entity.ResourceTable; import ca.uhn.fhir.jpa.entity.ResourceTable;
import ca.uhn.fhir.parser.DataFormatException; import ca.uhn.fhir.parser.DataFormatException;
import ca.uhn.fhir.rest.server.exceptions.UnprocessableEntityException; import ca.uhn.fhir.rest.server.exceptions.UnprocessableEntityException;
import ca.uhn.fhir.util.ElementUtil;
import org.apache.commons.lang3.time.DateUtils; import org.apache.commons.lang3.time.DateUtils;
import org.hl7.fhir.dstu3.model.Bundle; import org.hl7.fhir.dstu3.model.Bundle;
import org.hl7.fhir.dstu3.model.Enumerations; import org.hl7.fhir.dstu3.model.Enumerations;
@ -126,6 +127,10 @@ public class FhirResourceDaoSearchParameterDstu3 extends FhirResourceDaoDstu3<Se
throw new UnprocessableEntityException("SearchParameter.status is missing or invalid: " + theResource.getStatusElement().getValueAsString()); throw new UnprocessableEntityException("SearchParameter.status is missing or invalid: " + theResource.getStatusElement().getValueAsString());
} }
if (ElementUtil.isEmpty(theResource.getBase())) {
throw new UnprocessableEntityException("SearchParameter.base is missing");
}
String expression = theResource.getExpression(); String expression = theResource.getExpression();
if (theResource.getType() == Enumerations.SearchParamType.COMPOSITE && isBlank(expression)) { if (theResource.getType() == Enumerations.SearchParamType.COMPOSITE && isBlank(expression)) {

View File

@ -207,7 +207,7 @@ public abstract class BaseJpaTest {
return bundleStr; return bundleStr;
} }
public static void purgeDatabase(final EntityManager entityManager, PlatformTransactionManager theTxManager, ISearchParamPresenceSvc theSearchParamPresenceSvc, ISearchCoordinatorSvc theSearchCoordinatorSvc) { public static void purgeDatabase(final EntityManager entityManager, PlatformTransactionManager theTxManager, ISearchParamPresenceSvc theSearchParamPresenceSvc, ISearchCoordinatorSvc theSearchCoordinatorSvc, ISearchParamRegistry theSearchParamRegistry) {
theSearchCoordinatorSvc.cancelAllActiveSearches(); theSearchCoordinatorSvc.cancelAllActiveSearches();
@ -276,11 +276,13 @@ public abstract class BaseJpaTest {
return null; return null;
} }
}); });
theSearchParamPresenceSvc.flushCachesForUnitTest(); theSearchParamPresenceSvc.flushCachesForUnitTest();
theSearchParamRegistry.forceRefresh();
} }
public static Set<String> toCodes(Set<TermConcept> theConcepts) { public static Set<String> toCodes(Set<TermConcept> theConcepts) {
HashSet<String> retVal = new HashSet<String>(); HashSet<String> retVal = new HashSet<>();
for (TermConcept next : theConcepts) { for (TermConcept next : theConcepts) {
retVal.add(next.getCode()); retVal.add(next.getCode());
} }

View File

@ -146,6 +146,8 @@ protected IFhirResourceDao<MedicationAdministration> myMedicationAdministrationD
@Autowired @Autowired
@Qualifier("myValueSetDaoDstu2") @Qualifier("myValueSetDaoDstu2")
protected IFhirResourceDaoValueSet<ValueSet, CodingDt, CodeableConceptDt> myValueSetDao; protected IFhirResourceDaoValueSet<ValueSet, CodingDt, CodeableConceptDt> myValueSetDao;
@Autowired
private ISearchParamRegistry mySearchParamRegistry;
@Before @Before
public void beforeCreateInterceptor() { public void beforeCreateInterceptor() {
@ -167,7 +169,7 @@ protected IFhirResourceDao<MedicationAdministration> myMedicationAdministrationD
@Transactional() @Transactional()
public void beforePurgeDatabase() { public void beforePurgeDatabase() {
final EntityManager entityManager = this.myEntityManager; final EntityManager entityManager = this.myEntityManager;
purgeDatabase(entityManager, myTxManager, mySearchParamPresenceSvc, mySearchCoordinatorSvc); purgeDatabase(entityManager, myTxManager, mySearchParamPresenceSvc, mySearchCoordinatorSvc, mySearchParamRegistry);
} }
@Before @Before

View File

@ -250,7 +250,7 @@ public abstract class BaseJpaDstu3Test extends BaseJpaTest {
@Transactional() @Transactional()
public void beforePurgeDatabase() { public void beforePurgeDatabase() {
final EntityManager entityManager = this.myEntityManager; final EntityManager entityManager = this.myEntityManager;
purgeDatabase(entityManager, myTxManager, mySearchParamPresenceSvc, mySearchCoordinatorSvc); purgeDatabase(entityManager, myTxManager, mySearchParamPresenceSvc, mySearchCoordinatorSvc, mySearchParamRegsitry);
} }
@Before @Before

View File

@ -146,12 +146,14 @@ public class FhirResourceDaoDstu3SearchWithLuceneDisabledTest extends BaseJpaTes
private IValidationSupport myValidationSupport; private IValidationSupport myValidationSupport;
@Autowired @Autowired
protected ISearchCoordinatorSvc mySearchCoordinatorSvc; protected ISearchCoordinatorSvc mySearchCoordinatorSvc;
@Autowired
protected ISearchParamRegistry mySearchParamRegistry;
@Before @Before
@Transactional() @Transactional()
public void beforePurgeDatabase() { public void beforePurgeDatabase() {
final EntityManager entityManager = this.myEntityManager; final EntityManager entityManager = this.myEntityManager;
purgeDatabase(entityManager, myTxManager, mySearchParamPresenceSvc, mySearchCoordinatorSvc); purgeDatabase(entityManager, myTxManager, mySearchParamPresenceSvc, mySearchCoordinatorSvc, mySearchParamRegistry);
} }
@Before @Before

View File

@ -247,7 +247,7 @@ public abstract class BaseJpaR4Test extends BaseJpaTest {
@Transactional() @Transactional()
public void beforePurgeDatabase() { public void beforePurgeDatabase() {
final EntityManager entityManager = this.myEntityManager; final EntityManager entityManager = this.myEntityManager;
purgeDatabase(entityManager, myTxManager, mySearchParamPresenceSvc, mySearchCoordinatorSvc); purgeDatabase(entityManager, myTxManager, mySearchParamPresenceSvc, mySearchCoordinatorSvc, mySearchParamRegsitry);
} }
@Before @Before

View File

@ -146,12 +146,14 @@ public class FhirResourceDaoR4SearchWithLuceneDisabledTest extends BaseJpaTest {
private IValidationSupport myValidationSupport; private IValidationSupport myValidationSupport;
@Autowired @Autowired
protected ISearchCoordinatorSvc mySearchCoordinatorSvc; protected ISearchCoordinatorSvc mySearchCoordinatorSvc;
@Autowired
protected ISearchParamRegistry mySearchParamRegistry;
@Before @Before
@Transactional() @Transactional()
public void beforePurgeDatabase() { public void beforePurgeDatabase() {
final EntityManager entityManager = this.myEntityManager; final EntityManager entityManager = this.myEntityManager;
purgeDatabase(entityManager, myTxManager, mySearchParamPresenceSvc, mySearchCoordinatorSvc); purgeDatabase(entityManager, myTxManager, mySearchParamPresenceSvc, mySearchCoordinatorSvc, mySearchParamRegistry);
} }
@Before @Before