org.apache.qpid.test.unit.xa
Class QueueTest

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.unit.xa.AbstractXATestCase
                      extended by org.apache.qpid.test.unit.xa.QueueTest
All Implemented Interfaces:
junit.framework.Test

public class QueueTest
extends AbstractXATestCase


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.unit.xa.AbstractXATestCase
_consumer, _message, _producer, _sequenceNumberPropertyName, _xaResource
 
Fields inherited from class org.apache.qpid.test.utils.QpidBrokerTestCase
_broker, _brokerLanguage, _brokerLogPrefix, _brokerOutputStream, _brokerPersistent, _brokers, _configFile, _connectionFactory, _connections, _initialContext, _interleaveBrokerLog, _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
QueueTest()
           
 
Method Summary
static junit.framework.TestSuite getSuite()
          Gets the test suite tests
 void init()
          Initialize standard actors
static void main(String[] args)
          Run the test suite.
 void tearDown()
           
 void testProducer()
          Uses two transactions respectively with xid1 and xid2 that are used to send a message within xid1 and xid2.
 void testRecover()
          strategy: Produce a message within Tx1 and prepare tx1.
 void testSendAndRecover()
          strategy: Produce a message within Tx1 and prepare tx1.
 
Methods inherited from class org.apache.qpid.test.unit.xa.AbstractXATestCase
getNewXid, init, setUp
 
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

QueueTest

public QueueTest()
Method Detail

getSuite

public static junit.framework.TestSuite getSuite()
Gets the test suite tests

Returns:
the test suite tests

main

public static void main(String[] args)
Run the test suite.

Parameters:
args - Any command line arguments specified to this class.

tearDown

public void tearDown()
              throws Exception
Overrides:
tearDown in class QpidBrokerTestCase
Throws:
Exception

init

public void init()
Initialize standard actors

Specified by:
init in class AbstractXATestCase

testProducer

public void testProducer()
Uses two transactions respectively with xid1 and xid2 that are used to send a message within xid1 and xid2. xid2 is committed and xid1 is used to receive the message that was sent within xid2. Xid is then committed and a standard transaction is used to receive the message that was sent within xid1.


testSendAndRecover

public void testSendAndRecover()
strategy: Produce a message within Tx1 and prepare tx1. crash the server then commit tx1 and consume the message


testRecover

public void testRecover()
strategy: Produce a message within Tx1 and prepare tx1. Produce a standard message and consume it within tx2 and prepare tx2. Shutdown the server and get the list of in doubt transactions: we expect tx1 and tx2! Then, Tx1 is aborted and tx2 is committed so we expect the test's queue to be empty!



Licensed to the Apache Software Foundation