diff --git a/tests/auto/qamqpexchange/tst_qamqpexchange.cpp b/tests/auto/qamqpexchange/tst_qamqpexchange.cpp index 6375ebd..84d04e5 100644 --- a/tests/auto/qamqpexchange/tst_qamqpexchange.cpp +++ b/tests/auto/qamqpexchange/tst_qamqpexchange.cpp @@ -12,11 +12,33 @@ class tst_QAMQPExchange : public TestCase { Q_OBJECT private Q_SLOTS: + void init(); + void cleanup(); + void standardTypes_data(); void standardTypes(); void removeIfUnused(); + +private: + QScopedPointer client; + }; +void tst_QAMQPExchange::init() +{ + client.reset(new Client); + client->connectToHost(); + QVERIFY(waitForSignal(client.data(), SIGNAL(connected()))); +} + +void tst_QAMQPExchange::cleanup() +{ + if (client->isConnected()) { + client->disconnectFromHost(); + QVERIFY(waitForSignal(client.data(), SIGNAL(disconnected()))); + } +} + void tst_QAMQPExchange::standardTypes_data() { QTest::addColumn("type"); @@ -30,31 +52,20 @@ void tst_QAMQPExchange::standardTypes() { QFETCH(Exchange::ExchangeType, type); - Client client; - client.connectToHost(); - QVERIFY(waitForSignal(&client, SIGNAL(connected()))); - - Exchange *exchange = client.createExchange("test"); + Exchange *exchange = client->createExchange("test"); exchange->declare(type); QVERIFY(waitForSignal(exchange, SIGNAL(declared()))); exchange->remove(Exchange::roForce); QVERIFY(waitForSignal(exchange, SIGNAL(removed()))); - - client.disconnectFromHost(); - QVERIFY(waitForSignal(&client, SIGNAL(disconnected()))); } void tst_QAMQPExchange::removeIfUnused() { - Client client; - client.connectToHost(); - QVERIFY(waitForSignal(&client, SIGNAL(connected()))); - - Exchange *exchange = client.createExchange("test-if-unused-exchange"); + Exchange *exchange = client->createExchange("test-if-unused-exchange"); exchange->declare(Exchange::Direct, Exchange::AutoDelete); QVERIFY(waitForSignal(exchange, SIGNAL(declared()))); - Queue *queue = client.createQueue("test-if-unused-queue"); + Queue *queue = client->createQueue("test-if-unused-queue"); queue->declare(); QVERIFY(waitForSignal(queue, SIGNAL(declared()))); queue->bind("test-if-unused-exchange", "testRoutingKey"); @@ -68,8 +79,6 @@ void tst_QAMQPExchange::removeIfUnused() // cleanup queue->remove(Queue::roForce); QVERIFY(waitForSignal(queue, SIGNAL(removed()))); - client.disconnectFromHost(); - QVERIFY(waitForSignal(&client, SIGNAL(disconnected()))); } QTEST_MAIN(tst_QAMQPExchange)