test delayed queue bindings

improve code coverage by adding a test for delayed declaration and
bindings of queues. also uncovered a bug with disconnectFromHost in
Client
This commit is contained in:
Matt Broadstone 2014-07-29 12:57:15 -04:00
parent 254a0fbf54
commit 1083f4db3a
2 changed files with 16 additions and 0 deletions

View File

@ -415,6 +415,7 @@ void ClientPrivate::closeOk(const Frame::Method &frame)
connected = false;
if (heartbeatTimer)
heartbeatTimer->stop();
socket->disconnectFromHost();
Q_EMIT q->disconnected();
}

View File

@ -29,6 +29,7 @@ private Q_SLOTS:
void removeIfUnused();
void removeIfEmpty();
void bindUnbind();
void delayedBind();
void purge();
void canOnlyStartConsumingOnce();
void cancel();
@ -276,6 +277,20 @@ void tst_QAMQPQueue::bindUnbind()
QVERIFY(waitForSignal(queue, SIGNAL(unbound())));
}
void tst_QAMQPQueue::delayedBind()
{
client->disconnectFromHost();
QVERIFY(waitForSignal(client.data(), SIGNAL(disconnected())));
Queue *queue = client->createQueue("test-delayed-bind");
queue->declare();
queue->bind("amq.topic", "routingKey");
client->connectToHost();
QVERIFY(waitForSignal(client.data(), SIGNAL(connected())));
QVERIFY(waitForSignal(queue, SIGNAL(declared())));
QVERIFY(waitForSignal(queue, SIGNAL(bound())));
}
void tst_QAMQPQueue::purge()
{
Queue *queue = client->createQueue("test-purge");