diff --git a/src/test/java/io/ebean/plugin/ExpressionPathTest.java b/src/test/java/io/ebean/plugin/ExpressionPathTest.java index 050cdb3d4..e55598744 100644 --- a/src/test/java/io/ebean/plugin/ExpressionPathTest.java +++ b/src/test/java/io/ebean/plugin/ExpressionPathTest.java @@ -4,6 +4,7 @@ import io.ebean.Ebean; import io.ebean.EbeanServer; import org.tests.model.basic.Customer; import org.tests.model.basic.Order; +import org.tests.model.basic.ResetBasicData; import org.junit.Test; import static org.assertj.core.api.Assertions.assertThat; @@ -80,6 +81,8 @@ public class ExpressionPathTest { @Test public void test_dirty() throws Exception { + ResetBasicData.reset(); + BeanType customerBeanType = beanType(Customer.class); BeanType orderBeanType = beanType(Order.class); @@ -113,6 +116,10 @@ public class ExpressionPathTest { order = server.find(Order.class, order.getId()); assertThat(order.getCustomer().getName()).isEqualTo("baz"); + + // cleanup + server.delete(Order.class, order.getId()); + server.delete(Customer.class, customer.getId()); } } diff --git a/src/test/java/org/tests/autofetch/TunedQueryWithNullFetchedBeanTest.java b/src/test/java/org/tests/autofetch/TunedQueryWithNullFetchedBeanTest.java index b7bb545dc..4d20c866b 100644 --- a/src/test/java/org/tests/autofetch/TunedQueryWithNullFetchedBeanTest.java +++ b/src/test/java/org/tests/autofetch/TunedQueryWithNullFetchedBeanTest.java @@ -63,5 +63,7 @@ public class TunedQueryWithNullFetchedBeanTest extends BaseTestCase { // assert only one query executed List loggedSql = LoggedSqlCollector.stop(); Assert.assertEquals(1, loggedSql.size()); + + Ebean.delete(newCustomer); } } diff --git a/src/test/java/org/tests/basic/TestLazyLoadEmptyOneToMany.java b/src/test/java/org/tests/basic/TestLazyLoadEmptyOneToMany.java index 24f075e4d..0c8c29094 100644 --- a/src/test/java/org/tests/basic/TestLazyLoadEmptyOneToMany.java +++ b/src/test/java/org/tests/basic/TestLazyLoadEmptyOneToMany.java @@ -33,5 +33,8 @@ public class TestLazyLoadEmptyOneToMany extends BaseTestCase { int sz = contacts.size(); Assert.assertTrue(sz == 0); + + // cleanup + Ebean.delete(c1); } } diff --git a/src/test/java/org/tests/basic/TestTransient.java b/src/test/java/org/tests/basic/TestTransient.java index 0652fd5e2..e6c69752b 100644 --- a/src/test/java/org/tests/basic/TestTransient.java +++ b/src/test/java/org/tests/basic/TestTransient.java @@ -4,6 +4,7 @@ import io.ebean.BaseTestCase; import io.ebean.BeanState; import io.ebean.Ebean; import org.tests.model.basic.Customer; +import org.tests.model.basic.ResetBasicData; import org.junit.Assert; import org.junit.Test; @@ -12,6 +13,8 @@ public class TestTransient extends BaseTestCase { @Test public void testTransient() { + ResetBasicData.reset(); + Customer cnew = new Customer(); cnew.setName("testTrans"); @@ -58,5 +61,8 @@ public class TestTransient extends BaseTestCase { int rows = Ebean.createUpdate(Customer.class, updateStmt).set("id", custId).execute(); Assert.assertTrue("changed name back", 1 == rows); + + // cleanup + Ebean.delete(Customer.class, custId); } } diff --git a/src/test/java/org/tests/batchinsert/TestBatchSaveWithGetBeanId.java b/src/test/java/org/tests/batchinsert/TestBatchSaveWithGetBeanId.java index 3b3230581..2d4cfa3ea 100644 --- a/src/test/java/org/tests/batchinsert/TestBatchSaveWithGetBeanId.java +++ b/src/test/java/org/tests/batchinsert/TestBatchSaveWithGetBeanId.java @@ -33,5 +33,7 @@ public class TestBatchSaveWithGetBeanId extends BaseTestCase { // insert occurs and the bean has an Id value Object beanId = server.getBeanId(model); assertNotNull(beanId); + + Ebean.delete(Customer.class, beanId); } } diff --git a/src/test/java/org/tests/batchload/TestBasicNavOnEmpty.java b/src/test/java/org/tests/batchload/TestBasicNavOnEmpty.java index 15e765a5f..61d098ce0 100644 --- a/src/test/java/org/tests/batchload/TestBasicNavOnEmpty.java +++ b/src/test/java/org/tests/batchload/TestBasicNavOnEmpty.java @@ -4,6 +4,7 @@ import io.ebean.BaseTestCase; import io.ebean.Ebean; import org.tests.model.basic.Contact; import org.tests.model.basic.Customer; +import org.tests.model.basic.ResetBasicData; import org.junit.Assert; import org.junit.Test; @@ -14,6 +15,8 @@ public class TestBasicNavOnEmpty extends BaseTestCase { @Test public void test() { + ResetBasicData.reset(); + Customer c = new Customer(); c.setName("HelloRob"); @@ -23,6 +26,9 @@ public class TestBasicNavOnEmpty extends BaseTestCase { List contacts = c.getContacts(); Assert.assertEquals(0, contacts.size()); + + // cleanup + Ebean.delete(c); } } diff --git a/src/test/java/org/tests/batchload/TestEmptyManyLazyLoad.java b/src/test/java/org/tests/batchload/TestEmptyManyLazyLoad.java index 5cbc25901..825735cf8 100644 --- a/src/test/java/org/tests/batchload/TestEmptyManyLazyLoad.java +++ b/src/test/java/org/tests/batchload/TestEmptyManyLazyLoad.java @@ -26,5 +26,8 @@ public class TestEmptyManyLazyLoad extends BaseTestCase { Order o2 = Ebean.find(Order.class, o.getId()); o2.getDetails().size(); + // cleanup + Ebean.delete(o2); + } } diff --git a/src/test/java/org/tests/batchload/TestSecondQueryNoRows.java b/src/test/java/org/tests/batchload/TestSecondQueryNoRows.java index 344d774b4..54e8d28bb 100644 --- a/src/test/java/org/tests/batchload/TestSecondQueryNoRows.java +++ b/src/test/java/org/tests/batchload/TestSecondQueryNoRows.java @@ -4,6 +4,7 @@ import io.ebean.BaseTestCase; import io.ebean.Ebean; import io.ebean.FetchConfig; import org.tests.model.basic.Customer; +import org.tests.model.basic.ResetBasicData; import org.junit.Test; import static org.junit.Assert.assertEquals; @@ -14,6 +15,8 @@ public class TestSecondQueryNoRows extends BaseTestCase { @Test public void test() { + ResetBasicData.reset(); + Customer cnew = new Customer(); cnew.setName("testSecQueryNoRows"); @@ -27,5 +30,7 @@ public class TestSecondQueryNoRows extends BaseTestCase { assertNotNull(c); assertEquals(0, c.getContacts().size()); + + Ebean.delete(c); } } diff --git a/src/test/java/org/tests/cache/TestCacheInterceptSaveWhenLazyLoaded.java b/src/test/java/org/tests/cache/TestCacheInterceptSaveWhenLazyLoaded.java index 63ada4008..5ad1e93c7 100644 --- a/src/test/java/org/tests/cache/TestCacheInterceptSaveWhenLazyLoaded.java +++ b/src/test/java/org/tests/cache/TestCacheInterceptSaveWhenLazyLoaded.java @@ -4,6 +4,7 @@ import io.ebean.BaseTestCase; import io.ebean.Ebean; import org.tests.model.basic.Customer; import org.tests.model.basic.Order; +import org.tests.model.basic.ResetBasicData; import org.junit.Test; import static org.junit.Assert.assertSame; @@ -14,6 +15,8 @@ public class TestCacheInterceptSaveWhenLazyLoaded extends BaseTestCase { @Test public void test() { + ResetBasicData.reset(); + Customer customer = new Customer(); customer.setName("daCustomer"); Ebean.save(customer); @@ -45,12 +48,12 @@ public class TestCacheInterceptSaveWhenLazyLoaded extends BaseTestCase { assertSame(foundOrder, order1); assertTrue(Ebean.getBeanState(foundOrder).isDirty()); - Ebean.delete(order1); - Ebean.delete(customer); - } finally { Ebean.endTransaction(); } + // cleanup + Ebean.delete(order); + Ebean.delete(customer); } } diff --git a/src/test/java/org/tests/delete/TestDeleteByIdWithPersistenceContext.java b/src/test/java/org/tests/delete/TestDeleteByIdWithPersistenceContext.java index 9e7f2a348..eb8fb6685 100644 --- a/src/test/java/org/tests/delete/TestDeleteByIdWithPersistenceContext.java +++ b/src/test/java/org/tests/delete/TestDeleteByIdWithPersistenceContext.java @@ -43,6 +43,9 @@ public class TestDeleteByIdWithPersistenceContext extends BaseTestCase { } + // cleanup + Ebean.delete(Product.class, 100); + Ebean.delete(Product.class, 101); } private Product createProduct(Integer id, String name) { diff --git a/src/test/java/org/tests/model/basic/ResetBasicData.java b/src/test/java/org/tests/model/basic/ResetBasicData.java index da93c3c9f..954932238 100644 --- a/src/test/java/org/tests/model/basic/ResetBasicData.java +++ b/src/test/java/org/tests/model/basic/ResetBasicData.java @@ -4,6 +4,8 @@ import io.ebean.Ebean; import io.ebean.EbeanServer; import org.tests.model.basic.Order.Status; +import static org.assertj.core.api.Assertions.assertThat; + import java.sql.Date; import java.util.ArrayList; import java.util.List; @@ -17,6 +19,25 @@ public class ResetBasicData { public static synchronized void reset() { if (runOnce) { + int cnt1 = server.find(Customer.class).findCount(); + int cnt2 = server.find(Order.class).findCount(); + int cnt3 = server.find(Country.class).findCount(); + int cnt4 = server.find(Product.class).findCount(); + if (cnt1 == 4 && cnt2 == 5 && cnt3 == 2 && cnt4 == 4) { + // OK, test data not modified + } else { + StringBuilder sb = new StringBuilder(); + sb.append("Customers:"); + server.find(Customer.class).findEach(c -> sb.append(' ').append(c.getId())); + sb.append(", Orders:"); + server.find(Order.class).findEach(c -> sb.append(' ').append(c.getId())); + sb.append(", Countries:"); + server.find(Country.class).findEach(c -> sb.append(' ').append(c.getCode())); + sb.append(", Products:"); + server.find(Product.class).findEach(c -> sb.append(' ').append(c.getId())); + System.err.println("WARNING: basic test data was modified. Current content:"); + System.err.println(sb.toString()); + } return; } diff --git a/src/test/java/org/tests/query/TestQueryFindPagedList.java b/src/test/java/org/tests/query/TestQueryFindPagedList.java index 094e16df5..97775405a 100644 --- a/src/test/java/org/tests/query/TestQueryFindPagedList.java +++ b/src/test/java/org/tests/query/TestQueryFindPagedList.java @@ -194,7 +194,7 @@ public class TestQueryFindPagedList extends BaseTestCase { ResetBasicData.reset(); - PagedList pagedList = Ebean.find(Order.class).setMaxRows(6).findPagedList(); + PagedList pagedList = Ebean.find(Order.class).setMaxRows(3).findPagedList(); LoggedSqlCollector.start(); diff --git a/src/test/java/org/tests/repository/TestBeanRepository.java b/src/test/java/org/tests/repository/TestBeanRepository.java index 3bc791aac..3649dccc5 100644 --- a/src/test/java/org/tests/repository/TestBeanRepository.java +++ b/src/test/java/org/tests/repository/TestBeanRepository.java @@ -3,6 +3,7 @@ package org.tests.repository; import io.ebean.BaseTestCase; import org.junit.Test; import org.tests.model.basic.Customer; +import org.tests.model.basic.ResetBasicData; import java.util.ArrayList; import java.util.List; @@ -15,6 +16,8 @@ public class TestBeanRepository extends BaseTestCase { @Test public void test() { + ResetBasicData.reset(); + CustomerRepository repository = new CustomerRepository(server()); Customer customer = new Customer(); @@ -48,6 +51,8 @@ public class TestBeanRepository extends BaseTestCase { @Test public void findByName() { + ResetBasicData.reset(); + CustomerRepository repository = new CustomerRepository(server()); Customer blah = new Customer(); diff --git a/src/test/java/org/tests/text/csv/TestCsvReader.java b/src/test/java/org/tests/text/csv/TestCsvReader.java index 624d42128..de4a0d4c5 100644 --- a/src/test/java/org/tests/text/csv/TestCsvReader.java +++ b/src/test/java/org/tests/text/csv/TestCsvReader.java @@ -1,7 +1,7 @@ package org.tests.text.csv; -import io.ebean.BaseTestCase; import io.ebean.Ebean; +import io.ebean.TransactionalTestCase; import io.ebean.text.csv.CsvReader; import org.tests.model.basic.Customer; import org.tests.model.basic.ResetBasicData; @@ -12,7 +12,7 @@ import java.io.FileReader; import java.net.URL; import java.util.Locale; -public class TestCsvReader extends BaseTestCase { +public class TestCsvReader extends TransactionalTestCase { @Test public void test() { diff --git a/src/test/java/org/tests/text/csv/TestCsvReaderWithCallback.java b/src/test/java/org/tests/text/csv/TestCsvReaderWithCallback.java index 15cb47d67..4ead0767a 100644 --- a/src/test/java/org/tests/text/csv/TestCsvReaderWithCallback.java +++ b/src/test/java/org/tests/text/csv/TestCsvReaderWithCallback.java @@ -1,26 +1,26 @@ package org.tests.text.csv; -import io.ebean.BaseTestCase; import io.ebean.Ebean; import io.ebean.EbeanServer; +import io.ebean.TransactionalTestCase; import io.ebean.text.csv.CsvReader; import io.ebean.text.csv.DefaultCsvCallback; import org.tests.model.basic.Customer; import org.tests.model.basic.ResetBasicData; import org.junit.Test; +import static org.assertj.core.api.Assertions.assertThat; + import java.io.File; import java.io.FileReader; import java.net.URL; import java.util.Locale; -public class TestCsvReaderWithCallback extends BaseTestCase { +public class TestCsvReaderWithCallback extends TransactionalTestCase { @Test public void test() throws Throwable { - ResetBasicData.reset(); - URL resource = TestCsvReaderWithCallback.class.getResource("/test1.csv"); File f = new File(resource.getFile()); @@ -43,6 +43,8 @@ public class TestCsvReaderWithCallback extends BaseTestCase { // processor.addReference("billingAddress.country.code"); csvReader.addProperty("billingAddress.country.code"); + int before = Ebean.find(Customer.class).findCount(); + csvReader.process(reader, new DefaultCsvCallback() { @Override @@ -50,10 +52,14 @@ public class TestCsvReaderWithCallback extends BaseTestCase { server.save(cust.getBillingAddress(), transaction); server.save(cust, transaction); + } }); + int after = Ebean.find(Customer.class).findCount(); + assertThat(after).isEqualTo(before + 9); + } } diff --git a/src/test/java/org/tests/text/json/TestTextJsonInsertUpdate.java b/src/test/java/org/tests/text/json/TestTextJsonInsertUpdate.java index 8f5b7de1f..06bfc9c11 100644 --- a/src/test/java/org/tests/text/json/TestTextJsonInsertUpdate.java +++ b/src/test/java/org/tests/text/json/TestTextJsonInsertUpdate.java @@ -36,5 +36,8 @@ public class TestTextJsonInsertUpdate extends BaseTestCase { Customer c2 = jsonContext.toBean(Customer.class, j2); Ebean.update(c2); + // cleanup + Ebean.delete(Customer.class, c0.getId()); + } } diff --git a/src/test/java/org/tests/update/TestUpdatePartial.java b/src/test/java/org/tests/update/TestUpdatePartial.java index 091e10a1c..48624e35a 100644 --- a/src/test/java/org/tests/update/TestUpdatePartial.java +++ b/src/test/java/org/tests/update/TestUpdatePartial.java @@ -46,6 +46,9 @@ public class TestUpdatePartial extends BaseTestCase { Ebean.save(c3); checkDbStatusValue(c.getId(), "N"); + + // cleanup + Ebean.delete(Customer.class, c.getId()); } private void checkDbStatusValue(Integer custId, String dbStatus) { @@ -71,5 +74,9 @@ public class TestUpdatePartial extends BaseTestCase { Ebean.save(customerWithoutChanges); assertThat(customerWithoutChanges.getUpdtime()).isEqualToIgnoringMillis(customer.getUpdtime()); + + // cleanup + Ebean.delete(customerWithoutChanges); + } }