diff --git a/tests/auto/qamqpexchange/tst_qamqpexchange.cpp b/tests/auto/qamqpexchange/tst_qamqpexchange.cpp index 54fa3b1..0c1278d 100644 --- a/tests/auto/qamqpexchange/tst_qamqpexchange.cpp +++ b/tests/auto/qamqpexchange/tst_qamqpexchange.cpp @@ -48,17 +48,27 @@ void tst_QAMQPExchange::cleanup() void tst_QAMQPExchange::standardTypes_data() { QTest::addColumn("type"); - QTest::newRow("direct") << Exchange::Direct; - QTest::newRow("fanout") << Exchange::FanOut; - QTest::newRow("topic") << Exchange::Topic; - QTest::newRow("headers") << Exchange::Headers; + QTest::addColumn("delayedDeclaration"); + + QTest::newRow("direct") << Exchange::Direct << false; + QTest::newRow("direct-delayed") << Exchange::Direct << true; + QTest::newRow("fanout") << Exchange::FanOut << false; + QTest::newRow("fanout-delayed") << Exchange::FanOut << true; + QTest::newRow("topic") << Exchange::Topic << false; + QTest::newRow("topic-delayed") << Exchange::Topic << true; + QTest::newRow("headers") << Exchange::Headers << false; + QTest::newRow("headers-delayed") << Exchange::Headers << true; } void tst_QAMQPExchange::standardTypes() { QFETCH(Exchange::ExchangeType, type); + QFETCH(bool, delayedDeclaration); Exchange *exchange = client->createExchange("test"); + if (!delayedDeclaration) + QVERIFY(waitForSignal(exchange, SIGNAL(opened()))); + exchange->declare(type); QVERIFY(waitForSignal(exchange, SIGNAL(declared()))); exchange->remove(Exchange::roForce); @@ -76,7 +86,6 @@ void tst_QAMQPExchange::invalidStandardDeclaration_data() QTest::newRow("amq.headers") << "amq.headers" << Exchange::Headers << QAMQP::PreconditionFailedError; QTest::newRow("amq.match") << "amq.match" << Exchange::Headers << QAMQP::PreconditionFailedError; QTest::newRow("amq.topic") << "amq.topic" << Exchange::Topic << QAMQP::PreconditionFailedError; - QTest::newRow("amq.reserved") << "amq.reserved" << Exchange::Direct << QAMQP::AccessRefusedError; } diff --git a/tests/auto/qamqpqueue/tst_qamqpqueue.cpp b/tests/auto/qamqpqueue/tst_qamqpqueue.cpp index 7645ca1..5ef068a 100644 --- a/tests/auto/qamqpqueue/tst_qamqpqueue.cpp +++ b/tests/auto/qamqpqueue/tst_qamqpqueue.cpp @@ -108,21 +108,31 @@ void tst_QAMQPQueue::defaultExchange() void tst_QAMQPQueue::standardExchanges_data() { QTest::addColumn("exchange"); - QTest::newRow("amq.direct") << "amq.direct"; - QTest::newRow("amq.fanout") << "amq.fanout"; - QTest::newRow("amq.headers") << "amq.headers"; - QTest::newRow("amq.match") << "amq.match"; - QTest::newRow("amq.topic") << "amq.topic"; + QTest::addColumn("delayedDeclaration"); + + QTest::newRow("amq.direct") << "amq.direct" << false; + QTest::newRow("amq.direct-delayed") << "amq.direct" << true; + QTest::newRow("amq.fanout") << "amq.fanout" << false; + QTest::newRow("amq.fanout-delayed") << "amq.fanout" << true; + QTest::newRow("amq.headers") << "amq.headers" << false; + QTest::newRow("amq.headers-delayed") << "amq.headers" << true; + QTest::newRow("amq.match") << "amq.match" << false; + QTest::newRow("amq.match-delayed") << "amq.match" << true; + QTest::newRow("amq.topic") << "amq.topic" << false; + QTest::newRow("amq.topic-delayed") << "amq.topic" << true; } void tst_QAMQPQueue::standardExchanges() { QFETCH(QString, exchange); + QFETCH(bool, delayedDeclaration); QString queueName = QString("test-%1").arg(exchange); QString routingKey = QString("testRoutingKey-%1").arg(exchange); Queue *queue = client->createQueue(queueName); + if (!delayedDeclaration) + QVERIFY(waitForSignal(queue, SIGNAL(opened()))); declareQueueAndVerifyConsuming(queue); queue->bind(exchange, routingKey);