test(issue38): show how to avoid issue #38
This commit is contained in:
parent
411a3a8e9e
commit
8109e5343c
|
|
@ -4,6 +4,8 @@
|
||||||
|
|
||||||
#include "qamqptestcase.h"
|
#include "qamqptestcase.h"
|
||||||
#include "qamqpauthenticator.h"
|
#include "qamqpauthenticator.h"
|
||||||
|
#include "qamqpexchange.h"
|
||||||
|
#include "qamqpqueue.h"
|
||||||
#include "qamqpclient_p.h"
|
#include "qamqpclient_p.h"
|
||||||
#include "qamqpclient.h"
|
#include "qamqpclient.h"
|
||||||
|
|
||||||
|
|
@ -20,6 +22,7 @@ private Q_SLOTS:
|
||||||
void socketError();
|
void socketError();
|
||||||
void validateUri_data();
|
void validateUri_data();
|
||||||
void validateUri();
|
void validateUri();
|
||||||
|
void issue38();
|
||||||
|
|
||||||
public Q_SLOTS: // temporarily disabled
|
public Q_SLOTS: // temporarily disabled
|
||||||
void autoReconnect();
|
void autoReconnect();
|
||||||
|
|
@ -27,6 +30,7 @@ public Q_SLOTS: // temporarily disabled
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QSslConfiguration createSslConfiguration();
|
QSslConfiguration createSslConfiguration();
|
||||||
|
void issue38_helper(QAmqpClient *client);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -222,5 +226,34 @@ void tst_QAMQPClient::validateUri()
|
||||||
QCOMPARE(clientPrivate.virtualHost, expectedVirtualHost);
|
QCOMPARE(clientPrivate.virtualHost, expectedVirtualHost);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void tst_QAMQPClient::issue38_helper(QAmqpClient *client)
|
||||||
|
{
|
||||||
|
// connect
|
||||||
|
client->connectToHost();
|
||||||
|
QVERIFY(waitForSignal(client, SIGNAL(connected())));
|
||||||
|
|
||||||
|
// create then declare, remove and close queue
|
||||||
|
QAmqpQueue *queue = client->createQueue();
|
||||||
|
QVERIFY(waitForSignal(queue, SIGNAL(opened())));
|
||||||
|
queue->declare();
|
||||||
|
QVERIFY(waitForSignal(queue, SIGNAL(declared())));
|
||||||
|
queue->remove(QAmqpExchange::roForce);
|
||||||
|
QVERIFY(waitForSignal(queue, SIGNAL(removed())));
|
||||||
|
queue->close();
|
||||||
|
QVERIFY(waitForSignal(queue, SIGNAL(closed())));
|
||||||
|
queue->deleteLater();
|
||||||
|
|
||||||
|
// disconnect
|
||||||
|
client->disconnectFromHost();
|
||||||
|
QVERIFY(waitForSignal(client, SIGNAL(disconnected())));
|
||||||
|
}
|
||||||
|
|
||||||
|
void tst_QAMQPClient::issue38()
|
||||||
|
{
|
||||||
|
QAmqpClient client;
|
||||||
|
issue38_helper(&client);
|
||||||
|
issue38_helper(&client);
|
||||||
|
}
|
||||||
|
|
||||||
QTEST_MAIN(tst_QAMQPClient)
|
QTEST_MAIN(tst_QAMQPClient)
|
||||||
#include "tst_qamqpclient.moc"
|
#include "tst_qamqpclient.moc"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue