add discoverdevices tests with invalid parameters

This commit is contained in:
Michael Zanetti 2014-05-04 15:10:54 +02:00
parent 016126e38c
commit 22bc250391
2 changed files with 33 additions and 15 deletions

View File

@ -46,6 +46,7 @@ private slots:
void storedDevices(); void storedDevices();
void discoverDevices_data();
void discoverDevices(); void discoverDevices();
}; };
@ -230,28 +231,47 @@ void TestDevices::storedDevices()
verifySuccess(response); verifySuccess(response);
} }
void TestDevices::discoverDevices_data()
{
QTest::addColumn<DeviceClassId>("deviceClassId");
QTest::addColumn<int>("resultCount");
QTest::addColumn<bool>("success");
QTest::newRow("valid deviceClassId") << mockDeviceDiscoveryClassId << 2 << true;
QTest::newRow("invalid deviceClassId") << DeviceClassId::createDeviceClassId() << 0 << false;
QTest::newRow("CreateMethodUser deviceClassId") << mockDeviceClassId << 0 << false;
}
void TestDevices::discoverDevices() void TestDevices::discoverDevices()
{ {
QFETCH(DeviceClassId, deviceClassId);
QFETCH(int, resultCount);
QFETCH(bool, success);
QVariantMap params; QVariantMap params;
params.insert("deviceClassId", mockDeviceDiscoveryClassId); params.insert("deviceClassId", deviceClassId);
QVariant response = injectAndWait("Devices.GetDiscoveredDevices", params); QVariant response = injectAndWait("Devices.GetDiscoveredDevices", params);
qDebug() << "response" << response; verifySuccess(response, success);
if (success) {
QCOMPARE(response.toMap().value("params").toMap().value("deviceDescriptors").toList().count(), resultCount);
}
QCOMPARE(response.toMap().value("params").toMap().value("deviceDescriptors").toList().count(), 2); // If we found something, lets try to add it
if (success) {
DeviceDescriptorId descriptorId = DeviceDescriptorId(response.toMap().value("params").toMap().value("deviceDescriptors").toList().first().toMap().value("id").toString());
DeviceDescriptorId descriptorId = DeviceDescriptorId(response.toMap().value("params").toMap().value("deviceDescriptors").toList().first().toMap().value("id").toString()); params.insert("deviceDescriptorId", descriptorId.toString());
response = injectAndWait("Devices.AddConfiguredDevice", params);
params.insert("deviceDescriptorId", descriptorId.toString()); verifySuccess(response);
response = injectAndWait("Devices.AddConfiguredDevice", params);
verifySuccess(response); DeviceId deviceId(response.toMap().value("params").toMap().value("deviceId").toString());
params.clear();
DeviceId deviceId(response.toMap().value("params").toMap().value("deviceId").toString()); params.insert("deviceId", deviceId.toString());
params.clear(); response = injectAndWait("Devices.RemoveConfiguredDevice", params);
params.insert("deviceId", deviceId.toString()); verifySuccess(response);
response = injectAndWait("Devices.RemoveConfiguredDevice", params); }
verifySuccess(response);
} }
#include "testdevices.moc" #include "testdevices.moc"

View File

@ -65,8 +65,6 @@ void TestStates::getStateValue()
QVariant response = injectAndWait("Devices.GetStateValue", params); QVariant response = injectAndWait("Devices.GetStateValue", params);
qDebug() << "got response" << response;
verifySuccess(response, success); verifySuccess(response, success);
} }