summaryrefslogtreecommitdiffstats
path: root/examples/imapresource/tests/imapserverproxytest.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2016-05-23 13:55:36 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2016-05-23 13:55:36 +0200
commita853cb1a32ae9207501fc4378357107013ebce21 (patch)
tree982b30db053dc03921a5c7e55ee3f097e2d8c439 /examples/imapresource/tests/imapserverproxytest.cpp
parentf38554ad4c7ff918bf7792413e6599e69d30cf3a (diff)
downloadsink-a853cb1a32ae9207501fc4378357107013ebce21.tar.gz
sink-a853cb1a32ae9207501fc4378357107013ebce21.zip
Message removals
Diffstat (limited to 'examples/imapresource/tests/imapserverproxytest.cpp')
-rw-r--r--examples/imapresource/tests/imapserverproxytest.cpp50
1 files changed, 50 insertions, 0 deletions
diff --git a/examples/imapresource/tests/imapserverproxytest.cpp b/examples/imapresource/tests/imapserverproxytest.cpp
index 139597a..b30cc33 100644
--- a/examples/imapresource/tests/imapserverproxytest.cpp
+++ b/examples/imapresource/tests/imapserverproxytest.cpp
@@ -79,6 +79,7 @@ private slots:
79 void testFetchFolders() 79 void testFetchFolders()
80 { 80 {
81 ImapServerProxy imap("localhost", 993); 81 ImapServerProxy imap("localhost", 993);
82 VERIFYEXEC(imap.login("doe", "doe"));
82 auto future = imap.fetchFolders([](const QVector<Folder> &){}); 83 auto future = imap.fetchFolders([](const QVector<Folder> &){});
83 future.waitForFinished(); 84 future.waitForFinished();
84 QVERIFY(!future.errorCode()); 85 QVERIFY(!future.errorCode());
@@ -93,6 +94,55 @@ private slots:
93 QVERIFY(future2.errorCode()); 94 QVERIFY(future2.errorCode());
94 } 95 }
95 96
97 void testFetchMail()
98 {
99 ImapServerProxy imap("localhost", 993);
100 VERIFYEXEC(imap.login("doe", "doe"));
101
102 KIMAP::FetchJob::FetchScope scope;
103 scope.mode = KIMAP::FetchJob::FetchScope::Headers;
104 int count = 0;
105 auto job = imap.select("INBOX.test").then<void>(imap.fetch(KIMAP::ImapSet::fromImapSequenceSet("1:*"), scope,
106 [&count](const QString &mailbox,
107 const QMap<qint64,qint64> &uids,
108 const QMap<qint64,qint64> &sizes,
109 const QMap<qint64,KIMAP::MessageAttribute> &attrs,
110 const QMap<qint64,KIMAP::MessageFlags> &flags,
111 const QMap<qint64,KIMAP::MessagePtr> &messages) {
112 Trace() << "Received " << uids.size() << " messages from " << mailbox;
113 Trace() << uids.size() << sizes.size() << attrs.size() << flags.size() << messages.size();
114 count += uids.size();
115 }));
116
117 VERIFYEXEC(job);
118 QCOMPARE(count, 1);
119 }
120
121 void testRemoveMail()
122 {
123 ImapServerProxy imap("localhost", 993);
124 VERIFYEXEC(imap.login("doe", "doe"));
125 VERIFYEXEC(imap.remove("INBOX.test", "1:*"));
126
127 KIMAP::FetchJob::FetchScope scope;
128 scope.mode = KIMAP::FetchJob::FetchScope::Headers;
129 int count = 0;
130 auto job = imap.select("INBOX.test").then<void>(imap.fetch(KIMAP::ImapSet::fromImapSequenceSet("1:*"), scope,
131 [&count](const QString &mailbox,
132 const QMap<qint64,qint64> &uids,
133 const QMap<qint64,qint64> &sizes,
134 const QMap<qint64,KIMAP::MessageAttribute> &attrs,
135 const QMap<qint64,KIMAP::MessageFlags> &flags,
136 const QMap<qint64,KIMAP::MessagePtr> &messages) {
137 Trace() << "Received " << uids.size() << " messages from " << mailbox;
138 Trace() << uids.size() << sizes.size() << attrs.size() << flags.size() << messages.size();
139 count += uids.size();
140 }));
141
142 VERIFYEXEC(job);
143 QCOMPARE(count, 0);
144 }
145
96}; 146};
97 147
98QTEST_MAIN(ImapServerProxyTest) 148QTEST_MAIN(ImapServerProxyTest)