You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by cl...@apache.org on 2013/08/25 20:28:04 UTC
svn commit: r1517360 - in /jena/Experimental/jena-security: ./
src/main/java/org/apache/jena/security/query/
src/test/java/org/apache/jena/security/
src/test/java/org/apache/jena/security/query/
src/test/java/org/apache/jena/security/query/rewriter/
Author: claude
Date: Sun Aug 25 18:28:04 2013
New Revision: 1517360
URL: http://svn.apache.org/r1517360
Log:
Removed System.out prints.
Fixed OpRewriterTest
changed apache-jena dependency to apache-jena-libs
Modified:
jena/Experimental/jena-security/ (props changed)
jena/Experimental/jena-security/pom.xml
jena/Experimental/jena-security/src/main/java/org/apache/jena/security/query/SecuredQueryEngine.java
jena/Experimental/jena-security/src/test/java/org/apache/jena/security/SecuredAssemblerTest.java
jena/Experimental/jena-security/src/test/java/org/apache/jena/security/query/QueryEngineTest.java
jena/Experimental/jena-security/src/test/java/org/apache/jena/security/query/rewriter/OpRewriterTest.java
Propchange: jena/Experimental/jena-security/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sun Aug 25 18:28:04 2013
@@ -0,0 +1,5 @@
+.classpath
+
+.project
+
+.settings
Modified: jena/Experimental/jena-security/pom.xml
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-security/pom.xml?rev=1517360&r1=1517359&r2=1517360&view=diff
==============================================================================
--- jena/Experimental/jena-security/pom.xml (original)
+++ jena/Experimental/jena-security/pom.xml Sun Aug 25 18:28:04 2013
@@ -117,7 +117,7 @@
</dependency>
<dependency>
<groupId>org.apache.jena</groupId>
- <artifactId>apache-jena</artifactId>
+ <artifactId>apache-jena-libs</artifactId>
<version>2.10.2-SNAPSHOT</version>
<type>pom</type>
</dependency>
Modified: jena/Experimental/jena-security/src/main/java/org/apache/jena/security/query/SecuredQueryEngine.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-security/src/main/java/org/apache/jena/security/query/SecuredQueryEngine.java?rev=1517360&r1=1517359&r2=1517360&view=diff
==============================================================================
--- jena/Experimental/jena-security/src/main/java/org/apache/jena/security/query/SecuredQueryEngine.java (original)
+++ jena/Experimental/jena-security/src/main/java/org/apache/jena/security/query/SecuredQueryEngine.java Sun Aug 25 18:28:04 2013
@@ -75,7 +75,6 @@ public class SecuredQueryEngine extends
SecuredQueryEngine.LOG.debug("After: {}", result);
result = super.modifyOp(result);
SecuredQueryEngine.LOG.debug("After Optimize: {}", result);
- System.out.println(result);
return result;
}
Modified: jena/Experimental/jena-security/src/test/java/org/apache/jena/security/SecuredAssemblerTest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-security/src/test/java/org/apache/jena/security/SecuredAssemblerTest.java?rev=1517360&r1=1517359&r2=1517360&view=diff
==============================================================================
--- jena/Experimental/jena-security/src/test/java/org/apache/jena/security/SecuredAssemblerTest.java (original)
+++ jena/Experimental/jena-security/src/test/java/org/apache/jena/security/SecuredAssemblerTest.java Sun Aug 25 18:28:04 2013
@@ -45,7 +45,7 @@ public class SecuredAssemblerTest
model = ModelFactory.createDefaultModel();
URL url = SecuredAssemblerTest.class.getClassLoader().getResource( SecuredAssemblerTest.class.getName().replace(".", "/")+".ttl");
model.read( url.toURI().toString(), "TURTLE" );
- model.write( System.out, "TURTLE" );
+ //model.write( System.out, "TURTLE" );
}
@Test
Modified: jena/Experimental/jena-security/src/test/java/org/apache/jena/security/query/QueryEngineTest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-security/src/test/java/org/apache/jena/security/query/QueryEngineTest.java?rev=1517360&r1=1517359&r2=1517360&view=diff
==============================================================================
--- jena/Experimental/jena-security/src/test/java/org/apache/jena/security/query/QueryEngineTest.java (original)
+++ jena/Experimental/jena-security/src/test/java/org/apache/jena/security/query/QueryEngineTest.java Sun Aug 25 18:28:04 2013
@@ -137,7 +137,6 @@ public class QueryEngineTest
{
count++;
final QuerySolution soln = results.nextSolution();
- System.out.println(soln);
}
Assert.assertEquals(8, count);
}
Modified: jena/Experimental/jena-security/src/test/java/org/apache/jena/security/query/rewriter/OpRewriterTest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-security/src/test/java/org/apache/jena/security/query/rewriter/OpRewriterTest.java?rev=1517360&r1=1517359&r2=1517360&view=diff
==============================================================================
--- jena/Experimental/jena-security/src/test/java/org/apache/jena/security/query/rewriter/OpRewriterTest.java (original)
+++ jena/Experimental/jena-security/src/test/java/org/apache/jena/security/query/rewriter/OpRewriterTest.java Sun Aug 25 18:28:04 2013
@@ -19,43 +19,94 @@ package org.apache.jena.security.query.r
import com.hp.hpl.jena.graph.NodeFactory;
import com.hp.hpl.jena.graph.Triple;
+import com.hp.hpl.jena.sparql.algebra.Op;
import com.hp.hpl.jena.sparql.algebra.op.OpBGP;
+import com.hp.hpl.jena.sparql.algebra.op.OpFilter;
import com.hp.hpl.jena.sparql.core.BasicPattern;
+import com.hp.hpl.jena.sparql.expr.ExprList;
import com.hp.hpl.jena.vocabulary.RDF;
import java.util.Arrays;
+import org.apache.jena.security.AccessDeniedException;
import org.apache.jena.security.MockSecurityEvaluator;
import org.apache.jena.security.SecurityEvaluator;
import org.apache.jena.security.query.rewriter.OpRewriter;
+import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
public class OpRewriterTest
{
private OpRewriter rewriter;
- private SecurityEvaluator securityEvaluator = new MockSecurityEvaluator( true, true, true, true, true, true );
+ private Triple[] triples;
public OpRewriterTest()
{
}
@Before
- public void setUp()
+ public void setup()
{
- rewriter = new OpRewriter( securityEvaluator, "http://example.com/dummy");
+ triples = new Triple[] {
+ new Triple( NodeFactory.createVariable("foo"), RDF.type.asNode(), NodeFactory.createURI( "http://example.com/class")),
+ new Triple( NodeFactory.createVariable("foo"), NodeFactory.createAnon(), NodeFactory.createVariable("bar")),
+ new Triple( NodeFactory.createVariable("bar"), NodeFactory.createAnon(), NodeFactory.createVariable("baz")),
+ };
}
@Test
public void testBGP()
{
+ SecurityEvaluator securityEvaluator = new MockSecurityEvaluator( true, true, true, true, true, true );
+ rewriter = new OpRewriter( securityEvaluator, "http://example.com/dummy");
+
+ rewriter.visit( new OpBGP( BasicPattern.wrap(Arrays.asList(triples))));
+ Op op = rewriter.getResult();
+ Assert.assertTrue( "Should have been an OpFilter", op instanceof OpFilter );
+ OpFilter filter = (OpFilter) op;
+ ExprList eLst = filter.getExprs();
+ Assert.assertEquals( 1, eLst.size());
+ Assert.assertTrue( "Should have been a SecuredFunction", eLst.get(0) instanceof SecuredFunction);
+ op = filter.getSubOp();
+ Assert.assertTrue( "Should have been a OpBGP", op instanceof OpBGP);
+ BasicPattern basicPattern = ((OpBGP)op).getPattern();
+ Assert.assertEquals( 3, basicPattern.size() );
+
+ Triple t = basicPattern.get(0);
+ Assert.assertEquals( NodeFactory.createVariable("foo"), t.getSubject());
+ Assert.assertEquals( RDF.type.asNode(), t.getPredicate());
+ Assert.assertEquals( NodeFactory.createURI( "http://example.com/class"), t.getObject());
+
+ t = basicPattern.get(1);
+ Assert.assertEquals( NodeFactory.createVariable("foo"), t.getSubject());
+ Assert.assertTrue( "Should have been blank", t.getPredicate().isBlank());
+ Assert.assertEquals( NodeFactory.createVariable("bar"), t.getObject());
+
+ t = basicPattern.get(2);
+ Assert.assertEquals( NodeFactory.createVariable("bar"), t.getSubject() );
+ Assert.assertTrue( "Should have been blank", t.getPredicate().isBlank());
+ Assert.assertEquals( NodeFactory.createVariable("baz"), t.getObject());
+ }
+
+ @Test
+ public void testBGPNoReadAccess()
+ {
+ SecurityEvaluator securityEvaluator = new MockSecurityEvaluator( true, true, false, true, true, true );
+ rewriter = new OpRewriter( securityEvaluator, "http://example.com/dummy");
Triple[] triples = {
new Triple( NodeFactory.createVariable("foo"), RDF.type.asNode(), NodeFactory.createURI( "http://example.com/class")),
new Triple( NodeFactory.createVariable("foo"), NodeFactory.createAnon(), NodeFactory.createVariable("bar")),
new Triple( NodeFactory.createVariable("bar"), NodeFactory.createAnon(), NodeFactory.createVariable("baz")),
};
- rewriter.visit( new OpBGP( BasicPattern.wrap(Arrays.asList(triples))));
- System.out.println( rewriter.getResult());
+ try {
+ rewriter.visit( new OpBGP( BasicPattern.wrap(Arrays.asList(triples))));
+ Assert.fail( "Should have thrown AccessDeniedException");
+ }
+ catch (AccessDeniedException e)
+ {
+ // expected
+ }
}
}