summaryrefslogtreecommitdiffstats
path: root/tests/mailtest.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2016-09-27 16:15:44 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2016-09-27 16:15:44 +0200
commit5830d7e0d1d35494823f5fa61a4871b8d9df1c9d (patch)
tree1383d9b6ad926a97ee8376175c6bee01182dc096 /tests/mailtest.cpp
parent529db49c496f4f668cec3f7c59d2d0ec78c50c9a (diff)
downloadsink-5830d7e0d1d35494823f5fa61a4871b8d9df1c9d.tar.gz
sink-5830d7e0d1d35494823f5fa61a4871b8d9df1c9d.zip
Use the Query::filter api.
Diffstat (limited to 'tests/mailtest.cpp')
-rw-r--r--tests/mailtest.cpp39
1 files changed, 22 insertions, 17 deletions
diff --git a/tests/mailtest.cpp b/tests/mailtest.cpp
index 925fb70..ed145d4 100644
--- a/tests/mailtest.cpp
+++ b/tests/mailtest.cpp
@@ -39,12 +39,13 @@ void MailTest::initTestCase()
39 QVERIFY(isBackendAvailable()); 39 QVERIFY(isBackendAvailable());
40 resetTestEnvironment(); 40 resetTestEnvironment();
41 auto resource = createResource(); 41 auto resource = createResource();
42 QVERIFY(!resource.getResourceType().isEmpty());
42 QVERIFY(!resource.identifier().isEmpty()); 43 QVERIFY(!resource.identifier().isEmpty());
43 44
44 VERIFYEXEC(Store::create(resource)); 45 VERIFYEXEC(Store::create(resource));
45 46
46 mResourceInstanceIdentifier = resource.identifier(); 47 mResourceInstanceIdentifier = resource.identifier();
47 mCapabilities = resource.getProperty("capabilities").value<QByteArrayList>(); 48 mCapabilities = resource.getCapabilities();
48} 49}
49 50
50void MailTest::cleanup() 51void MailTest::cleanup()
@@ -82,7 +83,7 @@ void MailTest::testCreateModifyDeleteFolder()
82 VERIFYEXEC(Store::create(folder)); 83 VERIFYEXEC(Store::create(folder));
83 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier)); 84 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
84 { 85 {
85 auto job = Store::fetchAll<Folder>(Query::RequestedProperties(QByteArrayList() << Folder::Name::name << Folder::Icon::name)) 86 auto job = Store::fetchAll<Folder>(Query().request<Folder::Name>().request<Folder::Icon>())
86 .syncThen<void, QList<Folder::Ptr>>([=](const QList<Folder::Ptr> &folders) { 87 .syncThen<void, QList<Folder::Ptr>>([=](const QList<Folder::Ptr> &folders) {
87 QCOMPARE(folders.size(), baseCount + 1); 88 QCOMPARE(folders.size(), baseCount + 1);
88 QHash<QString, Folder::Ptr> foldersByName; 89 QHash<QString, Folder::Ptr> foldersByName;
@@ -108,7 +109,7 @@ void MailTest::testCreateModifyDeleteFolder()
108 VERIFYEXEC(Store::modify(folder)); 109 VERIFYEXEC(Store::modify(folder));
109 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier)); 110 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
110 { 111 {
111 auto job = Store::fetchAll<Folder>(Query::RequestedProperties(QByteArrayList() << Folder::Name::name << Folder::Icon::name)) 112 auto job = Store::fetchAll<Folder>(Query().request<Folder::Name>().request<Folder::Icon>())
112 .syncThen<void, QList<Folder::Ptr>>([=](const QList<Folder::Ptr> &folders) { 113 .syncThen<void, QList<Folder::Ptr>>([=](const QList<Folder::Ptr> &folders) {
113 QCOMPARE(folders.size(), baseCount + 1); 114 QCOMPARE(folders.size(), baseCount + 1);
114 QHash<QString, Folder::Ptr> foldersByName; 115 QHash<QString, Folder::Ptr> foldersByName;
@@ -129,7 +130,7 @@ void MailTest::testCreateModifyDeleteFolder()
129 VERIFYEXEC(Store::remove(folder)); 130 VERIFYEXEC(Store::remove(folder));
130 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier)); 131 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
131 { 132 {
132 auto job = Store::fetchAll<Folder>(Query::RequestedProperties(QByteArrayList() << Folder::Name::name << Folder::Icon::name)) 133 auto job = Store::fetchAll<Folder>(Query().request<Folder::Name>().request<Folder::Icon>())
133 .syncThen<void, QList<Folder::Ptr>>([=](const QList<Folder::Ptr> &folders) { 134 .syncThen<void, QList<Folder::Ptr>>([=](const QList<Folder::Ptr> &folders) {
134 QCOMPARE(folders.size(), baseCount); 135 QCOMPARE(folders.size(), baseCount);
135 }); 136 });
@@ -159,7 +160,7 @@ void MailTest::testCreateModifyDeleteMail()
159 VERIFYEXEC(Store::create(mail)); 160 VERIFYEXEC(Store::create(mail));
160 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier)); 161 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
161 { 162 {
162 auto job = Store::fetchAll<Mail>(Query::RequestedProperties(QByteArrayList() << Mail::Folder::name << Mail::Subject::name << Mail::MimeMessage::name)) 163 auto job = Store::fetchAll<Mail>(Query().request<Mail::Folder>().request<Mail::Subject>().request<Mail::MimeMessage>())
163 .syncThen<void, QList<Mail::Ptr>>([=](const QList<Mail::Ptr> &mails) { 164 .syncThen<void, QList<Mail::Ptr>>([=](const QList<Mail::Ptr> &mails) {
164 QCOMPARE(mails.size(), 1); 165 QCOMPARE(mails.size(), 1);
165 auto mail = *mails.first(); 166 auto mail = *mails.first();
@@ -188,7 +189,7 @@ void MailTest::testCreateModifyDeleteMail()
188 VERIFYEXEC(Store::modify(mail)); 189 VERIFYEXEC(Store::modify(mail));
189 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier)); 190 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
190 { 191 {
191 auto job = Store::fetchAll<Mail>(Query::RequestedProperties(QByteArrayList() << Mail::Folder::name << Mail::Subject::name << Mail::MimeMessage::name)) 192 auto job = Store::fetchAll<Mail>(Query().request<Mail::Folder>().request<Mail::Subject>().request<Mail::MimeMessage>())
192 .syncThen<void, QList<Mail::Ptr>>([=](const QList<Mail::Ptr> &mails) { 193 .syncThen<void, QList<Mail::Ptr>>([=](const QList<Mail::Ptr> &mails) {
193 QCOMPARE(mails.size(), 1); 194 QCOMPARE(mails.size(), 1);
194 auto mail = *mails.first(); 195 auto mail = *mails.first();
@@ -210,7 +211,7 @@ void MailTest::testCreateModifyDeleteMail()
210 VERIFYEXEC(Store::remove(mail)); 211 VERIFYEXEC(Store::remove(mail));
211 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier)); 212 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
212 { 213 {
213 auto job = Store::fetchAll<Mail>(Query::RequestedProperties(QByteArrayList() << Mail::Folder::name << Mail::Subject::name)) 214 auto job = Store::fetchAll<Mail>(Query().request<Mail::Folder>().request<Mail::Subject>())
214 .syncThen<void, QList<Mail::Ptr>>([=](const QList<Mail::Ptr> &mails) { 215 .syncThen<void, QList<Mail::Ptr>>([=](const QList<Mail::Ptr> &mails) {
215 QCOMPARE(mails.size(), 0); 216 QCOMPARE(mails.size(), 0);
216 }); 217 });
@@ -246,7 +247,7 @@ void MailTest::testMoveMail()
246 247
247 Mail modifiedMail; 248 Mail modifiedMail;
248 { 249 {
249 auto job = Store::fetchAll<Mail>(Query::RequestedProperties(QByteArrayList() << Mail::Folder::name << Mail::Subject::name << Mail::MimeMessage::name)) 250 auto job = Store::fetchAll<Mail>(Query().request<Mail::Folder>().request<Mail::Subject>().request<Mail::MimeMessage>())
250 .syncThen<void, QList<Mail::Ptr>>([=, &modifiedMail](const QList<Mail::Ptr> &mails) { 251 .syncThen<void, QList<Mail::Ptr>>([=, &modifiedMail](const QList<Mail::Ptr> &mails) {
251 QCOMPARE(mails.size(), 1); 252 QCOMPARE(mails.size(), 1);
252 auto mail = *mails.first(); 253 auto mail = *mails.first();
@@ -265,7 +266,7 @@ void MailTest::testMoveMail()
265 VERIFYEXEC(Store::modify(modifiedMail)); 266 VERIFYEXEC(Store::modify(modifiedMail));
266 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier)); 267 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
267 { 268 {
268 auto job = Store::fetchAll<Mail>(Query::RequestedProperties(QByteArrayList() << Mail::Folder::name << Mail::Subject::name << Mail::MimeMessage::name)) 269 auto job = Store::fetchAll<Mail>(Query().request<Mail::Folder>().request<Mail::Subject>().request<Mail::MimeMessage>())
269 .syncThen<void, QList<Mail::Ptr>>([=](const QList<Mail::Ptr> &mails) { 270 .syncThen<void, QList<Mail::Ptr>>([=](const QList<Mail::Ptr> &mails) {
270 QCOMPARE(mails.size(), 1); 271 QCOMPARE(mails.size(), 1);
271 auto mail = *mails.first(); 272 auto mail = *mails.first();
@@ -296,9 +297,11 @@ void MailTest::testMarkMailAsRead()
296 VERIFYEXEC(Store::create(mail)); 297 VERIFYEXEC(Store::create(mail));
297 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier)); 298 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
298 299
299 auto job = Store::fetchAll<Mail>(Query::ResourceFilter(mResourceInstanceIdentifier) + 300 auto job = Store::fetchAll<Mail>(Query()
300 Query::RequestedProperties(QByteArrayList() << Mail::Folder::name 301 .filter(SinkResource(mResourceInstanceIdentifier))
301 << Mail::Subject::name)) 302 .request<Mail::Folder>()
303 .request<Mail::Subject>()
304 )
302 .then<void, QList<Mail::Ptr>>([this](const QList<Mail::Ptr> &mails) { 305 .then<void, QList<Mail::Ptr>>([this](const QList<Mail::Ptr> &mails) {
303 ASYNCCOMPARE(mails.size(), 1); 306 ASYNCCOMPARE(mails.size(), 1);
304 auto mail = mails.first(); 307 auto mail = mails.first();
@@ -311,11 +314,13 @@ void MailTest::testMarkMailAsRead()
311 VERIFYEXEC(job); 314 VERIFYEXEC(job);
312 315
313 // Verify that we can still query for all relevant information 316 // Verify that we can still query for all relevant information
314 auto job2 = Store::fetchAll<Mail>( 317 auto job2 = Store::fetchAll<Mail>(Query()
315 Query::ResourceFilter(mResourceInstanceIdentifier) + Query::RequestedProperties(QByteArrayList() << Mail::Folder::name 318 .filter(SinkResource(mResourceInstanceIdentifier))
316 << Mail::Subject::name 319 .request<Mail::Folder>()
317 << Mail::MimeMessage::name 320 .request<Mail::Subject>()
318 << Mail::Unread::name)) 321 .request<Mail::MimeMessage>()
322 .request<Mail::Unread>()
323 )
319 .then<void, QList<Mail::Ptr>>([](const QList<Mail::Ptr> &mails) { 324 .then<void, QList<Mail::Ptr>>([](const QList<Mail::Ptr> &mails) {
320 ASYNCCOMPARE(mails.size(), 1); 325 ASYNCCOMPARE(mails.size(), 1);
321 auto mail = mails.first(); 326 auto mail = mails.first();