From 334b69723d5b2129950f9c7c32685ac4bb35049e Mon Sep 17 00:00:00 2001 From: "Brian S. O'Neill" Date: Thu, 21 Aug 2008 18:05:15 +0000 Subject: Added another test case for nested transaction rollback. --- .../amazon/carbonado/repo/map/TestTransaction.java | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/src/test/java/com/amazon/carbonado/repo/map/TestTransaction.java b/src/test/java/com/amazon/carbonado/repo/map/TestTransaction.java index cbaa431..3c53252 100644 --- a/src/test/java/com/amazon/carbonado/repo/map/TestTransaction.java +++ b/src/test/java/com/amazon/carbonado/repo/map/TestTransaction.java @@ -265,6 +265,47 @@ public class TestTransaction extends TestCase { assertEquals(0, storage.query().count()); } + public void testNestedRollback2() throws Exception { + Storage storage = mRepo.storageFor(StorableTestBasic.class); + + assertEquals(0, storage.query().count()); + + Transaction outer = mRepo.enterTransaction(); + + { + Transaction txn = mRepo.enterTransaction(); + StorableTestBasic stb = storage.prepare(); + stb.setId(1); + stb.setStringProp(""); + stb.setIntProp(0); + stb.setLongProp(0); + stb.setDoubleProp(0); + stb.insert(); + + txn.exit(); + + assertEquals(0, storage.query().count()); + } + + { + Transaction txn = mRepo.enterTransaction(); + StorableTestBasic stb = storage.prepare(); + stb.setId(2); + stb.setStringProp(""); + stb.setIntProp(0); + stb.setLongProp(0); + stb.setDoubleProp(0); + stb.insert(); + + txn.exit(); + + assertEquals(0, storage.query().count()); + } + + outer.commit(); + outer.exit(); + } + public void testDeadlock() throws Exception { // This test makes sure that transaction locker is not the current // thread. Top transactions will deadlock. -- cgit v1.2.3