org.apache.qpid.test.testcases
Class ImmediateMessageTest

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.ImmediateMessageTest
All Implemented Interfaces:
junit.framework.Test, org.apache.qpid.junit.extensions.SetupTaskAware, BrokerLifecycleAware, FrameworkTestContext

public class ImmediateMessageTest
extends FrameworkBaseCase

ImmediateMessageTest tests for the desired behaviour of immediate messages. Immediate messages are a non-JMS feature. A message may be marked with an immediate delivery flag, which means that a consumer must be connected to receive the message, through a valid route, when it is sent, or when its transaction is committed in the case of transactional messaging. If this is not the case, the broker should return the message with a NO_CONSUMERS code.

CRC Card
Responsibilities Collaborations
Check that an immediate message is sent succesfully not using transactions when a consumer is connected.
Check that an immediate message is committed succesfully in a transaction when a consumer is connected.
Check that an immediate message results in no consumers code, not using transactions, when a consumer is disconnected.
Check that an immediate message results in no consumers code, in a transaction, when a consumer is disconnected.
Check that an immediate message results in no route code, not using transactions, when no outgoing route is connected.
Check that an immediate message results in no route code, upon transaction commit, when no outgoing route is connected.
Check that an immediate message is sent succesfully not using transactions when a consumer is connected.
Check that an immediate message is committed succesfully in a transaction when a consumer is connected.
Check that an immediate message results in no consumers code, not using transactions, when a consumer is disconnected.
Check that an immediate message results in no consumers code, in a transaction, when a consumer is disconnected.
Check that an immediate message results in no route code, not using transactions, when no outgoing route is connected.
Check that an immediate message results in no route code, upon transaction commit, when no outgoing route is connected.

Todo:
All of these test cases will be generated by a test generator that thoroughly tests all combinations of test circuits.

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
ImmediateMessageTest(String name)
          Creates a new test case with the specified name.
 
Method Summary
protected  void setUp()
          Ensures that the in-vm broker is created and initialized.
 void test_QPID_517_ImmediateFailsConsumerDisconnectedNoTxP2P()
          Check that an immediate message results in no consumers code, not using transactions, when a consumer is disconnected.
 void test_QPID_517_ImmediateFailsConsumerDisconnectedNoTxPubSub()
          Check that an immediate message results in no consumers code, not using transactions, when a consumer is disconnected.
 void test_QPID_517_ImmediateFailsConsumerDisconnectedTxP2P()
          Check that an immediate message results in no consumers code, in a transaction, when a consumer is disconnected.
 void test_QPID_517_ImmediateFailsConsumerDisconnectedTxPubSub()
          Check that an immediate message results in no consumers code, in a transaction, when a consumer is disconnected.
 void test_QPID_517_ImmediateFailsNoRouteNoTxP2P()
          Check that an immediate message results in no route code, not using transactions, when no outgoing route is connected.
 void test_QPID_517_ImmediateFailsNoRouteNoTxPubSub()
          Check that an immediate message results in no route code, not using transactions, when no outgoing route is connected.
 void test_QPID_517_ImmediateFailsNoRouteTxP2P()
          Check that an immediate message results in no route code, upon transaction commit, when no outgoing route is connected.
 void test_QPID_517_ImmediateFailsNoRouteTxPubSub()
          Check that an immediate message results in no route code, upon transaction commit, when no outgoing route is connected.
 void test_QPID_517_ImmediateOkNoTxP2P()
          Check that an immediate message is sent succesfully not using transactions when a consumer is connected.
 void test_QPID_517_ImmediateOkNoTxPubSub()
          Check that an immediate message is sent succesfully not using transactions when a consumer is connected.
 void test_QPID_517_ImmediateOkTxP2P()
          Check that an immediate message is committed succesfully in a transaction when a consumer is connected.
 void test_QPID_517_ImmediateOkTxPubSub()
          Check that an immediate message is committed succesfully in a transaction when a consumer is connected.
 
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, 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

ImmediateMessageTest

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

Parameters:
name - The test case name.
Method Detail

test_QPID_517_ImmediateOkNoTxP2P

public void test_QPID_517_ImmediateOkNoTxP2P()
                                      throws Exception
Check that an immediate message is sent succesfully not using transactions when a consumer is connected.

Throws:
Exception

test_QPID_517_ImmediateOkTxP2P

public void test_QPID_517_ImmediateOkTxP2P()
                                    throws Exception
Check that an immediate message is committed succesfully in a transaction when a consumer is connected.

Throws:
Exception

test_QPID_517_ImmediateFailsConsumerDisconnectedNoTxP2P

public void test_QPID_517_ImmediateFailsConsumerDisconnectedNoTxP2P()
                                                             throws Exception
Check that an immediate message results in no consumers code, not using transactions, when a consumer is disconnected.

Throws:
Exception

test_QPID_517_ImmediateFailsConsumerDisconnectedTxP2P

public void test_QPID_517_ImmediateFailsConsumerDisconnectedTxP2P()
                                                           throws Exception
Check that an immediate message results in no consumers code, in a transaction, when a consumer is disconnected.

Throws:
Exception

test_QPID_517_ImmediateFailsNoRouteNoTxP2P

public void test_QPID_517_ImmediateFailsNoRouteNoTxP2P()
                                                throws Exception
Check that an immediate message results in no route code, not using transactions, when no outgoing route is connected.

Throws:
Exception

test_QPID_517_ImmediateFailsNoRouteTxP2P

public void test_QPID_517_ImmediateFailsNoRouteTxP2P()
                                              throws Exception
Check that an immediate message results in no route code, upon transaction commit, when no outgoing route is connected.

Throws:
Exception

test_QPID_517_ImmediateOkNoTxPubSub

public void test_QPID_517_ImmediateOkNoTxPubSub()
                                         throws Exception
Check that an immediate message is sent succesfully not using transactions when a consumer is connected.

Throws:
Exception

test_QPID_517_ImmediateOkTxPubSub

public void test_QPID_517_ImmediateOkTxPubSub()
                                       throws Exception
Check that an immediate message is committed succesfully in a transaction when a consumer is connected.

Throws:
Exception

test_QPID_517_ImmediateFailsConsumerDisconnectedNoTxPubSub

public void test_QPID_517_ImmediateFailsConsumerDisconnectedNoTxPubSub()
                                                                throws Exception
Check that an immediate message results in no consumers code, not using transactions, when a consumer is disconnected.

Throws:
Exception

test_QPID_517_ImmediateFailsConsumerDisconnectedTxPubSub

public void test_QPID_517_ImmediateFailsConsumerDisconnectedTxPubSub()
                                                              throws Exception
Check that an immediate message results in no consumers code, in a transaction, when a consumer is disconnected.

Throws:
Exception

test_QPID_517_ImmediateFailsNoRouteNoTxPubSub

public void test_QPID_517_ImmediateFailsNoRouteNoTxPubSub()
                                                   throws Exception
Check that an immediate message results in no route code, not using transactions, when no outgoing route is connected.

Throws:
Exception

test_QPID_517_ImmediateFailsNoRouteTxPubSub

public void test_QPID_517_ImmediateFailsNoRouteTxPubSub()
                                                 throws Exception
Check that an immediate message results in no route code, upon transaction commit, when no outgoing route is connected.

Throws:
Exception

setUp

protected void setUp()
              throws Exception
Description copied from class: FrameworkBaseCase
Ensures that the in-vm broker is created and initialized.

Overrides:
setUp in class FrameworkBaseCase
Throws:
Exception - Any exceptions allowed to fall through and fail the test.


Licensed to the Apache Software Foundation