This is an automated email from the ASF dual-hosted git repository.
adamsaghy pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git
The following commit(s) were added to refs/heads/develop by this push:
new d413e2b4af FINERACT-2421: Make "Business date configuration" reliable
d413e2b4af is described below
commit d413e2b4af87719a0772999c2bd38a173fa94642
Author: Adam Saghy <[email protected]>
AuthorDate: Tue Jan 13 16:31:00 2026 +0100
FINERACT-2421: Make "Business date configuration" reliable
---
.../base/BaseFineractInitializerConfiguration.java | 6 ++---
.../test/initializer/base/FineractInitializer.java | 12 ++++-----
.../BusinessDateInitializerStep.java} | 30 +++++++++++++---------
.../scenario/FineractScenarioInitializerStep.java | 2 ++
...GlobalConfigurationScenarioInitializerStep.java | 6 +++++
.../test/stepdef/hook/InitializingHook.java | 10 ++++++--
6 files changed, 42 insertions(+), 24 deletions(-)
diff --git
a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/base/BaseFineractInitializerConfiguration.java
b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/base/BaseFineractInitializerConfiguration.java
index f1a624e970..269d3c9de0 100644
---
a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/base/BaseFineractInitializerConfiguration.java
+++
b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/base/BaseFineractInitializerConfiguration.java
@@ -20,7 +20,6 @@ package org.apache.fineract.test.initializer.base;
import java.util.List;
import org.apache.fineract.test.config.CacheConfiguration;
-import org.apache.fineract.test.helper.BusinessDateHelper;
import
org.apache.fineract.test.initializer.global.FineractGlobalInitializerStep;
import
org.apache.fineract.test.initializer.scenario.FineractScenarioInitializerStep;
import org.apache.fineract.test.initializer.suite.FineractSuiteInitializerStep;
@@ -38,8 +37,7 @@ public class BaseFineractInitializerConfiguration {
@Bean
public FineractInitializer
fineractInitializer(List<FineractGlobalInitializerStep> globalInitializerSteps,
- List<FineractSuiteInitializerStep> suiteInitializerSteps,
List<FineractScenarioInitializerStep> scenarioInitializerSteps,
- BusinessDateHelper businessDateHelper) {
- return new FineractInitializer(globalInitializerSteps,
suiteInitializerSteps, scenarioInitializerSteps, businessDateHelper);
+ List<FineractSuiteInitializerStep> suiteInitializerSteps,
List<FineractScenarioInitializerStep> scenarioInitializerSteps) {
+ return new FineractInitializer(globalInitializerSteps,
suiteInitializerSteps, scenarioInitializerSteps);
}
}
diff --git
a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/base/FineractInitializer.java
b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/base/FineractInitializer.java
index 383f1532d3..13d16d9127 100644
---
a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/base/FineractInitializer.java
+++
b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/base/FineractInitializer.java
@@ -22,7 +22,6 @@ import java.util.List;
import java.util.stream.Collectors;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
-import org.apache.fineract.test.helper.BusinessDateHelper;
import
org.apache.fineract.test.initializer.global.FineractGlobalInitializerStep;
import
org.apache.fineract.test.initializer.scenario.FineractScenarioInitializerStep;
import org.apache.fineract.test.initializer.suite.FineractSuiteInitializerStep;
@@ -37,7 +36,6 @@ public class FineractInitializer implements InitializingBean {
private final List<FineractGlobalInitializerStep> globalInitializerSteps;
private final List<FineractSuiteInitializerStep> suiteInitializerSteps;
private final List<FineractScenarioInitializerStep>
scenarioInitializerSteps;
- private final BusinessDateHelper businessDateHelper;
@Override
public void afterPropertiesSet() throws Exception {
@@ -71,7 +69,6 @@ public class FineractInitializer implements InitializingBean {
for (FineractGlobalInitializerStep initializerStep :
globalInitializerSteps) {
initializerStep.initialize();
}
- businessDateHelper.setBusinessDateToday();
}
public void setupDefaultsForSuite() throws Exception {
@@ -80,20 +77,23 @@ public class FineractInitializer implements
InitializingBean {
log.debug("Executing suite initializer: {}",
initializerStep.getClass().getName());
initializerStep.initializeForSuite();
}
- businessDateHelper.setBusinessDateToday();
}
public void setupDefaultsForScenario() throws Exception {
for (FineractScenarioInitializerStep scenarioInitializerStep :
scenarioInitializerSteps) {
scenarioInitializerStep.initializeForScenario();
}
- businessDateHelper.setBusinessDateToday();
}
public void resetDefaultsAfterSuite() throws Exception {
for (FineractSuiteInitializerStep initializerStep :
suiteInitializerSteps) {
initializerStep.resetAfterSuite();
}
- businessDateHelper.setBusinessDateToday();
+ }
+
+ public void resetDefaultsAfterScenario() {
+ for (FineractScenarioInitializerStep initializerStep :
scenarioInitializerSteps) {
+ initializerStep.resetAfterScenario();
+ }
}
}
diff --git
a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/scenario/GlobalConfigurationScenarioInitializerStep.java
b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/global/BusinessDateInitializerStep.java
similarity index 55%
copy from
fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/scenario/GlobalConfigurationScenarioInitializerStep.java
copy to
fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/global/BusinessDateInitializerStep.java
index dac648df2e..d653620306 100644
---
a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/scenario/GlobalConfigurationScenarioInitializerStep.java
+++
b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/global/BusinessDateInitializerStep.java
@@ -16,29 +16,35 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.fineract.test.initializer.scenario;
+package org.apache.fineract.test.initializer.global;
-import static
org.apache.fineract.test.initializer.global.GlobalConfigurationGlobalInitializerStep.CONFIG_KEY_ENABLE_ADDRESS;
import static
org.apache.fineract.test.initializer.global.GlobalConfigurationGlobalInitializerStep.CONFIG_KEY_ENABLE_BUSINESS_DATE;
-import static
org.apache.fineract.test.initializer.global.GlobalConfigurationGlobalInitializerStep.CONFIG_KEY_ENABLE_RECALCULATE_COB_DATE;
import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.fineract.test.helper.BusinessDateHelper;
import org.apache.fineract.test.helper.GlobalConfigurationHelper;
+import
org.apache.fineract.test.initializer.scenario.FineractScenarioInitializerStep;
import org.springframework.stereotype.Component;
-@Component
+@Slf4j
@RequiredArgsConstructor
-public class GlobalConfigurationScenarioInitializerStep implements
FineractScenarioInitializerStep {
+@Component
+public class BusinessDateInitializerStep implements
FineractScenarioInitializerStep {
- private final GlobalConfigurationHelper globalConfigurationHelper;
+ private final BusinessDateHelper businessDateHelper;
+ private final GlobalConfigurationHelper configurationHelper;
@Override
- public void initializeForScenario() throws Exception {
- // Enable-address set to false
-
globalConfigurationHelper.disableGlobalConfiguration(CONFIG_KEY_ENABLE_ADDRESS,
0L);
+ public void initializeForScenario() {
+
configurationHelper.enableGlobalConfiguration(CONFIG_KEY_ENABLE_BUSINESS_DATE,
0L);
+ businessDateHelper.setBusinessDateToday();
+ }
- // Enable business date and COB date
-
globalConfigurationHelper.enableGlobalConfiguration(CONFIG_KEY_ENABLE_BUSINESS_DATE,
0L);
-
globalConfigurationHelper.enableGlobalConfiguration(CONFIG_KEY_ENABLE_RECALCULATE_COB_DATE,
0L);
+ @Override
+ public void resetAfterScenario() {
+
configurationHelper.enableGlobalConfiguration(CONFIG_KEY_ENABLE_BUSINESS_DATE,
0L);
+ businessDateHelper.setBusinessDateToday();
+
configurationHelper.disableGlobalConfiguration(CONFIG_KEY_ENABLE_BUSINESS_DATE,
0L);
}
}
diff --git
a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/scenario/FineractScenarioInitializerStep.java
b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/scenario/FineractScenarioInitializerStep.java
index 0e433c30e2..c033b2a032 100644
---
a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/scenario/FineractScenarioInitializerStep.java
+++
b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/scenario/FineractScenarioInitializerStep.java
@@ -21,4 +21,6 @@ package org.apache.fineract.test.initializer.scenario;
public interface FineractScenarioInitializerStep {
void initializeForScenario() throws Exception;
+
+ void resetAfterScenario();
}
diff --git
a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/scenario/GlobalConfigurationScenarioInitializerStep.java
b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/scenario/GlobalConfigurationScenarioInitializerStep.java
index dac648df2e..3d6bad3875 100644
---
a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/scenario/GlobalConfigurationScenarioInitializerStep.java
+++
b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/scenario/GlobalConfigurationScenarioInitializerStep.java
@@ -41,4 +41,10 @@ public class GlobalConfigurationScenarioInitializerStep
implements FineractScena
globalConfigurationHelper.enableGlobalConfiguration(CONFIG_KEY_ENABLE_BUSINESS_DATE,
0L);
globalConfigurationHelper.enableGlobalConfiguration(CONFIG_KEY_ENABLE_RECALCULATE_COB_DATE,
0L);
}
+
+ @Override
+ public void resetAfterScenario() {
+ // Enable business date
+
globalConfigurationHelper.disableGlobalConfiguration(CONFIG_KEY_ENABLE_BUSINESS_DATE,
0L);
+ }
}
diff --git
a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/stepdef/hook/InitializingHook.java
b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/stepdef/hook/InitializingHook.java
index 4ea3cbde7b..40f875920a 100644
---
a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/stepdef/hook/InitializingHook.java
+++
b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/stepdef/hook/InitializingHook.java
@@ -18,6 +18,7 @@
*/
package org.apache.fineract.test.stepdef.hook;
+import io.cucumber.java.After;
import io.cucumber.java.AfterAll;
import io.cucumber.java.Before;
import io.cucumber.java.BeforeAll;
@@ -38,10 +39,10 @@ public class InitializingHook {
environment.getPropertySources().addFirst(new
ResourcePropertySource("classpath:fineract-test-application.properties"));
InitializerProperties initializerProperties =
PropertiesFactory.get(environment, InitializerProperties.class);
if (initializerProperties.isEnabled()) {
- log.info("Setting up defaults for Fineract");
+ log.info("Setting up global defaults for Fineract");
FineractInitializerFactory.get().setupGlobalDefaults();
} else {
- log.info("Skipping defaults for Fineract");
+ log.info("Skipping global defaults for Fineract");
}
FineractInitializerFactory.get().setupDefaultsForSuite();
@@ -52,6 +53,11 @@ public class InitializingHook {
FineractInitializerFactory.get().setupDefaultsForScenario();
}
+ @After
+ public static void after() throws Exception {
+ FineractInitializerFactory.get().resetDefaultsAfterScenario();
+ }
+
@AfterAll
public static void afterAll() throws Exception {
FineractInitializerFactory.get().resetDefaultsAfterSuite();