summaryrefslogtreecommitdiff
path: root/cpp/src/tests/QueueTest.cpp
diff options
context:
space:
mode:
authorKim van der Riet <kpvdr@apache.org>2009-09-14 15:20:13 +0000
committerKim van der Riet <kpvdr@apache.org>2009-09-14 15:20:13 +0000
commit683a5677a37def4ed3c564fbebfe8951bcf86142 (patch)
tree5ebe32fcb4a61f32eb12c64e05eceb402d8b5300 /cpp/src/tests/QueueTest.cpp
parentd84a5a7e693922fbb18d7db020c28be8471f11e3 (diff)
downloadqpid-python-683a5677a37def4ed3c564fbebfe8951bcf86142.tar.gz
Reversed checkin of r.813825 until its problems can be resolved
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@814692 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/tests/QueueTest.cpp')
-rw-r--r--cpp/src/tests/QueueTest.cpp124
1 files changed, 4 insertions, 120 deletions
diff --git a/cpp/src/tests/QueueTest.cpp b/cpp/src/tests/QueueTest.cpp
index 378c0471da..841a19f7c1 100644
--- a/cpp/src/tests/QueueTest.cpp
+++ b/cpp/src/tests/QueueTest.cpp
@@ -22,8 +22,6 @@
#include "test_tools.h"
#include "qpid/Exception.h"
#include "qpid/broker/Broker.h"
-#include "qpid/broker/DeliverableMessage.h"
-#include "qpid/broker/FanOutExchange.h"
#include "qpid/broker/Queue.h"
#include "qpid/broker/Deliverable.h"
#include "qpid/broker/ExchangeRegistry.h"
@@ -32,14 +30,12 @@
#include "qpid/broker/ExpiryPolicy.h"
#include "qpid/framing/MessageTransferBody.h"
#include "qpid/client/QueueOptions.h"
-#include "qpid/framing/reply_exceptions.h"
#include <iostream>
#include "boost/format.hpp"
using boost::intrusive_ptr;
using namespace qpid;
using namespace qpid::broker;
-using namespace qpid::client;
using namespace qpid::framing;
using namespace qpid::sys;
@@ -277,35 +273,14 @@ QPID_AUTO_TEST_CASE(testPersistLastNodeStanding){
}
-const std::string nullxid = "";
-
-class SimpleDummyCtxt : public TransactionContext {};
-
-class DummyCtxt : public TPCTransactionContext
-{
- const std::string xid;
-public:
- DummyCtxt(const std::string& _xid) : xid(_xid) {}
- static std::string getXid(TransactionContext& ctxt)
- {
- DummyCtxt* c(dynamic_cast<DummyCtxt*>(&ctxt));
- return c ? c->xid : nullxid;
- }
-};
-
-class TestMessageStoreOC : public MessageStore
+class TestMessageStoreOC : public NullMessageStore
{
- std::set<std::string> prepared;
- uint64_t nextPersistenceId;
public:
uint enqCnt;
uint deqCnt;
bool error;
- TestMessageStoreOC() : MessageStore(),nextPersistenceId(1),enqCnt(0),deqCnt(0),error(false) {}
- ~TestMessageStoreOC(){}
-
virtual void dequeue(TransactionContext*,
const boost::intrusive_ptr<PersistableMessage>& /*msg*/,
const PersistableQueue& /*queue*/)
@@ -327,32 +302,8 @@ class TestMessageStoreOC : public MessageStore
error=true;
}
- bool init(const Options*) { return true; }
- void truncateInit(const bool) {}
- void create(PersistableQueue& queue, const framing::FieldTable&) { queue.setPersistenceId(nextPersistenceId++); }
- void destroy(PersistableQueue&) {}
- void create(const PersistableExchange& exchange, const framing::FieldTable&) { exchange.setPersistenceId(nextPersistenceId++); }
- void destroy(const PersistableExchange&) {}
- void bind(const PersistableExchange&, const PersistableQueue&, const std::string&, const framing::FieldTable&) {}
- void unbind(const PersistableExchange&, const PersistableQueue&, const std::string&, const framing::FieldTable&) {}
- void create(const PersistableConfig& config) { config.setPersistenceId(nextPersistenceId++); }
- void destroy(const PersistableConfig&) {}
- void stage(const boost::intrusive_ptr<PersistableMessage>&) {}
- void destroy(PersistableMessage&) {}
- void appendContent(const boost::intrusive_ptr<const PersistableMessage>&, const std::string&) {}
- void loadContent(const qpid::broker::PersistableQueue&, const boost::intrusive_ptr<const PersistableMessage>&,
- std::string&, uint64_t, uint32_t) { throw qpid::framing::InternalErrorException("Can't load content; persistence not enabled"); }
- void flush(const qpid::broker::PersistableQueue&) {}
- uint32_t outstandingQueueAIO(const PersistableQueue&) { return 0; }
-
- std::auto_ptr<TransactionContext> begin() { return std::auto_ptr<TransactionContext>(new SimpleDummyCtxt()); }
- std::auto_ptr<TPCTransactionContext> begin(const std::string& xid) { return std::auto_ptr<TPCTransactionContext>(new DummyCtxt(xid)); }
- void prepare(TPCTransactionContext& ctxt) { prepared.insert(DummyCtxt::getXid(ctxt)); }
- void commit(TransactionContext& ctxt) { prepared.erase(DummyCtxt::getXid(ctxt)); }
- void abort(TransactionContext& ctxt) { prepared.erase(DummyCtxt::getXid(ctxt)); }
- void collectPreparedXids(std::set<std::string>& out) { out.insert(prepared.begin(), prepared.end()); }
-
- void recover(RecoveryManager&) {}
+ TestMessageStoreOC() : NullMessageStore(),enqCnt(0),deqCnt(0),error(false) {}
+ ~TestMessageStoreOC(){}
};
@@ -752,7 +703,7 @@ not requeued to the store.
QPID_AUTO_TEST_CASE(testLastNodeJournalError){
/*
-simulate store exception going into last node standing
+simulate store excption going into last node standing
*/
TestMessageStoreOC testStore;
@@ -786,73 +737,6 @@ intrusive_ptr<Message> mkMsg(std::string exchange, std::string routingKey) {
return msg;
}
-QPID_AUTO_TEST_CASE(testFlowToDiskMsgProperties){
-
- TestMessageStoreOC testStore;
- client::QueueOptions args;
- args.setSizePolicy(FLOW_TO_DISK, 0, 1);
-
- intrusive_ptr<Message> msg1 = mkMsg("e", "A");
- intrusive_ptr<Message> msg2 = mkMsg("e", "B");
- intrusive_ptr<Message> msg3 = mkMsg("e", "C");
- intrusive_ptr<Message> msg4 = mkMsg("e", "D");
- intrusive_ptr<Message> msg5 = mkMsg("e", "E");
- intrusive_ptr<Message> msg6 = mkMsg("e", "F");
- intrusive_ptr<Message> msg7 = mkMsg("e", "G");
- msg4->forcePersistent();
- msg5->forcePersistent();
- msg7->forcePersistent();
-
- DeliverableMessage dmsg1(msg1);
- DeliverableMessage dmsg2(msg2);
- DeliverableMessage dmsg3(msg3);
- DeliverableMessage dmsg4(msg4);
- DeliverableMessage dmsg5(msg5);
- DeliverableMessage dmsg6(msg6);
- DeliverableMessage dmsg7(msg7);
-
- FanOutExchange fanout1("fanout1", false, args);
- FanOutExchange fanout2("fanout2", false, args);
-
- Queue::shared_ptr queue1(new Queue("queue1", true, &testStore ));
- queue1->configure(args);
- Queue::shared_ptr queue2(new Queue("queue2", true, &testStore ));
- queue2->configure(args);
- Queue::shared_ptr queue3(new Queue("queue3", true));
- fanout1.bind(queue1, "", 0);
- fanout1.bind(queue2, "", 0);
- fanout1.route(dmsg1, "", 0);
- msg1->releaseContent();
- fanout1.route(dmsg2, "", 0);
- msg2->releaseContent();
- fanout1.route(dmsg3, "", 0);
- msg3->releaseContent();
-
- BOOST_CHECK_EQUAL(3u, queue1->getMessageCount());
- BOOST_CHECK_EQUAL(3u, queue2->getMessageCount());
- BOOST_CHECK_EQUAL(msg1->isContentReleased(), false);
- BOOST_CHECK_EQUAL(msg2->isContentReleased(), true);
- BOOST_CHECK_EQUAL(msg3->isContentReleased(), true);
-
- fanout1.bind(queue3, "", 0);
- fanout1.route(dmsg4, "", 0);
- msg4->releaseContent();
- BOOST_CHECK_EQUAL(msg4->isContentReleased(), false);
- fanout1.route(dmsg5, "", 0);
- msg5->releaseContent();
- BOOST_CHECK_EQUAL(msg5->isContentReleased(), false);
-
- fanout2.bind(queue3, "", 0);
- fanout2.route(dmsg6, "", 0);
- fanout2.route(dmsg7, "", 0);
- msg6->releaseContent();
- BOOST_CHECK_EQUAL(msg6->isContentReleased(), false);
- msg7->releaseContent();
- BOOST_CHECK_EQUAL(msg7->isContentReleased(), false);
-
-}
-
-
QPID_AUTO_TEST_SUITE_END()
}} // namespace qpid::tests