mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
No effective change - add extra test coverage on DefaultTransactionThreadLocal
This commit is contained in:
+61
-7
@@ -2,26 +2,80 @@ package io.ebeaninternal.server.transaction;
|
||||
|
||||
import io.ebean.BaseTestCase;
|
||||
import io.ebean.Ebean;
|
||||
import io.ebean.Transaction;
|
||||
import io.ebean.annotation.ForPlatform;
|
||||
import io.ebean.annotation.Platform;
|
||||
import io.ebeaninternal.api.SpiTransaction;
|
||||
import org.junit.Test;
|
||||
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.assertSame;
|
||||
|
||||
public class DefaultTransactionThreadLocalTest extends BaseTestCase {
|
||||
|
||||
@ForPlatform({Platform.H2})
|
||||
@Test
|
||||
public void get() throws Exception {
|
||||
public void get() {
|
||||
Ebean.execute(() -> {
|
||||
SpiTransaction txn = DefaultTransactionThreadLocal.get("h2");
|
||||
assertNotNull(txn);
|
||||
});
|
||||
|
||||
if (isH2()) {
|
||||
Ebean.execute(() -> {
|
||||
SpiTransaction txn = DefaultTransactionThreadLocal.get("h2");
|
||||
assertNotNull(txn);
|
||||
});
|
||||
// thread local should be set to null
|
||||
assertNull(DefaultTransactionThreadLocal.get("h2"));
|
||||
}
|
||||
|
||||
// thread local should be set to null
|
||||
@ForPlatform({Platform.H2})
|
||||
@Test
|
||||
public void tryWithResources_expect_scopeCleanup() {
|
||||
|
||||
try (Transaction transaction = Ebean.beginTransaction()) {
|
||||
assertNotNull(transaction);
|
||||
SpiTransaction txn = DefaultTransactionThreadLocal.get("h2");
|
||||
assertSame(txn, transaction);
|
||||
|
||||
try (Transaction nested = Ebean.beginTransaction()) {
|
||||
assertNotNull(nested);
|
||||
SpiTransaction txnNested = DefaultTransactionThreadLocal.get("h2");
|
||||
assertSame(txnNested, nested);
|
||||
}
|
||||
|
||||
assertNotNull(DefaultTransactionThreadLocal.get("h2"));
|
||||
}
|
||||
|
||||
assertNull(DefaultTransactionThreadLocal.get("h2"));
|
||||
}
|
||||
|
||||
@ForPlatform({Platform.H2})
|
||||
@Test
|
||||
public void afterCommit_expect_scopeCleanup() {
|
||||
|
||||
try (Transaction transaction = Ebean.beginTransaction()) {
|
||||
transaction.commit();
|
||||
assertNull(DefaultTransactionThreadLocal.get("h2"));
|
||||
}
|
||||
assertNull(DefaultTransactionThreadLocal.get("h2"));
|
||||
}
|
||||
|
||||
@ForPlatform({Platform.H2})
|
||||
@Test
|
||||
public void afterRollback_expect_scopeCleanup() {
|
||||
|
||||
try (Transaction transaction = Ebean.beginTransaction()) {
|
||||
|
||||
transaction.rollback();
|
||||
assertNull(DefaultTransactionThreadLocal.get("h2"));
|
||||
}
|
||||
assertNull(DefaultTransactionThreadLocal.get("h2"));
|
||||
}
|
||||
|
||||
@ForPlatform({Platform.H2})
|
||||
@Test
|
||||
public void end_withoutActiveTransaction_isFine() {
|
||||
|
||||
assertNull(Ebean.currentTransaction());
|
||||
Ebean.endTransaction();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user