/** * Tests if <code>VersionHistory.getUUID()</code> returns the right UUID */ public void testGetUUID() throws Exception { assertEquals("VersionHistory.getUUID() did not return the right UUID", versionableNode.getProperty(jcrVersionHistory).getString(), vHistory.getUUID()); }
public void testRemoveAddMixVersionable() throws Exception { Node node = testRootNode.addNode(nodeName1); node.addMixin(mixVersionable); superuser.save(); String vhId = node.getVersionHistory().getUUID(); node.removeMixin(mixVersionable); node.addMixin(mixVersionable); superuser.save(); assertFalse(vhId.equals(node.getVersionHistory().getUUID())); }
@SuppressWarnings("deprecation") public void testGetNodeByUUID() throws RepositoryException { Node n = testRootNode.addNode(nodeName1, testNodeType); n.addMixin(mixVersionable); superuser.save(); VersionManager vMgr = superuser.getWorkspace().getVersionManager(); String uuid = vMgr.getVersionHistory(n.getPath()).getUUID(); assertTrue("Session.getNodeByUUID() did not return VersionHistory object for a nt:versionHistory node.", superuser.getNodeByUUID(uuid) instanceof VersionHistory); } }
public void testRemoveAddMixVersionable1() throws Exception { Node node = testRootNode.addNode(nodeName1); node.addMixin(mixReferenceable); node.addMixin(mixVersionable); superuser.save(); String vhId = node.getVersionHistory().getUUID(); node.removeMixin(mixVersionable); node.addMixin(mixVersionable); superuser.save(); assertEquals(vhId, node.getVersionHistory().getUUID()); } }
public void testChildInSubTree() throws Exception { Node frozenN1 = frozen.getNode(nodeName1); Node frozenN2 = frozenN1.getNode(nodeName2); assertEquals(NT_VERSIONEDCHILD, frozenN2.getPrimaryNodeType().getName()); Property childVh = frozenN2.getProperty(JCR_CHILD_VERSION_HISTORY); assertEquals(versionManager.getVersionHistory(testRoot + '/' + nodeName1 + '/' + nodeName2).getUUID(), childVh.getString()); Node frozenN3 = frozenN1.getNode(nodeName3); assertEquals(NT_FROZENNODE, frozenN3.getPrimaryNodeType().getName()); } }
/** * @since oak */ @Test public void testVersionHistoryGetUUID() throws Exception { VersionHistory testVh = testSession.getNode(versionablePath).getVersionHistory(); testVh.getUUID(); }
public void testDirectChild() throws Exception { // n1 : is not versionable -> copied to frozen node assertTrue(frozen.hasNode(nodeName1)); Node frozenN1 = frozen.getNode(nodeName1); assertEquals(NT_FROZENNODE, frozenN1.getPrimaryNodeType().getName()); assertTrue(frozenN1.hasNode(nodeName2)); assertTrue(frozenN1.hasNode(nodeName3)); // n1b is versionable -> only child of 'nt:versionedChild' is created in // the frozen node with 'jcr:childVersionHistory' property referring to // the version history of n1b assertTrue(frozen.hasNode(siblingName)); Node frozenN1b = frozen.getNode(siblingName); assertEquals(NT_VERSIONEDCHILD, frozenN1b.getPrimaryNodeType().getName()); Property childVh = frozenN1b.getProperty(JCR_CHILD_VERSION_HISTORY); assertEquals(versionManager.getVersionHistory(testRoot + '/' + siblingName).getUUID(), childVh.getString()); }
@SuppressWarnings( "deprecation" ) public void testShouldCreateProperVersionHistoryWhenSavingVersionedNode() throws Exception { session = getHelper().getReadWriteSession(); Node node = session.getRootNode().addNode("test", "nt:unstructured"); node.addMixin("mix:versionable"); session.save(); assertThat(node.hasProperty("jcr:isCheckedOut"), is(true)); assertThat(node.getProperty("jcr:isCheckedOut").getBoolean(), is(true)); assertThat(node.hasProperty("jcr:versionHistory"), is(true)); Node history = node.getProperty("jcr:versionHistory").getNode(); assertThat(history, is(notNullValue())); assertThat(node.hasProperty("jcr:baseVersion"), is(true)); Node version = node.getProperty("jcr:baseVersion").getNode(); assertThat(version, is(notNullValue())); assertThat(version.getParent(), is(history)); assertThat(node.hasProperty("jcr:uuid"), is(true)); assertThat(node.getProperty("jcr:uuid").getString(), is(history.getProperty("jcr:versionableUuid").getString())); assertThat(versionHistory(node).getUUID(), is(history.getUUID())); assertThat(versionHistory(node).getIdentifier(), is(history.getIdentifier())); assertThat(versionHistory(node).getPath(), is(history.getPath())); assertThat(baseVersion(node).getUUID(), is(version.getUUID())); assertThat(baseVersion(node).getIdentifier(), is(version.getIdentifier())); assertThat(baseVersion(node).getPath(), is(version.getPath())); }
String uuid = history.getUUID();
Session session = n.getSession(); VersionHistory vh = n.getVersionHistory(); String vhUuid = vh.getUUID(); assertExists(session, vhUuid);
/** * @since oak */ @Test public void testAccessVersionHistoryVersionableNodeRemoved() throws Exception { superuser.getNode(versionablePath).remove(); superuser.save(); testSession.refresh(false); assertTrue(testSession.nodeExists(path)); assertFalse(testSession.nodeExists(versionablePath)); // accessing the version history directly should still succeed as // read permission is still granted on the tree defined by the parent. VersionHistory history = (VersionHistory) testSession.getNode(vh.getPath()); history = (VersionHistory) testSession.getNodeByIdentifier(vh.getIdentifier()); history = (VersionHistory) testSession.getNodeByUUID(vh.getUUID()); // revoking read permission on the parent node -> version history // must no longer be accessible modify(path, Privilege.JCR_READ, false); assertFalse(testSession.nodeExists(vh.getPath())); } }
/** * @since oak */ @Test public void testAccessVersionHistoryVersionableNodeNotAccessible() throws Exception { // revert read permission on the versionable node modify(versionablePath, Privilege.JCR_READ, false); // versionable node is not readable any more for test session. assertFalse(testSession.nodeExists(versionablePath)); // access version history directly => should fail try { VersionHistory history = (VersionHistory) testSession.getNode(vh.getPath()); fail("Access to version history should be denied if versionable node is not accessible"); } catch (PathNotFoundException e) { // success } try { VersionHistory history = (VersionHistory) testSession.getNodeByIdentifier(vh.getIdentifier()); fail("Access to version history should be denied if versionable node is not accessible"); } catch (ItemNotFoundException e) { // success } try { VersionHistory history = (VersionHistory) testSession.getNodeByUUID(vh.getUUID()); fail("Access to version history should be denied if versionable node is not accessible"); } catch (ItemNotFoundException e) { // success } }