You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ta...@apache.org on 2013/01/16 21:02:51 UTC
svn commit: r1434357 -
/activemq/activemq-cpp/trunk/activemq-cpp/src/test-integration/activemq/test/SimpleTest.cpp
Author: tabish
Date: Wed Jan 16 20:02:50 2013
New Revision: 1434357
URL: http://svn.apache.org/viewvc?rev=1434357&view=rev
Log:
https://issues.apache.org/jira/browse/AMQCPP-448
Add some additional testing to check if there's an issue here.
Modified:
activemq/activemq-cpp/trunk/activemq-cpp/src/test-integration/activemq/test/SimpleTest.cpp
Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/test-integration/activemq/test/SimpleTest.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/test-integration/activemq/test/SimpleTest.cpp?rev=1434357&r1=1434356&r2=1434357&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/test-integration/activemq/test/SimpleTest.cpp (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/test-integration/activemq/test/SimpleTest.cpp Wed Jan 16 20:02:50 2013
@@ -39,105 +39,90 @@ using namespace decaf::util;
////////////////////////////////////////////////////////////////////////////////
void SimpleTest::testAutoAck() {
- try {
-
- // Create CMS Object for Comms
- cms::Session* session( cmsProvider->getSession() );
+ // Create CMS Object for Comms
+ cms::Session* session( cmsProvider->getSession() );
- CMSListener listener( session );
+ CMSListener listener( session );
- cms::MessageConsumer* consumer = cmsProvider->getConsumer();
- consumer->setMessageListener( &listener );
- cms::MessageProducer* producer = cmsProvider->getProducer();
- producer->setDeliveryMode( DeliveryMode::NON_PERSISTENT );
+ cms::MessageConsumer* consumer = cmsProvider->getConsumer();
+ consumer->setMessageListener( &listener );
+ cms::MessageProducer* producer = cmsProvider->getProducer();
+ producer->setDeliveryMode( DeliveryMode::NON_PERSISTENT );
- auto_ptr<cms::TextMessage> txtMessage( session->createTextMessage( "TEST MESSAGE" ) );
- auto_ptr<cms::BytesMessage> bytesMessage( session->createBytesMessage() );
+ auto_ptr<cms::TextMessage> txtMessage( session->createTextMessage( "TEST MESSAGE" ) );
+ auto_ptr<cms::BytesMessage> bytesMessage( session->createBytesMessage() );
- for( unsigned int i = 0; i < IntegrationCommon::defaultMsgCount; ++i ) {
- producer->send( txtMessage.get() );
- }
+ for( unsigned int i = 0; i < IntegrationCommon::defaultMsgCount; ++i ) {
+ producer->send( txtMessage.get() );
+ }
- for( unsigned int i = 0; i < IntegrationCommon::defaultMsgCount; ++i ) {
- producer->send( bytesMessage.get() );
- }
+ for( unsigned int i = 0; i < IntegrationCommon::defaultMsgCount; ++i ) {
+ producer->send( bytesMessage.get() );
+ }
- // Wait for the messages to get here
- listener.asyncWaitForMessages( IntegrationCommon::defaultMsgCount * 2 );
+ // Wait for the messages to get here
+ listener.asyncWaitForMessages( IntegrationCommon::defaultMsgCount * 2 );
- unsigned int numReceived = listener.getNumReceived();
- CPPUNIT_ASSERT( numReceived == IntegrationCommon::defaultMsgCount * 2 );
- }
- AMQ_CATCH_RETHROW( ActiveMQException )
- AMQ_CATCHALL_THROW( ActiveMQException )
+ unsigned int numReceived = listener.getNumReceived();
+ CPPUNIT_ASSERT( numReceived == IntegrationCommon::defaultMsgCount * 2 );
}
////////////////////////////////////////////////////////////////////////////////
void SimpleTest::testClientAck() {
- try {
-
- cmsProvider->setAckMode( cms::Session::CLIENT_ACKNOWLEDGE );
- cmsProvider->reconnectSession();
+ cmsProvider->setAckMode( cms::Session::CLIENT_ACKNOWLEDGE );
+ cmsProvider->reconnectSession();
- // Create CMS Object for Comms
- cms::Session* session( cmsProvider->getSession() );
+ // Create CMS Object for Comms
+ cms::Session* session( cmsProvider->getSession() );
- CMSListener listener( session );
+ CMSListener listener( session );
- cms::MessageConsumer* consumer = cmsProvider->getConsumer();
- consumer->setMessageListener( &listener );
- cms::MessageProducer* producer = cmsProvider->getProducer();
- producer->setDeliveryMode( DeliveryMode::NON_PERSISTENT );
+ cms::MessageConsumer* consumer = cmsProvider->getConsumer();
+ consumer->setMessageListener( &listener );
+ cms::MessageProducer* producer = cmsProvider->getProducer();
+ producer->setDeliveryMode( DeliveryMode::NON_PERSISTENT );
- auto_ptr<cms::TextMessage> txtMessage( session->createTextMessage( "TEST MESSAGE" ) );
- auto_ptr<cms::BytesMessage> bytesMessage( session->createBytesMessage() );
+ auto_ptr<cms::TextMessage> txtMessage( session->createTextMessage( "TEST MESSAGE" ) );
+ auto_ptr<cms::BytesMessage> bytesMessage( session->createBytesMessage() );
- for( unsigned int i = 0; i < IntegrationCommon::defaultMsgCount; ++i ) {
- producer->send( txtMessage.get() );
- }
+ for( unsigned int i = 0; i < IntegrationCommon::defaultMsgCount; ++i ) {
+ producer->send( txtMessage.get() );
+ }
- for( unsigned int i = 0; i < IntegrationCommon::defaultMsgCount; ++i ) {
- producer->send( bytesMessage.get() );
- }
+ for( unsigned int i = 0; i < IntegrationCommon::defaultMsgCount; ++i ) {
+ producer->send( bytesMessage.get() );
+ }
- // Wait for the messages to get here
- listener.asyncWaitForMessages( IntegrationCommon::defaultMsgCount * 2 );
+ // Wait for the messages to get here
+ listener.asyncWaitForMessages( IntegrationCommon::defaultMsgCount * 2 );
- unsigned int numReceived = listener.getNumReceived();
- CPPUNIT_ASSERT( numReceived == IntegrationCommon::defaultMsgCount * 2 );
- }
- AMQ_CATCH_RETHROW( ActiveMQException )
- AMQ_CATCHALL_THROW( ActiveMQException )
+ unsigned int numReceived = listener.getNumReceived();
+ CPPUNIT_ASSERT( numReceived == IntegrationCommon::defaultMsgCount * 2 );
}
////////////////////////////////////////////////////////////////////////////////
void SimpleTest::testProducerWithNullDestination() {
- try{
-
- // Create CMS Object for Comms
- cms::Session* session( cmsProvider->getSession() );
+ // Create CMS Object for Comms
+ cms::Session* session( cmsProvider->getSession() );
- CMSListener listener( session );
+ CMSListener listener( session );
- cms::MessageConsumer* consumer = cmsProvider->getConsumer();
- consumer->setMessageListener( &listener );
- cms::MessageProducer* producer = cmsProvider->getNoDestProducer();
- producer->setDeliveryMode( DeliveryMode::NON_PERSISTENT );
+ cms::MessageConsumer* consumer = cmsProvider->getConsumer();
+ consumer->setMessageListener( &listener );
+ cms::MessageProducer* producer = cmsProvider->getNoDestProducer();
+ producer->setDeliveryMode( DeliveryMode::NON_PERSISTENT );
- auto_ptr<cms::TextMessage> txtMessage( session->createTextMessage( "TEST MESSAGE" ) );
+ auto_ptr<cms::TextMessage> txtMessage( session->createTextMessage( "TEST MESSAGE" ) );
- producer->send( cmsProvider->getDestination(), txtMessage.get() );
+ producer->send( cmsProvider->getDestination(), txtMessage.get() );
- // Wait for the messages to get here
- listener.asyncWaitForMessages( 1 );
+ // Wait for the messages to get here
+ listener.asyncWaitForMessages( 1 );
- unsigned int numReceived = listener.getNumReceived();
- CPPUNIT_ASSERT( numReceived == 1 );
- }
- AMQ_CATCH_RETHROW( ActiveMQException )
- AMQ_CATCHALL_THROW( ActiveMQException )
+ unsigned int numReceived = listener.getNumReceived();
+ CPPUNIT_ASSERT( numReceived == 1 );
}
////////////////////////////////////////////////////////////////////////////////
@@ -190,256 +175,228 @@ void SimpleTest::testProducerSendToNonDe
////////////////////////////////////////////////////////////////////////////////
void SimpleTest::testSyncReceive() {
- try {
-
- // Create CMS Object for Comms
- cms::Session* session( cmsProvider->getSession() );
- cms::MessageConsumer* consumer = cmsProvider->getConsumer();
- cms::MessageProducer* producer = cmsProvider->getProducer();
- producer->setDeliveryMode( DeliveryMode::NON_PERSISTENT );
+ // Create CMS Object for Comms
+ cms::Session* session( cmsProvider->getSession() );
+ cms::MessageConsumer* consumer = cmsProvider->getConsumer();
+ cms::MessageProducer* producer = cmsProvider->getProducer();
+ producer->setDeliveryMode( DeliveryMode::NON_PERSISTENT );
- auto_ptr<cms::TextMessage> txtMessage( session->createTextMessage( "TEST MESSAGE" ) );
+ auto_ptr<cms::TextMessage> txtMessage( session->createTextMessage( "TEST MESSAGE" ) );
- // Send some text messages
- producer->send( txtMessage.get() );
+ // Send some text messages
+ producer->send( txtMessage.get() );
- auto_ptr<cms::Message> message( consumer->receive( 2000 ) );
- CPPUNIT_ASSERT( message.get() != NULL );
- }
- AMQ_CATCH_RETHROW( ActiveMQException )
- AMQ_CATCHALL_THROW( ActiveMQException )
+ auto_ptr<cms::Message> message( consumer->receive( 2000 ) );
+ CPPUNIT_ASSERT( message.get() != NULL );
}
////////////////////////////////////////////////////////////////////////////////
void SimpleTest::testSyncReceiveClientAck() {
- try {
-
- cmsProvider->setAckMode( cms::Session::CLIENT_ACKNOWLEDGE );
- cmsProvider->reconnectSession();
+ cmsProvider->setAckMode( cms::Session::CLIENT_ACKNOWLEDGE );
+ cmsProvider->reconnectSession();
- // Create CMS Object for Comms
- cms::Session* session( cmsProvider->getSession() );
- cms::MessageConsumer* consumer = cmsProvider->getConsumer();
- cms::MessageProducer* producer = cmsProvider->getProducer();
- producer->setDeliveryMode( DeliveryMode::NON_PERSISTENT );
+ // Create CMS Object for Comms
+ cms::Session* session( cmsProvider->getSession() );
+ cms::MessageConsumer* consumer = cmsProvider->getConsumer();
+ cms::MessageProducer* producer = cmsProvider->getProducer();
+ producer->setDeliveryMode( DeliveryMode::NON_PERSISTENT );
- auto_ptr<cms::TextMessage> txtMessage( session->createTextMessage( "TEST MESSAGE" ) );
+ auto_ptr<cms::TextMessage> txtMessage( session->createTextMessage( "TEST MESSAGE" ) );
- // Send some text messages
- producer->send( txtMessage.get() );
+ // Send some text messages
+ producer->send( txtMessage.get() );
- auto_ptr<cms::Message> message( consumer->receive( 2000 ) );
- CPPUNIT_ASSERT( message.get() != NULL );
- }
- AMQ_CATCH_RETHROW( ActiveMQException )
- AMQ_CATCHALL_THROW( ActiveMQException )
+ auto_ptr<cms::Message> message( consumer->receive( 2000 ) );
+ CPPUNIT_ASSERT( message.get() != NULL );
}
////////////////////////////////////////////////////////////////////////////////
void SimpleTest::testMultipleConnections() {
- try {
-
- // Create CMS Object for Comms
- auto_ptr<ActiveMQConnectionFactory> factory(new ActiveMQConnectionFactory(cmsProvider->getBrokerURL()));
- auto_ptr<cms::Connection> connection1( factory->createConnection() );
- connection1->start();
+ // Create CMS Object for Comms
+ auto_ptr<ActiveMQConnectionFactory> factory(new ActiveMQConnectionFactory(cmsProvider->getBrokerURL()));
+ auto_ptr<cms::Connection> connection1( factory->createConnection() );
+ connection1->start();
- auto_ptr<cms::Connection> connection2( factory->createConnection() );
- connection2->start();
+ auto_ptr<cms::Connection> connection2( factory->createConnection() );
+ connection2->start();
- CPPUNIT_ASSERT( connection1->getClientID() != connection2->getClientID() );
+ CPPUNIT_ASSERT( connection1->getClientID() != connection2->getClientID() );
- auto_ptr<cms::Session> session1( connection1->createSession() );
- auto_ptr<cms::Session> session2( connection1->createSession() );
+ auto_ptr<cms::Session> session1( connection1->createSession() );
+ auto_ptr<cms::Session> session2( connection1->createSession() );
- auto_ptr<cms::Topic> topic( session1->createTopic( UUID::randomUUID().toString() ) );
+ auto_ptr<cms::Topic> topic( session1->createTopic( UUID::randomUUID().toString() ) );
- auto_ptr<cms::MessageConsumer> consumer1( session1->createConsumer( topic.get() ) );
- auto_ptr<cms::MessageConsumer> consumer2( session2->createConsumer( topic.get() ) );
+ auto_ptr<cms::MessageConsumer> consumer1( session1->createConsumer( topic.get() ) );
+ auto_ptr<cms::MessageConsumer> consumer2( session2->createConsumer( topic.get() ) );
- auto_ptr<cms::MessageProducer> producer( session2->createProducer( topic.get() ) );
- producer->setDeliveryMode( DeliveryMode::NON_PERSISTENT );
+ auto_ptr<cms::MessageProducer> producer( session2->createProducer( topic.get() ) );
+ producer->setDeliveryMode( DeliveryMode::NON_PERSISTENT );
- auto_ptr<cms::TextMessage> textMessage( session2->createTextMessage() );
+ auto_ptr<cms::TextMessage> textMessage( session2->createTextMessage() );
- // Send some text messages
- producer->send( textMessage.get() );
+ // Send some text messages
+ producer->send( textMessage.get() );
- auto_ptr<cms::Message> message( consumer1->receive( 2000 ) );
- CPPUNIT_ASSERT( message.get() != NULL );
+ auto_ptr<cms::Message> message( consumer1->receive( 2000 ) );
+ CPPUNIT_ASSERT( message.get() != NULL );
- message.reset( consumer2->receive( 2000 ) );
- CPPUNIT_ASSERT( message.get() != NULL );
+ message.reset( consumer2->receive( 2000 ) );
+ CPPUNIT_ASSERT( message.get() != NULL );
- // Clean up if we can
- consumer1->close();
- consumer2->close();
- producer->close();
- session1->close();
- session2->close();
+ // Clean up if we can
+ consumer1->close();
+ consumer2->close();
+ producer->close();
+ session1->close();
+ session2->close();
- this->cmsProvider->destroyDestination( topic.get() );
- }
- AMQ_CATCH_RETHROW( ActiveMQException )
- AMQ_CATCHALL_THROW( ActiveMQException )
+ this->cmsProvider->destroyDestination( topic.get() );
}
////////////////////////////////////////////////////////////////////////////////
void SimpleTest::testMultipleSessions() {
- try {
- // Create CMS Object for Comms
- auto_ptr<cms::Session> session1( cmsProvider->getConnection()->createSession() );
- auto_ptr<cms::Session> session2( cmsProvider->getConnection()->createSession() );
+ // Create CMS Object for Comms
+ auto_ptr<cms::Session> session1( cmsProvider->getConnection()->createSession() );
+ auto_ptr<cms::Session> session2( cmsProvider->getConnection()->createSession() );
- auto_ptr<cms::Topic> topic( session1->createTopic( UUID::randomUUID().toString() ) );
+ auto_ptr<cms::Topic> topic( session1->createTopic( UUID::randomUUID().toString() ) );
- auto_ptr<cms::MessageConsumer> consumer1( session1->createConsumer( topic.get() ) );
- auto_ptr<cms::MessageConsumer> consumer2( session2->createConsumer( topic.get() ) );
+ auto_ptr<cms::MessageConsumer> consumer1( session1->createConsumer( topic.get() ) );
+ auto_ptr<cms::MessageConsumer> consumer2( session2->createConsumer( topic.get() ) );
- auto_ptr<cms::MessageProducer> producer( session2->createProducer( topic.get() ) );
- producer->setDeliveryMode( DeliveryMode::NON_PERSISTENT );
+ auto_ptr<cms::MessageProducer> producer( session2->createProducer( topic.get() ) );
+ producer->setDeliveryMode( DeliveryMode::NON_PERSISTENT );
- auto_ptr<cms::TextMessage> textMessage( session2->createTextMessage() );
+ auto_ptr<cms::TextMessage> textMessage( session2->createTextMessage() );
- // Send some text messages
- producer->send( textMessage.get() );
+ // Send some text messages
+ producer->send( textMessage.get() );
- auto_ptr<cms::Message> message( consumer1->receive( 2000 ) );
- CPPUNIT_ASSERT( message.get() != NULL );
+ auto_ptr<cms::Message> message( consumer1->receive( 2000 ) );
+ CPPUNIT_ASSERT( message.get() != NULL );
- message.reset( consumer2->receive( 2000 ) );
- CPPUNIT_ASSERT( message.get() != NULL );
+ message.reset( consumer2->receive( 2000 ) );
+ CPPUNIT_ASSERT( message.get() != NULL );
- // Clean up if we can
- consumer1->close();
- consumer2->close();
- producer->close();
- session1->close();
- session2->close();
+ // Clean up if we can
+ consumer1->close();
+ consumer2->close();
+ producer->close();
+ session1->close();
+ session2->close();
- this->cmsProvider->destroyDestination( topic.get() );
- }
- AMQ_CATCH_RETHROW( ActiveMQException )
- AMQ_CATCHALL_THROW( ActiveMQException )
+ this->cmsProvider->destroyDestination( topic.get() );
}
////////////////////////////////////////////////////////////////////////////////
void SimpleTest::testReceiveAlreadyInQueue() {
- try {
-
- // Create CMS Object for Comms
- auto_ptr<ActiveMQConnectionFactory> factory(new ActiveMQConnectionFactory(cmsProvider->getBrokerURL()));
- auto_ptr<cms::Connection> connection(factory->createConnection());
+ // Create CMS Object for Comms
+ auto_ptr<ActiveMQConnectionFactory> factory(new ActiveMQConnectionFactory(cmsProvider->getBrokerURL()));
+ auto_ptr<cms::Connection> connection(factory->createConnection());
- auto_ptr<cms::Session> session(connection->createSession());
- auto_ptr<cms::Topic> topic(session->createTopic(UUID::randomUUID().toString()));
- auto_ptr<cms::MessageConsumer> consumer(session->createConsumer(topic.get()));
- auto_ptr<cms::MessageProducer> producer(session->createProducer(topic.get()));
- producer->setDeliveryMode(DeliveryMode::NON_PERSISTENT);
- auto_ptr<cms::TextMessage> textMessage(session->createTextMessage());
+ auto_ptr<cms::Session> session(connection->createSession());
+ auto_ptr<cms::Topic> topic(session->createTopic(UUID::randomUUID().toString()));
+ auto_ptr<cms::MessageConsumer> consumer(session->createConsumer(topic.get()));
+ auto_ptr<cms::MessageProducer> producer(session->createProducer(topic.get()));
+ producer->setDeliveryMode(DeliveryMode::NON_PERSISTENT);
+ auto_ptr<cms::TextMessage> textMessage(session->createTextMessage());
- // Send some text messages
- producer->send(textMessage.get());
+ // Send some text messages
+ producer->send(textMessage.get());
- Thread::sleep(250);
+ Thread::sleep(250);
- connection->start();
+ connection->start();
- auto_ptr<cms::Message> message(consumer->receive(2000));
- CPPUNIT_ASSERT( message.get() != NULL );
+ auto_ptr<cms::Message> message(consumer->receive(2000));
+ CPPUNIT_ASSERT( message.get() != NULL );
- // Clean up if we can
- consumer->close();
- producer->close();
- session->close();
+ // Clean up if we can
+ consumer->close();
+ producer->close();
+ session->close();
- this->cmsProvider->destroyDestination(topic.get());
- }
- AMQ_CATCH_RETHROW( ActiveMQException )
- AMQ_CATCHALL_THROW( ActiveMQException )
+ this->cmsProvider->destroyDestination(topic.get());
}
////////////////////////////////////////////////////////////////////////////////
void SimpleTest::testQuickCreateAndDestroy() {
- try{
-
- auto_ptr<ActiveMQConnectionFactory> factory(new ActiveMQConnectionFactory(cmsProvider->getBrokerURL()));
- auto_ptr<cms::Connection> connection( factory->createConnection() );
- auto_ptr<cms::Session> session( connection->createSession() );
-
- session.reset( NULL );
- connection.reset( NULL );
-
- connection.reset( factory->createConnection() );
- session.reset( connection->createSession() );
- connection->start();
-
- session.reset( NULL );
- connection.reset( NULL );
-
- for( int i = 0; i < 50; ++i ) {
- CMSProvider lcmsProvider( this->getBrokerURL() );
- lcmsProvider.getSession();
- lcmsProvider.getConsumer();
- lcmsProvider.getProducer();
- }
-
- } catch ( CMSException& e ) {
- e.printStackTrace();
- CPPUNIT_ASSERT( false );
+ auto_ptr<ActiveMQConnectionFactory> factory(new ActiveMQConnectionFactory(cmsProvider->getBrokerURL()));
+ auto_ptr<cms::Connection> connection( factory->createConnection() );
+ auto_ptr<cms::Session> session( connection->createSession() );
+
+ session.reset( NULL );
+ connection.reset( NULL );
+
+ connection.reset( factory->createConnection() );
+ session.reset( connection->createSession() );
+ connection->start();
+
+ session.reset( NULL );
+ connection.reset( NULL );
+
+ for( int i = 0; i < 50; ++i ) {
+ CMSProvider lcmsProvider( this->getBrokerURL() );
+ lcmsProvider.getSession();
+ lcmsProvider.getConsumer();
+ lcmsProvider.getProducer();
}
}
////////////////////////////////////////////////////////////////////////////////
void SimpleTest::testBytesMessageSendRecv() {
- try {
+ // Create CMS Object for Comms
+ cms::Session* session(cmsProvider->getSession());
+ cms::MessageConsumer* consumer = cmsProvider->getConsumer();
+ cms::MessageProducer* producer = cmsProvider->getProducer();
+ producer->setDeliveryMode(DeliveryMode::NON_PERSISTENT);
- // Create CMS Object for Comms
- cms::Session* session(cmsProvider->getSession());
- cms::MessageConsumer* consumer = cmsProvider->getConsumer();
- cms::MessageProducer* producer = cmsProvider->getProducer();
- producer->setDeliveryMode(DeliveryMode::NON_PERSISTENT);
-
- auto_ptr<cms::BytesMessage> bytesMessage(session->createBytesMessage());
-
- bytesMessage->writeBoolean(true);
- bytesMessage->writeByte(127);
- bytesMessage->writeDouble(123456.789);
- bytesMessage->writeInt(65537);
- bytesMessage->writeString("TEST-STRING");
+ auto_ptr<cms::BytesMessage> bytesMessage(session->createBytesMessage());
- // Send some text messages
- producer->send( bytesMessage.get() );
+ bytesMessage->writeBoolean(true);
+ bytesMessage->writeByte(127);
+ bytesMessage->writeDouble(123456.789);
+ bytesMessage->writeInt(65537);
+ bytesMessage->writeString("TEST-STRING");
- auto_ptr<cms::Message> message( consumer->receive( 2000 ) );
- CPPUNIT_ASSERT( message.get() != NULL );
+ // Send some text messages
+ producer->send( bytesMessage.get() );
- CPPUNIT_ASSERT_THROW_MESSAGE(
- "Should throw an ActiveMQExceptio",
- message->setStringProperty( "FOO", "BAR" ),
- cms::CMSException );
-
- BytesMessage* bytesMessage2 = dynamic_cast<cms::BytesMessage*>( message.get() );
- CPPUNIT_ASSERT( bytesMessage2 != NULL );
- CPPUNIT_ASSERT_THROW_MESSAGE(
- "Should throw an ActiveMQExceptio",
- bytesMessage2->writeBoolean( false ),
- cms::CMSException );
-
- CPPUNIT_ASSERT( bytesMessage2->readBoolean() == true );
- CPPUNIT_ASSERT( bytesMessage2->readByte() == 127 );
- CPPUNIT_ASSERT( bytesMessage2->readDouble() == 123456.789 );
- CPPUNIT_ASSERT( bytesMessage2->readInt() == 65537 );
- CPPUNIT_ASSERT( bytesMessage2->readString() == "TEST-STRING" );
- }
- AMQ_CATCH_RETHROW( ActiveMQException )
- AMQ_CATCHALL_THROW( ActiveMQException )
+ auto_ptr<cms::Message> message( consumer->receive( 2000 ) );
+ CPPUNIT_ASSERT( message.get() != NULL );
+
+ CPPUNIT_ASSERT_THROW_MESSAGE(
+ "Should throw an ActiveMQExceptio",
+ message->setStringProperty( "FOO", "BAR" ),
+ cms::CMSException );
+
+ BytesMessage* bytesMessage2 = dynamic_cast<cms::BytesMessage*>( message.get() );
+ CPPUNIT_ASSERT( bytesMessage2 != NULL );
+ CPPUNIT_ASSERT_THROW_MESSAGE(
+ "Should throw an ActiveMQExceptio",
+ bytesMessage2->writeBoolean( false ),
+ cms::CMSException );
+
+ CPPUNIT_ASSERT( bytesMessage2->getBodyLength() > 0 );
+
+ unsigned char* result = bytesMessage2->getBodyBytes();
+ CPPUNIT_ASSERT( result != NULL );
+ delete result;
+
+ bytesMessage2->reset();
+
+ CPPUNIT_ASSERT( bytesMessage2->readBoolean() == true );
+ CPPUNIT_ASSERT( bytesMessage2->readByte() == 127 );
+ CPPUNIT_ASSERT( bytesMessage2->readDouble() == 123456.789 );
+ CPPUNIT_ASSERT( bytesMessage2->readInt() == 65537 );
+ CPPUNIT_ASSERT( bytesMessage2->readString() == "TEST-STRING" );
}
////////////////////////////////////////////////////////////////////////////////