org.apache.jackrabbit.test.api
Class SessionUUIDTest

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.SessionUUIDTest
All Implemented Interfaces:
junit.framework.Test

public class SessionUUIDTest
extends AbstractJCRTest

SessionUUIDTest contains all tests for the Session class that require a UUID (and therefore are optional).


Field Summary
 
Fields inherited from class org.apache.jackrabbit.test.AbstractJCRTest
helper, isReadOnly, jcrBaseVersion, jcrCreated, jcrFrozenNode, jcrFrozenUuid, jcrlockIsDeep, jcrLockOwner, jcrMergeFailed, jcrMixinTypes, jcrPredecessors, jcrPrimaryType, jcrRootVersion, jcrSuccessors, jcrSystem, jcrUUID, jcrVersionHistory, mixLockable, mixReferenceable, mixVersionable, nodeName1, nodeName2, nodeName3, nodeName4, NS_JCR_URI, NS_MIX_URI, NS_NT_URI, NS_SV_URI, ntBase, ntFrozenNode, ntQuery, ntVersion, ntVersionHistory, ntVersionLabels, propertyName1, propertyName2, superuser, testNodeType, testNodeTypeNoChildren, testPath, testRoot, testRootNode, workspaceName
 
Fields inherited from class org.apache.jackrabbit.test.JUnitTest
log
 
Constructor Summary
SessionUUIDTest()
           
 
Method Summary
 void testSaveMovedRefNode()
          Moves a referencable node using Session.move(String, String) with one session and saves afterward changes made with a second session to the moved node using Session.save().

Procedure: Creates node 1 and node 2 with session 1 Gets reference to node 1 using session 2 Session 1 moves node 1 under node 2, saves changes Session 2 modifes node 1, saves This should work (since the modified node is identified by its UUID, not by position in repository) or throw an InvalidItemStateException if 'move' is reported to the second session as a sequence of remove and add events.
 void testSaveReferentialIntegrityException()
          Tries to remove a node that is a reference target using Session.save().

Procedure: Creates two nodes with same session One has a referencing property pointing to the other node Target node gets removed. This should generate a ReferentialIntegrityException upon save.
 
Methods inherited from class org.apache.jackrabbit.test.AbstractJCRTest
cleanUp, cleanUpTestRoot, createRandomString, ensureCanSetProperty, ensureCanSetProperty, ensureCanSetProperty, ensureMultipleWorkspacesSupported, getNonExistingWorkspaceName, getProperty, getSize, isSupported, needsMixin, run, setUp, tearDown
 
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

SessionUUIDTest

public SessionUUIDTest()
Method Detail

testSaveReferentialIntegrityException

public void testSaveReferentialIntegrityException()
                                           throws RepositoryException,
                                                  NotExecutableException
Tries to remove a node that is a reference target using Session.save().

Procedure: This should generate a ReferentialIntegrityException upon save.

Prerequisites:

Throws:
RepositoryException
NotExecutableException

testSaveMovedRefNode

public void testSaveMovedRefNode()
                          throws RepositoryException,
                                 NotExecutableException
Moves a referencable node using Session.move(String, String) with one session and saves afterward changes made with a second session to the moved node using Session.save().

Procedure: This should work (since the modified node is identified by its UUID, not by position in repository) or throw an InvalidItemStateException if 'move' is reported to the second session as a sequence of remove and add events.

Prerequisites:

Throws:
RepositoryException
NotExecutableException


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