Refine search
@Test(expected = IllegalStateException.class) public void throwOnClosedRoot() throws LoginException, NoSuchWorkspaceException, IOException { ContentSession session = repository.login(null, null); Root root = session.getLatestRoot(); session.close(); root.getTree("/"); }
@Test(expected = IllegalStateException.class) public void throwOnClosedSession() throws LoginException, NoSuchWorkspaceException, IOException { ContentSession session = repository.login(null, null); session.close(); session.getLatestRoot(); }
private static boolean isReindexing(ContentSession s) { Tree idx = s.getLatestRoot().getTree("/oak:index/lucene"); return idx.getProperty("reindex").getValue(BOOLEAN); }
@Test public void testReadPermissionWalkThrough() { Root testRoot = testSession.getLatestRoot(); // EXERCISE verify if these tree are accessible using Tree#exists() // Question: can you explain why using Tree.exists is sufficient and you don't necessarily need to perform the check on the PermissionProvider? Tree rootTree = testRoot.getTree("/"); Tree bTree = testRoot.getTree("/a/b"); Tree cTree = testRoot.getTree("/a/b/c"); // EXERCISE verify if this is an accessible property? Q: how can you do this withouth testing the readability on the PermissionProvider? PropertyState bProp = bTree.getProperty("bProp"); PropertyState bbProp = testRoot.getTree("/a/bb").getProperty("bbProp"); PropertyState cProp = cTree.getProperty("cProp"); }
@Test public void addExistingProperty() throws Exception { Root ours = login(getAdminCredentials()).getLatestRoot(); Root theirs = login(getAdminCredentials()).getLatestRoot(); add(ours, users[1].getID()); add(theirs, users[2].getID()); root.refresh(); assertTrue(group.isDeclaredMember(users[1])); assertTrue(group.isDeclaredMember(users[2])); }
private static long counterValue(ContentSession s, String path) { Tree counter = s.getLatestRoot().getTree(path); if (counter.hasProperty("oak:counter")) { return counter.getProperty("oak:counter").getValue(LONG); } return 0; } }
@Test public void testAddChild() throws Exception { Root testRoot = testSession.getLatestRoot(); List<String> paths = ImmutableList.of("/a", "/a/d/b", "/a/d/b/e/c"); for (String p : paths) { NodeUtil t = new NodeUtil(testRoot.getTree(p)); t.addChild("c", NodeTypeConstants.NT_OAK_UNSTRUCTURED); testRoot.commit(); } }
/** * Changed-Deleted. Delete takes precedence */ @Test public void changeDeletedProperty() throws Exception { add(root, users[0].getID(), users[1].getID()); Root ours = login(getAdminCredentials()).getLatestRoot(); Root theirs = login(getAdminCredentials()).getLatestRoot(); wipeGroup(theirs); add(ours, users[2].getID()); root.refresh(); assertFalse(group.isDeclaredMember(users[0])); assertFalse(group.isDeclaredMember(users[1])); }
@Before public void setUp() throws CommitFailedException { ContentSession session = createContentSession(); // Add test content Root root = session.getLatestRoot(); Tree tree = root.getTree("/"); Tree x = tree.addChild("x"); Tree y = x.addChild("y"); Tree z = y.addChild("z"); root.commit(); // Acquire a fresh new root to avoid problems from lingering state this.root = new ImmutableRoot(session.getLatestRoot()); }
@Test(expected = IllegalStateException.class) public void throwOnClosedTree() throws LoginException, NoSuchWorkspaceException, IOException { ContentSession session = repository.login(null, null); Root root = session.getLatestRoot(); Tree tree = root.getTree("/"); session.close(); tree.getChild("any"); } }
/** * Delete-Changed. Delete takes precedence */ @Test public void deleteChangedProperty() throws Exception { add(root, users[0].getID(), users[1].getID()); Root ours = login(getAdminCredentials()).getLatestRoot(); Root theirs = login(getAdminCredentials()).getLatestRoot(); add(theirs, users[2].getID()); wipeGroup(ours); root.refresh(); assertFalse(group.isDeclaredMember(users[0])); assertFalse(group.isDeclaredMember(users[1])); }
@NotNull private TreePermission getTreePermission(@NotNull ContentSession cs, @NotNull String path) throws Exception { Root r = cs.getLatestRoot(); PermissionProvider pp = config.getPermissionProvider(r, cs.getWorkspaceName(), cs.getAuthInfo().getPrincipals()); Tree t = r.getTree(PathUtils.ROOT_PATH); TreePermission tp = pp.getTreePermission(t, TreePermission.EMPTY); for (String name : PathUtils.elements(path)) { t = t.getChild(name); tp = pp.getTreePermission(t, tp); } return tp; }
@Test public void rebaseWithRemoveProperty() throws CommitFailedException { Root root1 = session.getLatestRoot(); Root root2 = session.getLatestRoot(); checkEqual(root1.getTree("/"), root2.getTree("/")); root2.getTree("/").addChild("one").addChild("two").addChild("three") .setProperty("p1", "V1"); root2.commit(); root1.getTree("/").removeProperty("a"); root1.rebase(); root2.getTree("/").removeProperty("a"); checkEqual(root1.getTree("/"), (root2.getTree("/"))); }
/** * Remove-Add same value test. value was already part of the group */ @Test public void changeChangedPropertyRA2() throws Exception { add(root, users[0].getID(), users[1].getID()); Root ours = login(getAdminCredentials()).getLatestRoot(); Root theirs = login(getAdminCredentials()).getLatestRoot(); String id = users[1].getID(); rm(ours, id); add(theirs, id); root.refresh(); assertTrue(group.isDeclaredMember(users[0])); assertFalse(group.isDeclaredMember(users[1])); }
private void waitForReindexing(ContentSession session) throws CommitFailedException, ParseException { String tmpUuid = UUIDUtils.generateUUID(); Root root = session.getLatestRoot(); root.getTree("/").addChild("tmp").setProperty(JcrConstants.JCR_UUID, tmpUuid); root.commit(); assertEquals(1, waitForUuid(session, tmpUuid).size()); root.getTree("/tmp").remove(); root.commit(); }
@Test public void rebaseWithAddNode() throws CommitFailedException { Root root1 = session.getLatestRoot(); Root root2 = session.getLatestRoot(); checkEqual(root1.getTree("/"), root2.getTree("/")); root2.getTree("/").addChild("one").addChild("two").addChild("three") .setProperty("p1", "V1"); root2.commit(); root1.getTree("/").addChild("child"); root1.rebase(); root2.getTree("/").addChild("child"); checkEqual(root1.getTree("/"), (root2.getTree("/"))); }
@Test public void testMissingPermissionRoot() throws Exception { ContentRepository repo = new Oak().with(new OpenSecurityProvider()).createContentRepository(); Root tmpRoot = repo.login(null, null).getLatestRoot(); try { PrivilegeDefinitionReader reader = new PrivilegeDefinitionReader(tmpRoot); assertNull(reader.readDefinition(JCR_READ)); } finally { tmpRoot.getContentSession().close(); } } }
private TreePermission getTreePermission(String path) throws Exception { ContentSession testSession = createTestSession(); PermissionProvider pp = config.getPermissionProvider(testSession.getLatestRoot(), testSession.getWorkspaceName(), testSession.getAuthInfo().getPrincipals()); return pp.getTreePermission(root.getTree(path), TreePermission.EMPTY); }
@Test public void rebaseWithAddProperty() throws CommitFailedException { Root root1 = session.getLatestRoot(); Root root2 = session.getLatestRoot(); checkEqual(root1.getTree("/"), root2.getTree("/")); root2.getTree("/").addChild("one").addChild("two").addChild("three") .setProperty("p1", "V1"); root2.commit(); root1.getTree("/").setProperty("new", 42); root1.rebase(); root2.getTree("/").setProperty("new", 42); checkEqual(root1.getTree("/"), (root2.getTree("/"))); }
/** * Add-Remove same value test. value was already part of the group */ @Test public void changeChangedPropertyAR2() throws Exception { add(root, users[0].getID(), users[1].getID()); Root ours = login(getAdminCredentials()).getLatestRoot(); Root theirs = login(getAdminCredentials()).getLatestRoot(); String id = users[1].getID(); add(ours, id); rm(theirs, id); root.refresh(); assertTrue(group.isDeclaredMember(users[0])); assertFalse(group.isDeclaredMember(users[1])); }