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,64 +1299,90 @@ void MainTests::testNotMessingUpQosLevels()
1299 const std::string topic = "HK7c1MFu6kdT69fWY"; 1299 const std::string topic = "HK7c1MFu6kdT69fWY";
1300 const std::string payload = "M4XK2LZ2Smaazba8RobZOgoe6CENxCll"; 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 void MainTests::testUnSubscribe() 1388 void MainTests::testUnSubscribe()