use of org.apache.jena.shared.AccessDeniedException in project jena by apache.
the class SecuredRDFListTest method testRemoveHead.
@Test
public void testRemoveHead() {
try {
RDFList rdfList = getSecuredRDFList().removeHead();
if (!shouldRead() || !securityEvaluator.evaluate(Action.Update) || !securityEvaluator.evaluate(Action.Delete)) {
fail("Should have thrown AccessDeniedException");
}
Iterator<RDFNode> iter = rdfList.asJavaList().iterator();
assertEquals(resource2, iter.next());
assertEquals(resource3, iter.next());
assertEquals(resource4, iter.next());
assertFalse(iter.hasNext());
} catch (final AccessDeniedException e) {
if (shouldRead() && securityEvaluator.evaluate(Action.Update) && securityEvaluator.evaluate(Action.Delete)) {
fail("Should not have thrown AccessDeniedException");
}
} catch (final EmptyListException e) {
if (securityEvaluator.evaluate(Action.Read)) {
fail("Should not have thrown EmptyListException");
}
}
}
use of org.apache.jena.shared.AccessDeniedException in project jena by apache.
the class SecuredRDFListTest method testReplace.
@Test
public void testReplace() {
try {
RDFNode result = getSecuredRDFList().replace(1, newResource1);
if (!shouldRead() || !securityEvaluator.evaluate(Action.Update)) {
fail("Should have thrown AccessDeniedException");
}
assertEquals(resource2, result);
List<RDFNode> lst = ((RDFList) getBaseRDFNode()).asJavaList();
Iterator<RDFNode> iter = lst.iterator();
assertEquals(resource1, iter.next());
assertEquals(newResource1, iter.next());
assertEquals(resource3, iter.next());
assertEquals(resource4, iter.next());
assertFalse(iter.hasNext());
} catch (final AccessDeniedException e) {
if (shouldRead() && securityEvaluator.evaluate(Action.Update) && securityEvaluator.evaluate(Action.Delete)) {
fail("Should not have thrown AccessDeniedException");
}
} catch (final ListIndexException e) {
if (securityEvaluator.evaluate(Action.Read)) {
fail("Should not have thrown ListIndexException");
}
}
}
use of org.apache.jena.shared.AccessDeniedException in project jena by apache.
the class SecuredContainerTest method testAdd.
private <T> void testAdd(Supplier<Container> supplier, T expected) {
final Set<Action> perms = SecurityEvaluator.Util.asSet(new Action[] { Action.Update, Action.Create });
try {
SecuredContainer securedContainer = (SecuredContainer) supplier.get();
if (!securityEvaluator.evaluate(perms)) {
Assert.fail("Should have thrown AccessDeniedException");
}
Container container = (Container) securedContainer.getBaseItem();
if (expected instanceof RDFNode) {
assertTrue(container.contains((RDFNode) expected));
} else {
assertTrue(container.contains(expected));
}
} catch (final AccessDeniedException e) {
if (securityEvaluator.evaluate(perms)) {
Assert.fail(String.format("Should not have thrown AccessDeniedException: %s - %s", e, e.getTriple()));
}
}
}
Aggregations