Add a unit test for the connected signal

This commit is contained in:
Michael Zanetti 2021-02-04 23:10:41 +01:00
parent 5eebdf75f7
commit b72ebb2a68

View File

@ -184,7 +184,16 @@ void OperationTests::connectAndDisconnect()
QSignalSpy serverSpy(m_server, &MqttServer::clientConnected);
QString clientId = "connectAndDisconnect-client";
MqttClient* client = connectAndWait(clientId);
QPair<MqttClient*, QSignalSpy*> result = connectToServer(clientId);
MqttClient* client = result.first;
connect(client, &MqttClient::connected, this, [client](Mqtt::ConnectReturnCode connectReturnCode, Mqtt::ConnackFlags connackFlags){
QVERIFY2(client->isConnected(), "MqttClient::isConnected not returning true in connected signal()");
QCOMPARE(connectReturnCode, Mqtt::ConnectReturnCodeAccepted);
QCOMPARE(connackFlags, Mqtt::ConnackFlagNone);
});
if (result.second->count() == 0) {
result.second->wait();
}
QVERIFY2(serverSpy.count() == 1, "Server didn't emit clientConnected");
QVERIFY2(serverSpy.at(0).at(1) == clientId, "ClientId not matching on server side.");