Commit d6b93ef59aa79839e067e0afde563481e9ac4556

Authored by Wiebe Cazemier
1 parent d594f67b

Make testNotMessingUpQosLevels test accross protocol versions

Showing 1 changed file with 84 additions and 58 deletions
FlashMQTests/tst_maintests.cpp
... ... @@ -1299,64 +1299,90 @@ void MainTests::testNotMessingUpQosLevels()
1299 1299 const std::string topic = "HK7c1MFu6kdT69fWY";
1300 1300 const std::string payload = "M4XK2LZ2Smaazba8RobZOgoe6CENxCll";
1301 1301  
1302   - FlashMQTestClient testContextSender;
1303   - FlashMQTestClient testContextReceiver1;
1304   - FlashMQTestClient testContextReceiver2;
1305   - FlashMQTestClient testContextReceiver3;
1306   - FlashMQTestClient testContextReceiver4;
1307   - FlashMQTestClient testContextReceiver5;
1308   -
1309   - testContextReceiver1.start();
1310   - testContextReceiver1.connectClient(ProtocolVersion::Mqtt311);
1311   - testContextReceiver1.subscribe(topic, 0);
1312   -
1313   - testContextReceiver2.start();
1314   - testContextReceiver2.connectClient(ProtocolVersion::Mqtt311);
1315   - testContextReceiver2.subscribe(topic, 1);
1316   -
1317   - testContextReceiver3.start();
1318   - testContextReceiver3.connectClient(ProtocolVersion::Mqtt311);
1319   - testContextReceiver3.subscribe(topic, 2);
1320   -
1321   - testContextReceiver4.start();
1322   - testContextReceiver4.connectClient(ProtocolVersion::Mqtt311);
1323   - testContextReceiver4.subscribe(topic, 1);
1324   -
1325   - testContextReceiver5.start();
1326   - testContextReceiver5.connectClient(ProtocolVersion::Mqtt311);
1327   - testContextReceiver5.subscribe(topic, 0);
1328   -
1329   - testContextSender.start();
1330   - testContextSender.connectClient(ProtocolVersion::Mqtt311);
1331   - testContextSender.publish(topic, payload, 2);
1332   -
1333   - testContextReceiver1.waitForMessageCount(1);
1334   - testContextReceiver2.waitForMessageCount(1);
1335   - testContextReceiver3.waitForMessageCount(1);
1336   - testContextReceiver4.waitForMessageCount(1);
1337   - testContextReceiver5.waitForMessageCount(1);
1338   -
1339   - MYCASTCOMPARE(testContextReceiver1.receivedPublishes.size(), 1);
1340   - MYCASTCOMPARE(testContextReceiver2.receivedPublishes.size(), 1);
1341   - MYCASTCOMPARE(testContextReceiver3.receivedPublishes.size(), 1);
1342   - MYCASTCOMPARE(testContextReceiver4.receivedPublishes.size(), 1);
1343   - MYCASTCOMPARE(testContextReceiver5.receivedPublishes.size(), 1);
1344   -
1345   - QCOMPARE(testContextReceiver1.receivedPublishes.front().getQos(), 0);
1346   - QCOMPARE(testContextReceiver2.receivedPublishes.front().getQos(), 1);
1347   - QCOMPARE(testContextReceiver3.receivedPublishes.front().getQos(), 2);
1348   - QCOMPARE(testContextReceiver4.receivedPublishes.front().getQos(), 1);
1349   - QCOMPARE(testContextReceiver5.receivedPublishes.front().getQos(), 0);
1350   -
1351   - QCOMPARE(testContextReceiver1.receivedPublishes.front().getPayloadCopy(), payload);
1352   - QCOMPARE(testContextReceiver2.receivedPublishes.front().getPayloadCopy(), payload);
1353   - QCOMPARE(testContextReceiver3.receivedPublishes.front().getPayloadCopy(), payload);
1354   - QCOMPARE(testContextReceiver4.receivedPublishes.front().getPayloadCopy(), payload);
1355   - QCOMPARE(testContextReceiver5.receivedPublishes.front().getPayloadCopy(), payload);
1356   -
1357   - QCOMPARE(testContextReceiver2.receivedPublishes.front().getPacketId(), 1);
1358   - QCOMPARE(testContextReceiver3.receivedPublishes.front().getPacketId(), 1);
1359   - QCOMPARE(testContextReceiver4.receivedPublishes.front().getPacketId(), 1);
  1302 + std::list<ProtocolVersion> senderVersions {ProtocolVersion::Mqtt31, ProtocolVersion::Mqtt311, ProtocolVersion::Mqtt5};
  1303 + std::list<ProtocolVersion> receiverVersions {ProtocolVersion::Mqtt31, ProtocolVersion::Mqtt311, ProtocolVersion::Mqtt5};
  1304 +
  1305 + for (ProtocolVersion senderVersion : senderVersions)
  1306 + {
  1307 + for (ProtocolVersion receiverVersion : receiverVersions)
  1308 + {
  1309 +
  1310 + FlashMQTestClient testContextSender;
  1311 + FlashMQTestClient testContextReceiver1;
  1312 + FlashMQTestClient testContextReceiver2;
  1313 + FlashMQTestClient testContextReceiver3;
  1314 + FlashMQTestClient testContextReceiver4;
  1315 + FlashMQTestClient testContextReceiver5;
  1316 + FlashMQTestClient testContextReceiverMqtt3;
  1317 + FlashMQTestClient testContextReceiverMqtt5;
  1318 +
  1319 + testContextReceiver1.start();
  1320 + testContextReceiver1.connectClient(receiverVersion);
  1321 + testContextReceiver1.subscribe(topic, 0);
  1322 +
  1323 + testContextReceiver2.start();
  1324 + testContextReceiver2.connectClient(receiverVersion);
  1325 + testContextReceiver2.subscribe(topic, 1);
  1326 +
  1327 + testContextReceiver3.start();
  1328 + testContextReceiver3.connectClient(receiverVersion);
  1329 + testContextReceiver3.subscribe(topic, 2);
  1330 +
  1331 + testContextReceiver4.start();
  1332 + testContextReceiver4.connectClient(receiverVersion);
  1333 + testContextReceiver4.subscribe(topic, 1);
  1334 +
  1335 + testContextReceiver5.start();
  1336 + testContextReceiver5.connectClient(receiverVersion);
  1337 + testContextReceiver5.subscribe(topic, 0);
  1338 +
  1339 + testContextReceiverMqtt3.start();
  1340 + testContextReceiverMqtt3.connectClient(ProtocolVersion::Mqtt311);
  1341 + testContextReceiverMqtt3.subscribe(topic, 0);
  1342 +
  1343 + testContextReceiverMqtt5.start();
  1344 + testContextReceiverMqtt5.connectClient(ProtocolVersion::Mqtt5);
  1345 + testContextReceiverMqtt5.subscribe(topic, 0);
  1346 +
  1347 + testContextSender.start();
  1348 + testContextSender.connectClient(senderVersion);
  1349 + testContextSender.publish(topic, payload, 2);
  1350 +
  1351 + testContextReceiver1.waitForMessageCount(1);
  1352 + testContextReceiver2.waitForMessageCount(1);
  1353 + testContextReceiver3.waitForMessageCount(1);
  1354 + testContextReceiver4.waitForMessageCount(1);
  1355 + testContextReceiver5.waitForMessageCount(1);
  1356 +
  1357 + MYCASTCOMPARE(testContextReceiver1.receivedPublishes.size(), 1);
  1358 + MYCASTCOMPARE(testContextReceiver2.receivedPublishes.size(), 1);
  1359 + MYCASTCOMPARE(testContextReceiver3.receivedPublishes.size(), 1);
  1360 + MYCASTCOMPARE(testContextReceiver4.receivedPublishes.size(), 1);
  1361 + MYCASTCOMPARE(testContextReceiver5.receivedPublishes.size(), 1);
  1362 + MYCASTCOMPARE(testContextReceiverMqtt3.receivedPublishes.size(), 1);
  1363 + MYCASTCOMPARE(testContextReceiverMqtt5.receivedPublishes.size(), 1);
  1364 +
  1365 + QCOMPARE(testContextReceiver1.receivedPublishes.front().getQos(), 0);
  1366 + QCOMPARE(testContextReceiver2.receivedPublishes.front().getQos(), 1);
  1367 + QCOMPARE(testContextReceiver3.receivedPublishes.front().getQos(), 2);
  1368 + QCOMPARE(testContextReceiver4.receivedPublishes.front().getQos(), 1);
  1369 + QCOMPARE(testContextReceiver5.receivedPublishes.front().getQos(), 0);
  1370 + QCOMPARE(testContextReceiverMqtt3.receivedPublishes.front().getQos(), 0);
  1371 + QCOMPARE(testContextReceiverMqtt5.receivedPublishes.front().getQos(), 0);
  1372 +
  1373 + QCOMPARE(testContextReceiver1.receivedPublishes.front().getPayloadCopy(), payload);
  1374 + QCOMPARE(testContextReceiver2.receivedPublishes.front().getPayloadCopy(), payload);
  1375 + QCOMPARE(testContextReceiver3.receivedPublishes.front().getPayloadCopy(), payload);
  1376 + QCOMPARE(testContextReceiver4.receivedPublishes.front().getPayloadCopy(), payload);
  1377 + QCOMPARE(testContextReceiver5.receivedPublishes.front().getPayloadCopy(), payload);
  1378 + QCOMPARE(testContextReceiverMqtt3.receivedPublishes.front().getPayloadCopy(), payload);
  1379 + QCOMPARE(testContextReceiverMqtt5.receivedPublishes.front().getPayloadCopy(), payload);
  1380 +
  1381 + QCOMPARE(testContextReceiver2.receivedPublishes.front().getPacketId(), 1);
  1382 + QCOMPARE(testContextReceiver3.receivedPublishes.front().getPacketId(), 1);
  1383 + QCOMPARE(testContextReceiver4.receivedPublishes.front().getPacketId(), 1);
  1384 + }
  1385 + }
1360 1386 }
1361 1387  
1362 1388 void MainTests::testUnSubscribe()
... ...