org.apache.jackrabbit.test.api
Class ShareableNodeTest

java.lang.Object
  extended by junit.framework.Assert
      extended by junit.framework.TestCase
          extended by org.apache.jackrabbit.test.JUnitTest
              extended by org.apache.jackrabbit.test.AbstractJCRTest
                  extended by org.apache.jackrabbit.test.api.ShareableNodeTest
All Implemented Interfaces:
junit.framework.Test

public class ShareableNodeTest
extends AbstractJCRTest

Tests features available with shareable nodes.


Field Summary
 
Fields inherited from class org.apache.jackrabbit.test.AbstractJCRTest
isReadOnly, jcrBaseVersion, jcrCopiedFrom, jcrCreated, jcrFrozenNode, jcrFrozenUuid, jcrIsCheckedOut, jcrlockIsDeep, jcrLockOwner, jcrMergeFailed, jcrMixinTypes, jcrPredecessors, jcrPrimaryType, jcrRootVersion, jcrSuccessors, jcrSystem, jcrUUID, jcrVersionHistory, mixLockable, mixReferenceable, mixSimpleVersionable, mixVersionable, nodeName1, nodeName2, nodeName3, nodeName4, NS_JCR_URI, NS_MIX_URI, NS_NT_URI, NS_SV_URI, ntBase, ntFrozenNode, ntQuery, ntUnstructured, ntVersion, ntVersionHistory, ntVersionLabels, propertyName1, propertyName2, superuser, testNodeType, testNodeTypeNoChildren, testPath, testRoot, testRootNode, vf, workspaceName
 
Fields inherited from class org.apache.jackrabbit.test.JUnitTest
log
 
Constructor Summary
ShareableNodeTest()
           
 
Method Summary
protected  void setUp()
           
protected  void tearDown()
           
 void testAddChild()
          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).
 void testAddMixin()
          Add the mix:shareable mixin to a node (6.13.2).
 void testClone()
          Clone a mix:shareable node to the same workspace (6.13.20).
 void testCloneMultipleTimes()
          Clone a mix:shareable node to the same workspace multiple times, remove all parents and save.
 void testCloneToSameParent()
          Clone a mix:shareable node to the same workspace, with the same parent.
 void testCopy()
          Copy a subtree that contains shareable nodes.
 void testDetectShareCycleOnClone()
          Verify that a share cycle is detected (6.13.13) when a shareable node is cloned.
 void testDetectShareCycleOnMove()
          Verify that a share cycle is detected (6.13.13) when a node is moved.
 void testDetectShareCycleOnTransientMove()
          Verify that a share cycle is detected (6.13.13) when a node is transiently moved.
 void testGetIndex()
          Verify that Node.getIndex returns the correct index in a shareable node (6.13).
 void testGetName()
          Verify that Node.getName returns the correct name in a shareable node (6.13).
 void testGetNode()
          Verify that the shareable node returned by Node.getNode() has the right name.
 void testGetNodes()
          Verify that the shareable nodes returned by Node.getNodes() have the right name.
 void testGetNodesByPattern()
          Verify that the shareable nodes returned by Node.getNodes(String) have the right name.
 void testGetPath()
          Verify that Node.getPath returns the correct path in a shareable node (6.13).
 void testGetSharedSet()
          Check new API Node.getSharedSet() (6.13.1)
 void testImportDocumentViewCollision()
          Verify document view import via workspace (6.13.14).
 void testImportExportNtShare()
          Verify export and import of a tree containing multiple nodes in the same shared set (6.13.14).
 void testImportSystemViewCollision()
          Verify system view import via workspace (6.13.14).
 void testIsSame()
          Verify that Node.isSame returns true for shareable nodes in the same shared set (6.13.21)
 void testLock()
          Verify that a lock applies to all nodes in a shared set (6.13.16).
 void testModifyDescendantAndRemoveShareAndSave()
          Verify that invoking save() on a share-ancestor will save changes in all share-descendants.
 void testModifyDescendantAndSave()
          Verify that invoking save() on a share-ancestor will save changes in all share-descendants.
 void testMoveShareableNode()
          Move a node in a shared set.
 void testRemoveDescendantAndRemoveShareAndSave()
          Verify that invoking save() on a share-ancestor will save changes in all share-descendants.
 void testRemoveDescendantAndSave()
          Verify that invoking save() on a share-ancestor will save changes in all share-descendants.
 void testRemoveMixin()
          Remove mix:shareable from a shareable node.
 void testRemoveShare()
          Check new API Node.removeShare() (6.13.4).
 void testRemoveSharedSet()
          Check new API Node.removeSharedSet() (6.13.4).
 void testRemoveSharedSetSaveOneParentOnly()
          Invoke Node.removeSharedSet(), but save only one of the parent nodes of the shared set.
 void testRestore()
          Create a shareable node by restoring it (6.13.3).
 void testRestoreRemoveExisting()
          Restore a shareable node that automatically removes an existing shareable node (6.13.19).
 void testSameUUID()
          Verify that shareable nodes in the same shared set have the same jcr:uuid (6.13.10).
 void testSearch()
          Verify that a descendant of a shareable node appears once in the result set (6.13.23)
 void testSessionImportDocumentViewCollision()
          Verify document view import via session (6.13.14).
 void testSessionImportSystemViewCollision()
          Verify system view import via session (6.13.14).
 void testSharedNodePath()
          Verify that shared nodes return correct paths.
 void testTransientMoveShareableNode()
          Transiently move a node in a shared set.
 
Methods inherited from class org.apache.jackrabbit.test.AbstractJCRTest
checkSupportedOption, cleanUp, cleanUpTestRoot, createRandomString, ensureCanSetProperty, ensureCanSetProperty, ensureCanSetProperty, ensureKnowsNodeType, ensureMixinType, ensureMultipleWorkspacesSupported, getHelper, getJcrValue, getLocalName, getNonExistingWorkspaceName, getProperty, getProperty, getSize, isSupported, needsMixin, run
 
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, runBare, runTest, setName, toString
 
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ShareableNodeTest

public ShareableNodeTest()
Method Detail

setUp

protected void setUp()
              throws Exception
Overrides:
setUp in class AbstractJCRTest
Throws:
Exception

tearDown

protected void tearDown()
                 throws Exception
Overrides:
tearDown in class AbstractJCRTest
Throws:
Exception

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. This is unsupported in Jackrabbit (6.13.22).

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. This is unsupported in Jackrabbit.

Throws:
Exception

testTransientMoveShareableNode

public void testTransientMoveShareableNode()
                                    throws Exception
Transiently move a node in a shared set. This is unsupported in Jackrabbit.

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


Copyright © 2004-2010 The Apache Software Foundation. All Rights Reserved.