diff options
author | Jim Hahn <jrh3@att.com> | 2019-08-14 17:31:50 -0400 |
---|---|---|
committer | Jim Hahn <jrh3@att.com> | 2019-08-21 13:49:54 -0400 |
commit | dfe8fa8bc3e75c186589d21b619baa55454ef8a2 (patch) | |
tree | ca3c7dbbe53815afdacb1c97e62ee97ace3f867c /feature-lifecycle/src/main | |
parent | 59e9b9a8b56d563814ef21a23716959f772f9194 (diff) |
Use pseudo time for junits
Modified feature-active-standby-management and feature-lifecycle
to be able to use TestTimeMulti, eliminating the need for sleep()
calls in the junit tests and speeding the tests up significantly.
Also modified feature-active-standby-management to use a memory DB
for its junit tests.
Change-Id: I6d7ae61bb73cbb19ff405b8d9fb660e92732edbb
Issue-ID: POLICY-1968
Signed-off-by: Jim Hahn <jrh3@att.com>
Diffstat (limited to 'feature-lifecycle/src/main')
-rw-r--r-- | feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/LifecycleFsm.java | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/LifecycleFsm.java b/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/LifecycleFsm.java index 36d2a545..5b4bd1ec 100644 --- a/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/LifecycleFsm.java +++ b/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/LifecycleFsm.java @@ -26,6 +26,7 @@ import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Properties; +import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.ScheduledThreadPoolExecutor; import java.util.concurrent.TimeUnit; @@ -85,7 +86,7 @@ public class LifecycleFsm implements Startable { protected volatile LifecycleState state = new LifecycleStateTerminated(this); @GsonJsonIgnore - protected ScheduledThreadPoolExecutor scheduler = new ScheduledThreadPoolExecutor(1); + protected ScheduledExecutorService scheduler = makeExecutor(); @GsonJsonIgnore protected ScheduledFuture<?> statusTask; @@ -118,10 +119,6 @@ public class LifecycleFsm implements Startable { */ public LifecycleFsm() { this.properties = SystemPersistenceConstants.getManager().getProperties(CONFIGURATION_PROPERTIES_NAME); - - scheduler.setContinueExistingPeriodicTasksAfterShutdownPolicy(false); - scheduler.setExecuteExistingDelayedTasksAfterShutdownPolicy(false); - scheduler.setRemoveOnCancelPolicy(true); } @Override @@ -476,4 +473,15 @@ public class LifecycleFsm implements Startable { return fsm.isItMe(update.getName(), update.getPdpGroup(), update.getPdpSubgroup()); } } + + // these may be overridden by junit tests + + protected ScheduledExecutorService makeExecutor() { + ScheduledThreadPoolExecutor exec = new ScheduledThreadPoolExecutor(1); + exec.setContinueExistingPeriodicTasksAfterShutdownPolicy(false); + exec.setExecuteExistingDelayedTasksAfterShutdownPolicy(false); + exec.setRemoveOnCancelPolicy(true); + + return exec; + } } |