Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import com.google.gson.Gson;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.fineract.client.models.GetGlobalConfigurationsResponse;
Expand Down Expand Up @@ -62,11 +63,23 @@ public void resetAllDefaultGlobalConfigurations() {

GetGlobalConfigurationsResponse actualGlobalConfigurations = getAllGlobalConfigurations();
final ArrayList<HashMap> defaults = getAllDefaultGlobalConfigurations();
int changedNo = 0;
for (int i = 0; i < actualGlobalConfigurations.getGlobalConfiguration().size(); i++) {

HashMap defaultGlobalConfiguration = defaults.get(i);
GlobalConfigurationPropertyData actualGlobalConfiguration = actualGlobalConfigurations.getGlobalConfiguration().get(i);
Map<String, HashMap> defaultMap = new HashMap<>();
for (HashMap config : defaults) {
defaultMap.put((String) config.get("name"), config);
}

int changedNo = 0;
for (GlobalConfigurationPropertyData actualGlobalConfiguration : actualGlobalConfigurations.getGlobalConfiguration()) {

HashMap defaultGlobalConfiguration = defaultMap.get(actualGlobalConfiguration.getName());
if (defaultGlobalConfiguration == null) {
String message = "Global configuration '" + actualGlobalConfiguration.getName()
+ "' found in database but not in integration test defaults. "
+ "You must add it to GlobalConfigurationHelper.getAllDefaultGlobalConfigurations() to ensure test isolation.";
log.error(message);
throw new RuntimeException(message);
}

if (!isMatching(defaultGlobalConfiguration, actualGlobalConfiguration)) {

Expand Down Expand Up @@ -101,19 +114,23 @@ private static boolean isMatching(HashMap o1, GlobalConfigurationPropertyData o2
}

public void verifyAllDefaultGlobalConfigurations() {

ArrayList<HashMap> expectedGlobalConfigurations = getAllDefaultGlobalConfigurations();
GetGlobalConfigurationsResponse actualGlobalConfigurations = getAllGlobalConfigurations();

Assertions.assertEquals(59, expectedGlobalConfigurations.size());
Assertions.assertEquals(59, actualGlobalConfigurations.getGlobalConfiguration().size());
Assertions.assertEquals(expectedGlobalConfigurations.size(), actualGlobalConfigurations.getGlobalConfiguration().size());

Map<String, HashMap> expectedConfigMap = new HashMap<>();
for (HashMap config : expectedGlobalConfigurations) {
expectedConfigMap.put((String) config.get("name"), config);
}

for (int i = 0; i < expectedGlobalConfigurations.size(); i++) {
for (GlobalConfigurationPropertyData actualGlobalConfiguration : actualGlobalConfigurations.getGlobalConfiguration()) {
String configName = actualGlobalConfiguration.getName();
HashMap expectedGlobalConfiguration = expectedConfigMap.get(configName);

HashMap expectedGlobalConfiguration = expectedGlobalConfigurations.get(i);
GlobalConfigurationPropertyData actualGlobalConfiguration = actualGlobalConfigurations.getGlobalConfiguration().get(i);
assertNotNull(expectedGlobalConfiguration, "Configuration found in API but not in expected defaults: " + configName);

final String assertionFailedMessage = "Assertion failed for configName:<" + expectedGlobalConfiguration.get("name") + ">";
final String assertionFailedMessage = "Assertion failed for configName:<" + configName + ">";
Assertions.assertEquals(expectedGlobalConfiguration.get("name"), actualGlobalConfiguration.getName(), assertionFailedMessage);
Assertions.assertEquals(expectedGlobalConfiguration.get("value"), actualGlobalConfiguration.getValue(), assertionFailedMessage);
Assertions.assertEquals(expectedGlobalConfiguration.get("enabled"), actualGlobalConfiguration.getEnabled(),
Expand Down
Loading