Commit 08a352db329c277a88c9bf45ceeba56d473f02fb
1 parent
227a4b3a
Convert testDowngradeQoSOnSubscribeHelper to native test client
And make it test accross protocol versions.
Showing
1 changed file
with
27 additions
and
15 deletions
FlashMQTests/tst_maintests.cpp
| ... | ... | @@ -1229,27 +1229,39 @@ void MainTests::testParsePacket() |
| 1229 | 1229 | |
| 1230 | 1230 | void testDowngradeQoSOnSubscribeHelper(const char pub_qos, const char sub_qos) |
| 1231 | 1231 | { |
| 1232 | - TwoClientTestContext testContext; | |
| 1232 | + std::vector<ProtocolVersion> protocols {ProtocolVersion::Mqtt311, ProtocolVersion::Mqtt5}; | |
| 1233 | 1233 | |
| 1234 | - const QString topic("Star/Trek"); | |
| 1235 | - const QByteArray payload("Captain Kirk"); | |
| 1234 | + for (const ProtocolVersion senderVersion : protocols) | |
| 1235 | + { | |
| 1236 | + for (const ProtocolVersion receiverVersion : protocols) | |
| 1237 | + { | |
| 1238 | + FlashMQTestClient sender; | |
| 1239 | + FlashMQTestClient receiver; | |
| 1236 | 1240 | |
| 1237 | - testContext.connectSender(); | |
| 1238 | - testContext.connectReceiver(); | |
| 1241 | + sender.start(); | |
| 1242 | + receiver.start(); | |
| 1239 | 1243 | |
| 1240 | - testContext.subscribeReceiver(topic, sub_qos); | |
| 1241 | - testContext.publish(topic, payload, pub_qos, false); | |
| 1244 | + const std::string topic("Star/Trek"); | |
| 1245 | + const std::string payload("Captain Kirk"); | |
| 1242 | 1246 | |
| 1243 | - testContext.waitReceiverReceived(1); | |
| 1247 | + sender.connectClient(senderVersion); | |
| 1248 | + receiver.connectClient(receiverVersion); | |
| 1244 | 1249 | |
| 1245 | - QCOMPARE(testContext.receivedMessages.length(), 1); | |
| 1246 | - QMQTT::Message &recv = testContext.receivedMessages.first(); | |
| 1250 | + receiver.subscribe(topic, sub_qos); | |
| 1251 | + sender.publish(topic, payload, pub_qos); | |
| 1252 | + | |
| 1253 | + receiver.waitForMessageCount(1); | |
| 1247 | 1254 | |
| 1248 | - const char expected_qos = std::min<const char>(pub_qos, sub_qos); | |
| 1249 | - QVERIFY2(recv.qos() == expected_qos, formatString("Failure: received QoS is %d. Published is %d. Subscribed as %d. Expected QoS is %d", | |
| 1250 | - recv.qos(), pub_qos, sub_qos, expected_qos).c_str()); | |
| 1251 | - QVERIFY(recv.topic() == topic); | |
| 1252 | - QVERIFY(recv.payload() == payload); | |
| 1255 | + MYCASTCOMPARE(receiver.receivedPublishes.size(), 1); | |
| 1256 | + MqttPacket &recv = receiver.receivedPublishes.front(); | |
| 1257 | + | |
| 1258 | + const char expected_qos = std::min<const char>(pub_qos, sub_qos); | |
| 1259 | + QVERIFY2(recv.getQos() == expected_qos, formatString("Failure: received QoS is %d. Published is %d. Subscribed as %d. Expected QoS is %d", | |
| 1260 | + recv.getQos(), pub_qos, sub_qos, expected_qos).c_str()); | |
| 1261 | + QVERIFY(recv.getTopic() == topic); | |
| 1262 | + QVERIFY(recv.getPayloadCopy() == payload); | |
| 1263 | + } | |
| 1264 | + } | |
| 1253 | 1265 | } |
| 1254 | 1266 | |
| 1255 | 1267 | void MainTests::testDowngradeQoSOnSubscribeQos2to2() | ... | ... |