@Test public void C_testGetPermissions() throws Exception { GraphManager readPrivilegedGmgr = readPrivilegedClient.newGraphManager(); GraphPermissions permissions = readPrivilegedGmgr.getPermissions(graphUri); assertEquals(6, permissions.size()); assertNotNull(permissions.get("read-privileged")); assertNotNull(permissions.get("write-privileged")); assertEquals(1, permissions.get("read-privileged").size()); assertEquals(1, permissions.get("write-privileged").size()); assertEquals(Capability.READ, permissions.get("read-privileged").iterator().next()); assertEquals(Capability.UPDATE, permissions.get("write-privileged").iterator().next()); }
@Test public void D_testWritePermissions() throws Exception { GraphPermissions perms = gmgr.newGraphPermissions(); perms = perms.permission("read-privileged", Capability.EXECUTE); gmgr.writePermissions(graphUri, perms); GraphPermissions permissions = gmgr.getPermissions(graphUri); assertEquals(5, permissions.size()); assertNotNull(permissions.get("read-privileged")); assertEquals(1, permissions.get("read-privileged").size()); for ( Capability capability : permissions.get("read-privileged") ) { assertEquals(Capability.EXECUTE, capability); } }
@Test public void E_testMergePermissions() throws Exception { GraphPermissions perms = gmgr.permission("read-privileged", Capability.READ); gmgr.mergePermissions(graphUri, perms); GraphPermissions permissions = gmgr.getPermissions(graphUri); assertEquals(5, permissions.size()); assertNotNull(permissions.get("read-privileged")); assertEquals(2, permissions.get("read-privileged").size()); for ( Capability capability : permissions.get("read-privileged") ) { if ( capability == null ) fail("capability should not be null"); if ( capability != Capability.READ && capability != Capability.EXECUTE ) { fail("capabilities should be read or execute, not [" + capability + "]"); } } }
@Test public void testWriteRead_defaultGraph() throws FileNotFoundException { File file = new File(datasource + "semantics.trig"); FileHandle filehandle = new FileHandle(); filehandle.set(file); gmWriter.write(gmWriter.DEFAULT_GRAPH, filehandle.withMimetype(RDFMimeTypes.TRIG)); FileHandle handle = gmWriter.read(gmWriter.DEFAULT_GRAPH, new FileHandle()); GraphPermissions permissions = gmWriter.getPermissions(gmWriter.DEFAULT_GRAPH); System.out.println(permissions); assertEquals(Capability.UPDATE, permissions.get("rest-writer").iterator().next()); assertEquals(Capability.READ, permissions.get("rest-reader").iterator().next()); gmWriter.deletePermissions(gmWriter.DEFAULT_GRAPH); permissions = gmWriter.getPermissions(gmWriter.DEFAULT_GRAPH); System.out.println(permissions); assertEquals(Capability.UPDATE, permissions.get("rest-writer").iterator().next()); File readFile = handle.get(); String expectedContent = convertFileToString(readFile); System.out.println(gmWriter.listGraphUris().next().toString()); assertTrue("" + gmWriter.listGraphUris().next().toString(), gmWriter.listGraphUris().next().toString().equals("http://marklogic.com/semantics#default-graph")); assertTrue("Did not insert document or inserted empty doc", expectedContent.contains("http://www.example.org/exampleDocument#Monica")); }
@Test public void G_testSPARQLInsertPermissions() throws Exception { String localGraphUri = graphUri + ".SPARQLPermissions"; String sparql = "INSERT DATA { GRAPH <" + localGraphUri + "> { <s2> <p2> <o2> } }"; SPARQLQueryManager sparqlMgr = Common.client.newSPARQLQueryManager(); SPARQLQueryDefinition qdef = sparqlMgr.newQueryDefinition(sparql) .withUpdatePermission("write-privileged", Capability.READ) .withUpdatePermission("write-privileged", Capability.UPDATE); sparqlMgr.executeUpdate(qdef); GraphPermissions getPermissions = gmgr.getPermissions(localGraphUri); assertEquals(5, getPermissions.size()); assertNotNull(getPermissions.get("write-privileged")); assertEquals(2, getPermissions.get("write-privileged").size()); for ( Capability capability : getPermissions.get("write-privileged") ) { if ( capability == null ) fail("capability should not be null"); if ( capability != Capability.READ && capability != Capability.UPDATE ) { fail("capabilities should be read or update, not [" + capability + "]"); } } gmgr.delete(localGraphUri); } }
@Test public void F_testDeletePermissions() throws Exception { gmgr.deletePermissions(graphUri); GraphPermissions permissions = gmgr.getPermissions(graphUri); assertEquals(4, permissions.size()); assertNull(permissions.get("read-privileged")); }
assertNull(perm.get("test-perm")); perms = gmTestPerm.getPermissions(uri, trx); assertTrue("Permission within trx should have Update capability", perms.get("test-perm").contains(Capability.UPDATE)); trx.rollback(); trx = null; perms = gmTestPerm.getPermissions(uri); assertNull(perm.get("test-perm")); } catch (Exception e) {
for (Capability capability : perms.get("test-perm")) { assertTrue("capability should be UPDATE, not [" + capability + "]", capability == Capability.UPDATE); for (Capability capability : perms.get("test-perm")) { assertTrue("capability for role test-perm should be UPDATE && Execute, not [" + capability + "]", capability == Capability.UPDATE || capability == Capability.EXECUTE); for (Capability capability : perms.get("test-perm2")) { assertTrue("capability for role test-perm2 should be EXECUTE && READ, not [" + capability + "]", capability == Capability.READ || capability == Capability.EXECUTE); assertTrue("Did not have expected capabilities", perms.get("test-perm").size() == 2); assertTrue("Did not have expected capabilities", perms.get("test-perm2").size() == 2); for (Capability capability : perms.get("test-perm")) { assertTrue("capability should be READ, not [" + capability + "]", capability == Capability.READ); assertTrue("Did not have expected capabilities", perms.get("test-perm").size() == 1); assertNull(perms.get("test-perm")); assertNull(perms.get("test-perm2"));
for (Capability capability : perms.get("test-perm")) { assertTrue("capability should be UPDATE, not [" + capability + "]", capability == Capability.UPDATE); for (Capability capability : perms.get("test-perm")) { assertTrue("capability should be UPDATE && Execute, not [" + capability + "]", capability == Capability.UPDATE || capability == Capability.EXECUTE); .println("Permissions after setting execute , Should see Execute & Update" + gmTestPerm.getPermissions(uri, trx)); assertNull(perms.get("test-perm"));