org.apache.qpid.test.testcases
Class FailoverTest

java.lang.Object
  extended by junit.framework.Assert
      extended by junit.framework.TestCase
          extended by org.apache.qpid.test.utils.QpidTestCase
              extended by org.apache.qpid.test.utils.QpidBrokerTestCase
                  extended by org.apache.qpid.test.framework.FrameworkBaseCase
                      extended by org.apache.qpid.test.testcases.FailoverTest
All Implemented Interfaces:
junit.framework.Test, org.apache.qpid.junit.extensions.SetupTaskAware, BrokerLifecycleAware, FrameworkTestContext

public class FailoverTest
extends FrameworkBaseCase

FailoverTest provides testing of fail-over over a local-circuit implementation. The circuit being tested may be against an in-vm broker or against an external broker, with the failure mechanism abstracted out of the test case. Automatic failures can be simulated against an in-vm broker. Currently the test must interact with the user to simulate failures on an external broker. Things to test: In tx, failure duing tx causes tx to error on subsequent sends/receives or commits/rollbacks. Outside of tx, reconnection allows msg flow to continue but there may be loss.

CRC Card
Responsibilities Collaborations

Todo:
This test is designed to be run over a local circuit only. For in-vm using automatic failures, for external brokers by prompting the user (or maybe using a script). Enforce the local-circuit only nature of the tests as well as thinking about how other local-circuit tests might be implemented. For example, could add a method to the framework base case for local only tests to call, that allows them access to the local-circuit implementation and so on., More. Need to really expand the set of fail-over tests.

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.qpid.test.utils.QpidBrokerTestCase
QpidBrokerTestCase.MessageType
 
Field Summary
 
Fields inherited from class org.apache.qpid.test.utils.QpidBrokerTestCase
_broker, _brokerLanguage, _brokerLogPrefix, _brokerOutputStream, _brokerPersistent, _brokers, _configFile, _connectionFactory, _connections, _initialContext, _interleaveBrokerLog, _logger, _output, _outputFile, _testName, BROKER_READY, CONTENT, CPP, DEFAULT_MANAGEMENT_PORT, DEFAULT_MESSAGE_SIZE, DEFAULT_PORT, DEFAULT_SSL_PORT, DEFAULT_VM_PORT, EXTERNAL, INDEX, JAVA, LOGMONITOR_TIMEOUT, QPID_HOME, QpidHome, QUEUE, RECEIVE_TIMEOUT, TOPIC, VM
 
Fields inherited from class org.apache.qpid.test.utils.QpidTestCase
MEMORY_STORE_CLASS_NAME, MS_CLASS_NAME_KEY
 
Constructor Summary
FailoverTest(String name)
          Creates a new test case with the specified name.
 
Method Summary
 void testTxP2PFailover()
          Checks that all messages sent within a transaction are receieved despite a fail-over occuring outside of the transaction.
 
Methods inherited from class org.apache.qpid.test.framework.FrameworkBaseCase
assertionList, assertionsToString, assertNoFailures, chainSetupTask, chainTearDownTask, getCircuitFactory, getFailureMechanism, getLiveBroker, getTaskHandler, getTestCaseNameForTestMethod, getTestCaseVector, getTestParameters, getTestProps, setCircuitFactory, setFailureMechanism, setInVmBrokers, setLiveBroker, setTestProps, setUp, tearDown, usingInVmBroker
 
Methods inherited from class org.apache.qpid.test.utils.QpidBrokerTestCase
cleanBroker, createMessage, createNextMessage, drainQueue, getBroker, getBrokerCommand, getClientConnection, getConfigurationStringProperty, getConnection, getConnection, getConnection, getConnectionFactory, getConnectionFactory, getConnectionURL, getInitialContext, getLogger, getManagementPort, getMessageSize, getPort, getPort, getTestConfigFile, getTestQueue, getTestQueueName, getTestVirtualhostsFile, isBroker010, isBroker08, isBrokerStorePersistent, isCppBroker, isExternalBroker, isJavaBroker, makeVirtualHostPersistent, reloadBrokerSecurityConfig, restartBroker, restartBroker, revertLoggingLevels, revertSystemProperties, runBare, saveTestConfiguration, saveTestVirtualhosts, sendMessage, sendMessage, sendMessage, setBrokerEnvironment, setBrokerOnlySystemProperty, setConfigurationProperty, setLoggerLevel, setMessageSize, setSystemProperty, setSystemProperty, setTestClientSystemProperty, startBroker, startBroker, stopBroker, stopBroker
 
Methods inherited from class org.apache.qpid.test.utils.QpidTestCase
getTestProfileMessageStoreClassName, run
 
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, 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, failNotEquals, failNotSame, failSame
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FailoverTest

public FailoverTest(String name)
Creates a new test case with the specified name.

Parameters:
name - The test case name.
Method Detail

testTxP2PFailover

public void testTxP2PFailover()
                       throws Exception
Checks that all messages sent within a transaction are receieved despite a fail-over occuring outside of the transaction.

Throws:
JMSException - Allowed to fall through and fail test.
Exception


Licensed to the Apache Software Foundation