You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@marmotta.apache.org by ja...@apache.org on 2013/11/27 16:56:08 UTC
[07/10] git commit: MARMOTTA-364: Unit-Tests for ContextAwareSail
MARMOTTA-364: Unit-Tests for ContextAwareSail
Project: http://git-wip-us.apache.org/repos/asf/marmotta/repo
Commit: http://git-wip-us.apache.org/repos/asf/marmotta/commit/a1a3b21e
Tree: http://git-wip-us.apache.org/repos/asf/marmotta/tree/a1a3b21e
Diff: http://git-wip-us.apache.org/repos/asf/marmotta/diff/a1a3b21e
Branch: refs/heads/develop
Commit: a1a3b21e550697492832958148db7dfb61d84ccd
Parents: 1bb1783
Author: Jakob Frank <ja...@apache.org>
Authored: Wed Nov 27 12:55:32 2013 +0100
Committer: Jakob Frank <ja...@apache.org>
Committed: Wed Nov 27 13:29:08 2013 +0100
----------------------------------------------------------------------
.../commons/sesame/AbstractContextTest.java | 14 +++
.../contextaware/ContextAwareSailTest.java | 93 ++++++++++++++++----
2 files changed, 89 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/marmotta/blob/a1a3b21e/commons/sesame-contextaware/src/test/java/org/apache/marmotta/commons/sesame/AbstractContextTest.java
----------------------------------------------------------------------
diff --git a/commons/sesame-contextaware/src/test/java/org/apache/marmotta/commons/sesame/AbstractContextTest.java b/commons/sesame-contextaware/src/test/java/org/apache/marmotta/commons/sesame/AbstractContextTest.java
index 8fd1404..6f6681c 100644
--- a/commons/sesame-contextaware/src/test/java/org/apache/marmotta/commons/sesame/AbstractContextTest.java
+++ b/commons/sesame-contextaware/src/test/java/org/apache/marmotta/commons/sesame/AbstractContextTest.java
@@ -17,13 +17,17 @@
*/
package org.apache.marmotta.commons.sesame;
+import info.aduna.iteration.CloseableIteration;
+
import java.util.UUID;
import org.junit.After;
import org.junit.Before;
import org.openrdf.model.Literal;
import org.openrdf.model.Resource;
+import org.openrdf.model.Statement;
import org.openrdf.model.URI;
+import org.openrdf.model.Value;
import org.openrdf.model.ValueFactory;
import org.openrdf.sail.Sail;
import org.openrdf.sail.SailConnection;
@@ -34,6 +38,16 @@ public abstract class AbstractContextTest {
protected static final String NS = "http://test.marmotta.apache.org/resource/";
+ protected static boolean hasStatement(SailConnection con, Resource subj,
+ URI pred, Value object, Resource... contexts) throws SailException {
+ final CloseableIteration<? extends Statement, SailException> stmts = con.getStatements(subj, pred, object, true, contexts);
+ try {
+ return stmts.hasNext();
+ } finally {
+ stmts.close();
+ }
+ }
+
protected Sail sail;
protected URI u1, u2, u3, u4;
http://git-wip-us.apache.org/repos/asf/marmotta/blob/a1a3b21e/commons/sesame-contextaware/src/test/java/org/apache/marmotta/commons/sesame/contextaware/ContextAwareSailTest.java
----------------------------------------------------------------------
diff --git a/commons/sesame-contextaware/src/test/java/org/apache/marmotta/commons/sesame/contextaware/ContextAwareSailTest.java b/commons/sesame-contextaware/src/test/java/org/apache/marmotta/commons/sesame/contextaware/ContextAwareSailTest.java
index 77ceca6..7f8a134 100644
--- a/commons/sesame-contextaware/src/test/java/org/apache/marmotta/commons/sesame/contextaware/ContextAwareSailTest.java
+++ b/commons/sesame-contextaware/src/test/java/org/apache/marmotta/commons/sesame/contextaware/ContextAwareSailTest.java
@@ -17,23 +17,22 @@
*/
package org.apache.marmotta.commons.sesame.contextaware;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
import info.aduna.iteration.CloseableIteration;
import org.apache.marmotta.commons.sesame.AbstractContextTest;
import org.hamcrest.CoreMatchers;
-import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.openrdf.model.Resource;
-import org.openrdf.model.Statement;
-import org.openrdf.model.URI;
-import org.openrdf.model.Value;
import org.openrdf.sail.SailConnection;
import org.openrdf.sail.SailException;
/**
- * @author jakob
+ * @author Jakob Frank <ja...@apache.org>
*
*/
public class ContextAwareSailTest extends AbstractContextTest {
@@ -48,12 +47,6 @@ public class ContextAwareSailTest extends AbstractContextTest {
cas = new ContextAwareSail(sail, c1);
}
- @Override
- @After
- public void tearDown() throws SailException {
- super.tearDown();
- }
-
@Test
public void testGetStatements() throws SailException {
@@ -110,9 +103,9 @@ public class ContextAwareSailTest extends AbstractContextTest {
final CloseableIteration<? extends Resource, SailException> cid = con.getContextIDs();
try {
- Assert.assertTrue(cid.hasNext());
- Assert.assertThat(cid.next(), CoreMatchers.is(c1));
- Assert.assertFalse(cid.hasNext());
+ assertTrue(cid.hasNext());
+ assertThat(cid.next(), CoreMatchers.is(c1));
+ assertFalse(cid.hasNext());
} finally {
cid.close();
}
@@ -125,13 +118,77 @@ public class ContextAwareSailTest extends AbstractContextTest {
con.close();
}
}
+
+ @Test
+ public void testClear() throws SailException {
+ final SailConnection con = cas.getConnection();
+ try {
+ con.begin();
+
+ assertTrue(hasStatement(con, null, null, null));
+ con.clear();
+ assertFalse(hasStatement(con, null, null, null));
+
+ con.commit();
+ } catch (final Throwable t) {
+ con.rollback();
+ throw t;
+ } finally {
+ con.close();
+ }
+ final SailConnection con2 = sail.getConnection();
+ try {
+ con2.begin();
+
+ assertFalse(hasStatement(con2, null, null, null, c1));
+ assertTrue(hasStatement(con2, null, null, null, c2));
+
+ con2.commit();
+ } catch (final Throwable t) {
+ con2.rollback();
+ throw t;
+ } finally {
+ con2.close();
+ }
+ }
+
+ @Test
+ public void testRemoveStatements() throws SailException {
+ final SailConnection con = cas.getConnection();
+ try {
+ con.begin();
+
+ assertTrue(hasStatement(con, u1, p1, l1));
+ assertTrue(hasStatement(con, u3, p3, l3));
+
+ con.removeStatements(u1, p1, l1, c1);
+ con.removeStatements(u2, p2, l2);
+ con.removeStatements(u4, p4, l4, c1);
+
+ assertFalse(hasStatement(con, u1, p1, l1));
+ assertTrue(hasStatement(con, u3, p3, l3));
- protected static boolean hasStatement(SailConnection con, Resource subj, URI pred, Value object, Resource... contexts) throws SailException {
- final CloseableIteration<? extends Statement, SailException> stmts = con.getStatements(subj, pred, object, true, contexts);
+ con.commit();
+ } catch (final Throwable t) {
+ con.rollback();
+ throw t;
+ } finally {
+ con.close();
+ }
+ final SailConnection con2 = sail.getConnection();
try {
- return stmts.hasNext();
+ con2.begin();
+
+ assertFalse(hasStatement(con2, u1, p1, l1, c1));
+ assertTrue(hasStatement(con2, u2, p2, l2, c2));
+ assertTrue(hasStatement(con2, u3, p3, l3, c1));
+
+ con2.commit();
+ } catch (final Throwable t) {
+ con2.rollback();
+ throw t;
} finally {
- stmts.close();
+ con2.close();
}
}