added autotest for invalid exchange declarations

This commit is contained in:
Matt Broadstone 2014-06-11 14:38:42 -04:00
parent 496e00abb9
commit 4a09094140
2 changed files with 33 additions and 0 deletions

View File

@ -1,6 +1,8 @@
#ifndef qamqp_global_h__
#define qamqp_global_h__
#include <QMetaType>
#define AMQP_SCHEME "amqp"
#define AMQP_SSCHEME "amqps"
#define AMQP_PORT 5672
@ -53,4 +55,6 @@ enum Error {
} // namespace QAMQP
Q_DECLARE_METATYPE(QAMQP::Error);
#endif // qamqp_global_h__

View File

@ -17,6 +17,8 @@ private Q_SLOTS:
void standardTypes_data();
void standardTypes();
void invalidDeclaration_data();
void invalidDeclaration();
void removeIfUnused();
private:
@ -59,6 +61,33 @@ void tst_QAMQPExchange::standardTypes()
QVERIFY(waitForSignal(exchange, SIGNAL(removed())));
}
void tst_QAMQPExchange::invalidDeclaration_data()
{
QTest::addColumn<QString>("exchangeName");
QTest::addColumn<Exchange::ExchangeType>("type");
QTest::addColumn<QAMQP::Error>("error");
QTest::newRow("amq.direct") << "amq.direct" << Exchange::Direct << QAMQP::PreconditionFailedError;
QTest::newRow("amq.fanout") << "amq.fanout" << Exchange::FanOut << QAMQP::PreconditionFailedError;
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;
}
void tst_QAMQPExchange::invalidDeclaration()
{
QFETCH(QString, exchangeName);
QFETCH(Exchange::ExchangeType, type);
QFETCH(QAMQP::Error, error);
Exchange *exchange = client->createExchange(exchangeName);
exchange->declare(type);
QVERIFY(waitForSignal(exchange, SIGNAL(error(QAMQP::Error))));
QCOMPARE(exchange->error(), error);
}
void tst_QAMQPExchange::removeIfUnused()
{
Exchange *exchange = client->createExchange("test-if-unused-exchange");