diff options
author | Sona Kurazyan <sona.kurazyan@qt.io> | 2019-05-14 11:20:12 +0200 |
---|---|---|
committer | Sona Kurazyan <sona.kurazyan@qt.io> | 2019-05-14 15:15:44 +0000 |
commit | c90feba464526c9d00ccc63c0f372963fffc8d21 (patch) | |
tree | 851e5b1997c113f83a12baa4d9f0942810aa4b6f /tests | |
parent | e04667b55c2055200da93382dee44299293735a6 (diff) |
Forbid creation of QCoapReply and QCoapResourceDiscoveryReply objects
Replies are created internally, and pointers to created objects are
returned to the user. Users should not be able to create instances of
QCoapReply or QCoapResourceDiscoveryReply.
This change is based on the feedback from API review.
Change-Id: Ibd59c62fd19c4b312253d4c4621b195bf5816340
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/qcoapinternalreply/tst_qcoapinternalreply.cpp | 56 | ||||
-rw-r--r-- | tests/auto/qcoapreply/tst_qcoapreply.cpp | 63 |
2 files changed, 35 insertions, 84 deletions
diff --git a/tests/auto/qcoapinternalreply/tst_qcoapinternalreply.cpp b/tests/auto/qcoapinternalreply/tst_qcoapinternalreply.cpp index 61a3dbc..7915f44 100644 --- a/tests/auto/qcoapinternalreply/tst_qcoapinternalreply.cpp +++ b/tests/auto/qcoapinternalreply/tst_qcoapinternalreply.cpp @@ -45,8 +45,6 @@ private Q_SLOTS: void parseReplyPdu(); void updateReply_data(); void updateReply(); - void requestData(); - void abortRequest(); }; void tst_QCoapInternalReply::parseReplyPdu_data() @@ -167,24 +165,6 @@ void tst_QCoapInternalReply::parseReplyPdu() QCOMPARE(reply->message()->payload(), payload); } -class QCoapReplyForTests : public QCoapReply -{ -public: - QCoapReplyForTests(const QCoapRequest &req) : QCoapReply (req) {} - - void setRunning(const QCoapToken &token, QCoapMessageId messageId) - { - Q_D(QCoapReply); - d->_q_setRunning(token, messageId); - } - void setContentAndFinished(const QCoapInternalReply *internal) - { - Q_D(QCoapReply); - d->_q_setContent(internal->senderAddress(), *internal->message(), internal->responseCode()); - d->_q_setFinished(); - } -}; - void tst_QCoapInternalReply::updateReply_data() { QTest::addColumn<QByteArray>("data"); @@ -196,39 +176,19 @@ void tst_QCoapInternalReply::updateReply() { QFETCH(QByteArray, data); - QCoapReplyForTests reply((QCoapRequest())); + QScopedPointer<QCoapReply> reply(QCoapReplyPrivate::createCoapReply(QCoapRequest())); QCoapInternalReply internalReply; internalReply.message()->setPayload(data); - QSignalSpy spyReplyFinished(&reply, &QCoapReply::finished); + QSignalSpy spyReplyFinished(reply.data(), &QCoapReply::finished); - reply.setContentAndFinished(&internalReply); + QMetaObject::invokeMethod(reply.data(), "_q_setContent", + Q_ARG(QHostAddress, internalReply.senderAddress()), + Q_ARG(QCoapMessage, *internalReply.message()), + Q_ARG(QtCoap::ResponseCode, internalReply.responseCode())); + QMetaObject::invokeMethod(reply.data(), "_q_setFinished", Q_ARG(QtCoap::Error, QtCoap::Error::Ok)); QTRY_COMPARE_WITH_TIMEOUT(spyReplyFinished.count(), 1, 1000); - QCOMPARE(reply.readAll(), data); -} - -void tst_QCoapInternalReply::requestData() -{ - QCoapReplyForTests reply((QCoapRequest())); - reply.setRunning("token", 543); - - QCOMPARE(reply.request().token(), QByteArray("token")); - QCOMPARE(reply.request().messageId(), 543); -} - -void tst_QCoapInternalReply::abortRequest() -{ - QCoapReplyForTests reply((QCoapRequest())); - reply.setRunning("token", 543); - - QSignalSpy spyAborted(&reply, &QCoapReply::aborted); - QSignalSpy spyFinished(&reply, &QCoapReply::finished); - reply.abortRequest(); - - QTRY_COMPARE_WITH_TIMEOUT(spyAborted.count(), 1, 1000); - QList<QVariant> arguments = spyAborted.takeFirst(); - QTRY_COMPARE_WITH_TIMEOUT(spyFinished.count(), 1, 1000); - QVERIFY(arguments.at(0).toByteArray() == "token"); + QCOMPARE(reply->readAll(), data); } #else diff --git a/tests/auto/qcoapreply/tst_qcoapreply.cpp b/tests/auto/qcoapreply/tst_qcoapreply.cpp index f22098e..f893840 100644 --- a/tests/auto/qcoapreply/tst_qcoapreply.cpp +++ b/tests/auto/qcoapreply/tst_qcoapreply.cpp @@ -48,18 +48,6 @@ private Q_SLOTS: void abortRequest(); }; -class QCoapReplyForTests : public QCoapReply -{ -public: - QCoapReplyForTests(const QCoapRequest &req) : QCoapReply (req) {} - - void setRunning(const QCoapToken &token, QCoapMessageId messageId) - { - Q_D(QCoapReply); - d->_q_setRunning(token, messageId); - } -}; - void tst_QCoapReply::updateReply_data() { QTest::addColumn<QByteArray>("payload"); @@ -93,22 +81,22 @@ void tst_QCoapReply::updateReply() const QByteArray token = "\xAF\x01\xC2"; const quint16 id = 645; - QCoapReply reply(QCoapRequest{}); + QScopedPointer<QCoapReply> reply(QCoapReplyPrivate::createCoapReply(QCoapRequest())); QCoapMessage message; message.setToken(token); message.setMessageId(id); message.setPayload(payload); - QSignalSpy spyReplyFinished(&reply, &QCoapReply::finished); - QSignalSpy spyReplyNotified(&reply, &QCoapReply::notified); - QSignalSpy spyReplyError(&reply, &QCoapReply::error); - QSignalSpy spyReplyAborted(&reply, &QCoapReply::aborted); + QSignalSpy spyReplyFinished(reply.data(), &QCoapReply::finished); + QSignalSpy spyReplyNotified(reply.data(), &QCoapReply::notified); + QSignalSpy spyReplyError(reply.data(), &QCoapReply::error); + QSignalSpy spyReplyAborted(reply.data(), &QCoapReply::aborted); - QMetaObject::invokeMethod(&reply, "_q_setContent", + QMetaObject::invokeMethod(reply.data(), "_q_setContent", Q_ARG(QHostAddress, QHostAddress()), Q_ARG(QCoapMessage, message), Q_ARG(QtCoap::ResponseCode, responseCode)); - QMetaObject::invokeMethod(&reply, "_q_setFinished", + QMetaObject::invokeMethod(reply.data(), "_q_setFinished", Q_ARG(QtCoap::Error, error)); QCOMPARE(spyReplyFinished.count(), 1); @@ -116,42 +104,45 @@ void tst_QCoapReply::updateReply() QCOMPARE(spyReplyAborted.count(), 0); if (error != QtCoap::Error::Ok || QtCoap::isError(responseCode)) { QVERIFY(spyReplyError.count() > 0); - QCOMPARE(reply.isSuccessful(), false); + QCOMPARE(reply->isSuccessful(), false); } else { QCOMPARE(spyReplyError.count(), 0); - QCOMPARE(reply.isSuccessful(), true); + QCOMPARE(reply->isSuccessful(), true); } - QCOMPARE(reply.readAll(), payload); - QCOMPARE(reply.readAll(), QByteArray()); - QCOMPARE(reply.responseCode(), responseCode); - QCOMPARE(reply.message().token(), token); - QCOMPARE(reply.message().messageId(), id); + QCOMPARE(reply->readAll(), payload); + QCOMPARE(reply->readAll(), QByteArray()); + QCOMPARE(reply->responseCode(), responseCode); + QCOMPARE(reply->message().token(), token); + QCOMPARE(reply->message().messageId(), id); } void tst_QCoapReply::requestData() { - QCoapReplyForTests reply((QCoapRequest())); - reply.setRunning("token", 543); + QScopedPointer<QCoapReply> reply(QCoapReplyPrivate::createCoapReply(QCoapRequest())); + QMetaObject::invokeMethod(reply.data(), "_q_setRunning", + Q_ARG(QCoapToken, "token"), + Q_ARG(QCoapMessageId, 543)); - QCOMPARE(reply.request().token(), QByteArray("token")); - QCOMPARE(reply.request().messageId(), 543); + QCOMPARE(reply->request().token(), QByteArray("token")); + QCOMPARE(reply->request().messageId(), 543); } void tst_QCoapReply::abortRequest() { - QCoapReplyForTests reply((QCoapRequest())); - reply.setRunning("token", 543); + QScopedPointer<QCoapReply> reply(QCoapReplyPrivate::createCoapReply(QCoapRequest())); + QMetaObject::invokeMethod(reply.data(), "_q_setRunning", + Q_ARG(QCoapToken, "token"), + Q_ARG(QCoapMessageId, 543)); - QSignalSpy spyAborted(&reply, &QCoapReply::aborted); - QSignalSpy spyFinished(&reply, &QCoapReply::finished); - reply.abortRequest(); + QSignalSpy spyAborted(reply.data(), &QCoapReply::aborted); + QSignalSpy spyFinished(reply.data(), &QCoapReply::finished); + reply->abortRequest(); QTRY_COMPARE_WITH_TIMEOUT(spyAborted.count(), 1, 1000); QList<QVariant> arguments = spyAborted.takeFirst(); QTRY_COMPARE_WITH_TIMEOUT(spyFinished.count(), 1, 1000); QVERIFY(arguments.at(0).toByteArray() == "token"); - QCOMPARE(reply.isSuccessful(), false); } #else |