diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2016-09-27 16:15:44 +0200 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2016-09-27 16:15:44 +0200 |
commit | 5830d7e0d1d35494823f5fa61a4871b8d9df1c9d (patch) | |
tree | 1383d9b6ad926a97ee8376175c6bee01182dc096 /tests/mailtest.cpp | |
parent | 529db49c496f4f668cec3f7c59d2d0ec78c50c9a (diff) | |
download | sink-5830d7e0d1d35494823f5fa61a4871b8d9df1c9d.tar.gz sink-5830d7e0d1d35494823f5fa61a4871b8d9df1c9d.zip |
Use the Query::filter api.
Diffstat (limited to 'tests/mailtest.cpp')
-rw-r--r-- | tests/mailtest.cpp | 39 |
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 | ||
50 | void MailTest::cleanup() | 51 | void 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(); |