org.apache.qpid.test.testcases
Class MandatoryMessageTest

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

public class MandatoryMessageTest
extends FrameworkBaseCase

MandatoryMessageTest tests for the desired behaviour of mandatory messages. Mandatory messages are a non-JMS feature. A message may be marked with a mandatory delivery flag, which means that a valid route for the message must exist, 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 mandatory message is sent succesfully not using transactions when a consumer is connected.
Check that an mandatory message is committed succesfully in a transaction when a consumer is connected.
Check that a mandatory message is sent succesfully, not using transactions, when a consumer is disconnected but the route exists.
Check that a mandatory message is sent succesfully, in a transaction, when a consumer is disconnected but the route exists.
Check that an mandatory message results in no route code, not using transactions, when no consumer is connected.
Check that an mandatory message results in no route code, upon transaction commit, when a consumer is connected.
Check that an mandatory message is sent succesfully not using transactions when a consumer is connected.
Check that an mandatory message is committed succesfully in a transaction when a consumer is connected.
Check that a mandatory message is sent succesfully, not using transactions, when a consumer is disconnected but the route exists.
Check that a mandatory message is sent succesfully, in a transaction, when a consumer is disconnected but the route exists.
Check that an mandatory message results in no route code, not using transactions, when no consumer is connected.
Check that an mandatory message results in no route code, upon transaction commit, when a consumer 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
(package private)  org.apache.qpid.junit.extensions.util.ParsedProperties testProps
          Used to read the tests configurable properties through.
 
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
MandatoryMessageTest(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_508_MandatoryFailsNoRouteNoTxP2P()
          Check that an mandatory message results in no route code, not using transactions, when no consumer is connected.
 void test_QPID_508_MandatoryFailsNoRouteNoTxPubSub()
          Check that an mandatory message results in no route code, not using transactions, when no consumer is connected.
 void test_QPID_508_MandatoryFailsNoRouteTxP2P()
          Check that an mandatory message results in no route code, upon transaction commit, when a consumer is connected.
 void test_QPID_508_MandatoryFailsNoRouteTxPubSub()
          Check that an mandatory message results in no route code, upon transaction commit, when a consumer is connected.
 void test_QPID_508_MandatoryOkNoTxP2P()
          Check that an mandatory message is sent succesfully not using transactions when a consumer is connected.
 void test_QPID_508_MandatoryOkNoTxPubSub()
          Check that an mandatory message is sent succesfully not using transactions when a consumer is connected.
 void test_QPID_508_MandatoryOkTxP2P()
          Check that an mandatory message is committed succesfully in a transaction when a consumer is connected.
 void test_QPID_508_MandatoryOkTxPubSub()
          Check that an mandatory message is committed succesfully in a transaction when a consumer is connected.
 void test_QPID_517_MandatoryOkConsumerDisconnectedNoTxP2P()
          Check that a mandatory message is sent succesfully, not using transactions, when a consumer is disconnected but the route exists.
 void test_QPID_517_MandatoryOkConsumerDisconnectedNoTxPubSub()
          Check that a mandatory message is sent succesfully, not using transactions, when a consumer is disconnected but the route exists.
 void test_QPID_517_MandatoryOkConsumerDisconnectedTxP2P()
          Check that a mandatory message is sent succesfully, in a transaction, when a consumer is disconnected but the route exists.
 void test_QPID_517_MandatoryOkConsumerDisconnectedTxPubSub()
          Check that a mandatory message is sent succesfully, in a transaction, when a consumer is disconnected but the route exists.
 
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
 

Field Detail

testProps

org.apache.qpid.junit.extensions.util.ParsedProperties testProps
Used to read the tests configurable properties through.

Constructor Detail

MandatoryMessageTest

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

Parameters:
name - The test case name.
Method Detail

test_QPID_508_MandatoryOkNoTxP2P

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

Throws:
Exception

test_QPID_508_MandatoryOkTxP2P

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

Throws:
Exception

test_QPID_517_MandatoryOkConsumerDisconnectedNoTxP2P

public void test_QPID_517_MandatoryOkConsumerDisconnectedNoTxP2P()
                                                          throws Exception
Check that a mandatory message is sent succesfully, not using transactions, when a consumer is disconnected but the route exists.

Throws:
Exception

test_QPID_517_MandatoryOkConsumerDisconnectedTxP2P

public void test_QPID_517_MandatoryOkConsumerDisconnectedTxP2P()
                                                        throws Exception
Check that a mandatory message is sent succesfully, in a transaction, when a consumer is disconnected but the route exists.

Throws:
Exception

test_QPID_508_MandatoryFailsNoRouteNoTxP2P

public void test_QPID_508_MandatoryFailsNoRouteNoTxP2P()
                                                throws Exception
Check that an mandatory message results in no route code, not using transactions, when no consumer is connected.

Throws:
Exception

test_QPID_508_MandatoryFailsNoRouteTxP2P

public void test_QPID_508_MandatoryFailsNoRouteTxP2P()
                                              throws Exception
Check that an mandatory message results in no route code, upon transaction commit, when a consumer is connected.

Throws:
Exception

test_QPID_508_MandatoryOkNoTxPubSub

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

Throws:
Exception

test_QPID_508_MandatoryOkTxPubSub

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

Throws:
Exception

test_QPID_517_MandatoryOkConsumerDisconnectedNoTxPubSub

public void test_QPID_517_MandatoryOkConsumerDisconnectedNoTxPubSub()
                                                             throws Exception
Check that a mandatory message is sent succesfully, not using transactions, when a consumer is disconnected but the route exists.

Throws:
Exception

test_QPID_517_MandatoryOkConsumerDisconnectedTxPubSub

public void test_QPID_517_MandatoryOkConsumerDisconnectedTxPubSub()
                                                           throws Exception
Check that a mandatory message is sent succesfully, in a transaction, when a consumer is disconnected but the route exists.

Throws:
Exception

test_QPID_508_MandatoryFailsNoRouteNoTxPubSub

public void test_QPID_508_MandatoryFailsNoRouteNoTxPubSub()
                                                   throws Exception
Check that an mandatory message results in no route code, not using transactions, when no consumer is connected.

Throws:
Exception

test_QPID_508_MandatoryFailsNoRouteTxPubSub

public void test_QPID_508_MandatoryFailsNoRouteTxPubSub()
                                                 throws Exception
Check that an mandatory message results in no route code, upon transaction commit, when a consumer 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