use of org.apache.jena.shared.AccessDeniedException in project jena by apache.
the class SecuredRDFListTest method testSetHead.
@Test
public void testSetHead() {
try {
RDFNode result = getSecuredRDFList().setHead(newResource1);
if (!shouldRead() || !securityEvaluator.evaluate(Action.Update)) {
fail("Should have thrown AccessDeniedException");
}
assertEquals(resource1, result);
List<RDFNode> lst = ((RDFList) getBaseRDFNode()).asJavaList();
Iterator<RDFNode> iter = lst.iterator();
assertEquals(newResource1, iter.next());
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 SecuredResourceTest method testAddProperty.
@Test
public void testAddProperty() {
final Set<Action> perms = SecurityEvaluator.Util.asSet(new Action[] { Action.Update, Action.Create });
final RDFNode rdfNode = ResourceFactory.createResource("http://example.com/newResource");
try {
getSecuredResource().addLiteral(SecuredRDFNodeTest.p, rdfNode);
if (!securityEvaluator.evaluate(perms)) {
Assert.fail("Should have thrown AccessDeniedException Exception");
}
} catch (final AccessDeniedException e) {
if (securityEvaluator.evaluate(perms)) {
Assert.fail(String.format("Should not have thrown AccessDeniedException Exception: %s - %s", e, e.getTriple()));
}
}
try {
getSecuredResource().addLiteral(SecuredRDFNodeTest.p, "string");
if (!securityEvaluator.evaluate(perms)) {
Assert.fail("Should have thrown AccessDeniedException Exception");
}
} catch (final AccessDeniedException e) {
if (securityEvaluator.evaluate(perms)) {
Assert.fail(String.format("Should not have thrown AccessDeniedException Exception: %s - %s", e, e.getTriple()));
}
}
final Literal l = ResourceFactory.createTypedLiteral(3.14F);
try {
getSecuredResource().addProperty(SecuredRDFNodeTest.p, l.getLexicalForm(), l.getDatatype());
if (!securityEvaluator.evaluate(perms)) {
Assert.fail("Should have thrown AccessDeniedException Exception");
}
} catch (final AccessDeniedException e) {
if (securityEvaluator.evaluate(perms)) {
Assert.fail(String.format("Should not have thrown AccessDeniedException Exception: %s - %s", e, e.getTriple()));
}
}
try {
getSecuredResource().addProperty(SecuredRDFNodeTest.p, "dos", "sp");
if (!securityEvaluator.evaluate(perms)) {
Assert.fail("Should have thrown AccessDeniedException Exception");
}
} catch (final AccessDeniedException e) {
if (securityEvaluator.evaluate(perms)) {
Assert.fail(String.format("Should not have thrown AccessDeniedException Exception: %s - %s", e, e.getTriple()));
}
}
}
use of org.apache.jena.shared.AccessDeniedException in project jena by apache.
the class SecuredStatementTest method testCreateReifiedStatement.
private void testCreateReifiedStatement(Supplier<ReifiedStatement> supplier, Resource expected) {
final Set<Action> perms = SecurityEvaluator.Util.asSet(new Action[] { Action.Update, Action.Create });
try {
SecuredReifiedStatement rs = (SecuredReifiedStatement) supplier.get();
if (!securityEvaluator.evaluate(perms)) {
Assert.fail("Should have thrown AccessDeniedException Exception");
}
ReifiedStatement actual = (ReifiedStatement) rs.getBaseItem();
if (expected == null) {
assertTrue(actual.isAnon());
} else {
assertEquals(expected, actual);
}
} catch (final AccessDeniedException e) {
if (securityEvaluator.evaluate(perms)) {
Assert.fail("Should not have thrown AccessDeniedException Exception");
}
}
}
use of org.apache.jena.shared.AccessDeniedException in project jena by apache.
the class SecuredModelTest method testAsStatement_Exists.
@Test
public void testAsStatement_Exists() {
Triple t = new Triple(s.asNode(), p.asNode(), o.asNode());
try {
Statement stmt = securedModel.asStatement(t);
assertEquals(securedModel, stmt.getModel());
if (securedModel.canRead(t)) {
assertEquals(s, stmt.getSubject());
assertEquals(p, stmt.getPredicate());
assertEquals(o, stmt.getObject());
}
if (!securityEvaluator.evaluate(Action.Read) && !securityEvaluator.evaluate(Action.Update)) {
Assert.fail("Should have thrown AccessDeniedException Exception");
}
} catch (final AccessDeniedException e) {
if (securityEvaluator.evaluate(Action.Read) && securityEvaluator.evaluate(Action.Update)) {
Assert.fail(String.format("Should not have thrown ReadDeniedException Exception: %s - %s", e, e.getTriple()));
}
}
}
use of org.apache.jena.shared.AccessDeniedException in project jena by apache.
the class SecuredRDFListTest method testAppendRDFList.
@Test
public void testAppendRDFList() {
final Set<Action> perms = SecurityEvaluator.Util.asSet(new Action[] { Action.Update, Action.Create });
Model m = ModelFactory.createDefaultModel();
RDFList lst = m.createList(newResource1, newResource2, newResource3, newResource4);
try {
SecuredRDFList actual = (SecuredRDFList) getSecuredRDFList().append(lst);
if (!securityEvaluator.evaluate(perms) || !shouldRead()) {
fail("Should have thrown AccessDeniedException");
}
Iterator<RDFNode> iter = ((RDFList) actual.getBaseItem()).iterator();
if (securityEvaluator.evaluate(Action.Read)) {
assertEquals(resource1, iter.next());
assertEquals(resource2, iter.next());
assertEquals(resource3, iter.next());
assertEquals(resource4, iter.next());
}
assertEquals(newResource1, iter.next());
assertEquals(newResource2, iter.next());
assertEquals(newResource3, iter.next());
assertEquals(newResource4, iter.next());
assertFalse(iter.hasNext());
} catch (final AccessDeniedException e) {
if (securityEvaluator.evaluate(perms) && shouldRead()) {
fail("Should not have thrown AccessDeniedException");
}
}
}
Aggregations