Search in sources :

Example 1 with Shapes

use of org.apache.jena.shacl.Shapes in project webofneeds by researchstudio-sat.

the class WonAclEvaluatorTest method testWonAcl_fail.

@Test
public void testWonAcl_fail() throws IOException {
    Shapes shapes = loadShapes(shapesDef);
    Shapes atomDataShapes = loadShapes(atomDataShapesDef);
    ModelBasedConnectionTargetCheckEvaluator targetAtomChecker = withDurationLog("initializing TargetAtomChecker", () -> new ModelBasedConnectionTargetCheckEvaluator(atomDataShapes, "won.auth.test.model"));
    ModelBasedAtomNodeChecker atomNodeChecker = new ModelBasedAtomNodeChecker(atomDataShapes, "won.auth.test.model");
    WonAclEvaluatorTestFactory evaluator = withDurationLog("initializing WonAclEvaluator", () -> new WonAclEvaluatorTestFactory(targetAtomChecker, atomNodeChecker, null));
    getFailOperationRequests().forEach(testCaseResource -> {
        Graph graph = null;
        try {
            evaluateTest(shapes, atomDataShapes, evaluator, targetAtomChecker, testCaseResource, DecisionValue.ACCESS_DENIED);
        } catch (IOException e) {
            e.printStackTrace();
        }
    });
}
Also used : Graph(org.apache.jena.graph.Graph) Shapes(org.apache.jena.shacl.Shapes) IOException(java.io.IOException) Test(org.junit.Test)

Example 2 with Shapes

use of org.apache.jena.shacl.Shapes in project webofneeds by researchstudio-sat.

the class WonAclEvaluatorTest method testWonAcl_spec.

@Test
public void testWonAcl_spec() throws IOException {
    Shapes shapes = loadShapes(shapesDef);
    Shapes atomDataShapes = loadShapes(atomDataShapesDef);
    ModelBasedConnectionTargetCheckEvaluator targetAtomChecker = new ModelBasedConnectionTargetCheckEvaluator(atomDataShapes, "won.auth.test.model");
    ModelBasedAtomNodeChecker atomNodeChecker = new ModelBasedAtomNodeChecker(atomDataShapes, "won.auth.test.model");
    WonAclEvaluatorTestFactory evaluator = withDurationLog("initializing WonAclEvaluator", () -> new WonAclEvaluatorTestFactory(targetAtomChecker, atomNodeChecker, null));
    getSpecOperationRequests().forEach(testCaseResource -> {
        Graph graph = loadGraph(testCaseResource);
        try {
            evaluateTestWithSpec(shapes, atomDataShapes, evaluator, targetAtomChecker, atomNodeChecker, graph, testCaseResource);
        } catch (Exception e) {
            throw new RuntimeException("Exception while preparing/running test on input " + testCaseResource, e);
        }
    });
}
Also used : Graph(org.apache.jena.graph.Graph) Shapes(org.apache.jena.shacl.Shapes) IOException(java.io.IOException) Test(org.junit.Test)

Example 3 with Shapes

use of org.apache.jena.shacl.Shapes in project webofneeds by researchstudio-sat.

the class WonAclEvaluatorTest method testWonAcl_domain_spec.

@Test
public void testWonAcl_domain_spec() throws IOException {
    Shapes shapes = loadShapes(shapesDef);
    Shapes atomDataShapes = loadShapes(atomDataShapesDef);
    ModelBasedConnectionTargetCheckEvaluator targetAtomChecker = new ModelBasedConnectionTargetCheckEvaluator(atomDataShapes, "won.auth.test.model");
    ModelBasedAtomNodeChecker atomNodeChecker = new ModelBasedAtomNodeChecker(atomDataShapes, "won.auth.test.model");
    Graph domainBase = loadGraph(loader.getResource("classpath:/won/opreq/domain1/domain.ttl"));
    WonAclEvaluatorTestFactory evaluator = withDurationLog("initializing WonAclEvaluator", () -> new WonAclEvaluatorTestFactory(targetAtomChecker, atomNodeChecker, null));
    getDomainSpecOperationRequests().forEach(testCaseResource -> {
        try {
            Graph testCase = loadGraph(testCaseResource);
            evaluateTestWithSpec(shapes, atomDataShapes, evaluator, targetAtomChecker, atomNodeChecker, new Union(domainBase, testCase), testCaseResource);
        } catch (IOException e) {
            e.printStackTrace();
        }
    });
}
Also used : Graph(org.apache.jena.graph.Graph) Shapes(org.apache.jena.shacl.Shapes) IOException(java.io.IOException) Union(org.apache.jena.graph.compose.Union) Test(org.junit.Test)

Example 4 with Shapes

use of org.apache.jena.shacl.Shapes in project webofneeds by researchstudio-sat.

the class AuthShapeTest method testBasicShape_004.

@Test
public void testBasicShape_004() throws IOException {
    Shapes shapes = loadShapes(shapesDef);
    Graph data = loadData(loader.getResource("classpath:/won/basic/basic-004.ttl"));
    assertConformsTo(NodeFactory.createURI(AUTH + "customMessageOperation"), NodeFactory.createURI(AUTH + "messageOperationExpressionShape"), shapes, data, true);
    assertConformsTo(NodeFactory.createURI(AUTH + "customMessageOperation"), NodeFactory.createURI(AUTH + "simpleOperationExpressionShape"), shapes, data, false);
}
Also used : Graph(org.apache.jena.graph.Graph) Shapes(org.apache.jena.shacl.Shapes) Test(org.junit.Test)

Example 5 with Shapes

use of org.apache.jena.shacl.Shapes in project webofneeds by researchstudio-sat.

the class AuthShapeTest method testBasicShape_006.

@Test
public void testBasicShape_006() throws IOException {
    Shapes shapes = loadShapes(shapesDef);
    Graph data = loadData(loader.getResource("classpath:/won/basic/basic-006.ttl"));
    assertConformsTo(NodeFactory.createURI("https://example.com/test/auth"), NodeFactory.createURI(AUTH + "authorizationShape"), shapes, data, true);
}
Also used : Graph(org.apache.jena.graph.Graph) Shapes(org.apache.jena.shacl.Shapes) Test(org.junit.Test)

Aggregations

Shapes (org.apache.jena.shacl.Shapes)36 Graph (org.apache.jena.graph.Graph)23 Test (org.junit.Test)22 Model (org.apache.jena.rdf.model.Model)6 TypeSpec (com.squareup.javapoet.TypeSpec)5 IOException (java.io.IOException)4 java.util (java.util)4 Set (java.util.Set)4 Collectors (java.util.stream.Collectors)4 Node (org.apache.jena.graph.Node)4 Path (org.apache.jena.sparql.path.Path)4 SourceGenerator (won.shacl2java.sourcegen.SourceGenerator)4 StringWriter (java.io.StringWriter)3 RDFDatatype (org.apache.jena.datatypes.RDFDatatype)3 Union (org.apache.jena.graph.compose.Union)3 ValidationReport (org.apache.jena.shacl.ValidationReport)3 ShaclPaths (org.apache.jena.shacl.engine.ShaclPaths)3 SHACL (org.apache.jena.shacl.vocabulary.SHACL)3 IndentedWriter (org.apache.jena.atlas.io.IndentedWriter)2 Pair (org.apache.jena.atlas.lib.Pair)2