use of org.apache.jena.permissions.SecurityEvaluator.Action in project jena by apache.
the class SecuredRDFListTest method testApply.
@Test
public void testApply() {
final ApplyFn fn = new ApplyFn() {
@Override
public void apply(final RDFNode node) {
// do nothing
}
};
try {
getSecuredRDFList().apply(fn);
if (!securityEvaluator.evaluate(Action.Read)) {
Assert.fail("Should have thrown ReadDeniedException Exception");
}
} catch (final ReadDeniedException e) {
if (securityEvaluator.evaluate(Action.Read)) {
Assert.fail(String.format("Should not have thrown ReadDeniedException Exception: %s - %s", e, e.getTriple()));
}
}
final Set<Action> perms = SecurityEvaluator.Util.asSet(new Action[] { Action.Update, Action.Read });
try {
getSecuredRDFList().apply(perms, fn);
if (!securityEvaluator.evaluate(Action.Read)) {
Assert.fail("Should have thrown ReadDeniedException Exception");
}
} catch (final ReadDeniedException e) {
if (securityEvaluator.evaluate(Action.Read)) {
Assert.fail(String.format("Should not have thrown ReadDeniedException Exception: %s - %s", e, e.getTriple()));
}
}
}
use of org.apache.jena.permissions.SecurityEvaluator.Action in project jena by apache.
the class SecuredItemImplTest method canRead.
@Test
public void canRead() {
// Triple.ANY
when(evaluator.getPrincipal()).thenReturn(PRINCIPAL);
when(evaluator.evaluate(anyObject(), any(SecurityEvaluator.Action.class), any(Node.class), any(Triple.class))).thenReturn(Boolean.TRUE);
assertTrue(securedItemImpl.canRead(Triple.ANY));
verify(evaluator).evaluate(principal.capture(), action.capture(), modelNode.capture(), triple.capture());
Triple t = triple.getValue();
assertEquals(Node.ANY, t.getSubject());
assertEquals(Node.ANY, t.getPredicate());
assertEquals(Node.ANY, t.getObject());
Node n = modelNode.getValue();
assertEquals(NodeFactory.createURI("urn:name"), n);
Object p = principal.getValue();
assertEquals(PRINCIPAL, p);
Action a = action.getValue();
assertEquals(Action.Read, a);
reset(evaluator);
// FUTURE ANY Variable
when(evaluator.getPrincipal()).thenReturn(PRINCIPAL);
when(evaluator.evaluate(anyObject(), any(SecurityEvaluator.Action.class), any(Node.class), any(Triple.class))).thenReturn(Boolean.TRUE);
Triple target = new Triple(SecurityEvaluator.FUTURE, Node.ANY, Var.alloc("var"));
assertTrue(securedItemImpl.canRead(target));
verify(evaluator).evaluate(principal.capture(), action.capture(), modelNode.capture(), triple.capture());
t = triple.getValue();
assertEquals(SecurityEvaluator.FUTURE, t.getSubject());
assertEquals(Node.ANY, t.getPredicate());
assertEquals(SecurityEvaluator.VARIABLE, t.getObject());
n = modelNode.getValue();
assertEquals(NodeFactory.createURI("urn:name"), n);
p = principal.getValue();
assertEquals(PRINCIPAL, p);
a = action.getValue();
assertEquals(Action.Read, a);
}
use of org.apache.jena.permissions.SecurityEvaluator.Action in project jena by apache.
the class SecuredItemImplTest method canDelete.
@Test
public void canDelete() {
// Triple.ANY
when(evaluator.getPrincipal()).thenReturn(PRINCIPAL);
when(evaluator.evaluate(anyObject(), any(SecurityEvaluator.Action.class), any(Node.class), any(Triple.class))).thenReturn(Boolean.TRUE);
assertTrue(securedItemImpl.canDelete(Triple.ANY));
verify(evaluator).evaluate(principal.capture(), action.capture(), modelNode.capture(), triple.capture());
Triple t = triple.getValue();
assertEquals(Node.ANY, t.getSubject());
assertEquals(Node.ANY, t.getPredicate());
assertEquals(Node.ANY, t.getObject());
Node n = modelNode.getValue();
assertEquals(NodeFactory.createURI("urn:name"), n);
Object p = principal.getValue();
assertEquals(PRINCIPAL, p);
Action a = action.getValue();
assertEquals(Action.Delete, a);
reset(evaluator);
// FUTURE ANY Variable
when(evaluator.getPrincipal()).thenReturn(PRINCIPAL);
when(evaluator.evaluate(anyObject(), any(SecurityEvaluator.Action.class), any(Node.class), any(Triple.class))).thenReturn(Boolean.TRUE);
Triple target = new Triple(SecurityEvaluator.FUTURE, Node.ANY, Var.alloc("var"));
assertTrue(securedItemImpl.canDelete(target));
verify(evaluator).evaluate(principal.capture(), action.capture(), modelNode.capture(), triple.capture());
t = triple.getValue();
assertEquals(SecurityEvaluator.FUTURE, t.getSubject());
assertEquals(Node.ANY, t.getPredicate());
assertEquals(SecurityEvaluator.VARIABLE, t.getObject());
n = modelNode.getValue();
assertEquals(NodeFactory.createURI("urn:name"), n);
p = principal.getValue();
assertEquals(PRINCIPAL, p);
a = action.getValue();
assertEquals(Action.Delete, a);
}
use of org.apache.jena.permissions.SecurityEvaluator.Action in project jena by apache.
the class SecuredItemImplTest method canCreate.
@Test
public void canCreate() {
// Triple.ANY
when(evaluator.getPrincipal()).thenReturn(PRINCIPAL);
when(evaluator.evaluate(anyObject(), any(SecurityEvaluator.Action.class), any(Node.class), any(Triple.class))).thenReturn(Boolean.TRUE);
assertTrue(securedItemImpl.canCreate(Triple.ANY));
verify(evaluator).evaluate(principal.capture(), action.capture(), modelNode.capture(), triple.capture());
Triple t = triple.getValue();
assertEquals(Node.ANY, t.getSubject());
assertEquals(Node.ANY, t.getPredicate());
assertEquals(Node.ANY, t.getObject());
Node n = modelNode.getValue();
assertEquals(NodeFactory.createURI("urn:name"), n);
Object p = principal.getValue();
assertEquals(PRINCIPAL, p);
Action a = action.getValue();
assertEquals(Action.Create, a);
reset(evaluator);
// FUTURE ANY Variable
when(evaluator.getPrincipal()).thenReturn(PRINCIPAL);
when(evaluator.evaluate(anyObject(), any(SecurityEvaluator.Action.class), any(Node.class), any(Triple.class))).thenReturn(Boolean.TRUE);
Triple target = new Triple(SecurityEvaluator.FUTURE, Node.ANY, Var.alloc("var"));
assertTrue(securedItemImpl.canCreate(target));
verify(evaluator).evaluate(principal.capture(), action.capture(), modelNode.capture(), triple.capture());
t = triple.getValue();
assertEquals(SecurityEvaluator.FUTURE, t.getSubject());
assertEquals(Node.ANY, t.getPredicate());
assertEquals(SecurityEvaluator.VARIABLE, t.getObject());
n = modelNode.getValue();
assertEquals(NodeFactory.createURI("urn:name"), n);
p = principal.getValue();
assertEquals(PRINCIPAL, p);
a = action.getValue();
assertEquals(Action.Create, a);
}
Aggregations