FINERACT-1724: Ability to run Fineract in Liquibase only mode for scaled environments
This commit is contained in:
committed by
Arnold Gálovics
parent
f927dd4ff9
commit
6c86e15eb7
@@ -30,9 +30,9 @@ import org.apache.fineract.infrastructure.core.service.migration.ExtendedSpringL
|
||||
import org.apache.fineract.infrastructure.core.service.migration.TenantDataSourceFactory;
|
||||
import org.apache.fineract.infrastructure.core.service.migration.TenantDatabaseStateVerifier;
|
||||
import org.apache.fineract.infrastructure.core.service.migration.TenantDatabaseUpgradeService;
|
||||
import org.apache.fineract.infrastructure.core.service.tenant.TenantDetailsService;
|
||||
import org.apache.fineract.infrastructure.jobs.ScheduledJobRunnerConfig;
|
||||
import org.apache.fineract.infrastructure.jobs.service.JobRegisterService;
|
||||
import org.apache.fineract.infrastructure.security.service.TenantDetailsService;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.Mockito;
|
||||
import org.mockito.junit.jupiter.MockitoExtension;
|
||||
@@ -59,6 +59,7 @@ import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.FilterType;
|
||||
import org.springframework.context.annotation.Primary;
|
||||
import org.springframework.core.env.Environment;
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
|
||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||
@@ -138,8 +139,8 @@ public class TestConfiguration {
|
||||
|
||||
@Bean
|
||||
public TenantDatabaseStateVerifier tenantDatabaseStateVerifier(DatabaseIndependentQueryService databaseIndependentQueryService,
|
||||
LiquibaseProperties liquibaseProperties, FineractProperties fineractProperties) {
|
||||
return new TenantDatabaseStateVerifier(liquibaseProperties, databaseIndependentQueryService, fineractProperties);
|
||||
LiquibaseProperties liquibaseProperties) {
|
||||
return new TenantDatabaseStateVerifier(liquibaseProperties, databaseIndependentQueryService);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -150,9 +151,9 @@ public class TestConfiguration {
|
||||
public TenantDatabaseUpgradeService tenantDatabaseUpgradeService(TenantDetailsService tenantDetailsService,
|
||||
HikariDataSource tenantDataSource, TenantDatabaseStateVerifier tenantDatabaseStateVerifier,
|
||||
ExtendedSpringLiquibaseFactory liquibaseFactory, TenantDataSourceFactory tenantDataSourceFactory,
|
||||
FineractProperties fineractProperties) {
|
||||
FineractProperties fineractProperties, Environment environment) {
|
||||
return new TenantDatabaseUpgradeService(tenantDetailsService, tenantDataSource, fineractProperties, tenantDatabaseStateVerifier,
|
||||
liquibaseFactory, tenantDataSourceFactory);
|
||||
liquibaseFactory, tenantDataSourceFactory, environment);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+2
-2
@@ -37,8 +37,8 @@ import javax.sql.DataSource;
|
||||
import org.apache.fineract.infrastructure.core.config.FineractProperties;
|
||||
import org.apache.fineract.infrastructure.core.domain.FineractPlatformTenant;
|
||||
import org.apache.fineract.infrastructure.core.domain.FineractPlatformTenantConnection;
|
||||
import org.apache.fineract.infrastructure.core.service.DataSourcePerTenantServiceFactory;
|
||||
import org.apache.fineract.infrastructure.core.service.HikariDataSourceFactory;
|
||||
import org.apache.fineract.infrastructure.core.service.database.DataSourcePerTenantServiceFactory;
|
||||
import org.apache.fineract.infrastructure.core.service.database.HikariDataSourceFactory;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
|
||||
+6
-2
@@ -39,8 +39,10 @@ import org.apache.fineract.infrastructure.core.service.migration.SchemaUpgradeNe
|
||||
import org.apache.fineract.infrastructure.core.service.migration.TenantDataSourceFactory;
|
||||
import org.apache.fineract.infrastructure.core.service.migration.TenantDatabaseStateVerifier;
|
||||
import org.apache.fineract.infrastructure.core.service.migration.TenantDatabaseUpgradeService;
|
||||
import org.apache.fineract.infrastructure.security.service.TenantDetailsService;
|
||||
import org.apache.fineract.infrastructure.core.service.tenant.TenantDetailsService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.core.env.Environment;
|
||||
import org.springframework.mock.env.MockEnvironment;
|
||||
|
||||
public class LiquibaseStepDefinitions implements En {
|
||||
|
||||
@@ -61,6 +63,7 @@ public class LiquibaseStepDefinitions implements En {
|
||||
private List<FineractPlatformTenant> allTenants;
|
||||
private SchemaUpgradeNeededException executionException;
|
||||
private DataSource defaultTenantDataSource;
|
||||
private Environment environment;
|
||||
|
||||
public LiquibaseStepDefinitions() {
|
||||
Given("Liquibase is disabled with a default tenant", () -> {
|
||||
@@ -148,6 +151,7 @@ public class LiquibaseStepDefinitions implements En {
|
||||
tenantDataSourceFactory = mock(TenantDataSourceFactory.class);
|
||||
tenantDetailsService = mock(TenantDetailsService.class);
|
||||
databaseStateVerifier = mock(TenantDatabaseStateVerifier.class);
|
||||
environment = new MockEnvironment();
|
||||
|
||||
liquibaseFactory = mock(ExtendedSpringLiquibaseFactory.class);
|
||||
|
||||
@@ -176,6 +180,6 @@ public class LiquibaseStepDefinitions implements En {
|
||||
given(liquibaseFactory.create(defaultTenantDataSource, "tenant_db", "custom_changelog")).willReturn(customChangeLogLiquibase);
|
||||
|
||||
tenantDatabaseUpgradeService = new TenantDatabaseUpgradeService(tenantDetailsService, tenantStoreDataSource, fineractProperties,
|
||||
databaseStateVerifier, liquibaseFactory, tenantDataSourceFactory);
|
||||
databaseStateVerifier, liquibaseFactory, tenantDataSourceFactory, environment);
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -31,9 +31,9 @@ import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import org.apache.fineract.infrastructure.core.domain.FineractPlatformTenant;
|
||||
import org.apache.fineract.infrastructure.core.service.tenant.TenantDetailsService;
|
||||
import org.apache.fineract.infrastructure.event.external.exception.ExternalEventConfigurationNotFoundException;
|
||||
import org.apache.fineract.infrastructure.event.external.service.validation.ExternalEventSourceService;
|
||||
import org.apache.fineract.infrastructure.security.service.TenantDetailsService;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
|
||||
Reference in New Issue
Block a user