This commit is contained in:
jamesagnew 2020-04-13 09:35:51 -04:00
parent 432b249225
commit f2fa8659c4
3 changed files with 38 additions and 9 deletions

View File

@ -368,8 +368,12 @@ public abstract class BaseJpaDstu3Test extends BaseJpaTest {
@AfterClass
public static void afterClassClearContextBaseJpaDstu3Test() {
if (ourValueSetDao != null) {
ourValueSetDao.purgeCaches();
}
if (ourJpaValidationSupportChainDstu3 != null) {
ourJpaValidationSupportChainDstu3.invalidateCaches();
}
TestUtil.clearAllStaticFieldsForUnitTest();
}

View File

@ -7,6 +7,7 @@ import ca.uhn.fhir.jpa.model.util.JpaConstants;
import ca.uhn.fhir.jpa.model.util.ProviderConstants;
import ca.uhn.fhir.jpa.provider.dstu3.BaseResourceProviderDstu3Test;
import ca.uhn.fhir.jpa.subscription.SubscriptionTestUtil;
import ca.uhn.fhir.jpa.subscription.triggering.ISubscriptionTriggeringSvc;
import ca.uhn.fhir.jpa.subscription.triggering.SubscriptionTriggeringSvcImpl;
import ca.uhn.fhir.rest.annotation.Create;
import ca.uhn.fhir.rest.annotation.ResourceParam;
@ -17,6 +18,7 @@ import ca.uhn.fhir.rest.server.IResourceProvider;
import ca.uhn.fhir.rest.server.RestfulServer;
import ca.uhn.fhir.rest.server.exceptions.InvalidRequestException;
import ca.uhn.fhir.test.utilities.JettyUtil;
import ca.uhn.fhir.test.utilities.ProxyUtil;
import com.google.common.collect.Lists;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletContextHandler;
@ -71,7 +73,7 @@ public class SubscriptionTriggeringDstu3Test extends BaseResourceProviderDstu3Te
@Autowired
private SubscriptionTestUtil mySubscriptionTestUtil;
@Autowired
private SubscriptionTriggeringSvcImpl mySubscriptionTriggeringSvc;
private ISubscriptionTriggeringSvc mySubscriptionTriggeringSvc;
@Autowired
private ISchedulerService mySchedulerService;
@ -93,8 +95,9 @@ public class SubscriptionTriggeringDstu3Test extends BaseResourceProviderDstu3Te
mySubscriptionTestUtil.unregisterSubscriptionInterceptor();
mySubscriptionTriggeringSvc.cancelAll();
mySubscriptionTriggeringSvc.setMaxSubmitPerPass(null);
SubscriptionTriggeringSvcImpl svc = ProxyUtil.getSingletonTarget(mySubscriptionTriggeringSvc, SubscriptionTriggeringSvcImpl.class);
svc.cancelAll();
svc.setMaxSubmitPerPass(null);
myDaoConfig.setSearchPreFetchThresholds(new DaoConfig().getSearchPreFetchThresholds());
}
@ -224,7 +227,8 @@ public class SubscriptionTriggeringDstu3Test extends BaseResourceProviderDstu3Te
waitForSize(50, ourUpdatedPatients);
beforeReset();
mySubscriptionTriggeringSvc.setMaxSubmitPerPass(33);
SubscriptionTriggeringSvcImpl svc = ProxyUtil.getSingletonTarget(mySubscriptionTriggeringSvc, SubscriptionTriggeringSvcImpl.class);
svc.setMaxSubmitPerPass(33);
Parameters response = ourClient
.operation()
@ -294,7 +298,9 @@ public class SubscriptionTriggeringDstu3Test extends BaseResourceProviderDstu3Te
mySubscriptionTriggeringSvc.runDeliveryPass();
mySubscriptionTriggeringSvc.runDeliveryPass();
mySubscriptionTriggeringSvc.runDeliveryPass();
assertEquals(0, mySubscriptionTriggeringSvc.getActiveJobCount());
SubscriptionTriggeringSvcImpl svc = ProxyUtil.getSingletonTarget(mySubscriptionTriggeringSvc, SubscriptionTriggeringSvcImpl.class);
assertEquals(0, svc.getActiveJobCount());
assertEquals(0, ourCreatedPatients.size());
await().until(() -> ourUpdatedPatients.size() == 3);
@ -361,7 +367,8 @@ public class SubscriptionTriggeringDstu3Test extends BaseResourceProviderDstu3Te
waitForSize(50, ourUpdatedPatients);
beforeReset();
mySubscriptionTriggeringSvc.setMaxSubmitPerPass(33);
SubscriptionTriggeringSvcImpl svc = ProxyUtil.getSingletonTarget(mySubscriptionTriggeringSvc, SubscriptionTriggeringSvcImpl.class);
svc.setMaxSubmitPerPass(33);
Parameters response = ourClient
.operation()
@ -427,7 +434,8 @@ public class SubscriptionTriggeringDstu3Test extends BaseResourceProviderDstu3Te
waitForSize(0, ourUpdatedPatients);
beforeReset();
mySubscriptionTriggeringSvc.setMaxSubmitPerPass(50);
SubscriptionTriggeringSvcImpl svc = ProxyUtil.getSingletonTarget(mySubscriptionTriggeringSvc, SubscriptionTriggeringSvcImpl.class);
svc.setMaxSubmitPerPass(50);
Parameters response = ourClient
.operation()

View File

@ -0,0 +1,17 @@
package ca.uhn.fhir.test.utilities;
import org.apache.commons.lang3.Validate;
import org.springframework.aop.framework.AopProxyUtils;
public class ProxyUtil {
@SuppressWarnings("unchecked")
public static <T> T getSingletonTarget(Object theSource, Class<T> theSubscriptionTriggeringSvcClass) {
Validate.notNull(theSource);
if (theSubscriptionTriggeringSvcClass.isAssignableFrom(theSource.getClass())) {
return (T) theSource;
}
return (T) AopProxyUtils.getSingletonTarget(theSource);
}
}