diff options
author | Don Sanders <don.sanders@nokia.com> | 2012-03-22 16:54:56 +0200 |
---|---|---|
committer | Don Sanders <don.sanders@nokia.com> | 2012-03-22 16:54:56 +0200 |
commit | 0b86accb1a063cdf4460ee1df306ee7b8ce50a7f (patch) | |
tree | ee291198196c7c1c79c29261dbc0a229c6ba61be | |
parent | a1ce7f57ac348750117bc3d8dbc128e5201110e8 (diff) |
Ensure async disconnection actions emit activityChanged signal.
And update auto test.
-rw-r--r-- | src/tools/messageserver/servicehandler.cpp | 10 | ||||
-rw-r--r-- | tests/tst_qmailstorageaction/tst_qmailstorageaction.cpp | 63 |
2 files changed, 72 insertions, 1 deletions
diff --git a/src/tools/messageserver/servicehandler.cpp b/src/tools/messageserver/servicehandler.cpp index 476cdebb..e36505bb 100644 --- a/src/tools/messageserver/servicehandler.cpp +++ b/src/tools/messageserver/servicehandler.cpp @@ -1976,6 +1976,7 @@ void ServiceHandler::discardMessages(quint64 action, QMailMessageIdList messageI emit progressChanged(action, total, total); emit messagesDeleted(action, messageIds); emit storageActionCompleted(action); + emit activityChanged(action, QMailServiceAction::Successful); QMailStore::instance()->flushIpcNotifications(); return; } @@ -2186,6 +2187,7 @@ void ServiceHandler::addOrUpdateMessages(quint64 action, const QString &filename emit messagesUpdated(action, ids); } emit storageActionCompleted(action); + emit activityChanged(action, QMailServiceAction::Successful); return; } file.remove(); @@ -2252,6 +2254,7 @@ void ServiceHandler::addMessages(quint64 action, const QMailMessageMetaDataList emit messagesAdded(action, ids); emit storageActionCompleted(action); + emit activityChanged(action, QMailServiceAction::Successful); QMailStore::instance()->flushIpcNotifications(); } @@ -2311,6 +2314,7 @@ void ServiceHandler::updateMessages(quint64 action, const QMailMessageMetaDataLi emit messagesUpdated(action, ids); emit storageActionCompleted(action); + emit activityChanged(action, QMailServiceAction::Successful); QMailStore::instance()->flushIpcNotifications(); } @@ -2358,6 +2362,7 @@ void ServiceHandler::deleteMessages(quint64 action, const QMailMessageIdList& me emit progressChanged(action, total, total); emit messagesDeleted(action, messageIds); emit storageActionCompleted(action); + emit activityChanged(action, QMailServiceAction::Successful); QMailStore::instance()->flushIpcNotifications(); return; } @@ -2367,6 +2372,7 @@ void ServiceHandler::rollBackUpdates(quint64 action, const QMailAccountId &mailA QMailDisconnected::rollBackUpdates(mailAccountId); emit storageActionCompleted(action); + emit activityChanged(action, QMailServiceAction::Successful); QMailStore::instance()->flushIpcNotifications(); return; } @@ -2378,6 +2384,7 @@ void ServiceHandler::moveToStandardFolder(quint64 action, const QMailMessageIdLi messagesFlagged(ids, action); emit storageActionCompleted(action); + emit activityChanged(action, QMailServiceAction::Successful); QMailStore::instance()->flushIpcNotifications(); return; } @@ -2388,6 +2395,7 @@ void ServiceHandler::moveToFolder(quint64 action, const QMailMessageIdList& ids, messagesMoved(ids, action); emit storageActionCompleted(action); + emit activityChanged(action, QMailServiceAction::Successful); QMailStore::instance()->flushIpcNotifications(); return; } @@ -2398,6 +2406,7 @@ void ServiceHandler::flagMessages(quint64 action, const QMailMessageIdList& ids, messagesFlagged(ids, action); emit storageActionCompleted(action); + emit activityChanged(action, QMailServiceAction::Successful); QMailStore::instance()->flushIpcNotifications(); return; } @@ -2407,6 +2416,7 @@ void ServiceHandler::restoreToPreviousFolder(quint64 action, const QMailMessageK QMailDisconnected::restoreToPreviousFolder(key); emit storageActionCompleted(action); + emit activityChanged(action, QMailServiceAction::Successful); QMailStore::instance()->flushIpcNotifications(); return; } diff --git a/tests/tst_qmailstorageaction/tst_qmailstorageaction.cpp b/tests/tst_qmailstorageaction/tst_qmailstorageaction.cpp index de238e01..e8b36cb6 100644 --- a/tests/tst_qmailstorageaction/tst_qmailstorageaction.cpp +++ b/tests/tst_qmailstorageaction/tst_qmailstorageaction.cpp @@ -46,6 +46,7 @@ #include <qmailaccount.h> #include <qmaildisconnected.h> #include <qmailnamespace.h> +#include <qsignalspy.h> static bool isMessageServerRunning() { @@ -524,6 +525,7 @@ void tst_QMailStorageAction::test_storageaction_add() message.setCustomField("present", "true"); messages << message; + QSignalSpy activity(&action, SIGNAL(activityChanged(QMailServiceAction::Activity))); action.addMessages(messages); int i = 0; @@ -533,6 +535,11 @@ void tst_QMailStorageAction::test_storageaction_add() QVERIFY(action.status().errorCode == QMailServiceAction::Status::ErrNoError); QVERIFY(action.activity() == QMailServiceAction::Successful); + QVERIFY(activity.count() > 0); + while (activity.count()) { + QList<QVariant> arguments = activity.takeFirst(); + QVERIFY(arguments.at(0).toInt() != QMailServiceAction::Failed); + } QMailMessageKey savedMessage3Key(QMailMessageKey::serverUid("savedMessage3")); QVERIFY(QMailStore::instance()->countMessages(savedMessage3Key) == 1); @@ -555,6 +562,7 @@ void tst_QMailStorageAction::test_storageaction_update_message() QString subject("Updated simple test message"); message.setSubject(subject); messages << message; + QSignalSpy activity(&action, SIGNAL(activityChanged(QMailServiceAction::Activity))); action.updateMessages(messages); int i = 0; @@ -564,6 +572,11 @@ void tst_QMailStorageAction::test_storageaction_update_message() QVERIFY(action.status().errorCode == QMailServiceAction::Status::ErrNoError); QVERIFY(action.activity() == QMailServiceAction::Successful); + QVERIFY(activity.count() > 0); + while (activity.count()) { + QList<QVariant> arguments = activity.takeFirst(); + QVERIFY(arguments.at(0).toInt() != QMailServiceAction::Failed); + } QMailMessage saved3(saved3id); QVERIFY(saved3.subject() == subject); @@ -585,6 +598,7 @@ void tst_QMailStorageAction::test_storageaction_update_messagemetadata() metadata.setSubject(subject); metadata.setStatus(QMailMessage::Read, true); metadatalist << metadata; + QSignalSpy activity(&action, SIGNAL(activityChanged(QMailServiceAction::Activity))); action.updateMessages(metadatalist); int i = 0; @@ -594,6 +608,11 @@ void tst_QMailStorageAction::test_storageaction_update_messagemetadata() QVERIFY(action.status().errorCode == QMailServiceAction::Status::ErrNoError); QVERIFY(action.activity() == QMailServiceAction::Successful); + QVERIFY(activity.count() > 0); + while (activity.count()) { + QList<QVariant> arguments = activity.takeFirst(); + QVERIFY(arguments.at(0).toInt() != QMailServiceAction::Failed); + } QMailMessage saved3(saved3id); QVERIFY(saved3.subject() == subject); @@ -610,6 +629,7 @@ void tst_QMailStorageAction::test_storageaction_movetostandardfolder() int oldTrashCount = QMailStore::instance()->countMessages(QMailMessageKey::parentFolderId(trashId1)); int oldInboxCount = QMailStore::instance()->countMessages(QMailMessageKey::parentFolderId(inboxId2)); + QSignalSpy activity(&action, SIGNAL(activityChanged(QMailServiceAction::Activity))); action.moveToStandardFolder(list, QMailFolder::TrashFolder); int i = 0; @@ -619,6 +639,11 @@ void tst_QMailStorageAction::test_storageaction_movetostandardfolder() QVERIFY(action.status().errorCode == QMailServiceAction::Status::ErrNoError); QVERIFY(action.activity() == QMailServiceAction::Successful); + QVERIFY(activity.count() > 0); + while (activity.count()) { + QList<QVariant> arguments = activity.takeFirst(); + QVERIFY(arguments.at(0).toInt() != QMailServiceAction::Failed); + } QVERIFY(QMailStore::instance()->countMessages(QMailMessageKey::parentFolderId(trashId1)) == (oldTrashCount + 1)); QVERIFY(QMailStore::instance()->countMessages(QMailMessageKey::parentFolderId(inboxId2)) == (oldInboxCount - 1)); @@ -639,6 +664,7 @@ void tst_QMailStorageAction::test_storageaction_restoretopreviousfolder() int oldInboxCount = QMailStore::instance()->countMessages(QMailMessageKey::parentFolderId(inboxId2)); int oldTrashCount = QMailStore::instance()->countMessages(QMailMessageKey::parentFolderId(trashId1)); + QSignalSpy activity(&action, SIGNAL(activityChanged(QMailServiceAction::Activity))); action.restoreToPreviousFolder(QMailMessageKey::id(list)); int i = 0; @@ -648,6 +674,11 @@ void tst_QMailStorageAction::test_storageaction_restoretopreviousfolder() QVERIFY(action.status().errorCode == QMailServiceAction::Status::ErrNoError); QVERIFY(action.activity() == QMailServiceAction::Successful); + QVERIFY(activity.count() > 0); + while (activity.count()) { + QList<QVariant> arguments = activity.takeFirst(); + QVERIFY(arguments.at(0).toInt() != QMailServiceAction::Failed); + } QVERIFY(QMailStore::instance()->countMessages(QMailMessageKey::parentFolderId(inboxId2)) == (oldInboxCount + 1)); QVERIFY(QMailStore::instance()->countMessages(QMailMessageKey::parentFolderId(trashId1)) == (oldTrashCount - 1)); @@ -668,7 +699,8 @@ void tst_QMailStorageAction::test_storageaction_movetofolder() int oldTrashCount = QMailStore::instance()->countMessages(QMailMessageKey::parentFolderId(trashId1)); action.moveToFolder(list, trashId1); - + QSignalSpy activity(&action, SIGNAL(activityChanged(QMailServiceAction::Activity))); + int i = 0; while (action.isRunning() && i++ < 1000) QTest::qWait(10); @@ -676,6 +708,11 @@ void tst_QMailStorageAction::test_storageaction_movetofolder() QVERIFY(action.status().errorCode == QMailServiceAction::Status::ErrNoError); QVERIFY(action.activity() == QMailServiceAction::Successful); + QVERIFY(activity.count() > 0); + while (activity.count()) { + QList<QVariant> arguments = activity.takeFirst(); + QVERIFY(arguments.at(0).toInt() != QMailServiceAction::Failed); + } QVERIFY(QMailStore::instance()->countMessages(QMailMessageKey::parentFolderId(inboxId2)) == (oldInboxCount - 1)); QVERIFY(QMailStore::instance()->countMessages(QMailMessageKey::parentFolderId(trashId1)) == (oldTrashCount + 1)); @@ -696,6 +733,7 @@ void tst_QMailStorageAction::test_storageaction_flagMessages() list = QMailStore::instance()->queryMessages(QMailMessageKey::serverUid("savedMessage3")); QVERIFY(list.count() == 1); + QSignalSpy activity(&action, SIGNAL(activityChanged(QMailServiceAction::Activity))); action.flagMessages(list, 0, QMailMessage::Read); int i = 0; @@ -705,6 +743,11 @@ void tst_QMailStorageAction::test_storageaction_flagMessages() QVERIFY(action.status().errorCode == QMailServiceAction::Status::ErrNoError); QVERIFY(action.activity() == QMailServiceAction::Successful); + QVERIFY(activity.count() > 0); + while (activity.count()) { + QList<QVariant> arguments = activity.takeFirst(); + QVERIFY(arguments.at(0).toInt() != QMailServiceAction::Failed); + } QMailMessageMetaData metadataAfter("savedMessage3", accountId2); QVERIFY((metadataAfter.status() & QMailMessage::Read) == false); @@ -754,6 +797,7 @@ void tst_QMailStorageAction::test_storageaction_rollBackUpdates() // kept running, then the messageserver will have an out of date metadata // cache item in the mail store. QMailStore::instance()->flushIpcNotifications(); + QSignalSpy activity(&action, SIGNAL(activityChanged(QMailServiceAction::Activity))); action.rollBackUpdates(accountId3); int i = 0; @@ -763,6 +807,11 @@ void tst_QMailStorageAction::test_storageaction_rollBackUpdates() QVERIFY(action.status().errorCode == QMailServiceAction::Status::ErrNoError); QVERIFY(action.activity() == QMailServiceAction::Successful); + QVERIFY(activity.count() > 0); + while (activity.count()) { + QList<QVariant> arguments = activity.takeFirst(); + QVERIFY(arguments.at(0).toInt() != QMailServiceAction::Failed); + } QMailMessageMetaData metadataAfter("savedMessage5", accountId3); QVERIFY(metadataAfter.parentFolderId() == inboxId3); @@ -780,6 +829,7 @@ void tst_QMailStorageAction::test_storageaction_deleteMessages() list = QMailStore::instance()->queryMessages(QMailMessageKey::serverUid("savedMessage3")); QVERIFY(list.count() == 1); + QSignalSpy activity(&action, SIGNAL(activityChanged(QMailServiceAction::Activity))); action.deleteMessages(list); int i = 0; @@ -789,6 +839,11 @@ void tst_QMailStorageAction::test_storageaction_deleteMessages() QVERIFY(action.status().errorCode == QMailServiceAction::Status::ErrNoError); QVERIFY(action.activity() == QMailServiceAction::Successful); + QVERIFY(activity.count() > 0); + while (activity.count()) { + QList<QVariant> arguments = activity.takeFirst(); + QVERIFY(arguments.at(0).toInt() != QMailServiceAction::Failed); + } list = QMailStore::instance()->queryMessages(QMailMessageKey::serverUid("savedMessage3")); QVERIFY(list.count() == 0); @@ -823,6 +878,7 @@ void tst_QMailStorageAction::test_storageaction_discardMessages() QVERIFY(QMailStore::instance()->countMessages(savedMessage4Key) == 1); messages << message.id(); + QSignalSpy activity(&action, SIGNAL(activityChanged(QMailServiceAction::Activity))); action.discardMessages(messages); int i = 0; @@ -832,6 +888,11 @@ void tst_QMailStorageAction::test_storageaction_discardMessages() QVERIFY(action.status().errorCode == QMailServiceAction::Status::ErrNoError); QVERIFY(action.activity() == QMailServiceAction::Successful); + QVERIFY(activity.count() > 0); + while (activity.count()) { + QList<QVariant> arguments = activity.takeFirst(); + QVERIFY(arguments.at(0).toInt() != QMailServiceAction::Failed); + } QVERIFY(QMailStore::instance()->countMessages(savedMessage4Key) == 0); } |