From 422950c63f830e4d01315afc37d0144f79bf10db Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Mon, 23 May 2016 14:09:20 +0200 Subject: Test adding and removing of folders --- examples/imapresource/tests/imapresourcetest.cpp | 51 ++++++++++++++++++++++++ 1 file changed, 51 insertions(+) (limited to 'examples/imapresource') diff --git a/examples/imapresource/tests/imapresourcetest.cpp b/examples/imapresource/tests/imapresourcetest.cpp index 30bb953..7d4453b 100644 --- a/examples/imapresource/tests/imapresourcetest.cpp +++ b/examples/imapresource/tests/imapresourcetest.cpp @@ -132,6 +132,57 @@ private slots: VERIFYEXEC(job); } + void testListNewFolders() + { + Sink::Query query; + query.resources << "org.kde.imap.instance1"; + query.request(); + + Imap::ImapServerProxy imap("localhost", 993); + VERIFYEXEC(imap.login("doe", "doe")); + VERIFYEXEC(imap.create("INBOX.test.sub1")); + + // Ensure all local data is processed + VERIFYEXEC(Store::synchronize(query)); + ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); + + auto job = Store::fetchAll(query).then>([](const QList &folders) { + QStringList names; + for (const auto &folder : folders) { + names << folder->getName(); + } + QVERIFY(names.contains("sub1")); + }); + VERIFYEXEC(job); + } + + void testListRemovedFolders() + { + Sink::Query query; + query.resources << "org.kde.imap.instance1"; + query.request(); + + VERIFYEXEC(Store::synchronize(query)); + ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); + + Imap::ImapServerProxy imap("localhost", 993); + VERIFYEXEC(imap.login("doe", "doe")); + VERIFYEXEC(imap.remove("INBOX.test.sub1")); + + // Ensure all local data is processed + VERIFYEXEC(Store::synchronize(query)); + ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); + + auto job = Store::fetchAll(query).then>([](const QList &folders) { + QStringList names; + for (const auto &folder : folders) { + names << folder->getName(); + } + QVERIFY(!names.contains("sub1")); + }); + VERIFYEXEC(job); + } + void testListMails() { Sink::Query query; -- cgit v1.2.3