You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2012/09/05 22:19:21 UTC
svn commit: r1381338 - in
/jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb:
migrate/AbstractTestTransaction.java transaction/AbstractTestTransSeq.java
transaction/TestTransactionTDB.java
Author: andy
Date: Wed Sep 5 20:19:20 2012
New Revision: 1381338
URL: http://svn.apache.org/viewvc?rev=1381338&view=rev
Log:
Test for different errorenous transaction sequences
Modified:
jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/migrate/AbstractTestTransaction.java
jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/transaction/AbstractTestTransSeq.java
jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/transaction/TestTransactionTDB.java
Modified: jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/migrate/AbstractTestTransaction.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/migrate/AbstractTestTransaction.java?rev=1381338&r1=1381337&r2=1381338&view=diff
==============================================================================
--- jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/migrate/AbstractTestTransaction.java (original)
+++ jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/migrate/AbstractTestTransaction.java Wed Sep 5 20:19:20 2012
@@ -18,18 +18,28 @@
package com.hp.hpl.jena.tdb.migrate;
+import static com.hp.hpl.jena.query.ReadWrite.READ ;
+import static com.hp.hpl.jena.query.ReadWrite.WRITE ;
+import org.junit.AfterClass ;
+import org.junit.BeforeClass ;
import org.junit.Test ;
import org.openjena.atlas.junit.BaseTest ;
+import org.openjena.atlas.logging.Log ;
import com.hp.hpl.jena.query.Dataset ;
import com.hp.hpl.jena.query.ReadWrite ;
+import com.hp.hpl.jena.sparql.JenaTransactionException ;
+import com.hp.hpl.jena.tdb.sys.SystemTDB ;
public abstract class AbstractTestTransaction extends BaseTest
{
+ @BeforeClass public static void beforeClassLoggingOff() { Log.disable(SystemTDB.errlog.getName()) ; }
+ @AfterClass public static void afterClassLoggingOn() { Log.enable(SystemTDB.errlog.getName(), "info") ; }
+
//MIGRATE
protected abstract Dataset create() ;
- @Test public void transaction_00()
+ @Test public void transaction_err_00()
{
Dataset ds = create() ;
assertTrue(ds.supportsTransactions()) ;
@@ -131,6 +141,43 @@ public abstract class AbstractTestTransa
read2(ds) ;
}
+ // if parameterised tests had decent naming ...
+ @Test
+ public void transaction_err_01() { testBeginBegin(WRITE, WRITE) ; }
+
+ @Test
+ public void transaction_err_02() { testBeginBegin(WRITE, READ) ; }
+
+ @Test
+ public void transaction_err_03() { testBeginBegin(READ, READ) ; }
+
+ @Test
+ public void transaction_err_04() { testBeginBegin(READ, WRITE) ; }
+
+ @Test
+ public void transaction_err_05() { testCommitCommit(READ) ; }
+
+ @Test
+ public void transaction_err_06() { testCommitCommit(WRITE) ; }
+
+ @Test
+ public void transaction_err_07() { testCommitAbort(READ) ; }
+
+ @Test
+ public void transaction_err_08() { testCommitAbort(WRITE) ; }
+
+ @Test
+ public void transaction_err_09() { testAbortAbort(READ) ; }
+
+ @Test
+ public void transaction_err_10() { testAbortAbort(WRITE) ; }
+
+ @Test
+ public void transaction_err_11() { testAbortCommit(READ) ; }
+
+ @Test
+ public void transaction_err_12() { testAbortCommit(WRITE) ; }
+
private void read1(Dataset ds)
{
ds.begin(ReadWrite.READ) ;
@@ -156,5 +203,70 @@ public abstract class AbstractTestTransa
assertFalse(ds.isInTransaction()) ;
ds.end() ;
}
+
+
+ // Error conditions that should be detected.
+
+ private void testBeginBegin(ReadWrite mode1, ReadWrite mode2)
+ {
+ Dataset ds = create() ;
+ ds.begin(mode1) ;
+ try {
+ ds.begin(mode2) ;
+ fail("Expected transaction exception - begin-begin ("+mode1+", "+mode2+")") ;
+ } catch (JenaTransactionException ex)
+ { ds.end() ; }
+ }
+
+ private void testCommitCommit(ReadWrite mode)
+ {
+ Dataset ds = create() ;
+ ds.begin(mode) ;
+ ds.commit() ;
+ try {
+ ds.commit() ;
+ fail("Expected transaction exception - commit-commit("+mode+")") ;
+ } catch (JenaTransactionException ex)
+ { ds.end() ; }
+ }
+
+ private void testCommitAbort(ReadWrite mode)
+ {
+ Dataset ds = create() ;
+ ds.begin(mode) ;
+ ds.commit() ;
+ try {
+ ds.abort() ;
+ fail("Expected transaction exception - commit-commit("+mode+")") ;
+ } catch (JenaTransactionException ex)
+ { ds.end() ; }
+ }
+
+ private void testAbortAbort(ReadWrite mode)
+ {
+ Dataset ds = create() ;
+ ds.begin(mode) ;
+ ds.abort() ;
+ try {
+ ds.abort() ;
+ fail("Expected transaction exception - commit-commit("+mode+")") ;
+ } catch (JenaTransactionException ex)
+ { ds.end() ; }
+ }
+
+
+ private void testAbortCommit(ReadWrite mode)
+ {
+ Dataset ds = create() ;
+ ds.begin(mode) ;
+ ds.abort() ;
+ try {
+ ds.commit() ;
+ fail("Expected transaction exception - commit-commit("+mode+")") ;
+ } catch (JenaTransactionException ex)
+ { ds.end() ; }
+ }
+
+
}
Modified: jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/transaction/AbstractTestTransSeq.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/transaction/AbstractTestTransSeq.java?rev=1381338&r1=1381337&r2=1381338&view=diff
==============================================================================
--- jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/transaction/AbstractTestTransSeq.java (original)
+++ jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/transaction/AbstractTestTransSeq.java Wed Sep 5 20:19:20 2012
@@ -38,7 +38,7 @@ import com.hp.hpl.jena.tdb.sys.SystemTDB
public abstract class AbstractTestTransSeq extends BaseTest
{
@BeforeClass public static void beforeClassLoggingOff() { Log.disable(SystemTDB.errlog.getName()) ; }
- @AfterClass public static void afterClassLoggingOn() { Log.enable(SystemTDB.errlog.getName(), "info") ; }
+ @AfterClass public static void afterClassLoggingOn() { Log.enable(SystemTDB.errlog.getName(), "info") ; }
// Per test unique-ish.
long x = System.currentTimeMillis() ;
@@ -55,6 +55,8 @@ public abstract class AbstractTestTransS
// Basics.
+
+
@Test public void trans_01()
{
StoreConnection sConn = getStoreConnection() ;
Modified: jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/transaction/TestTransactionTDB.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/transaction/TestTransactionTDB.java?rev=1381338&r1=1381337&r2=1381338&view=diff
==============================================================================
--- jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/transaction/TestTransactionTDB.java (original)
+++ jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/transaction/TestTransactionTDB.java Wed Sep 5 20:19:20 2012
@@ -18,6 +18,8 @@
package com.hp.hpl.jena.tdb.transaction;
+import static com.hp.hpl.jena.query.ReadWrite.READ ;
+import static com.hp.hpl.jena.query.ReadWrite.WRITE ;
import org.junit.After ;
import org.junit.Before ;
import org.junit.Test ;
@@ -25,7 +27,6 @@ import org.openjena.atlas.lib.FileOps ;
import com.hp.hpl.jena.graph.Triple ;
import com.hp.hpl.jena.query.Dataset ;
-import com.hp.hpl.jena.query.ReadWrite ;
import com.hp.hpl.jena.sparql.sse.SSE ;
import com.hp.hpl.jena.tdb.ConfigTest ;
import com.hp.hpl.jena.tdb.StoreConnection ;
@@ -67,20 +68,19 @@ public class TestTransactionTDB extends
Dataset ds1 = create() ;
Dataset ds2 = create() ;
- ds1.begin(ReadWrite.WRITE) ;
+ ds1.begin(WRITE) ;
ds1.getDefaultModel().getGraph().add(triple1) ;
- ds2.begin(ReadWrite.READ) ;
+ ds2.begin(READ) ;
assertTrue(ds2.getDefaultModel().isEmpty()) ;
ds2.commit() ;
ds1.commit() ;
- ds2.begin(ReadWrite.READ) ;
+ ds2.begin(READ) ;
assertFalse(ds2.getDefaultModel().isEmpty()) ;
assertEquals(1, ds2.getDefaultModel().size()) ;
ds2.commit() ;
}
-
}