Update tests for DatabaseFactory.create() with shutdown

This commit is contained in:
rob bygrave committed 2020-10-19 12:12:00 +13:00
1 parent 1d1cf76b5e
commit 8b9f760cb2
18 files changed
+214 -230

No files matched your search

@@ -1,7 +1,7 @@
package io.ebean;
import io.ebean.config.CurrentTenantProvider;
import io.ebean.config.ServerConfig;
import io.ebean.config.DatabaseConfig;
import io.ebean.config.TenantCatalogProvider;
import io.ebean.config.TenantDataSourceProvider;
import io.ebean.config.TenantMode;
@@ -29,7 +29,7 @@ public class EbeanServerFactory_MultiTenancy_Test extends BaseTestCase {
TenantDataSourceProvider dataSourceProvider = Mockito.mock(TenantDataSourceProvider.class);
Mockito.doReturn(mockedDataSource).when(dataSourceProvider).dataSource(tenant);
ServerConfig config = new ServerConfig();
DatabaseConfig config = new DatabaseConfig();
config.setName("multiTenantDb");
config.loadFromProperties();
config.setRegister(false);
@@ -45,7 +45,8 @@ public class EbeanServerFactory_MultiTenancy_Test extends BaseTestCase {
//config.setDdlRun(false);
config.setDatabasePlatform(new PostgresPlatform());
EbeanServerFactory.create(config);
final Database database = DatabaseFactory.create(config);
database.shutdown();
}
@@ -63,9 +64,10 @@ public class EbeanServerFactory_MultiTenancy_Test extends BaseTestCase {
TenantSchemaProvider schemaProvider = Mockito.mock(TenantSchemaProvider.class);
Mockito.doReturn("tenant_schema").when(schemaProvider).schema(tenant);
ServerConfig config = new ServerConfig();
DatabaseConfig config = new DatabaseConfig();
config.setName("h2");
config.loadFromProperties();
config.setName("multi-tenancy");
config.setRegister(false);
config.setDefaultServer(false);
@@ -76,7 +78,8 @@ public class EbeanServerFactory_MultiTenancy_Test extends BaseTestCase {
config.setDdlRun(false);
config.setDatabasePlatform(new MySqlPlatform());
EbeanServerFactory.create(config);
final Database database = DatabaseFactory.create(config);
database.shutdown();
}
/**
@@ -92,9 +95,10 @@ public class EbeanServerFactory_MultiTenancy_Test extends BaseTestCase {
TenantCatalogProvider catalogProvider = Mockito.mock(TenantCatalogProvider.class);
Mockito.doReturn("tenant_catalog").when(catalogProvider).catalog(tenant);
ServerConfig config = new ServerConfig();
DatabaseConfig config = new DatabaseConfig();
config.setName("h2");
config.loadFromProperties();
config.setName("multi-tenancy");
config.setRegister(false);
config.setDefaultServer(false);
@@ -105,6 +109,7 @@ public class EbeanServerFactory_MultiTenancy_Test extends BaseTestCase {
config.setDdlRun(false);
config.setDatabasePlatform(new MySqlPlatform());
EbeanServerFactory.create(config);
final Database database = DatabaseFactory.create(config);
database.shutdown();
}
}
@@ -1,8 +1,8 @@
package io.ebean.config;
import io.ebean.EbeanServer;
import io.ebean.EbeanServerFactory;
import io.ebean.Database;
import io.ebean.DatabaseFactory;
import io.ebean.annotation.ForPlatform;
import io.ebean.annotation.Platform;
import org.junit.Ignore;
@@ -26,7 +26,7 @@ public class ServerConfigSqlServerTest {
// no explicit databasePlatformName set ..
//props.setProperty("ebean.some_sqlserver.databasePlatformName", "sqlserver17");
ServerConfig config = new ServerConfig();
DatabaseConfig config = new DatabaseConfig();
config.setName("some_sqlserver");
config.loadFromProperties(props);
@@ -38,9 +38,10 @@ public class ServerConfigSqlServerTest {
config.setRegister(false);
config.getClasses().add(EBasicVer.class);
EbeanServer sqlServer = EbeanServerFactory.create(config);
Database sqlServer = DatabaseFactory.create(config);
assertThat(sqlServer).isNotNull();
sqlServer.shutdown();
// javax.persistence.PersistenceException: java.lang.IllegalArgumentException: For SqlServer please choose the more specific sqlserver16 or sqlserver17 platform via ServerConfig.setDatabasePlatformName. Refer to issue #1340 for details
//
@@ -61,7 +62,7 @@ public class ServerConfigSqlServerTest {
String name = "testsqlserver17";
ServerConfig config = new ServerConfig();
DatabaseConfig config = new DatabaseConfig();
config.setName(name);
Properties props = props(name);
@@ -79,9 +80,10 @@ public class ServerConfigSqlServerTest {
config.loadFromProperties(props);
config.getClasses().add(EBasicVer.class);
EbeanServer sqlServer = EbeanServerFactory.create(config);
Database sqlServer = DatabaseFactory.create(config);
assertThat(sqlServer).isNotNull();
sqlServer.shutdown();
}
@Ignore
@@ -93,7 +95,7 @@ public class ServerConfigSqlServerTest {
Properties props = props(name);
//props.setProperty("ebean.testsqlserver16.databasePlatformName", "sqlserver16");
ServerConfig config = new ServerConfig();
DatabaseConfig config = new DatabaseConfig();
config.setDefaultServer(false);
config.setRegister(false);
config.setDdlGenerate(true);
@@ -104,9 +106,10 @@ public class ServerConfigSqlServerTest {
config.loadFromProperties(props);
config.getClasses().add(EBasicVer.class);
EbeanServer sqlServer = EbeanServerFactory.create(config);
Database sqlServer = DatabaseFactory.create(config);
assertThat(sqlServer).isNotNull();
sqlServer.shutdown();
}
private Properties props(String dbName) {
@@ -18,9 +18,9 @@ import static org.assertj.core.api.Assertions.assertThat;
public class BeanPersistControllerTest {
private PersistAdapter continuePersistingAdapter = new PersistAdapter(true);
private final PersistAdapter continuePersistingAdapter = new PersistAdapter(true);
private PersistAdapter stopPersistingAdapter = new PersistAdapter(false);
private final PersistAdapter stopPersistingAdapter = new PersistAdapter(false);
@Test
public void issue_1341() {
@@ -3,12 +3,12 @@ package io.ebean.event;
import io.ebean.BaseTestCase;
import io.ebean.BeanState;
import io.ebean.DB;
import io.ebean.Database;
import io.ebean.DatabaseFactory;
import io.ebean.Ebean;
import io.ebean.config.DatabaseConfig;
import org.tests.model.basic.EBasicVer;
import org.junit.Test;
import org.tests.model.basic.EBasicVer;
import java.util.ArrayList;
import java.util.List;
@@ -91,7 +91,7 @@ public class BeanPostLoadTest extends BaseTestCase {
public void postLoad(Object bean) {
this.methodsCalled.add("postLoad");
this.bean = bean;
this.beanState = Ebean.getBeanState(bean);
this.beanState = DB.getBeanState(bean);
}
}
@@ -26,10 +26,13 @@ public class BeanDescriptor_registerTest {
config.getClasses().add(EBasic.class);
SpiEbeanServer ebeanServer = (SpiEbeanServer)DatabaseFactory.create(config);
BeanDescriptor<EBasic> desc = ebeanServer.getBeanDescriptor(EBasic.class);
persistListenerRegistrationTests(desc);
persistControllerRegistrationTests(desc);
try {
BeanDescriptor<EBasic> desc = ebeanServer.getBeanDescriptor(EBasic.class);
persistListenerRegistrationTests(desc);
persistControllerRegistrationTests(desc);
} finally {
ebeanServer.shutdown();
}
}
private void persistControllerRegistrationTests(BeanDescriptor<EBasic> desc) {
@@ -105,29 +105,31 @@ public class DefaultTransactionThreadLocalTest extends BaseTestCase {
@ForPlatform(Platform.H2)
@Test
public void usingDatabase() {
// setup
Database otherDb = createOtherDatabase();
EBasicVer bean = new EBasicVer("TestUsingDatabase");
otherDb.save(bean);
try {
EBasicVer bean = new EBasicVer("TestUsingDatabase");
otherDb.save(bean);
// act
final EBasicVer foundOtherDb = DB.find(EBasicVer.class)
.usingDatabase(otherDb)
.where().eq("name", "TestUsingDatabase")
.findOne();
// act
final EBasicVer foundOtherDb = DB.find(EBasicVer.class)
.usingDatabase(otherDb)
.where().eq("name", "TestUsingDatabase")
.findOne();
assertNotNull(foundOtherDb);
assertThat(foundOtherDb.getId()).isEqualTo(bean.getId());
assertNotNull(foundOtherDb);
assertThat(foundOtherDb.getId()).isEqualTo(bean.getId());
final EBasicVer foundDefaultDb = DB.find(EBasicVer.class)
.where().eq("name", "TestUsingDatabase")
.findOne();
final EBasicVer foundDefaultDb = DB.find(EBasicVer.class)
.where().eq("name", "TestUsingDatabase")
.findOne();
assertNull(foundDefaultDb);
assertNull(foundDefaultDb);
otherDb.delete(bean);
otherDb.shutdown();
otherDb.delete(bean);
} finally {
otherDb.shutdown();
}
}