git://wamblee.org
/
utils
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
(no commit message)
[utils]
/
test
/
enterprise
/
src
/
test
/
java
/
org
/
wamblee
/
test
/
transactions
/
SimpleTransactionManagerTest.java
diff --git
a/test/enterprise/src/test/java/org/wamblee/test/transactions/SimpleTransactionManagerTest.java
b/test/enterprise/src/test/java/org/wamblee/test/transactions/SimpleTransactionManagerTest.java
index 97c0359d1e3521115234e1ddda30466b07d8af04..1f7afc645306fe19d48f065815243a531be980b1 100644
(file)
--- a/
test/enterprise/src/test/java/org/wamblee/test/transactions/SimpleTransactionManagerTest.java
+++ b/
test/enterprise/src/test/java/org/wamblee/test/transactions/SimpleTransactionManagerTest.java
@@
-23,6
+23,7
@@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Arrays;
import java.util.List;
+import javax.transaction.SystemException;
import javax.transaction.UserTransaction;
import org.junit.After;
import javax.transaction.UserTransaction;
import org.junit.After;
@@
-63,14
+64,21
@@
public class SimpleTransactionManagerTest {
@Test
public void testTransactionsAreThreadSpecific() throws Exception {
@Test
public void testTransactionsAreThreadSpecific() throws Exception {
- UserTransaction transaction = manager.getTransaction();
+ manager.getTransaction().getStatus();
+ UserTransaction transaction = manager.getThreadSpecificTransaction();
assertNotNull(transaction);
assertNotNull(transaction);
- assertSame(transaction, manager.getTransaction());
+ assertSame(transaction, manager.getT
hreadSpecificT
ransaction());
final ValueHolder<UserTransaction> transaction2 = new ValueHolder<UserTransaction>();
Thread t = new Thread(new Runnable() {
@Override
public void run() {
final ValueHolder<UserTransaction> transaction2 = new ValueHolder<UserTransaction>();
Thread t = new Thread(new Runnable() {
@Override
public void run() {
- transaction2.setValue(manager.getTransaction());
+ try {
+ manager.getTransaction().getStatus();
+ transaction2.setValue(manager
+ .getThreadSpecificTransaction());
+ } catch (SystemException e) {
+ fail("exception ");
+ }
}
});
t.start();
}
});
t.start();
@@
-81,18
+89,21
@@
public class SimpleTransactionManagerTest {
}
@Test
}
@Test
- public void testTransactionLifeCycle() {
- UserTransaction transaction = manager.getTransaction();
+ public void testTransactionLifeCycle() throws Exception {
+ manager.getTransaction().getStatus();
+ UserTransaction transaction = manager.getThreadSpecificTransaction();
+
assertNotNull(transaction);
assertEquals(1, callbacks.size());
callbacks.get(0).transactionFinished();
assertNotNull(transaction);
assertEquals(1, callbacks.size());
callbacks.get(0).transactionFinished();
- UserTransaction transaction2 = manager.getTransaction();
+ manager.getTransaction().getStatus();
+ UserTransaction transaction2 = manager.getThreadSpecificTransaction();
assertNotNull(transaction2);
assert (transaction != transaction2);
}
@Test
assertNotNull(transaction2);
assert (transaction != transaction2);
}
@Test
- public void testVerifyResourcesArePassedToFactory() {
+ public void testVerifyResourcesArePassedToFactory()
throws Exception
{
final ValueHolder<Object[]> actual = new ValueHolder<Object[]>();
when(factory.create(any(UserTransactionCallback.class), (List) any()))
final ValueHolder<Object[]> actual = new ValueHolder<Object[]>();
when(factory.create(any(UserTransactionCallback.class), (List) any()))
@@
-100,9
+111,10
@@
public class SimpleTransactionManagerTest {
@Override
public Object answer(InvocationOnMock aInvocation)
throws Throwable {
@Override
public Object answer(InvocationOnMock aInvocation)
throws Throwable {
- Object[] value = ((List)aInvocation.getArguments()[1]).toArray();
+ Object[] value = ((List) aInvocation.getArguments()[1])
+ .toArray();
actual.setValue(value);
actual.setValue(value);
- return
null
;
+ return
mock(UserTransaction.class)
;
}
});
}
});
@@
-111,9
+123,19
@@
public class SimpleTransactionManagerTest {
manager.addResource(resource1);
manager.addResource(resource2);
manager.addResource(resource1);
manager.addResource(resource2);
-
UserTransaction transaction = manager.getTransaction
();
+
manager.getTransaction().getStatus
();
Object[] expected = new Object[] { resource1, resource2 };
assertTrue(Arrays.equals(expected, actual.getValue()));
}
Object[] expected = new Object[] { resource1, resource2 };
assertTrue(Arrays.equals(expected, actual.getValue()));
}
+ @Test
+ public void testTwoTransactions() throws Exception {
+ UserTransaction transaction = manager.getTransaction();
+ transaction.begin();
+ transaction.commit();
+
+ transaction.begin();
+ transaction.commit();
+ }
+
}
}