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,11 +1,11 @@
package org;
import io.ebean.EbeanServer;
import io.ebean.EbeanServerFactory;
import io.ebean.Database;
import io.ebean.DatabaseFactory;
import io.ebean.Transaction;
import io.ebean.annotation.Cache;
import io.ebean.config.DatabaseConfig;
import io.ebean.config.PlatformNoGeneratedKeysTest;
import io.ebean.config.ServerConfig;
import javax.persistence.Entity;
import javax.persistence.Id;
@@ -40,13 +40,13 @@ public class MainMemoryLeak {
PlatformNoGeneratedKeysTest.OtherH2Platform platform = new PlatformNoGeneratedKeysTest.OtherH2Platform();
ServerConfig config = new ServerConfig();
DatabaseConfig config = new DatabaseConfig();
config.setDatabasePlatform(platform);
config.addClass(ECachedBean.class);
config.loadFromProperties();
EbeanServer server = EbeanServerFactory.create(config);
Database server = DatabaseFactory.create(config);
// create a string with 10k chars
char[] c = new char[10_000];
@@ -70,6 +70,6 @@ public class MainMemoryLeak {
System.out.println("Success, no mem limit detected");
txn.commit();
}
server.shutdown();
}
}
@@ -1,11 +1,12 @@
package org.multitenant.partition;
import io.ebean.BaseTestCase;
import io.ebean.EbeanServer;
import io.ebean.EbeanServerFactory;
import io.ebean.config.ServerConfig;
import io.ebean.Database;
import io.ebean.DatabaseFactory;
import io.ebean.config.DatabaseConfig;
import io.ebean.config.TenantMode;
import org.ebeantest.LoggedSqlCollector;
import org.junit.AfterClass;
import org.junit.Test;
import java.util.ArrayList;
@@ -16,7 +17,7 @@ import static org.assertj.core.api.Assertions.assertThat;
public class MultiTenantPartitionTest extends BaseTestCase {
private static String[] names = {"Ace", "Base", "Case", "Dae", "Eva"};
private static final String[] names = {"Ace", "Base", "Case", "Dae", "Eva"};
static List<MtTenant> tenants() {
List<MtTenant> tenants = new ArrayList<>();
@@ -26,12 +27,16 @@ public class MultiTenantPartitionTest extends BaseTestCase {
return tenants;
}
private static EbeanServer server = init();
private static final Database server = init();
static {
server.saveAll(tenants());
}
@AfterClass
public static void shutdown() {
server.shutdown();
}
@Test
public void start() {
@@ -103,9 +108,9 @@ public class MultiTenantPartitionTest extends BaseTestCase {
}
private static EbeanServer init() {
private static Database init() {
ServerConfig config = new ServerConfig();
DatabaseConfig config = new DatabaseConfig();
config.setName("h2multitenant");
config.loadFromProperties();
@@ -120,6 +125,6 @@ public class MultiTenantPartitionTest extends BaseTestCase {
config.getClasses().add(MtTenant.class);
config.getClasses().add(MtContent.class);
return EbeanServerFactory.create(config);
return DatabaseFactory.create(config);
}
}
@@ -3,9 +3,10 @@ package org.tests.changelog;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.ebean.BaseTestCase;
import io.ebean.EbeanServerFactory;
import io.ebean.Database;
import io.ebean.DatabaseFactory;
import io.ebean.annotation.ChangeLog;
import io.ebean.config.ServerConfig;
import io.ebean.config.DatabaseConfig;
import io.ebean.event.BeanPersistRequest;
import io.ebean.event.changelog.BeanChange;
import io.ebean.event.changelog.ChangeLogFilter;
@@ -14,7 +15,6 @@ import io.ebean.event.changelog.ChangeLogPrepare;
import io.ebean.event.changelog.ChangeLogRegister;
import io.ebean.event.changelog.ChangeSet;
import io.ebean.event.changelog.ChangeType;
import io.ebeaninternal.api.SpiEbeanServer;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -31,16 +31,16 @@ public class TestChangeLog extends BaseTestCase {
TDChangeLogRegister changeLogRegister = new TDChangeLogRegister();
SpiEbeanServer server;
Database server;
@Before
public void setup() {
server = getServer();
server = createServer();
}
@After
public void shutdown() {
server.shutdown(true, false);
server.shutdown();
}
@Test
@@ -65,7 +65,7 @@ public class TestChangeLog extends BaseTestCase {
assertThat(change.getEvent()).isEqualTo(ChangeType.UPDATE);
assertThat(change.getOldData()).contains("\"name\":\"logBean\"");
assertThat(change.getData()) .contains("\"name\":\"ChangedName\"");
assertThat(change.getData()).contains("\"name\":\"ChangedName\"");
server.delete(bean);
@@ -120,31 +120,27 @@ public class TestChangeLog extends BaseTestCase {
}
private Database createServer() {
private SpiEbeanServer getServer() {
ServerConfig config = new ServerConfig();
DatabaseConfig config = new DatabaseConfig();
config.setName("h2other");
config.loadFromProperties();
config.setDdlGenerate(true);
config.setDdlRun(true);
config.setDdlExtra(false);
config.setDefaultServer(false);
config.setRegister(false);
config.setChangeLogAsync(false);
config.addClass(EBasicChangeLog.class);
config.setChangeLogPrepare(changeLogPrepare);
config.setChangeLogListener(changeLogListener);
config.setChangeLogRegister(changeLogRegister);
return (SpiEbeanServer) EbeanServerFactory.create(config);
return DatabaseFactory.create(config);
}
class TDChangeLogPrepare implements ChangeLogPrepare {
public static class TDChangeLogPrepare implements ChangeLogPrepare {
@Override
public boolean prepare(ChangeSet changes) {
changes.setUserId("appUser1");
@@ -153,14 +149,12 @@ public class TestChangeLog extends BaseTestCase {
}
}
class TDChangeLogListener implements ChangeLogListener {
public static class TDChangeLogListener implements ChangeLogListener {
ObjectMapper objectMapper = new ObjectMapper();
ChangeSet changes;
/**
*/
public TDChangeLogListener() {
objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
}
@@ -184,7 +178,7 @@ public class TestChangeLog extends BaseTestCase {
}
class TDChangeLogRegister implements ChangeLogRegister {
public static class TDChangeLogRegister implements ChangeLogRegister {
@Override
public ChangeLogFilter getChangeFilter(Class<?> beanType) {
@@ -198,11 +192,10 @@ public class TestChangeLog extends BaseTestCase {
}
}
/**
* Change log filter that includes all the inserts, updates and deletes.
*/
class TDFilter implements ChangeLogFilter {
public static class TDFilter implements ChangeLogFilter {
/**
* Returns true including all the inserts.
@@ -1,27 +0,0 @@
package org.tests.ddl;
import io.ebean.EbeanServer;
import io.ebean.EbeanServerFactory;
import io.ebean.config.ServerConfig;
import org.tests.model.basic.EBasic;
public class MainDdlWithSchema {
public static void main(String[] args) {
ServerConfig cfg = new ServerConfig();
cfg.setName("h2");
cfg.loadFromProperties();
cfg.addClass(EBasic.class);
// .... other settings ...
//UnderscoreNamingConvention naming = new UnderscoreNamingConvention();
//naming.setSchema("test");
//cfg.setNamingConvention(naming);
cfg.setDdlGenerate(true);
cfg.setDdlRun(true);
EbeanServer ebean = EbeanServerFactory.create(cfg);
//ebean.createSqlUpdate("create schema foo").execute();
System.out.println(ebean);
}
}
@@ -1,16 +1,16 @@
package org.tests.persistencecontext;
import io.ebean.BaseTestCase;
import io.ebean.EbeanServer;
import io.ebean.EbeanServerFactory;
import io.ebean.Database;
import io.ebean.DatabaseFactory;
import io.ebean.PersistenceContextScope;
import io.ebean.Query;
import io.ebean.config.ContainerConfig;
import io.ebean.config.ServerConfig;
import io.ebean.config.DatabaseConfig;
import io.ebeaninternal.api.SpiEbeanServer;
import io.ebeaninternal.api.SpiQuery;
import org.tests.model.basic.EBasicVer;
import org.junit.Test;
import org.tests.model.basic.EBasicVer;
import java.util.Properties;
@@ -20,20 +20,20 @@ public class TestPersistenceContextServerConfig extends BaseTestCase {
@Test
public void test_config() {
SpiEbeanServer ebeanServer = (SpiEbeanServer) create();
try {
Query<EBasicVer> query = ebeanServer.find(EBasicVer.class);
PersistenceContextScope scope = ebeanServer.getPersistenceContextScope((SpiQuery<?>) query);
Query<EBasicVer> query = ebeanServer.find(EBasicVer.class);
PersistenceContextScope scope = ebeanServer.getPersistenceContextScope((SpiQuery<?>) query);
assertEquals(PersistenceContextScope.QUERY, scope);
assertEquals(PersistenceContextScope.QUERY, scope);
} finally {
ebeanServer.shutdown();
}
}
static EbeanServer create() {
static Database create() {
ServerConfig config = new ServerConfig();
DatabaseConfig config = new DatabaseConfig();
config.setName("withPCQuery");
config.setDdlExtra(false);
@@ -49,15 +49,7 @@ public class TestPersistenceContextServerConfig extends BaseTestCase {
config.setDefaultServer(false);
config.setRegister(false);
// DataSourceConfig dataSourceConfig = new DataSourceConfig();
// dataSourceConfig.setUsername("sa");
// dataSourceConfig.setPassword("");
// dataSourceConfig.setUrl("jdbc:h2:mem:withPCQuery;");
// dataSourceConfig.setDriver("org.h2.Driver");
// config.setDataSourceConfig(dataSourceConfig);
config.addClass(EBasicVer.class);
return EbeanServerFactory.create(config);
return DatabaseFactory.create(config);
}
}
@@ -1,22 +1,22 @@
package org.tests.readaudit;
import io.ebean.BaseTestCase;
import io.ebean.EbeanServerFactory;
import io.ebean.Database;
import io.ebean.DatabaseFactory;
import io.ebean.FutureList;
import io.ebean.cache.ServerCache;
import io.ebean.cache.ServerCacheStatistics;
import io.ebean.config.ServerConfig;
import io.ebean.config.DatabaseConfig;
import io.ebean.event.readaudit.ReadAuditLogger;
import io.ebean.event.readaudit.ReadAuditPrepare;
import io.ebean.event.readaudit.ReadAuditQueryPlan;
import io.ebean.event.readaudit.ReadEvent;
import io.ebeaninternal.api.SpiEbeanServer;
import org.tests.model.basic.Country;
import org.tests.model.basic.EBasicChangeLog;
import org.ebeantest.LoggedSqlCollector;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.tests.model.basic.Country;
import org.tests.model.basic.EBasicChangeLog;
import java.util.ArrayList;
import java.util.HashSet;
@@ -30,18 +30,18 @@ import static org.assertj.core.api.Assertions.assertThat;
public class TestReadAudit extends BaseTestCase {
TDReadAuditPrepare readAuditPrepare = new TDReadAuditPrepare(true);
TDReadAuditPrepare readAuditPrepare = new TDReadAuditPrepare();
TDReadAuditLogger readAuditLogger = new TDReadAuditLogger(true);
TDReadAuditLogger readAuditLogger = new TDReadAuditLogger();
SpiEbeanServer server;
Database server;
Long id1;
Long id2;
@Before
public void setup() {
server = getServer();
server = createServer();
EBasicChangeLog bean = new EBasicChangeLog();
bean.setName("readAudito1");
@@ -63,7 +63,7 @@ public class TestReadAudit extends BaseTestCase {
@After
public void shutdown() {
server.shutdown(true, false);
server.shutdown();
}
@Test
@@ -304,9 +304,9 @@ public class TestReadAudit extends BaseTestCase {
assertThat(readAuditLogger.many).hasSize(2);
}
private SpiEbeanServer getServer() {
private Database createServer() {
ServerConfig config = new ServerConfig();
DatabaseConfig config = new DatabaseConfig();
config.setName("h2other");
config.loadFromProperties();
@@ -323,7 +323,7 @@ public class TestReadAudit extends BaseTestCase {
config.setReadAuditLogger(readAuditLogger);
config.setReadAuditPrepare(readAuditPrepare);
return (SpiEbeanServer) EbeanServerFactory.create(config);
return DatabaseFactory.create(config);
}
private void resetCounters() {
@@ -331,13 +331,10 @@ public class TestReadAudit extends BaseTestCase {
readAuditPrepare.resetCounters();
}
class TDReadAuditPrepare implements ReadAuditPrepare {
static class TDReadAuditPrepare implements ReadAuditPrepare {
int count;
TDReadAuditPrepare(boolean dummy) {
}
void resetCounters() {
count = 0;
}
@@ -351,15 +348,12 @@ public class TestReadAudit extends BaseTestCase {
}
}
class TDReadAuditLogger implements ReadAuditLogger {
static class TDReadAuditLogger implements ReadAuditLogger {
Set<ReadAuditQueryPlan> plans = new HashSet<>();
List<ReadEvent> beans = new ArrayList<>();
List<ReadEvent> many = new ArrayList<>();
TDReadAuditLogger(boolean dummy) {
}
void resetCounters() {
plans.clear();
beans.clear();