mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
#919 - io.ebean package initial
This commit is contained in:
@@ -0,0 +1,154 @@
|
||||
package org.tests.basic;
|
||||
|
||||
import io.ebean.EbeanServer;
|
||||
import io.ebean.EbeanServerFactory;
|
||||
import io.ebean.Query;
|
||||
import io.ebean.SqlRow;
|
||||
import io.ebean.config.ServerConfig;
|
||||
import io.ebean.config.dbplatform.postgres.PostgresPlatform;
|
||||
import org.tests.model.basic.TOne;
|
||||
import org.tests.model.basic.TSDetail;
|
||||
import org.tests.model.basic.TSMaster;
|
||||
import org.avaje.datasource.DataSourceConfig;
|
||||
import org.junit.Assert;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Used to run some tests manually on a specific Database type.
|
||||
*/
|
||||
public class MainDbBoolean {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
MainDbBoolean me = new MainDbBoolean();
|
||||
|
||||
EbeanServer server = me.createEbeanServer();
|
||||
me.simpleCheck(server);
|
||||
|
||||
EbeanServer oraServer = me.createOracleEbeanServer();
|
||||
me.simpleCheck(oraServer);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a server for running small oracle specific tests manually.
|
||||
* DDL generation etc.
|
||||
*/
|
||||
private EbeanServer createOracleEbeanServer() {
|
||||
|
||||
System.setProperty("ebean.ignoreExtraDdl", "true");
|
||||
|
||||
ServerConfig c = new ServerConfig();
|
||||
c.setName("ora");
|
||||
|
||||
// requires oracle driver in class path
|
||||
DataSourceConfig oraDb = new DataSourceConfig();
|
||||
oraDb.setDriver("oracle.jdbc.driver.OracleDriver");
|
||||
oraDb.setUsername("junk");
|
||||
oraDb.setPassword("junk");
|
||||
oraDb.setUrl("jdbc:oracle:thin:junk/junk@localhost:1521:XE");
|
||||
oraDb.setHeartbeatSql("select count(*) from dual");
|
||||
|
||||
|
||||
c.loadFromProperties();
|
||||
c.setDdlGenerate(true);
|
||||
c.setDdlRun(true);
|
||||
c.setDefaultServer(false);
|
||||
c.setRegister(false);
|
||||
c.setDataSourceConfig(oraDb);
|
||||
|
||||
//c.setDatabaseBooleanTrue("1");
|
||||
//c.setDatabaseBooleanFalse("0");
|
||||
c.setDatabaseBooleanTrue("T");
|
||||
c.setDatabaseBooleanFalse("F");
|
||||
|
||||
c.addClass(TOne.class);
|
||||
c.addClass(TSMaster.class);
|
||||
c.addClass(TSDetail.class);
|
||||
|
||||
return EbeanServerFactory.create(c);
|
||||
|
||||
}
|
||||
|
||||
private EbeanServer createEbeanServer() {
|
||||
|
||||
System.setProperty("ebean.ignoreExtraDdl", "true");
|
||||
|
||||
ServerConfig c = new ServerConfig();
|
||||
c.setName("pgtest");
|
||||
|
||||
// requires postgres driver in class path
|
||||
DataSourceConfig postgresDb = new DataSourceConfig();
|
||||
postgresDb.setDriver("org.postgresql.Driver");
|
||||
postgresDb.setUsername("test");
|
||||
postgresDb.setPassword("test");
|
||||
postgresDb.setUrl("jdbc:postgresql://127.0.0.1:5432/test");
|
||||
postgresDb.setHeartbeatSql("select count(*) from t_one");
|
||||
|
||||
c.loadFromProperties();
|
||||
c.setDdlGenerate(true);
|
||||
c.setDdlRun(true);
|
||||
c.setDefaultServer(false);
|
||||
c.setRegister(false);
|
||||
c.setDataSourceConfig(postgresDb);
|
||||
|
||||
//c.setDatabaseBooleanTrue("1");
|
||||
//c.setDatabaseBooleanFalse("0");
|
||||
c.setDatabaseBooleanTrue("T");
|
||||
c.setDatabaseBooleanFalse("F");
|
||||
|
||||
c.setDatabasePlatform(new PostgresPlatform());
|
||||
|
||||
c.addClass(TOne.class);
|
||||
|
||||
return EbeanServerFactory.create(c);
|
||||
|
||||
}
|
||||
|
||||
private void simpleCheck(EbeanServer server) {
|
||||
|
||||
TOne o = new TOne();
|
||||
o.setName("banan");
|
||||
o.setDescription("this one is true");
|
||||
o.setActive(true);
|
||||
|
||||
server.save(o);
|
||||
|
||||
TOne o2 = new TOne();
|
||||
o2.setName("banan");
|
||||
o2.setDescription("this one is false");
|
||||
o2.setActive(false);
|
||||
|
||||
server.save(o2);
|
||||
|
||||
|
||||
List<TOne> list = server.find(TOne.class)
|
||||
.setAutoTune(false)
|
||||
.order("id")
|
||||
.findList();
|
||||
|
||||
Assert.assertTrue(list.size() == 2);
|
||||
Assert.assertTrue(list.get(0).isActive());
|
||||
Assert.assertFalse(!list.get(0).isActive());
|
||||
|
||||
String sql = "select id, name, active from t_oneb order by id";
|
||||
List<SqlRow> sqlRows = server.createSqlQuery(sql).findList();
|
||||
Assert.assertTrue(sqlRows.size() == 2);
|
||||
Object active0 = sqlRows.get(0).get("active");
|
||||
Object active1 = sqlRows.get(1).get("active");
|
||||
|
||||
Assert.assertTrue("T".equals(active0));
|
||||
Assert.assertTrue("F".equals(active1));
|
||||
|
||||
|
||||
Query<TOne> query = server.find(TOne.class)
|
||||
.setAutoTune(false)
|
||||
.order("id");
|
||||
|
||||
int rc = query.findCount();
|
||||
Assert.assertTrue(rc > 0);
|
||||
|
||||
|
||||
System.out.println("done");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user