Class ShareableNodeTest

  • All Implemented Interfaces:
    junit.framework.Test

    public class ShareableNodeTest
    extends AbstractJCRTest
    Tests features available with shareable nodes.
    • Constructor Detail

      • ShareableNodeTest

        public ShareableNodeTest()
    • Method Detail

      • testGetIndex

        public void testGetIndex()
                          throws Exception
        Verify that Node.getIndex returns the correct index in a shareable node (6.13).
        Throws:
        Exception
      • testGetName

        public void testGetName()
                         throws Exception
        Verify that Node.getName returns the correct name in a shareable node (6.13).
        Throws:
        Exception
      • testGetPath

        public void testGetPath()
                         throws Exception
        Verify that Node.getPath returns the correct path in a shareable node (6.13).
        Throws:
        Exception
      • testGetNode

        public void testGetNode()
                         throws Exception
        Verify that the shareable node returned by Node.getNode() has the right name.
        Throws:
        Exception
      • testGetNodes

        public void testGetNodes()
                          throws Exception
        Verify that the shareable nodes returned by Node.getNodes() have the right name.
        Throws:
        Exception
      • testGetNodesByPattern

        public void testGetNodesByPattern()
                                   throws Exception
        Verify that the shareable nodes returned by Node.getNodes(String) have the right name.
        Throws:
        Exception
      • testGetSharedSet

        public void testGetSharedSet()
                              throws Exception
        Check new API Node.getSharedSet() (6.13.1)
        Throws:
        Exception
      • testAddMixin

        public void testAddMixin()
                          throws Exception
        Add the mix:shareable mixin to a node (6.13.2).
        Throws:
        Exception
      • testRestore

        public void testRestore()
                         throws Exception
        Create a shareable node by restoring it (6.13.3).
        Throws:
        Exception
      • testRemoveShare

        public void testRemoveShare()
                             throws Exception
        Check new API Node.removeShare() (6.13.4).
        Throws:
        Exception
      • testRemoveSharedSet

        public void testRemoveSharedSet()
                                 throws Exception
        Check new API Node.removeSharedSet() (6.13.4).
        Throws:
        Exception
      • testRemoveSharedSetSaveOneParentOnly

        public void testRemoveSharedSetSaveOneParentOnly()
                                                  throws Exception
        Invoke Node.removeSharedSet(), but save only one of the parent nodes of the shared set. This doesn't need to be supported according to the specification (6.13.4).
        Throws:
        Exception
      • testSameUUID

        public void testSameUUID()
                          throws Exception
        Verify that shareable nodes in the same shared set have the same jcr:uuid (6.13.10).
        Throws:
        Exception
      • testAddChild

        public void testAddChild()
                          throws Exception
        Add a child to a shareable node and verify that another node in the same shared set has the same child and is modified when the first one is (6.13.11).
        Throws:
        Exception
      • testCopy

        public void testCopy()
                      throws Exception
        Copy a subtree that contains shareable nodes. Verify that the nodes newly created are not in the shared set that existed before the copy, but if two nodes in the source of a copy are in the same shared set, then the two corresponding nodes in the destination of the copy must also be in the same shared set (6.13.12).
        Throws:
        Exception
      • testDetectShareCycleOnClone

        public void testDetectShareCycleOnClone()
                                         throws Exception
        Verify that a share cycle is detected (6.13.13) when a shareable node is cloned.
        Throws:
        Exception
      • testDetectShareCycleOnMove

        public void testDetectShareCycleOnMove()
                                        throws Exception
        Verify that a share cycle is detected (6.13.13) when a node is moved.
        Throws:
        Exception
      • testDetectShareCycleOnTransientMove

        public void testDetectShareCycleOnTransientMove()
                                                 throws Exception
        Verify that a share cycle is detected (6.13.13) when a node is transiently moved.
        Throws:
        Exception
      • testImportExportNtShare

        public void testImportExportNtShare()
                                     throws Exception
        Verify export and import of a tree containing multiple nodes in the same shared set (6.13.14). The first serialized node in that shared set is serialized in the normal fashion (with all of its properties and children), but any subsequent shared node in that shared set is serialized as a special node of type nt:share, which contains only the jcr:uuid property of the shared node and the jcr:primaryType property indicating the type nt:share.
        Throws:
        Exception
      • testImportSystemViewCollision

        public void testImportSystemViewCollision()
                                           throws Exception
        Verify system view import via workspace (6.13.14). Export a system view containing a shareable node and verify, that reimporting underneath a different parent adds another member to the shared set and does not duplicate children nodes.
        Throws:
        Exception
      • testImportDocumentViewCollision

        public void testImportDocumentViewCollision()
                                             throws Exception
        Verify document view import via workspace (6.13.14). Export a document view containing a shareable node and verify, that reimporting underneath a different parent adds another member to the shared set and does not duplicate children nodes.
        Throws:
        Exception
      • testSessionImportSystemViewCollision

        public void testSessionImportSystemViewCollision()
                                                  throws Exception
        Verify system view import via session (6.13.14). Export a system view containing a shareable node and verify, that reimporting underneath a different parent adds another member to the shared set and does not duplicate children nodes.
        Throws:
        Exception
      • testSessionImportDocumentViewCollision

        public void testSessionImportDocumentViewCollision()
                                                    throws Exception
        Verify document view import via session (6.13.14). Export a document view containing a shareable node and verify, that reimporting underneath a different parent adds another member to the shared set and does not duplicate children nodes.
        Throws:
        Exception
      • testLock

        public void testLock()
                      throws Exception
        Verify that a lock applies to all nodes in a shared set (6.13.16).
        Throws:
        Exception
      • testRestoreRemoveExisting

        public void testRestoreRemoveExisting()
                                       throws Exception
        Restore a shareable node that automatically removes an existing shareable node (6.13.19). In this case the particular shared node is removed but its descendants continue to exist below the remaining members of the shared set.
        Throws:
        Exception
      • testClone

        public void testClone()
                       throws Exception
        Clone a mix:shareable node to the same workspace (6.13.20). Verify that cloning without mix:shareable fails.
        Throws:
        Exception
      • testIsSame

        public void testIsSame()
                        throws Exception
        Verify that Node.isSame returns true for shareable nodes in the same shared set (6.13.21)
        Throws:
        Exception
      • testRemoveMixin

        public void testRemoveMixin()
                             throws Exception
        Remove mix:shareable from a shareable node.
        Throws:
        Exception
      • testRemoveMixinFromSharedNode

        public void testRemoveMixinFromSharedNode()
                                           throws Exception
        Remove mix:shareable from a shareable node that has 2 nodes in the shared set.
        Throws:
        Exception
      • testSearch

        public void testSearch()
                        throws Exception
        Verify that a descendant of a shareable node appears once in the result set (6.13.23)
        Throws:
        Exception
      • testCloneToSameParent

        public void testCloneToSameParent()
                                   throws Exception
        Clone a mix:shareable node to the same workspace, with the same parent. This is unsupported in Jackrabbit.
        Throws:
        Exception
      • testMoveShareableNode

        public void testMoveShareableNode()
                                   throws Exception
        Move a node in a shared set.
        Throws:
        Exception
      • testTransientMoveShareableNode

        public void testTransientMoveShareableNode()
                                            throws Exception
        Transiently move a node in a shared set.
        Throws:
        Exception
      • testRemoveDescendantAndSave

        public void testRemoveDescendantAndSave()
                                         throws Exception
        Verify that invoking save() on a share-ancestor will save changes in all share-descendants.
        Throws:
        Exception
      • testRemoveDescendantAndRemoveShareAndSave

        public void testRemoveDescendantAndRemoveShareAndSave()
                                                       throws Exception
        Verify that invoking save() on a share-ancestor will save changes in all share-descendants.
        Throws:
        Exception
      • testModifyDescendantAndSave

        public void testModifyDescendantAndSave()
                                         throws Exception
        Verify that invoking save() on a share-ancestor will save changes in all share-descendants.
        Throws:
        Exception
      • testModifyDescendantAndRemoveShareAndSave

        public void testModifyDescendantAndRemoveShareAndSave()
                                                       throws Exception
        Verify that invoking save() on a share-ancestor will save changes in all share-descendants.
        Throws:
        Exception
      • testCloneMultipleTimes

        public void testCloneMultipleTimes()
                                    throws Exception
        Clone a mix:shareable node to the same workspace multiple times, remove all parents and save. Exposes an error that occurred when having more than two members in a shared set and parents were removed in the same order they were created.
        Throws:
        Exception
      • testSharedNodePath

        public void testSharedNodePath()
                                throws Exception
        Verify that shared nodes return correct paths.
        Throws:
        Exception