More tests for transactionality and fixing typos
Project: http://git-wip-us.apache.org/repos/asf/jena/repo Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/ff7aba97 Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/ff7aba97 Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/ff7aba97 Branch: refs/heads/master Commit: ff7aba97db324990514c2d8e6747a2512bcfc09e Parents: c6dd790 Author: ajs6f <[email protected]> Authored: Fri Jan 5 11:01:54 2018 -0500 Committer: ajs6f <[email protected]> Committed: Fri Jan 5 11:01:54 2018 -0500 ---------------------------------------------------------------------- .../main/java/org/apache/jena/system/Txn.java | 4 +- .../sparql/util/TestDyadicDatasetGraph.java | 60 ++++++++++++++++++-- 2 files changed, 56 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jena/blob/ff7aba97/jena-arq/src/main/java/org/apache/jena/system/Txn.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/system/Txn.java b/jena-arq/src/main/java/org/apache/jena/system/Txn.java index 5a92a04..dc7158b 100644 --- a/jena-arq/src/main/java/org/apache/jena/system/Txn.java +++ b/jena-arq/src/main/java/org/apache/jena/system/Txn.java @@ -37,7 +37,7 @@ public class Txn { * <p> * Such a transaction may abort if an update is executed * by another thread before this one is promoted to "write" mode. - * If so, the data protected by {@code txn} is unchanaged. + * If so, the data protected by {@code txn} is unchanged. * <p> * If the application knows updates will be needed, consider using {@link #executeWrite} * which starts in "write" mode. @@ -55,7 +55,7 @@ public class Txn { * <p> * Such a transaction may abort if an update is executed * by another thread before this one is promoted to "write" mode. - * If so, the data protected by {@code txn} is unchanaged. + * If so, the data protected by {@code txn} is unchanged. * <p> * If the application knows updates will be needed, consider using {@link #executeWrite} * which starts in "write" mode. http://git-wip-us.apache.org/repos/asf/jena/blob/ff7aba97/jena-arq/src/test/java/org/apache/jena/sparql/util/TestDyadicDatasetGraph.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/util/TestDyadicDatasetGraph.java b/jena-arq/src/test/java/org/apache/jena/sparql/util/TestDyadicDatasetGraph.java index 479bc78..0113c46 100644 --- a/jena-arq/src/test/java/org/apache/jena/sparql/util/TestDyadicDatasetGraph.java +++ b/jena-arq/src/test/java/org/apache/jena/sparql/util/TestDyadicDatasetGraph.java @@ -25,7 +25,8 @@ import org.apache.jena.graph.Node; import org.apache.jena.graph.NodeFactory; import org.apache.jena.query.ReadWrite; import org.apache.jena.query.TxnType; -import org.apache.jena.sparql.core.*; +import org.apache.jena.sparql.core.DatasetGraph; +import org.apache.jena.sparql.core.DatasetGraphZero; import org.junit.Test; public abstract class TestDyadicDatasetGraph extends BaseTest { @@ -144,6 +145,11 @@ public abstract class TestDyadicDatasetGraph extends BaseTest { public void noWriting4() { emptyDsg().begin(TxnType.READ_COMMITTED_PROMOTE); } + + @Test + public void noPromoting() { + assertFalse(emptyDsg().promote()); + } @Test(expected = UnsupportedOperationException.class) public void noCommitting() { @@ -153,12 +159,27 @@ public abstract class TestDyadicDatasetGraph extends BaseTest { assertTrue(dsg.isInTransaction()); dsg.commit(); } + + @Test + public void testTransactionTypeAndMode() { + final DatasetGraph dsg = emptyDsg(); + assertFalse(dsg.isInTransaction()); + try { + dsg.begin(TxnType.READ); + assertTrue(dsg.isInTransaction()); + assertEquals(TxnType.READ, dsg.transactionType()); + assertEquals(ReadWrite.READ, dsg.transactionMode()); + } finally { + dsg.end(); + } + assertFalse(dsg.isInTransaction()); + } @Test - public void canUseEndToFinishTransaction() { + public void canUseEndToFinishTransaction1() { + DatasetGraph dsg = emptyDsg(); + assertFalse(dsg.isInTransaction()); try { - DatasetGraph dsg = emptyDsg(); - assertFalse(dsg.isInTransaction()); dsg.begin(ReadWrite.READ); assertTrue(dsg.isInTransaction()); dsg.end(); @@ -169,10 +190,24 @@ public abstract class TestDyadicDatasetGraph extends BaseTest { } @Test - public void canUseAbortToFinishTransaction() { + public void canUseEndToFinishTransaction2() { + DatasetGraph dsg = emptyDsg(); + assertFalse(dsg.isInTransaction()); try { - DatasetGraph dsg = emptyDsg(); + dsg.begin(TxnType.READ); + assertTrue(dsg.isInTransaction()); + dsg.end(); assertFalse(dsg.isInTransaction()); + } catch (UnsupportedOperationException e) { + fail(); + } + } + + @Test + public void canUseAbortToFinishTransaction1() { + DatasetGraph dsg = emptyDsg(); + assertFalse(dsg.isInTransaction()); + try { dsg.begin(ReadWrite.READ); assertTrue(dsg.isInTransaction()); dsg.abort(); @@ -182,4 +217,17 @@ public abstract class TestDyadicDatasetGraph extends BaseTest { } } + @Test + public void canUseAbortToFinishTransaction2() { + DatasetGraph dsg = emptyDsg(); + assertFalse(dsg.isInTransaction()); + try { + dsg.begin(TxnType.READ); + assertTrue(dsg.isInTransaction()); + dsg.abort(); + assertFalse(dsg.isInTransaction()); + } catch (UnsupportedOperationException e) { + fail(); + } + } }
