mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
Added multi tenant catalog support. (#987)
This commit is contained in:
committed by
Rob Bygrave
parent
0557e6cd08
commit
485e62b5d6
@@ -1,11 +1,6 @@
|
||||
package io.ebean;
|
||||
|
||||
import io.ebean.EbeanServerFactory;
|
||||
import io.ebean.config.CurrentTenantProvider;
|
||||
import io.ebean.config.ServerConfig;
|
||||
import io.ebean.config.TenantDataSourceProvider;
|
||||
import io.ebean.config.TenantMode;
|
||||
import io.ebean.config.TenantSchemaProvider;
|
||||
import io.ebean.config.*;
|
||||
import io.ebean.config.dbplatform.mysql.MySqlPlatform;
|
||||
import io.ebean.config.dbplatform.postgres.PostgresPlatform;
|
||||
import org.junit.Test;
|
||||
@@ -80,4 +75,34 @@ public class EbeanServerFactory_MultiTenancy_Test {
|
||||
|
||||
EbeanServerFactory.create(config);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests using multi tenancy per schema
|
||||
*/
|
||||
@Test
|
||||
public void create_new_server_with_multi_tenancy_catalog() {
|
||||
|
||||
String tenant = "customer";
|
||||
CurrentTenantProvider tenantProvider = Mockito.mock(CurrentTenantProvider.class);
|
||||
Mockito.doReturn(tenant).when(tenantProvider).currentId();
|
||||
|
||||
TenantCatalogProvider catalogProvider = Mockito.mock(TenantCatalogProvider.class);
|
||||
Mockito.doReturn("tenant_catalog").when(catalogProvider).catalog(tenant);
|
||||
|
||||
ServerConfig config = new ServerConfig();
|
||||
config.setName("h2");
|
||||
config.loadFromProperties();
|
||||
config.loadTestProperties();
|
||||
config.setRegister(false);
|
||||
config.setDefaultServer(false);
|
||||
|
||||
config.setTenantMode(TenantMode.CATALOG);
|
||||
config.setCurrentTenantProvider(tenantProvider);
|
||||
config.setTenantCatalogProvider(catalogProvider);
|
||||
|
||||
config.setDdlRun(false);
|
||||
config.setDatabasePlatform(new MySqlPlatform());
|
||||
|
||||
EbeanServerFactory.create(config);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user