From c55c92774b1888b5706b1de5796ed5852533801b Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Sun, 21 Dec 2014 18:16:44 +0100 Subject: [PATCH] improve tests a little --- tests/auto/guhtestbase.h | 6 +++++- tests/auto/rules/testrules.cpp | 19 ++++++++++++------- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/tests/auto/guhtestbase.h b/tests/auto/guhtestbase.h index 1e52c881..d6fbded7 100644 --- a/tests/auto/guhtestbase.h +++ b/tests/auto/guhtestbase.h @@ -64,7 +64,11 @@ protected: inline void verifyError(const QVariant &response, const QString &fieldName, const QString &error) { QJsonDocument jsonDoc = QJsonDocument::fromVariant(response); - QVERIFY2(response.toMap().value("status").toString() == QString("success"), jsonDoc.toJson().data()); + QVERIFY2(response.toMap().value("status").toString() == QString("success"), + QString("\nExpected status: \"success\"\nGot: %2\nFull message: %3") + .arg(response.toMap().value("status").toString()) + .arg(jsonDoc.toJson().data()) + .toLatin1().data()); QVERIFY2(response.toMap().value("params").toMap().value(fieldName).toString() == error, QString("\nExpected: %1\nGot: %2\nFull message: %3\n") .arg(error) diff --git a/tests/auto/rules/testrules.cpp b/tests/auto/rules/testrules.cpp index 12625893..4a89c713 100644 --- a/tests/auto/rules/testrules.cpp +++ b/tests/auto/rules/testrules.cpp @@ -178,14 +178,16 @@ void TestRules::addRemoveRules_data() QTest::addColumn("eventDescriptorList"); QTest::addColumn("stateEvaluator"); QTest::addColumn("error"); + QTest::addColumn("jsonError"); - QTest::newRow("valid rule. 1 EventDescriptor, StateEvaluator, 1 Action, enabled") << true << validActionNoParams << validEventDescriptor1 << QVariantList() << validStateEvaluator << RuleEngine::RuleErrorNoError; - QTest::newRow("valid rule. 1 EventDescriptor, StateEvaluator, 1 Action, diabled") << false << validActionNoParams << validEventDescriptor1 << QVariantList() << validStateEvaluator << RuleEngine::RuleErrorNoError; - QTest::newRow("valid rule. 2 EventDescriptors, 1 Action") << true << validActionNoParams << QVariantMap() << eventDescriptorList << validStateEvaluator << RuleEngine::RuleErrorNoError; - QTest::newRow("invalid rule: eventDescriptor and eventDescriptorList used") << true << validActionNoParams << validEventDescriptor1 << eventDescriptorList << validStateEvaluator << RuleEngine::RuleErrorInvalidParameter; - QTest::newRow("invalid action") << true << invalidAction << validEventDescriptor1 << QVariantList() << validStateEvaluator << RuleEngine::RuleErrorActionTypeNotFound; - QTest::newRow("invalid event descriptor") << true << validActionNoParams << invalidEventDescriptor << QVariantList() << validStateEvaluator << RuleEngine::RuleErrorDeviceNotFound; + QTest::newRow("valid rule. 1 EventDescriptor, StateEvaluator, 1 Action, enabled") << true << validActionNoParams << validEventDescriptor1 << QVariantList() << validStateEvaluator << RuleEngine::RuleErrorNoError << false; + QTest::newRow("valid rule. 1 EventDescriptor, StateEvaluator, 1 Action, diabled") << false << validActionNoParams << validEventDescriptor1 << QVariantList() << validStateEvaluator << RuleEngine::RuleErrorNoError << false; + QTest::newRow("valid rule. 2 EventDescriptors, 1 Action") << true << validActionNoParams << QVariantMap() << eventDescriptorList << validStateEvaluator << RuleEngine::RuleErrorNoError << false; + QTest::newRow("invalid rule: eventDescriptor and eventDescriptorList used") << true << validActionNoParams << validEventDescriptor1 << eventDescriptorList << validStateEvaluator << RuleEngine::RuleErrorInvalidParameter << false; + QTest::newRow("invalid action") << true << invalidAction << validEventDescriptor1 << QVariantList() << validStateEvaluator << RuleEngine::RuleErrorActionTypeNotFound << false; + QTest::newRow("invalid event descriptor") << true << validActionNoParams << invalidEventDescriptor << QVariantList() << validStateEvaluator << RuleEngine::RuleErrorDeviceNotFound << false; + QTest::newRow("invalid StateDescriptor") << true << validActionNoParams << validEventDescriptor1 << QVariantList() << invalidStateEvaluator << RuleEngine::RuleErrorInvalidParameter << true; } void TestRules::addRemoveRules() @@ -196,6 +198,7 @@ void TestRules::addRemoveRules() QFETCH(QVariantList, eventDescriptorList); QFETCH(QVariantMap, stateEvaluator); QFETCH(RuleEngine::RuleError, error); + QFETCH(bool, jsonError); QVariantMap params; QVariantList actions; @@ -213,7 +216,9 @@ void TestRules::addRemoveRules() params.insert("enabled", enabled); } QVariant response = injectAndWait("Rules.AddRule", params); - verifyRuleError(response, error); + if (!jsonError) { + verifyRuleError(response, error); + } RuleId newRuleId = RuleId(response.toMap().value("params").toMap().value("ruleId").toString());