mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
Merge branch 'master' into wip/h2database-v2
This commit is contained in:
@@ -6,13 +6,20 @@ import io.ebean.Database;
|
||||
import io.ebean.annotation.IgnorePlatform;
|
||||
import io.ebean.annotation.Platform;
|
||||
import io.ebean.annotation.Transactional;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.tests.model.basic.Customer;
|
||||
import org.tests.model.basic.ResetBasicData;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||
|
||||
public class TestBatchSaveWithGetBeanId extends BaseTestCase {
|
||||
|
||||
@BeforeAll
|
||||
static void before() {
|
||||
ResetBasicData.reset();
|
||||
}
|
||||
|
||||
/**
|
||||
* Making this transaction with batchSize means that the insert
|
||||
* below does not occur immediately ... and the getBeanId()
|
||||
@@ -22,7 +29,6 @@ public class TestBatchSaveWithGetBeanId extends BaseTestCase {
|
||||
@Test
|
||||
@IgnorePlatform(Platform.HANA) // HANA doesn't support insert batching
|
||||
public void test() {
|
||||
|
||||
Database server = DB.getDefault();
|
||||
Customer model = new Customer();
|
||||
model.setName("foo");
|
||||
|
||||
@@ -2,8 +2,10 @@ package org.tests.insert;
|
||||
|
||||
import io.ebean.BaseTestCase;
|
||||
import io.ebean.DB;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.tests.model.basic.Customer;
|
||||
import org.tests.model.basic.ResetBasicData;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -12,9 +14,13 @@ import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
public class TestInsertCollection extends BaseTestCase {
|
||||
|
||||
@BeforeAll
|
||||
static void before() {
|
||||
ResetBasicData.reset();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test() {
|
||||
|
||||
Customer cust1 = new Customer();
|
||||
cust1.setName("jim");
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ package org.tests.model.basic;
|
||||
|
||||
import io.ebean.DB;
|
||||
import io.ebean.Database;
|
||||
import io.ebean.Transaction;
|
||||
import org.tests.model.basic.Order.Status;
|
||||
|
||||
import java.sql.Date;
|
||||
@@ -47,6 +48,7 @@ public class ResetBasicData {
|
||||
// the test rely on the products being in there
|
||||
return;
|
||||
}
|
||||
Transaction.current().setBatchMode(false);
|
||||
//me.deleteAll();
|
||||
me.insertCountries();
|
||||
me.insertProducts();
|
||||
@@ -56,100 +58,55 @@ public class ResetBasicData {
|
||||
}
|
||||
|
||||
|
||||
public void deleteAll() {
|
||||
DB.execute(() -> {
|
||||
private void insertCountries() {
|
||||
Country c = new Country();
|
||||
c.setCode("NZ");
|
||||
c.setName("New Zealand");
|
||||
server.save(c);
|
||||
|
||||
// orm update use bean name and bean properties
|
||||
server.sqlUpdate("delete from o_cached_bean_child").execute();
|
||||
server.sqlUpdate("delete from o_cached_bean_country").execute();
|
||||
server.sqlUpdate("delete from o_cached_bean").execute();
|
||||
|
||||
server.createUpdate(OrderShipment.class, "delete from orderShipment").execute();
|
||||
|
||||
server.createUpdate(OrderDetail.class, "delete from orderDetail").execute();
|
||||
|
||||
server.createUpdate(Order.class, "delete from order").execute();
|
||||
|
||||
server.createUpdate(Contact.class, "delete from contact").execute();
|
||||
|
||||
server.createUpdate(Customer.class, "delete from Customer").execute();
|
||||
|
||||
server.createUpdate(Address.class, "delete from address").execute();
|
||||
|
||||
// sql update uses table and column names
|
||||
server.sqlUpdate("delete from o_country").execute();
|
||||
server.sqlUpdate("delete from o_product").execute();
|
||||
|
||||
});
|
||||
Country au = new Country();
|
||||
au.setCode("AU");
|
||||
au.setName("Australia");
|
||||
server.save(au);
|
||||
}
|
||||
|
||||
|
||||
public void insertCountries() {
|
||||
private void insertProducts() {
|
||||
Product p = new Product();
|
||||
p.setName("Chair");
|
||||
p.setSku("C001");
|
||||
server.save(p);
|
||||
|
||||
if (server.find(Country.class).findCount() > 0) {
|
||||
return;
|
||||
}
|
||||
p = new Product();
|
||||
p.setName("Desk");
|
||||
p.setSku("DSK1");
|
||||
server.save(p);
|
||||
|
||||
server.execute(() -> {
|
||||
Country c = new Country();
|
||||
c.setCode("NZ");
|
||||
c.setName("New Zealand");
|
||||
server.save(c);
|
||||
p = new Product();
|
||||
p.setName("Computer");
|
||||
p.setSku("C002");
|
||||
server.save(p);
|
||||
|
||||
Country au = new Country();
|
||||
au.setCode("AU");
|
||||
au.setName("Australia");
|
||||
server.save(au);
|
||||
});
|
||||
p = new Product();
|
||||
p.setName("Printer");
|
||||
p.setSku("C003");
|
||||
server.save(p);
|
||||
}
|
||||
|
||||
private void insertTestCustAndOrders() {
|
||||
Customer cust1 = insertCustomer("Rob");
|
||||
Customer cust2 = insertCustomerNoAddress();
|
||||
insertCustomerFiona();
|
||||
insertCustomerNoContacts("NocCust");
|
||||
|
||||
public void insertProducts() {
|
||||
|
||||
if (server.find(Product.class).findCount() > 0) {
|
||||
return;
|
||||
}
|
||||
server.execute(() -> {
|
||||
Product p = new Product();
|
||||
p.setName("Chair");
|
||||
p.setSku("C001");
|
||||
server.save(p);
|
||||
|
||||
p = new Product();
|
||||
p.setName("Desk");
|
||||
p.setSku("DSK1");
|
||||
server.save(p);
|
||||
|
||||
p = new Product();
|
||||
p.setName("Computer");
|
||||
p.setSku("C002");
|
||||
server.save(p);
|
||||
|
||||
p = new Product();
|
||||
p.setName("Printer");
|
||||
p.setSku("C003");
|
||||
server.save(p);
|
||||
});
|
||||
}
|
||||
|
||||
public void insertTestCustAndOrders() {
|
||||
|
||||
DB.execute(() -> {
|
||||
Customer cust1 = insertCustomer("Rob");
|
||||
Customer cust2 = insertCustomerNoAddress();
|
||||
insertCustomerFiona();
|
||||
insertCustomerNoContacts("NocCust");
|
||||
|
||||
createOrder1(cust1);
|
||||
createOrder2(cust2);
|
||||
createOrder3(cust1);
|
||||
createOrder4(cust1);
|
||||
createOrder5(cust2);
|
||||
});
|
||||
createOrder1(cust1);
|
||||
createOrder2(cust2);
|
||||
createOrder3(cust1);
|
||||
createOrder4(cust1);
|
||||
createOrder5(cust2);
|
||||
}
|
||||
|
||||
public static Customer createCustAndOrder(String custName) {
|
||||
|
||||
ResetBasicData me = new ResetBasicData();
|
||||
Customer cust1 = insertCustomer(custName);
|
||||
me.createOrder1(cust1);
|
||||
@@ -157,7 +114,6 @@ public class ResetBasicData {
|
||||
}
|
||||
|
||||
public static Order createOrderCustAndOrder(String custName) {
|
||||
|
||||
ResetBasicData me = new ResetBasicData();
|
||||
Customer cust1 = insertCustomer(custName);
|
||||
return me.createOrder1(cust1);
|
||||
@@ -166,10 +122,8 @@ public class ResetBasicData {
|
||||
private static int contactEmailNum = 1;
|
||||
|
||||
private Customer insertCustomerFiona() {
|
||||
|
||||
Customer c = createCustomer("Fiona", "12 Apple St", "West Coast Rd", 1, "2009-08-31");
|
||||
c.setStatus(Customer.Status.ACTIVE);
|
||||
|
||||
c.addContact(createContact("Fiona", "Black"));
|
||||
c.addContact(createContact("Tracy", "Red"));
|
||||
|
||||
@@ -185,22 +139,18 @@ public class ResetBasicData {
|
||||
}
|
||||
|
||||
private Customer insertCustomerNoContacts(String name) {
|
||||
|
||||
Customer c = createCustomer("Roger", "15 Kumera Way", "Bos town", 1, "2010-04-10");
|
||||
c.setName(name);
|
||||
c.setStatus(Customer.Status.ACTIVE);
|
||||
|
||||
DB.save(c);
|
||||
return c;
|
||||
}
|
||||
|
||||
private Customer insertCustomerNoAddress() {
|
||||
|
||||
Customer c = new Customer();
|
||||
c.setName("Cust NoAddress");
|
||||
c.setStatus(Customer.Status.NEW);
|
||||
c.addContact(createContact("Jack", "Black"));
|
||||
|
||||
DB.save(c);
|
||||
return c;
|
||||
}
|
||||
@@ -216,7 +166,6 @@ public class ResetBasicData {
|
||||
}
|
||||
|
||||
public static Customer createCustomer(String name, String shippingStreet, String billingStreet, int contactSuffix, String annDate) {
|
||||
|
||||
Customer c = new Customer();
|
||||
c.setName(name);
|
||||
c.setStatus(Customer.Status.NEW);
|
||||
@@ -251,17 +200,14 @@ public class ResetBasicData {
|
||||
|
||||
c.setBillingAddress(billingAddr);
|
||||
}
|
||||
|
||||
return c;
|
||||
}
|
||||
|
||||
private Order createOrder1(Customer customer) {
|
||||
|
||||
Product product1 = DB.reference(Product.class, 1);
|
||||
Product product2 = DB.reference(Product.class, 2);
|
||||
Product product3 = DB.reference(Product.class, 3);
|
||||
|
||||
|
||||
Order order = new Order();
|
||||
order.setCustomer(customer);
|
||||
order.setOrderDate(Date.valueOf("2018-07-01"));
|
||||
@@ -271,16 +217,12 @@ public class ResetBasicData {
|
||||
details.add(new OrderDetail(product2, 3, 1.10));
|
||||
details.add(new OrderDetail(product3, 1, 2.00));
|
||||
order.setDetails(details);
|
||||
|
||||
|
||||
order.addShipment(new OrderShipment());
|
||||
|
||||
DB.save(order);
|
||||
return order;
|
||||
}
|
||||
|
||||
private void createOrder2(Customer customer) {
|
||||
|
||||
Product product1 = DB.reference(Product.class, 1);
|
||||
|
||||
Order order = new Order();
|
||||
@@ -291,14 +233,11 @@ public class ResetBasicData {
|
||||
List<OrderDetail> details = new ArrayList<>();
|
||||
details.add(new OrderDetail(product1, 4, 10.50));
|
||||
order.setDetails(details);
|
||||
|
||||
order.addShipment(new OrderShipment());
|
||||
|
||||
DB.save(order);
|
||||
}
|
||||
|
||||
private void createOrder3(Customer customer) {
|
||||
|
||||
Product product1 = DB.reference(Product.class, 1);
|
||||
Product product3 = DB.reference(Product.class, 3);
|
||||
|
||||
@@ -312,30 +251,23 @@ public class ResetBasicData {
|
||||
details.add(new OrderDetail(product3, 40, 2.10));
|
||||
details.add(new OrderDetail(product1, 5, 10.00));
|
||||
order.setDetails(details);
|
||||
|
||||
order.addShipment(new OrderShipment());
|
||||
|
||||
DB.save(order);
|
||||
}
|
||||
|
||||
private void createOrder4(Customer customer) {
|
||||
|
||||
Order order = new Order();
|
||||
order.setCustomer(customer);
|
||||
order.setOrderDate(Date.valueOf("2018-07-04"));
|
||||
|
||||
order.addShipment(new OrderShipment());
|
||||
|
||||
DB.save(order);
|
||||
}
|
||||
|
||||
private void createOrder5(Customer customer) {
|
||||
|
||||
Order order = new Order();
|
||||
order.setCustomer(customer);
|
||||
order.setOrderDate(Date.valueOf("2018-06-28"));
|
||||
order.addShipment(new OrderShipment());
|
||||
|
||||
DB.save(order);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -131,7 +131,7 @@ public class TestQuerySingleAttribute extends BaseTestCase {
|
||||
|
||||
Query<Customer> query = DB.find(Customer.class)
|
||||
.select("name")
|
||||
.where().eq("id", 1).query();
|
||||
.where().eq("name", "Rob").query();
|
||||
|
||||
String name = query.findSingleAttribute();
|
||||
|
||||
@@ -248,7 +248,7 @@ public class TestQuerySingleAttribute extends BaseTestCase {
|
||||
|
||||
String name = DB.find(Customer.class)
|
||||
.select("name")
|
||||
.where().eq("id", 1)
|
||||
.where().eq("name", "Rob")
|
||||
.findSingleAttribute();
|
||||
|
||||
assertThat(name).isNotNull();
|
||||
@@ -646,7 +646,7 @@ public class TestQuerySingleAttribute extends BaseTestCase {
|
||||
.findSingleAttributeList();
|
||||
assertThat(list1.get(0)).isInstanceOf(CountedValue.class);
|
||||
//assertThat(list1.toString()).isEqualTo("[1: Tracy, 3: Jim1, 1: Jack, 3: Fred1, 1: Fiona, 3: Bugs1]");
|
||||
|
||||
|
||||
query = DB.find(Contact.class).select("firstName");
|
||||
list1 = query
|
||||
.setCountDistinct(CountDistinctOrder.NO_ORDERING)
|
||||
|
||||
@@ -3,11 +3,13 @@ package org.tests.update;
|
||||
import io.ebean.DB;
|
||||
import io.ebean.TransactionalTestCase;
|
||||
import io.ebean.test.LoggedSql;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.tests.model.basic.Contact;
|
||||
import org.tests.model.basic.Customer;
|
||||
import org.tests.model.basic.EBasic;
|
||||
import org.tests.model.basic.EBasic.Status;
|
||||
import org.tests.model.basic.ResetBasicData;
|
||||
|
||||
import javax.persistence.EntityNotFoundException;
|
||||
import java.util.*;
|
||||
@@ -17,6 +19,11 @@ import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
public class TestStatelessUpdate extends TransactionalTestCase {
|
||||
|
||||
@BeforeAll
|
||||
static void before() {
|
||||
ResetBasicData.reset();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test() {
|
||||
|
||||
|
||||
@@ -3,14 +3,21 @@ package org.tests.update;
|
||||
import io.ebean.BaseTestCase;
|
||||
import io.ebean.DB;
|
||||
import io.ebean.SqlRow;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.tests.model.basic.Customer;
|
||||
import org.tests.model.basic.ResetBasicData;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
public class TestUpdatePartial extends BaseTestCase {
|
||||
|
||||
@BeforeAll
|
||||
static void before() {
|
||||
ResetBasicData.reset();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test() {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user