org.apache.jackrabbit.test.api.observation
Class PropertyChangedTest

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.observation.AbstractObservationTest
                      extended by org.apache.jackrabbit.test.api.observation.PropertyChangedTest
All Implemented Interfaces:
junit.framework.Test

public class PropertyChangedTest
extends AbstractObservationTest

Test cases for Event.PROPERTY_CHANGED events.

Configuration requirements:

The AbstractJCRTest.testRoot must allow child nodes of type AbstractJCRTest.testNodeType. The child nodes that are created will be named AbstractJCRTest.nodeName1 and AbstractJCRTest.nodeName2. AbstractJCRTest.testNodeType must also support String properties with names AbstractJCRTest.propertyName1 and AbstractJCRTest.propertyName2.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.jackrabbit.test.api.observation.AbstractObservationTest
AbstractObservationTest.Callable
 
Field Summary
 
Fields inherited from class org.apache.jackrabbit.test.api.observation.AbstractObservationTest
ALL_TYPES, DEFAULT_WAIT_TIMEOUT, obsMgr
 
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, 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
PropertyChangedTest()
           
 
Method Summary
 void testMultiPropertyChanged()
          Tests if Event.PROPERTY_CHANGED are triggered when multiple properties are changed.
 void testPropertyRemoveCreate()
          Tests if either a Event.PROPERTY_CHANGED Event.PROPERTY_REMOVED and Event.PROPERTY_ADDED is triggered if a property is transiently removed and set again with the same name but different type and then saved.
 void testSinglePropertyChanged()
          Tests if a Event.PROPERTY_CHANGED is triggered when a single property is changed.
 void testSinglePropertyChangedWithAdded()
          Tests if a Event.PROPERTY_CHANGED is triggered only for changed properties and not for new properties.
 
Methods inherited from class org.apache.jackrabbit.test.api.observation.AbstractObservationTest
addEventListener, addEventListener, checkNodeAdded, checkNodeRemoved, checkNodes, checkPropertyAdded, checkPropertyChanged, checkPropertyRemoved, getEventByPath, getEvents, removeEventListener, setUp, tearDown, toArray
 
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

PropertyChangedTest

public PropertyChangedTest()
Method Detail

testSinglePropertyChanged

public void testSinglePropertyChanged()
                               throws RepositoryException
Tests if a Event.PROPERTY_CHANGED is triggered when a single property is changed.

Throws:
RepositoryException

testMultiPropertyChanged

public void testMultiPropertyChanged()
                              throws RepositoryException
Tests if Event.PROPERTY_CHANGED are triggered when multiple properties are changed.

Throws:
RepositoryException

testSinglePropertyChangedWithAdded

public void testSinglePropertyChangedWithAdded()
                                        throws RepositoryException
Tests if a Event.PROPERTY_CHANGED is triggered only for changed properties and not for new properties.

Throws:
RepositoryException

testPropertyRemoveCreate

public void testPropertyRemoveCreate()
                              throws RepositoryException,
                                     NotExecutableException
Tests if either a is triggered if a property is transiently removed and set again with the same name but different type and then saved.

If the node type AbstractJCRTest.testNodeType does not suppport a property with name AbstractJCRTest.propertyName1 of type PropertyType.UNDEFINED a NotExecutableException is thrown.

Throws:
RepositoryException
NotExecutableException


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