summaryrefslogtreecommitdiffstats
path: root/tests/auto/qmqttsubscription/tst_qmqttsubscription.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qmqttsubscription/tst_qmqttsubscription.cpp')
-rw-r--r--tests/auto/qmqttsubscription/tst_qmqttsubscription.cpp42
1 files changed, 28 insertions, 14 deletions
diff --git a/tests/auto/qmqttsubscription/tst_qmqttsubscription.cpp b/tests/auto/qmqttsubscription/tst_qmqttsubscription.cpp
index fda8ef6..d19fa49 100644
--- a/tests/auto/qmqttsubscription/tst_qmqttsubscription.cpp
+++ b/tests/auto/qmqttsubscription/tst_qmqttsubscription.cpp
@@ -47,6 +47,7 @@ private Q_SLOTS:
void getSetCheck();
void wildCards_data();
void wildCards();
+ void reconnect_data();
void reconnect();
private:
QProcess m_brokerProcess;
@@ -75,35 +76,41 @@ void Tst_QMqttSubscription::getSetCheck()
void Tst_QMqttSubscription::wildCards_data()
{
+ QTest::addColumn<QMqttClient::ProtocolVersion>("mqttVersion");
QTest::addColumn<QString>("subscription");
QTest::addColumn<int>("expectedReceival");
- QTest::newRow("#") << "Qt/#" << 6;
- QTest::newRow("Qt/a/b/c/d/e/f") << "Qt/a/b/c/d/e/f" << 1;
- QTest::newRow("Qt/+/b/c/d/e/f") << "Qt/+/b/c/d/e/f" << 1;
- QTest::newRow("Qt/a/+/c/d/e/f") << "Qt/a/+/c/d/e/f" << 1;
- QTest::newRow("Qt/a/b/+/d/e/f") << "Qt/a/b/+/d/e/f" << 1;
- QTest::newRow("Qt/a/b/c/+/e/f") << "Qt/a/b/c/+/e/f" << 1;
- QTest::newRow("Qt/a/b/c/d/+/f") << "Qt/a/b/c/d/+/f" << 1;
- QTest::newRow("Qt/a/b/c/d/e/+") << "Qt/a/b/c/d/e/+" << 1;
- QTest::newRow("Qt/+/b/+/d/e/+") << "Qt/+/b/+/d/e/+" << 1;
- QTest::newRow("Qt/a/+") << "Qt/a/+" << 1;
- QTest::newRow("Qt/a/+/c") << "Qt/a/+/c" << 1;
+ QList<QMqttClient::ProtocolVersion> versions{QMqttClient::MQTT_3_1_1, QMqttClient::MQTT_5_0};
+
+ for (int i = 0; i < 2; ++i) {
+ QTest::newRow(qPrintable(QString::number(versions[i]) + ":#")) << versions[i] << "Qt/#" << 6;
+ QTest::newRow(qPrintable(QString::number(versions[i]) + ":Qt/a/b/c/d/e/f")) << versions[i] << "Qt/a/b/c/d/e/f" << 1;
+ QTest::newRow(qPrintable(QString::number(versions[i]) + ":Qt/+/b/c/d/e/f")) << versions[i] << "Qt/+/b/c/d/e/f" << 1;
+ QTest::newRow(qPrintable(QString::number(versions[i]) + ":Qt/a/+/c/d/e/f")) << versions[i] << "Qt/a/+/c/d/e/f" << 1;
+ QTest::newRow(qPrintable(QString::number(versions[i]) + ":Qt/a/b/+/d/e/f")) << versions[i] << "Qt/a/b/+/d/e/f" << 1;
+ QTest::newRow(qPrintable(QString::number(versions[i]) + ":Qt/a/b/c/+/e/f")) << versions[i] << "Qt/a/b/c/+/e/f" << 1;
+ QTest::newRow(qPrintable(QString::number(versions[i]) + ":Qt/a/b/c/d/+/f")) << versions[i] << "Qt/a/b/c/d/+/f" << 1;
+ QTest::newRow(qPrintable(QString::number(versions[i]) + ":Qt/a/b/c/d/e/+")) << versions[i] << "Qt/a/b/c/d/e/+" << 1;
+ QTest::newRow(qPrintable(QString::number(versions[i]) + ":Qt/+/b/+/d/e/+")) << versions[i] << "Qt/+/b/+/d/e/+" << 1;
+ QTest::newRow(qPrintable(QString::number(versions[i]) + ":Qt/a/+")) << versions[i] << "Qt/a/+" << 1;
+ QTest::newRow(qPrintable(QString::number(versions[i]) + ":Qt/a/+/c")) << versions[i] << "Qt/a/+/c" << 1;
+ }
}
void Tst_QMqttSubscription::wildCards()
{
+ QFETCH(QMqttClient::ProtocolVersion, mqttVersion);
QFETCH(QString, subscription);
QFETCH(int, expectedReceival);
- QMqttClient client;
+ VersionClient(mqttVersion, client);
client.setHostname(m_testBroker);
client.setPort(m_port);
client.connectToHost();
QTRY_VERIFY2(client.state() == QMqttClient::Connected, "Could not connect to broker.");
- QMqttClient publisher;
+ VersionClient(mqttVersion, publisher);
publisher.setHostname(m_testBroker);
publisher.setPort(m_port);
publisher.connectToHost();
@@ -142,11 +149,18 @@ void Tst_QMqttSubscription::wildCards()
QTRY_VERIFY2(publisher.state() == QMqttClient::Disconnected, "Could not disconnect.");
}
+DefaultVersionTestData(Tst_QMqttSubscription::reconnect_data)
+
void Tst_QMqttSubscription::reconnect()
{
+ QFETCH(QMqttClient::ProtocolVersion, mqttVersion);
+ // ### TODO: Should work with MQTT5, no?
+ if (mqttVersion == QMqttClient::MQTT_5_0)
+ QSKIP("Test does not work with MQTT5");
+
// QTBUG-64042
// - Connect with clean session
- QMqttClient client;
+ VersionClient(mqttVersion, client);
client.setHostname(m_testBroker);
client.setPort(m_port);