Package org.apache.jackrabbit.test.api
Class ShareableNodeTest
- java.lang.Object
-
- junit.framework.Assert
-
- junit.framework.TestCase
-
- org.apache.jackrabbit.test.JUnitTest
-
- org.apache.jackrabbit.test.AbstractJCRTest
-
- 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, mixShareable, mixSimpleVersionable, mixTitle, mixVersionable, nodeName1, nodeName2, nodeName3, nodeName4, NS_JCR_URI, NS_MIX_URI, NS_NT_URI, NS_SV_URI, ntActivity, ntBase, ntFrozenNode, ntQuery, ntUnstructured, ntVersion, ntVersionHistory, ntVersionLabels, propertyName1, propertyName2, superuser, testNodeType, testNodeTypeNoChildren, testNodeTypeTestRoot, testPath, testRoot, testRootNode, vf, workspaceName
-
-
Constructor Summary
Constructors Constructor Description ShareableNodeTest()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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 returnstrue
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
testRemoveMixinFromSharedNode()
Remove mix:shareable from a shareable node that has 2 nodes in the shared set.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, ensureLockingSupported, ensureMixinType, ensureMultipleWorkspacesSupported, getHelper, getJcrValue, getLocalName, getNonExistingWorkspaceName, getPrefix, getProperty, getProperty, getQualifiedName, getSize, isSupported, needsMixin, run
-
Methods inherited from class junit.framework.TestCase
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, countTestCases, createResult, fail, fail, failNotEquals, failNotSame, failSame, format, getName, run, runBare, runTest, setName, toString
-
-
-
-
Method Detail
-
setUp
protected void setUp() throws Exception
- Overrides:
setUp
in classAbstractJCRTest
- Throws:
Exception
-
tearDown
protected void tearDown() throws Exception
- Overrides:
tearDown
in classAbstractJCRTest
- 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 typent:share
, which contains only thejcr:uuid
property of the shared node and thejcr:primaryType
property indicating the typent: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 returnstrue
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
-
-