diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2016-06-15 07:34:51 +0200 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2016-06-15 07:34:51 +0200 |
commit | b36cbed21f2b76154d5c021fd53768d227106205 (patch) | |
tree | 8154067e971b639aa1c93a909e70d074ba2594ea /tests/mailtest.cpp | |
parent | 49f08fa2fadb3ff1340af02be27045e92566dd58 (diff) | |
download | sink-b36cbed21f2b76154d5c021fd53768d227106205.tar.gz sink-b36cbed21f2b76154d5c021fd53768d227106205.zip |
Start using the sync api in tests.
Diffstat (limited to 'tests/mailtest.cpp')
-rw-r--r-- | tests/mailtest.cpp | 109 |
1 files changed, 35 insertions, 74 deletions
diff --git a/tests/mailtest.cpp b/tests/mailtest.cpp index 6dfe901..bef34fc 100644 --- a/tests/mailtest.cpp +++ b/tests/mailtest.cpp | |||
@@ -344,37 +344,29 @@ void MailTest::testCreateDraft() | |||
344 | VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier)); | 344 | VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier)); |
345 | 345 | ||
346 | QByteArray folderIdentifier; | 346 | QByteArray folderIdentifier; |
347 | auto job = Store::fetchOne<ApplicationDomain::Mail>(Query::IdentityFilter(mail.identifier()) + Query::RequestedProperties(QByteArrayList() << Mail::MimeMessage::name << Mail::Folder::name)) | 347 | |
348 | .then<void, ApplicationDomain::Mail>([&](const ApplicationDomain::Mail &mail) { | 348 | auto createdDraft = Store::readOne<ApplicationDomain::Mail>(Query::IdentityFilter(mail).request<Mail::Folder>()); |
349 | folderIdentifier = mail.getProperty("folder").toByteArray(); | 349 | folderIdentifier = createdDraft.getFolder(); |
350 | QVERIFY(!folderIdentifier.isEmpty()); | 350 | QVERIFY(!folderIdentifier.isEmpty()); |
351 | }); | ||
352 | VERIFYEXEC(job); | ||
353 | 351 | ||
354 | //Ensure we can also query by folder | 352 | //Ensure we can also query by folder |
355 | { | 353 | { |
356 | auto job = Store::fetchAll<ApplicationDomain::Mail>(Query::PropertyFilter("folder", folderIdentifier)) | 354 | auto mails = Store::read<ApplicationDomain::Mail>(Query::Query().filter<Mail::Folder>(folderIdentifier)); |
357 | .then<void, QList<ApplicationDomain::Mail::Ptr> >([&](const QList<ApplicationDomain::Mail::Ptr> &mails) { | 355 | bool found = false; |
358 | bool found = false; | 356 | for (const auto m : mails) { |
359 | for (const auto m : mails) { | 357 | if (m.identifier() == mail.identifier()) { |
360 | if (m->identifier() == mail.identifier()) { | 358 | found = true; |
361 | found = true; | 359 | } |
362 | } | 360 | } |
363 | } | 361 | QVERIFY(found); |
364 | QVERIFY(found); | ||
365 | }); | ||
366 | VERIFYEXEC(job); | ||
367 | } | 362 | } |
368 | 363 | ||
369 | //Ensure the folder is also existing | 364 | //Ensure the folder is also existing |
370 | { | 365 | { |
371 | ApplicationDomain::Folder folder; | 366 | ApplicationDomain::Folder folder; |
372 | auto job = Store::fetchAll<ApplicationDomain::Folder>(Query::IdentityFilter(folderIdentifier)) | 367 | auto folders = Store::read<ApplicationDomain::Folder>(Query::IdentityFilter(folderIdentifier)); |
373 | .then<void, QList<ApplicationDomain::Folder::Ptr> >([&](const QList<ApplicationDomain::Folder::Ptr> &folders) { | 368 | QCOMPARE(folders.size(), 1); |
374 | QCOMPARE(folders.size(), 1); | 369 | folder = folders.first(); |
375 | folder = *folders.first(); | ||
376 | }); | ||
377 | VERIFYEXEC(job); | ||
378 | VERIFYEXEC(ResourceControl::inspect<ApplicationDomain::Folder>(ResourceControl::Inspection::ExistenceInspection(folder, true))); | 370 | VERIFYEXEC(ResourceControl::inspect<ApplicationDomain::Folder>(ResourceControl::Inspection::ExistenceInspection(folder, true))); |
379 | } | 371 | } |
380 | VERIFYEXEC(ResourceControl::inspect<ApplicationDomain::Mail>(ResourceControl::Inspection::ExistenceInspection(mail, true))); | 372 | VERIFYEXEC(ResourceControl::inspect<ApplicationDomain::Mail>(ResourceControl::Inspection::ExistenceInspection(mail, true))); |
@@ -402,41 +394,26 @@ void MailTest::testModifyMailToDraft() | |||
402 | VERIFYEXEC(Store::create(mail)); | 394 | VERIFYEXEC(Store::create(mail)); |
403 | VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier)); | 395 | VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier)); |
404 | 396 | ||
405 | auto modifiedMail = Store::readOne<ApplicationDomain::Mail>(Query::IdentityFilter(mail).request<Mail::MimeMessage>().request<Mail::Folder>()); | 397 | auto modifiedMail = Store::readOne<ApplicationDomain::Mail>(Query::IdentityFilter(mail)); |
406 | // ApplicationDomain::Mail modifiedMail; | ||
407 | // { | ||
408 | // auto job = Store::fetchOne<ApplicationDomain::Mail>(Query::IdentityFilter(mail.identifier()) + Query::RequestedProperties(QByteArrayList() << Mail::MimeMessage::name << Mail::Folder::name)) | ||
409 | // .then<void, ApplicationDomain::Mail>([&](const ApplicationDomain::Mail &mail) { | ||
410 | // modifiedMail = mail; | ||
411 | // }); | ||
412 | // VERIFYEXEC(job); | ||
413 | // } | ||
414 | modifiedMail.setDraft(true); | 398 | modifiedMail.setDraft(true); |
415 | VERIFYEXEC(Store::modify(modifiedMail)); | 399 | VERIFYEXEC(Store::modify(modifiedMail)); |
416 | VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier)); | 400 | VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier)); |
417 | VERIFYEXEC(ResourceControl::flushReplayQueue(QByteArrayList() << mResourceInstanceIdentifier)); | 401 | VERIFYEXEC(ResourceControl::flushReplayQueue(QByteArrayList() << mResourceInstanceIdentifier)); |
418 | 402 | ||
419 | QByteArray folderIdentifier; | 403 | QByteArray folderIdentifier; |
420 | auto job = Store::fetchOne<ApplicationDomain::Mail>(Query::IdentityFilter(mail.identifier()) + Query::RequestedProperties(QByteArrayList() << Mail::MimeMessage::name << Mail::Folder::name)) | 404 | { |
421 | .then<void, ApplicationDomain::Mail>([&](const ApplicationDomain::Mail &mail) { | 405 | auto createdDraft = Store::readOne<ApplicationDomain::Mail>(Query::IdentityFilter(mail).request<Mail::Folder>()); |
422 | folderIdentifier = mail.getProperty("folder").toByteArray(); | 406 | folderIdentifier = createdDraft.getFolder(); |
423 | QVERIFY(!folderIdentifier.isEmpty()); | 407 | QVERIFY(!folderIdentifier.isEmpty()); |
424 | }); | 408 | } |
425 | VERIFYEXEC(job); | ||
426 | 409 | ||
427 | //Ensure the folder is also existing | 410 | //Ensure the folder is also existing |
428 | { | 411 | { |
429 | ApplicationDomain::Folder folder; | 412 | ApplicationDomain::Folder folder; |
430 | Query query; | 413 | auto folders = Store::read<ApplicationDomain::Folder>(Query::IdentityFilter(folderIdentifier).request<Folder::SpecialPurpose>()); |
431 | query.ids << folderIdentifier; | 414 | QCOMPARE(folders.size(), 1); |
432 | query.request<Folder::SpecialPurpose>(); | 415 | folder = folders.first(); |
433 | auto job = Store::fetchAll<ApplicationDomain::Folder>(Query::IdentityFilter(folderIdentifier)) | 416 | QVERIFY(folder.getSpecialPurpose().contains("drafts")); |
434 | .then<void, QList<ApplicationDomain::Folder::Ptr> >([&](const QList<ApplicationDomain::Folder::Ptr> &folders) { | ||
435 | QCOMPARE(folders.size(), 1); | ||
436 | folder = *folders.first(); | ||
437 | QVERIFY(folder.getSpecialPurpose().contains("drafts")); | ||
438 | }); | ||
439 | VERIFYEXEC(job); | ||
440 | VERIFYEXEC(ResourceControl::inspect<ApplicationDomain::Folder>(ResourceControl::Inspection::ExistenceInspection(folder, true))); | 417 | VERIFYEXEC(ResourceControl::inspect<ApplicationDomain::Folder>(ResourceControl::Inspection::ExistenceInspection(folder, true))); |
441 | } | 418 | } |
442 | VERIFYEXEC(ResourceControl::inspect<ApplicationDomain::Mail>(ResourceControl::Inspection::ExistenceInspection(mail, true))); | 419 | VERIFYEXEC(ResourceControl::inspect<ApplicationDomain::Mail>(ResourceControl::Inspection::ExistenceInspection(mail, true))); |
@@ -464,42 +441,26 @@ void MailTest::testModifyMailToTrash() | |||
464 | VERIFYEXEC(Store::create(mail)); | 441 | VERIFYEXEC(Store::create(mail)); |
465 | VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier)); | 442 | VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier)); |
466 | 443 | ||
467 | // auto modifiedMail = Store::read<ApplicationDomain::Mail>(Query::IdentityFilter(mail).request<Mail::MimeMessage>().request<Mail::Folder>()).value(); | 444 | auto modifiedMail = Store::readOne<ApplicationDomain::Mail>(Query::IdentityFilter(mail)); |
468 | |||
469 | ApplicationDomain::Mail modifiedMail; | ||
470 | { | ||
471 | auto job = Store::fetchOne<ApplicationDomain::Mail>(Query::IdentityFilter(mail.identifier()) + Query::RequestedProperties(QByteArrayList() << Mail::MimeMessage::name << Mail::Folder::name)) | ||
472 | .then<void, ApplicationDomain::Mail>([&](const ApplicationDomain::Mail &mail) { | ||
473 | modifiedMail = mail; | ||
474 | }); | ||
475 | VERIFYEXEC(job); | ||
476 | } | ||
477 | modifiedMail.setTrash(true); | 445 | modifiedMail.setTrash(true); |
478 | VERIFYEXEC(Store::modify(modifiedMail)); | 446 | VERIFYEXEC(Store::modify(modifiedMail)); |
479 | VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier)); | 447 | VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier)); |
480 | VERIFYEXEC(ResourceControl::flushReplayQueue(QByteArrayList() << mResourceInstanceIdentifier)); | 448 | VERIFYEXEC(ResourceControl::flushReplayQueue(QByteArrayList() << mResourceInstanceIdentifier)); |
481 | 449 | ||
482 | QByteArray folderIdentifier; | 450 | QByteArray folderIdentifier; |
483 | auto job = Store::fetchOne<ApplicationDomain::Mail>(Query::IdentityFilter(mail.identifier()) + Query::RequestedProperties(QByteArrayList() << Mail::MimeMessage::name << Mail::Folder::name)) | 451 | { |
484 | .then<void, ApplicationDomain::Mail>([&](const ApplicationDomain::Mail &mail) { | 452 | auto createdMail = Store::readOne<ApplicationDomain::Mail>(Query::IdentityFilter(mail).request<Mail::Folder>()); |
485 | folderIdentifier = mail.getProperty("folder").toByteArray(); | 453 | folderIdentifier = createdMail.getFolder(); |
486 | QVERIFY(!folderIdentifier.isEmpty()); | 454 | QVERIFY(!folderIdentifier.isEmpty()); |
487 | }); | 455 | } |
488 | VERIFYEXEC(job); | ||
489 | 456 | ||
490 | //Ensure the folder is also existing | 457 | //Ensure the folder is also existing |
491 | { | 458 | { |
492 | ApplicationDomain::Folder folder; | 459 | ApplicationDomain::Folder folder; |
493 | Query query; | 460 | auto folders = Store::read<ApplicationDomain::Folder>(Query::IdentityFilter(folderIdentifier).request<Folder::SpecialPurpose>()); |
494 | query.ids << folderIdentifier; | 461 | QCOMPARE(folders.size(), 1); |
495 | query.request<Folder::SpecialPurpose>(); | 462 | folder = folders.first(); |
496 | auto job = Store::fetchAll<ApplicationDomain::Folder>(Query::IdentityFilter(folderIdentifier)) | 463 | QVERIFY(folder.getSpecialPurpose().contains("trash")); |
497 | .then<void, QList<ApplicationDomain::Folder::Ptr> >([&](const QList<ApplicationDomain::Folder::Ptr> &folders) { | ||
498 | QCOMPARE(folders.size(), 1); | ||
499 | folder = *folders.first(); | ||
500 | QVERIFY(folder.getSpecialPurpose().contains("trash")); | ||
501 | }); | ||
502 | VERIFYEXEC(job); | ||
503 | VERIFYEXEC(ResourceControl::inspect<ApplicationDomain::Folder>(ResourceControl::Inspection::ExistenceInspection(folder, true))); | 464 | VERIFYEXEC(ResourceControl::inspect<ApplicationDomain::Folder>(ResourceControl::Inspection::ExistenceInspection(folder, true))); |
504 | } | 465 | } |
505 | VERIFYEXEC(ResourceControl::inspect<ApplicationDomain::Mail>(ResourceControl::Inspection::ExistenceInspection(mail, true))); | 466 | VERIFYEXEC(ResourceControl::inspect<ApplicationDomain::Mail>(ResourceControl::Inspection::ExistenceInspection(mail, true))); |