From d09b12ca5bdf3dee914121643b02ea871c2ba658 Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Tue, 12 Mar 2024 14:05:03 -0500 Subject: [PATCH] Add unInit, to fix leaked state between tests. --- .../qqq/backend/core/scheduler/QScheduleManager.java | 12 ++++++++++++ .../core/scheduler/simple/SimpleSchedulerTest.java | 4 +++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/scheduler/QScheduleManager.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/scheduler/QScheduleManager.java index 3978def0..781250eb 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/scheduler/QScheduleManager.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/scheduler/QScheduleManager.java @@ -299,4 +299,16 @@ public class QScheduleManager return (scheduler); } + + + + /******************************************************************************* + ** reset the singleton instance (to null); clear the map of schedulers. + ** Not clear it's ever useful to call in main-code - but can be used for tests. + *******************************************************************************/ + public void unInit() + { + qScheduleManager = null; + schedulers.clear(); + } } diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/scheduler/simple/SimpleSchedulerTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/scheduler/simple/SimpleSchedulerTest.java index 392cbac8..9a8e8ad0 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/scheduler/simple/SimpleSchedulerTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/scheduler/simple/SimpleSchedulerTest.java @@ -80,7 +80,8 @@ class SimpleSchedulerTest extends BaseTest assertThat(simpleScheduler.getExecutors()).isNotEmpty(); - simpleScheduler.stopAsync(); + qScheduleManager.stop(); + qScheduleManager.unInit(); } @@ -119,6 +120,7 @@ class SimpleSchedulerTest extends BaseTest ////////////////////////////////////////////////// SleepUtils.sleep(50, TimeUnit.MILLISECONDS); qScheduleManager.stopAsync(); + qScheduleManager.unInit(); System.out.println("Ran: " + BasicStep.counter + " times"); assertTrue(BasicStep.counter > 1, "Scheduled process should have ran at least twice (but only ran [" + BasicStep.counter + "] time(s).");