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 2015/07/30 17:17:01 UTC
activemq-cpp git commit: Fix and enable some more tests
Repository: activemq-cpp
Updated Branches:
refs/heads/master d96e76169 -> b8564c672
Fix and enable some more tests
Project: http://git-wip-us.apache.org/repos/asf/activemq-cpp/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-cpp/commit/b8564c67
Tree: http://git-wip-us.apache.org/repos/asf/activemq-cpp/tree/b8564c67
Diff: http://git-wip-us.apache.org/repos/asf/activemq-cpp/diff/b8564c67
Branch: refs/heads/master
Commit: b8564c672f97bdff07a6ea9056c48996ee219744
Parents: d96e761
Author: Timothy Bish <ta...@gmail.com>
Authored: Thu Jul 30 11:16:45 2015 -0400
Committer: Timothy Bish <ta...@gmail.com>
Committed: Thu Jul 30 11:16:45 2015 -0400
----------------------------------------------------------------------
.../src/test-integration/TestRegistry.cpp | 7 +-
.../activemq/test/TransactionTest.cpp | 207 ++++++++++---------
.../test/openwire/OpenwireTransactionTest.h | 2 +-
.../test/openwire/OpenwireVirtualTopicTest.h | 2 +-
.../failover/FailoverTransportTest.cpp | 8 +-
5 files changed, 113 insertions(+), 113 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq-cpp/blob/b8564c67/activemq-cpp/src/test-integration/TestRegistry.cpp
----------------------------------------------------------------------
diff --git a/activemq-cpp/src/test-integration/TestRegistry.cpp b/activemq-cpp/src/test-integration/TestRegistry.cpp
index a1244ce..deaf816 100644
--- a/activemq-cpp/src/test-integration/TestRegistry.cpp
+++ b/activemq-cpp/src/test-integration/TestRegistry.cpp
@@ -61,24 +61,23 @@ CPPUNIT_TEST_SUITE_REGISTRATION( activemq::test::openwire::OpenwireCmsConnection
CPPUNIT_TEST_SUITE_REGISTRATION( activemq::test::openwire::OpenWireCmsSendWithAsyncCallbackTest );
CPPUNIT_TEST_SUITE_REGISTRATION( activemq::test::openwire::OpenwireCmsTemplateTest );
CPPUNIT_TEST_SUITE_REGISTRATION( activemq::test::openwire::OpenwireDurableTest );
-CPPUNIT_TEST_SUITE_REGISTRATION( activemq::test::openwire::OpenwireExpirationTest );
CPPUNIT_TEST_SUITE_REGISTRATION( activemq::test::openwire::OpenwireEnhancedConnectionTest );
+CPPUNIT_TEST_SUITE_REGISTRATION( activemq::test::openwire::OpenwireExpirationTest );
CPPUNIT_TEST_SUITE_REGISTRATION( activemq::test::openwire::OpenwireIndividualAckTest );
CPPUNIT_TEST_SUITE_REGISTRATION( activemq::test::openwire::OpenwireJmsMessageGroupsTest );
CPPUNIT_TEST_SUITE_REGISTRATION( activemq::test::openwire::OpenwireJmsRecoverTest );
+CPPUNIT_TEST_SUITE_REGISTRATION( activemq::test::openwire::OpenwireMapMessageTest );
CPPUNIT_TEST_SUITE_REGISTRATION( activemq::test::openwire::OpenwireMessageCompressionTest );
CPPUNIT_TEST_SUITE_REGISTRATION( activemq::test::openwire::OpenwireMessagePriorityTest );
-CPPUNIT_TEST_SUITE_REGISTRATION( activemq::test::openwire::OpenwireMapMessageTest );
CPPUNIT_TEST_SUITE_REGISTRATION( activemq::test::openwire::OpenwireNonBlockingRedeliveryTest );
CPPUNIT_TEST_SUITE_REGISTRATION( activemq::test::openwire::OpenwireOptimizedAckTest );
CPPUNIT_TEST_SUITE_REGISTRATION( activemq::test::openwire::OpenwireQueueBrowserTest );
CPPUNIT_TEST_SUITE_REGISTRATION( activemq::test::openwire::OpenWireRedeliveryPolicyTest );
CPPUNIT_TEST_SUITE_REGISTRATION( activemq::test::openwire::OpenwireSimpleRollbackTest );
-CPPUNIT_TEST_SUITE_REGISTRATION( activemq::test::openwire::OpenwireSimpleRollbackTest );
CPPUNIT_TEST_SUITE_REGISTRATION( activemq::test::openwire::OpenwireSimpleTest );
-CPPUNIT_TEST_SUITE_REGISTRATION( activemq::test::openwire::OpenwireTransactionTest );
CPPUNIT_TEST_SUITE_REGISTRATION( activemq::test::openwire::OpenwireSlowListenerTest );
CPPUNIT_TEST_SUITE_REGISTRATION( activemq::test::openwire::OpenwireTempDestinationTest );
+CPPUNIT_TEST_SUITE_REGISTRATION( activemq::test::openwire::OpenwireTransactionTest );
CPPUNIT_TEST_SUITE_REGISTRATION( activemq::test::openwire::OpenwireVirtualTopicTest );
CPPUNIT_TEST_SUITE_REGISTRATION( activemq::test::openwire::OpenwireXATransactionsTest );
http://git-wip-us.apache.org/repos/asf/activemq-cpp/blob/b8564c67/activemq-cpp/src/test-integration/activemq/test/TransactionTest.cpp
----------------------------------------------------------------------
diff --git a/activemq-cpp/src/test-integration/activemq/test/TransactionTest.cpp b/activemq-cpp/src/test-integration/activemq/test/TransactionTest.cpp
index a731b97..0133f2b 100644
--- a/activemq-cpp/src/test-integration/activemq/test/TransactionTest.cpp
+++ b/activemq-cpp/src/test-integration/activemq/test/TransactionTest.cpp
@@ -18,6 +18,7 @@
#include "TransactionTest.h"
#include <activemq/core/ActiveMQConnectionFactory.h>
+#include <activemq/core/ActiveMQConnection.h>
#include <activemq/util/CMSListener.h>
#include <activemq/exceptions/ActiveMQException.h>
#include <stdexcept>
@@ -41,83 +42,72 @@ TransactionTest::~TransactionTest() {
////////////////////////////////////////////////////////////////////////////////
void TransactionTest::testSendReceiveTransactedBatches() {
- 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();
- for (int j = 0; j < batchCount - 8; j++) {
+ producer->setDeliveryMode(DeliveryMode::NON_PERSISTENT);
- auto_ptr<TextMessage> message(session->createTextMessage("Batch Message"));
+ for (int j = 0; j < batchCount - 8; j++) {
- for (int i = 0; i < batchSize; i++) {
- CPPUNIT_ASSERT_NO_THROW_MESSAGE("Send should not throw an exception here.", producer->send(message.get()));
- }
+ auto_ptr<TextMessage> message(session->createTextMessage("Batch Message"));
- CPPUNIT_ASSERT_NO_THROW_MESSAGE("Session Commit should not throw an exception here:", session->commit());
+ for (int i = 0; i < batchSize; i++) {
+ CPPUNIT_ASSERT_NO_THROW_MESSAGE("Send should not throw an exception here.", producer->send(message.get()));
+ }
- for (int i = 0; i < batchSize; i++) {
- CPPUNIT_ASSERT_NO_THROW_MESSAGE("Receive Shouldn't throw a Message here:",
- message.reset(dynamic_cast<TextMessage*>(consumer->receive(1000 * 5))));
+ CPPUNIT_ASSERT_NO_THROW_MESSAGE("Session Commit should not throw an exception here:", session->commit());
- CPPUNIT_ASSERT_MESSAGE("Failed to receive all messages in batch", message.get() != NULL);
- CPPUNIT_ASSERT(string("Batch Message") == message->getText());
- }
+ for (int i = 0; i < batchSize; i++) {
+ CPPUNIT_ASSERT_NO_THROW_MESSAGE("Receive Shouldn't throw a Message here:",
+ message.reset(dynamic_cast<TextMessage*>(consumer->receive(1000 * 5))));
- CPPUNIT_ASSERT_NO_THROW_MESSAGE("Session Commit should not throw an exception here:", session->commit());
+ CPPUNIT_ASSERT_MESSAGE("Failed to receive all messages in batch", message.get() != NULL);
+ CPPUNIT_ASSERT(string("Batch Message") == message->getText());
}
- } catch (std::exception& ex) {
- std::cout << ex.what() << std::endl;
- throw ex;
+
+ CPPUNIT_ASSERT_NO_THROW_MESSAGE("Session Commit should not throw an exception here:", session->commit());
}
}
////////////////////////////////////////////////////////////////////////////////
void TransactionTest::testSendRollback() {
- try {
-
- // Create CMS Object for Comms
- cms::Session* session = cmsProvider->getSession();
- cms::MessageConsumer* consumer = cmsProvider->getConsumer();
- cms::MessageProducer* producer = cmsProvider->getProducer();
+ // 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);
+ producer->setDeliveryMode(DeliveryMode::NON_PERSISTENT);
- auto_ptr<TextMessage> outbound1(session->createTextMessage("First Message"));
- auto_ptr<TextMessage> outbound2(session->createTextMessage("Second Message"));
+ auto_ptr<TextMessage> outbound1(session->createTextMessage("First Message"));
+ auto_ptr<TextMessage> outbound2(session->createTextMessage("Second Message"));
- // sends a message
- producer->send(outbound1.get());
- session->commit();
+ // sends a message
+ producer->send(outbound1.get());
+ session->commit();
- // sends a message that gets rollbacked
- auto_ptr<Message> rollback(session->createTextMessage("I'm going to get rolled back."));
- producer->send(rollback.get());
- session->rollback();
+ // sends a message that gets rollbacked
+ auto_ptr<Message> rollback(session->createTextMessage("I'm going to get rolled back."));
+ producer->send(rollback.get());
+ session->rollback();
- // sends a message
- producer->send(outbound2.get());
- session->commit();
+ // sends a message
+ producer->send(outbound2.get());
+ session->commit();
- // receives the first message
- auto_ptr<TextMessage> inbound1(dynamic_cast<TextMessage*>(consumer->receive(1500)));
+ // receives the first message
+ auto_ptr<TextMessage> inbound1(dynamic_cast<TextMessage*>(consumer->receive(1500)));
- // receives the second message
- auto_ptr<TextMessage> inbound2(dynamic_cast<TextMessage*>(consumer->receive(4000)));
+ // receives the second message
+ auto_ptr<TextMessage> inbound2(dynamic_cast<TextMessage*>(consumer->receive(4000)));
- // validates that the rollbacked was not consumed
- session->commit();
+ // validates that the rollbacked was not consumed
+ session->commit();
- CPPUNIT_ASSERT(outbound1->getText() == inbound1->getText());
- CPPUNIT_ASSERT(outbound2->getText() == inbound2->getText());
- }
- AMQ_CATCH_RETHROW(ActiveMQException)
- AMQ_CATCHALL_THROW(ActiveMQException)
+ CPPUNIT_ASSERT(outbound1->getText() == inbound1->getText());
+ CPPUNIT_ASSERT(outbound2->getText() == inbound2->getText());
}
////////////////////////////////////////////////////////////////////////////////
@@ -162,79 +152,90 @@ void TransactionTest::testSendRollbackCommitRollback() {
////////////////////////////////////////////////////////////////////////////////
void TransactionTest::testSendSessionClose() {
- try {
+ Pointer<ActiveMQConnectionFactory> connectionFactory(
+ new ActiveMQConnectionFactory(getBrokerURL()));
- cmsProvider->getProducer()->setDeliveryMode(DeliveryMode::NON_PERSISTENT);
+ Pointer<Connection> connection(connectionFactory->createConnection());
+ Pointer<ActiveMQConnection> amqConnection = connection.dynamicCast<ActiveMQConnection>();
- auto_ptr<TextMessage> outbound1(cmsProvider->getSession()->createTextMessage("First Message"));
- auto_ptr<TextMessage> outbound2(cmsProvider->getSession()->createTextMessage("Second Message"));
+ connection->start();
+ Pointer<Session> session(connection->createSession(Session::SESSION_TRANSACTED));
+ Pointer<Queue> destination(session->createQueue("testSendSessionClose"));
- // sends a message
- cmsProvider->getProducer()->send(outbound1.get());
- cmsProvider->getSession()->commit();
+ // Create the messages used for this test
+ auto_ptr<TextMessage> outbound1(session->createTextMessage("First Message"));
+ auto_ptr<TextMessage> outbound2(session->createTextMessage("Second Message"));
- // sends a message that gets rolled back
- auto_ptr<cms::Message> rollback(cmsProvider->getSession()->createTextMessage("I'm going to get rolled back."));
- cmsProvider->getProducer()->send(rollback.get());
- cmsProvider->getConsumer()->close();
+ Pointer<MessageConsumer> consumer(session->createConsumer(destination.get()));
+ Pointer<MessageProducer> producer(session->createProducer(destination.get()));
+ producer->setDeliveryMode(DeliveryMode::NON_PERSISTENT);
- cmsProvider->reconnectSession();
+ // Send Message #1
+ producer->send(outbound1.get());
+ session->commit();
- // sends a message
- cmsProvider->getProducer()->send(outbound2.get());
- cmsProvider->getSession()->commit();
+ // Send a Message but roll it back by closing the session that owns the resources
+ auto_ptr<cms::Message> rollback(session->createTextMessage("I'm going to get rolled back."));
+ producer->send(outbound2.get());
+ session->close();
- // receives the first message
- auto_ptr<TextMessage> inbound1(dynamic_cast<TextMessage*>(cmsProvider->getConsumer()->receive(1500)));
+ session.reset(connection->createSession(Session::SESSION_TRANSACTED));
+ destination.reset(session->createQueue("testSendSessionClose"));
+ consumer.reset(session->createConsumer(destination.get()));
+ producer.reset(session->createProducer(destination.get()));
+ producer->setDeliveryMode(DeliveryMode::NON_PERSISTENT);
- // receives the second message
- auto_ptr<cms::TextMessage> inbound2(dynamic_cast<TextMessage*>(cmsProvider->getConsumer()->receive(4000)));
+ // Send Message #2
+ producer->send(outbound2.get());
+ session->commit();
- // validates that the rolled back was not consumed
- cmsProvider->getSession()->commit();
+ // receives the first message
+ auto_ptr<TextMessage> inbound1(dynamic_cast<TextMessage*>(consumer->receive(1500)));
- CPPUNIT_ASSERT(inbound1.get() != NULL);
- CPPUNIT_ASSERT(inbound2.get() != NULL);
+ // receives the second message
+ auto_ptr<TextMessage> inbound2(dynamic_cast<TextMessage*>(consumer->receive(4000)));
- CPPUNIT_ASSERT(outbound1->getText() == inbound1->getText());
- CPPUNIT_ASSERT(outbound2->getText() == inbound2->getText());
- }
- AMQ_CATCH_RETHROW(ActiveMQException)
- AMQ_CATCHALL_THROW(ActiveMQException)
+ // validates that the rolled back was not consumed
+ session->commit();
+
+ CPPUNIT_ASSERT_MESSAGE("Failed to receive first message", inbound1.get() != NULL);
+ CPPUNIT_ASSERT_MESSAGE("Failed to receive second message", inbound2.get() != NULL);
+
+ CPPUNIT_ASSERT_MESSAGE("First messages aren't equal", outbound1->getText() == inbound1->getText());
+ CPPUNIT_ASSERT_MESSAGE("Second messages aren't equal", outbound2->getText() == inbound2->getText());
+
+ session->close();
+ amqConnection->destroyDestination(destination.get());
}
////////////////////////////////////////////////////////////////////////////////
void TransactionTest::testWithTTLSet() {
- try {
- cmsProvider->getProducer()->setDeliveryMode(DeliveryMode::PERSISTENT);
-
- cms::MessageConsumer* consumer = cmsProvider->getConsumer();
+ cmsProvider->getProducer()->setDeliveryMode(DeliveryMode::PERSISTENT);
- auto_ptr<TextMessage> outbound1(cmsProvider->getSession()->createTextMessage("First Message"));
+ cms::MessageConsumer* consumer = cmsProvider->getConsumer();
- const std::size_t NUM_MESSAGES = 50;
+ auto_ptr<TextMessage> outbound1(cmsProvider->getSession()->createTextMessage("First Message"));
- // sends a message
- for (std::size_t i = 0; i < NUM_MESSAGES; ++i) {
- cmsProvider->getProducer()->send(outbound1.get(), cms::DeliveryMode::PERSISTENT,
- cmsProvider->getProducer()->getPriority(), 120 * 1000);
- }
+ const std::size_t NUM_MESSAGES = 50;
- cmsProvider->getSession()->commit();
+ // sends a message
+ for (std::size_t i = 0; i < NUM_MESSAGES; ++i) {
+ cmsProvider->getProducer()->send(outbound1.get(), cms::DeliveryMode::PERSISTENT,
+ cmsProvider->getProducer()->getPriority(), 120 * 1000);
+ }
- for (std::size_t i = 0; i < NUM_MESSAGES; ++i) {
+ cmsProvider->getSession()->commit();
- // receives the second message
- auto_ptr<TextMessage> inbound1(dynamic_cast<TextMessage*>(consumer->receive(600000)));
- CPPUNIT_ASSERT(inbound1.get() != NULL);
- CPPUNIT_ASSERT(outbound1->getText() == inbound1->getText());
- }
+ for (std::size_t i = 0; i < NUM_MESSAGES; ++i) {
- cmsProvider->getSession()->commit();
+ // receives the second message
+ auto_ptr<TextMessage> inbound1(dynamic_cast<TextMessage*>(consumer->receive(600000)));
+ CPPUNIT_ASSERT(inbound1.get() != NULL);
+ CPPUNIT_ASSERT(outbound1->getText() == inbound1->getText());
}
- AMQ_CATCH_RETHROW(ActiveMQException)
- AMQ_CATCHALL_THROW(ActiveMQException)
+
+ cmsProvider->getSession()->commit();
}
////////////////////////////////////////////////////////////////////////////////
http://git-wip-us.apache.org/repos/asf/activemq-cpp/blob/b8564c67/activemq-cpp/src/test-integration/activemq/test/openwire/OpenwireTransactionTest.h
----------------------------------------------------------------------
diff --git a/activemq-cpp/src/test-integration/activemq/test/openwire/OpenwireTransactionTest.h b/activemq-cpp/src/test-integration/activemq/test/openwire/OpenwireTransactionTest.h
index 71e40cc..8e228aa 100644
--- a/activemq-cpp/src/test-integration/activemq/test/openwire/OpenwireTransactionTest.h
+++ b/activemq-cpp/src/test-integration/activemq/test/openwire/OpenwireTransactionTest.h
@@ -32,7 +32,7 @@ namespace openwire{
CPPUNIT_TEST( testWithTTLSet );
CPPUNIT_TEST( testSendRollbackCommitRollback );
CPPUNIT_TEST( testSessionCommitAfterConsumerClosed );
-// CPPUNIT_TEST( testSendSessionClose );
+ CPPUNIT_TEST( testSendSessionClose );
CPPUNIT_TEST_SUITE_END();
public:
http://git-wip-us.apache.org/repos/asf/activemq-cpp/blob/b8564c67/activemq-cpp/src/test-integration/activemq/test/openwire/OpenwireVirtualTopicTest.h
----------------------------------------------------------------------
diff --git a/activemq-cpp/src/test-integration/activemq/test/openwire/OpenwireVirtualTopicTest.h b/activemq-cpp/src/test-integration/activemq/test/openwire/OpenwireVirtualTopicTest.h
index d31efb6..ed0276c 100644
--- a/activemq-cpp/src/test-integration/activemq/test/openwire/OpenwireVirtualTopicTest.h
+++ b/activemq-cpp/src/test-integration/activemq/test/openwire/OpenwireVirtualTopicTest.h
@@ -30,7 +30,7 @@ namespace openwire {
CPPUNIT_TEST_SUITE( OpenwireVirtualTopicTest );
CPPUNIT_TEST( testVirtualTopicSyncReceiveAutoAck );
CPPUNIT_TEST( testVirtualTopicSyncReceiveClinetAck );
-// CPPUNIT_TEST( testVirtualTopicSyncReceiveTransacted );
+ CPPUNIT_TEST( testVirtualTopicSyncReceiveTransacted );
CPPUNIT_TEST_SUITE_END();
public:
http://git-wip-us.apache.org/repos/asf/activemq-cpp/blob/b8564c67/activemq-cpp/src/test/activemq/transport/failover/FailoverTransportTest.cpp
----------------------------------------------------------------------
diff --git a/activemq-cpp/src/test/activemq/transport/failover/FailoverTransportTest.cpp b/activemq-cpp/src/test/activemq/transport/failover/FailoverTransportTest.cpp
index 6ba74c3..54802df 100644
--- a/activemq-cpp/src/test/activemq/transport/failover/FailoverTransportTest.cpp
+++ b/activemq-cpp/src/test/activemq/transport/failover/FailoverTransportTest.cpp
@@ -674,14 +674,14 @@ void FailoverTransportTest::testUriOptionsApplied() {
////////////////////////////////////////////////////////////////////////////////
void FailoverTransportTest::testConnectedToMockBroker() {
- MockBrokerService broker1(61616);
- MockBrokerService broker2(61618);
+ MockBrokerService broker1(61626);
+ MockBrokerService broker2(61628);
broker1.start();
broker1.waitUntilStarted();
- std::string uri = "failover://(tcp://localhost:61616,"
- "tcp://localhost:61618)?randomize=false";
+ std::string uri = "failover://(tcp://localhost:61626,"
+ "tcp://localhost:61628)?randomize=false";
DefaultTransportListener listener;
FailoverTransportFactory factory;