diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-02-09 13:38:56 +0100 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-02-09 13:38:56 +0100 |
commit | c0862b91e69c82a33df50b1a6913741bbecbc950 (patch) | |
tree | cc302da38cfb78fca8e5bd89f0fdc93864d3ef29 /tests/querytest.cpp | |
parent | c60eecd3d0e9a04678b1a4e74402b9cb0f478afe (diff) | |
download | sink-c0862b91e69c82a33df50b1a6913741bbecbc950.tar.gz sink-c0862b91e69c82a33df50b1a6913741bbecbc950.zip |
Use the messageId instead of the uid.
The uid is not existing for the mail and the threading requires a
messageId.
Diffstat (limited to 'tests/querytest.cpp')
-rw-r--r-- | tests/querytest.cpp | 68 |
1 files changed, 34 insertions, 34 deletions
diff --git a/tests/querytest.cpp b/tests/querytest.cpp index 10f5567..0d3ffc3 100644 --- a/tests/querytest.cpp +++ b/tests/querytest.cpp | |||
@@ -139,13 +139,13 @@ private slots: | |||
139 | // Setup | 139 | // Setup |
140 | { | 140 | { |
141 | Mail mail("sink.dummy.instance1"); | 141 | Mail mail("sink.dummy.instance1"); |
142 | mail.setUid("test1"); | 142 | mail.setExtractedMessageId("test1"); |
143 | mail.setFolder("folder1"); | 143 | mail.setFolder("folder1"); |
144 | Sink::Store::create<Mail>(mail).exec().waitForFinished(); | 144 | Sink::Store::create<Mail>(mail).exec().waitForFinished(); |
145 | } | 145 | } |
146 | { | 146 | { |
147 | Mail mail("sink.dummy.instance1"); | 147 | Mail mail("sink.dummy.instance1"); |
148 | mail.setUid("test2"); | 148 | mail.setExtractedMessageId("test2"); |
149 | mail.setFolder("folder2"); | 149 | mail.setFolder("folder2"); |
150 | Sink::Store::create<Mail>(mail).exec().waitForFinished(); | 150 | Sink::Store::create<Mail>(mail).exec().waitForFinished(); |
151 | } | 151 | } |
@@ -255,19 +255,19 @@ private slots: | |||
255 | QCOMPARE(model->rowCount(model->index(0, 0)), 1); | 255 | QCOMPARE(model->rowCount(model->index(0, 0)), 1); |
256 | } | 256 | } |
257 | 257 | ||
258 | void testMailByUid() | 258 | void testMailByMessageId() |
259 | { | 259 | { |
260 | // Setup | 260 | // Setup |
261 | { | 261 | { |
262 | Mail mail("sink.dummy.instance1"); | 262 | Mail mail("sink.dummy.instance1"); |
263 | mail.setUid("test1"); | 263 | mail.setExtractedMessageId("test1"); |
264 | mail.setProperty("sender", "doe@example.org"); | 264 | mail.setProperty("sender", "doe@example.org"); |
265 | Sink::Store::create<Mail>(mail).exec().waitForFinished(); | 265 | Sink::Store::create<Mail>(mail).exec().waitForFinished(); |
266 | } | 266 | } |
267 | 267 | ||
268 | { | 268 | { |
269 | Mail mail("sink.dummy.instance1"); | 269 | Mail mail("sink.dummy.instance1"); |
270 | mail.setUid("test2"); | 270 | mail.setExtractedMessageId("test2"); |
271 | mail.setProperty("sender", "doe@example.org"); | 271 | mail.setProperty("sender", "doe@example.org"); |
272 | Sink::Store::create<Mail>(mail).exec().waitForFinished(); | 272 | Sink::Store::create<Mail>(mail).exec().waitForFinished(); |
273 | } | 273 | } |
@@ -275,7 +275,7 @@ private slots: | |||
275 | // Test | 275 | // Test |
276 | Sink::Query query; | 276 | Sink::Query query; |
277 | query.resourceFilter("sink.dummy.instance1"); | 277 | query.resourceFilter("sink.dummy.instance1"); |
278 | query.filter<Mail::Uid>("test1"); | 278 | query.filter<Mail::MessageId>("test1"); |
279 | 279 | ||
280 | // Ensure all local data is processed | 280 | // Ensure all local data is processed |
281 | VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(QByteArrayList() << "sink.dummy.instance1")); | 281 | VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(QByteArrayList() << "sink.dummy.instance1")); |
@@ -308,7 +308,7 @@ private slots: | |||
308 | QVERIFY(!folderEntity->identifier().isEmpty()); | 308 | QVERIFY(!folderEntity->identifier().isEmpty()); |
309 | 309 | ||
310 | Mail mail("sink.dummy.instance1"); | 310 | Mail mail("sink.dummy.instance1"); |
311 | mail.setUid("test1"); | 311 | mail.setExtractedMessageId("test1"); |
312 | mail.setFolder(folderEntity->identifier()); | 312 | mail.setFolder(folderEntity->identifier()); |
313 | Sink::Store::create<Mail>(mail).exec().waitForFinished(); | 313 | Sink::Store::create<Mail>(mail).exec().waitForFinished(); |
314 | } | 314 | } |
@@ -330,7 +330,7 @@ private slots: | |||
330 | /* | 330 | /* |
331 | * Filter by two properties to make sure that we also use a non-index based filter. | 331 | * Filter by two properties to make sure that we also use a non-index based filter. |
332 | */ | 332 | */ |
333 | void testMailByUidAndFolder() | 333 | void testMailByMessageIdAndFolder() |
334 | { | 334 | { |
335 | // Setup | 335 | // Setup |
336 | Folder::Ptr folderEntity; | 336 | Folder::Ptr folderEntity; |
@@ -352,17 +352,17 @@ private slots: | |||
352 | QVERIFY(!folderEntity->identifier().isEmpty()); | 352 | QVERIFY(!folderEntity->identifier().isEmpty()); |
353 | 353 | ||
354 | Mail mail("sink.dummy.instance1"); | 354 | Mail mail("sink.dummy.instance1"); |
355 | mail.setUid("test1"); | 355 | mail.setExtractedMessageId("test1"); |
356 | mail.setFolder(folderEntity->identifier()); | 356 | mail.setFolder(folderEntity->identifier()); |
357 | Sink::Store::create<Mail>(mail).exec().waitForFinished(); | 357 | Sink::Store::create<Mail>(mail).exec().waitForFinished(); |
358 | 358 | ||
359 | Mail mail1("sink.dummy.instance1"); | 359 | Mail mail1("sink.dummy.instance1"); |
360 | mail1.setUid("test1"); | 360 | mail1.setExtractedMessageId("test1"); |
361 | mail1.setFolder("foobar"); | 361 | mail1.setFolder("foobar"); |
362 | Sink::Store::create<Mail>(mail1).exec().waitForFinished(); | 362 | Sink::Store::create<Mail>(mail1).exec().waitForFinished(); |
363 | 363 | ||
364 | Mail mail2("sink.dummy.instance1"); | 364 | Mail mail2("sink.dummy.instance1"); |
365 | mail2.setUid("test2"); | 365 | mail2.setExtractedMessageId("test2"); |
366 | mail2.setFolder(folderEntity->identifier()); | 366 | mail2.setFolder(folderEntity->identifier()); |
367 | Sink::Store::create<Mail>(mail2).exec().waitForFinished(); | 367 | Sink::Store::create<Mail>(mail2).exec().waitForFinished(); |
368 | } | 368 | } |
@@ -371,7 +371,7 @@ private slots: | |||
371 | Sink::Query query; | 371 | Sink::Query query; |
372 | query.resourceFilter("sink.dummy.instance1"); | 372 | query.resourceFilter("sink.dummy.instance1"); |
373 | query.filter<Mail::Folder>(*folderEntity); | 373 | query.filter<Mail::Folder>(*folderEntity); |
374 | query.filter<Mail::Uid>("test1"); | 374 | query.filter<Mail::MessageId>("test1"); |
375 | 375 | ||
376 | // Ensure all local data is processed | 376 | // Ensure all local data is processed |
377 | VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(QByteArrayList() << "sink.dummy.instance1")); | 377 | VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(QByteArrayList() << "sink.dummy.instance1")); |
@@ -406,21 +406,21 @@ private slots: | |||
406 | const auto date = QDateTime(QDate(2015, 7, 7), QTime(12, 0)); | 406 | const auto date = QDateTime(QDate(2015, 7, 7), QTime(12, 0)); |
407 | { | 407 | { |
408 | Mail mail("sink.dummy.instance1"); | 408 | Mail mail("sink.dummy.instance1"); |
409 | mail.setUid("testSecond"); | 409 | mail.setExtractedMessageId("testSecond"); |
410 | mail.setFolder(folderEntity->identifier()); | 410 | mail.setFolder(folderEntity->identifier()); |
411 | mail.setExtractedDate(date.addDays(-1)); | 411 | mail.setExtractedDate(date.addDays(-1)); |
412 | Sink::Store::create<Mail>(mail).exec().waitForFinished(); | 412 | Sink::Store::create<Mail>(mail).exec().waitForFinished(); |
413 | } | 413 | } |
414 | { | 414 | { |
415 | Mail mail("sink.dummy.instance1"); | 415 | Mail mail("sink.dummy.instance1"); |
416 | mail.setUid("testLatest"); | 416 | mail.setExtractedMessageId("testLatest"); |
417 | mail.setFolder(folderEntity->identifier()); | 417 | mail.setFolder(folderEntity->identifier()); |
418 | mail.setExtractedDate(date); | 418 | mail.setExtractedDate(date); |
419 | Sink::Store::create<Mail>(mail).exec().waitForFinished(); | 419 | Sink::Store::create<Mail>(mail).exec().waitForFinished(); |
420 | } | 420 | } |
421 | { | 421 | { |
422 | Mail mail("sink.dummy.instance1"); | 422 | Mail mail("sink.dummy.instance1"); |
423 | mail.setUid("testLast"); | 423 | mail.setExtractedMessageId("testLast"); |
424 | mail.setFolder(folderEntity->identifier()); | 424 | mail.setFolder(folderEntity->identifier()); |
425 | mail.setExtractedDate(date.addDays(-2)); | 425 | mail.setExtractedDate(date.addDays(-2)); |
426 | Sink::Store::create<Mail>(mail).exec().waitForFinished(); | 426 | Sink::Store::create<Mail>(mail).exec().waitForFinished(); |
@@ -441,13 +441,13 @@ private slots: | |||
441 | QTRY_VERIFY(model->data(QModelIndex(), Sink::Store::ChildrenFetchedRole).toBool()); | 441 | QTRY_VERIFY(model->data(QModelIndex(), Sink::Store::ChildrenFetchedRole).toBool()); |
442 | // The model is not sorted, but the limited set is sorted, so we can only test for the latest result. | 442 | // The model is not sorted, but the limited set is sorted, so we can only test for the latest result. |
443 | QCOMPARE(model->rowCount(), 1); | 443 | QCOMPARE(model->rowCount(), 1); |
444 | QCOMPARE(model->index(0, 0).data(Sink::Store::DomainObjectRole).value<Mail::Ptr>()->getProperty("uid").toByteArray(), QByteArray("testLatest")); | 444 | QCOMPARE(model->index(0, 0).data(Sink::Store::DomainObjectRole).value<Mail::Ptr>()->getProperty("messageId").toByteArray(), QByteArray("testLatest")); |
445 | 445 | ||
446 | model->fetchMore(QModelIndex()); | 446 | model->fetchMore(QModelIndex()); |
447 | QTRY_VERIFY(model->data(QModelIndex(), Sink::Store::ChildrenFetchedRole).toBool()); | 447 | QTRY_VERIFY(model->data(QModelIndex(), Sink::Store::ChildrenFetchedRole).toBool()); |
448 | QCOMPARE(model->rowCount(), 2); | 448 | QCOMPARE(model->rowCount(), 2); |
449 | // We can't make any assumptions about the order of the indexes | 449 | // We can't make any assumptions about the order of the indexes |
450 | // QCOMPARE(model->index(1, 0).data(Sink::Store::DomainObjectRole).value<Mail::Ptr>()->getProperty("uid").toByteArray(), QByteArray("testSecond")); | 450 | // QCOMPARE(model->index(1, 0).data(Sink::Store::DomainObjectRole).value<Mail::Ptr>()->getProperty("messageId").toByteArray(), QByteArray("testSecond")); |
451 | } | 451 | } |
452 | 452 | ||
453 | void testReactToNewResource() | 453 | void testReactToNewResource() |
@@ -525,13 +525,13 @@ private slots: | |||
525 | 525 | ||
526 | { | 526 | { |
527 | auto mail = Mail::createEntity<Mail>("sink.dummy.instance1"); | 527 | auto mail = Mail::createEntity<Mail>("sink.dummy.instance1"); |
528 | mail.setUid("mail1"); | 528 | mail.setExtractedMessageId("mail1"); |
529 | mail.setFolder(folder1); | 529 | mail.setFolder(folder1); |
530 | VERIFYEXEC(Sink::Store::create(mail)); | 530 | VERIFYEXEC(Sink::Store::create(mail)); |
531 | } | 531 | } |
532 | { | 532 | { |
533 | auto mail = Mail::createEntity<Mail>("sink.dummy.instance1"); | 533 | auto mail = Mail::createEntity<Mail>("sink.dummy.instance1"); |
534 | mail.setUid("mail2"); | 534 | mail.setExtractedMessageId("mail2"); |
535 | mail.setFolder(folder2); | 535 | mail.setFolder(folder2); |
536 | VERIFYEXEC(Sink::Store::create(mail)); | 536 | VERIFYEXEC(Sink::Store::create(mail)); |
537 | } | 537 | } |
@@ -542,11 +542,11 @@ private slots: | |||
542 | //Setup two folders with a mail each, ensure we only get the mail from the folder that matches the folder filter. | 542 | //Setup two folders with a mail each, ensure we only get the mail from the folder that matches the folder filter. |
543 | Query query; | 543 | Query query; |
544 | query.filter<Mail::Folder>(Sink::Query().containsFilter<Folder::SpecialPurpose>("purpose1")); | 544 | query.filter<Mail::Folder>(Sink::Query().containsFilter<Folder::SpecialPurpose>("purpose1")); |
545 | query.request<Mail::Uid>(); | 545 | query.request<Mail::MessageId>(); |
546 | 546 | ||
547 | auto mails = Sink::Store::read<Mail>(query); | 547 | auto mails = Sink::Store::read<Mail>(query); |
548 | QCOMPARE(mails.size(), 1); | 548 | QCOMPARE(mails.size(), 1); |
549 | QCOMPARE(mails.first().getUid().toLatin1(), QByteArray("mail1")); | 549 | QCOMPARE(mails.first().getMessageId(), QByteArray("mail1")); |
550 | } | 550 | } |
551 | 551 | ||
552 | void testLiveSubquery() | 552 | void testLiveSubquery() |
@@ -562,13 +562,13 @@ private slots: | |||
562 | 562 | ||
563 | { | 563 | { |
564 | auto mail = Mail::createEntity<Mail>("sink.dummy.instance1"); | 564 | auto mail = Mail::createEntity<Mail>("sink.dummy.instance1"); |
565 | mail.setUid("mail1"); | 565 | mail.setExtractedMessageId("mail1"); |
566 | mail.setFolder(folder1); | 566 | mail.setFolder(folder1); |
567 | VERIFYEXEC(Sink::Store::create(mail)); | 567 | VERIFYEXEC(Sink::Store::create(mail)); |
568 | } | 568 | } |
569 | { | 569 | { |
570 | auto mail = Mail::createEntity<Mail>("sink.dummy.instance1"); | 570 | auto mail = Mail::createEntity<Mail>("sink.dummy.instance1"); |
571 | mail.setUid("mail2"); | 571 | mail.setExtractedMessageId("mail2"); |
572 | mail.setFolder(folder2); | 572 | mail.setFolder(folder2); |
573 | VERIFYEXEC(Sink::Store::create(mail)); | 573 | VERIFYEXEC(Sink::Store::create(mail)); |
574 | } | 574 | } |
@@ -579,7 +579,7 @@ private slots: | |||
579 | //Setup two folders with a mail each, ensure we only get the mail from the folder that matches the folder filter. | 579 | //Setup two folders with a mail each, ensure we only get the mail from the folder that matches the folder filter. |
580 | Query query; | 580 | Query query; |
581 | query.filter<Mail::Folder>(Sink::Query().containsFilter<Folder::SpecialPurpose>("purpose1")); | 581 | query.filter<Mail::Folder>(Sink::Query().containsFilter<Folder::SpecialPurpose>("purpose1")); |
582 | query.request<Mail::Uid>(); | 582 | query.request<Mail::MessageId>(); |
583 | query.setFlags(Query::LiveQuery); | 583 | query.setFlags(Query::LiveQuery); |
584 | 584 | ||
585 | auto model = Sink::Store::loadModel<Mail>(query); | 585 | auto model = Sink::Store::loadModel<Mail>(query); |
@@ -588,7 +588,7 @@ private slots: | |||
588 | //This folder should not make it through the query | 588 | //This folder should not make it through the query |
589 | { | 589 | { |
590 | auto mail = Mail::createEntity<Mail>("sink.dummy.instance1"); | 590 | auto mail = Mail::createEntity<Mail>("sink.dummy.instance1"); |
591 | mail.setUid("mail3"); | 591 | mail.setExtractedMessageId("mail3"); |
592 | mail.setFolder(folder2); | 592 | mail.setFolder(folder2); |
593 | VERIFYEXEC(Sink::Store::create(mail)); | 593 | VERIFYEXEC(Sink::Store::create(mail)); |
594 | } | 594 | } |
@@ -596,7 +596,7 @@ private slots: | |||
596 | //But this one should | 596 | //But this one should |
597 | { | 597 | { |
598 | auto mail = Mail::createEntity<Mail>("sink.dummy.instance1"); | 598 | auto mail = Mail::createEntity<Mail>("sink.dummy.instance1"); |
599 | mail.setUid("mail4"); | 599 | mail.setExtractedMessageId("mail4"); |
600 | mail.setFolder(folder1); | 600 | mail.setFolder(folder1); |
601 | VERIFYEXEC(Sink::Store::create(mail)); | 601 | VERIFYEXEC(Sink::Store::create(mail)); |
602 | } | 602 | } |
@@ -644,7 +644,7 @@ private slots: | |||
644 | VERIFYEXEC(Sink::Store::create<Folder>(folder2)); | 644 | VERIFYEXEC(Sink::Store::create<Folder>(folder2)); |
645 | 645 | ||
646 | auto mail1 = Mail::createEntity<Mail>("sink.dummy.instance1"); | 646 | auto mail1 = Mail::createEntity<Mail>("sink.dummy.instance1"); |
647 | mail1.setUid("mail1"); | 647 | mail1.setExtractedMessageId("mail1"); |
648 | mail1.setFolder(folder1); | 648 | mail1.setFolder(folder1); |
649 | VERIFYEXEC(Sink::Store::create(mail1)); | 649 | VERIFYEXEC(Sink::Store::create(mail1)); |
650 | // Ensure all local data is processed | 650 | // Ensure all local data is processed |
@@ -680,7 +680,7 @@ private slots: | |||
680 | VERIFYEXEC(Sink::Store::create<Folder>(folder2)); | 680 | VERIFYEXEC(Sink::Store::create<Folder>(folder2)); |
681 | 681 | ||
682 | auto mail1 = Mail::createEntity<Mail>("sink.dummy.instance1"); | 682 | auto mail1 = Mail::createEntity<Mail>("sink.dummy.instance1"); |
683 | mail1.setUid("mail1"); | 683 | mail1.setExtractedMessageId("mail1"); |
684 | mail1.setFolder(folder1); | 684 | mail1.setFolder(folder1); |
685 | mail1.setUnread(false); | 685 | mail1.setUnread(false); |
686 | VERIFYEXEC(Sink::Store::create(mail1)); | 686 | VERIFYEXEC(Sink::Store::create(mail1)); |
@@ -720,7 +720,7 @@ private slots: | |||
720 | VERIFYEXEC(Sink::Store::create<Folder>(folder2)); | 720 | VERIFYEXEC(Sink::Store::create<Folder>(folder2)); |
721 | 721 | ||
722 | auto mail1 = Mail::createEntity<Mail>("sink.dummy.instance1"); | 722 | auto mail1 = Mail::createEntity<Mail>("sink.dummy.instance1"); |
723 | mail1.setUid("mail1"); | 723 | mail1.setExtractedMessageId("mail1"); |
724 | mail1.setFolder(folder1); | 724 | mail1.setFolder(folder1); |
725 | VERIFYEXEC(Sink::Store::create(mail1)); | 725 | VERIFYEXEC(Sink::Store::create(mail1)); |
726 | 726 | ||
@@ -729,13 +729,13 @@ private slots: | |||
729 | 729 | ||
730 | { | 730 | { |
731 | auto mail = Mail::createEntity<Mail>("sink.dummy.instance1"); | 731 | auto mail = Mail::createEntity<Mail>("sink.dummy.instance1"); |
732 | mail.setUid("mail2"); | 732 | mail.setExtractedMessageId("mail2"); |
733 | mail.setFolder(folder1); | 733 | mail.setFolder(folder1); |
734 | VERIFYEXEC(Sink::Store::create(mail)); | 734 | VERIFYEXEC(Sink::Store::create(mail)); |
735 | } | 735 | } |
736 | { | 736 | { |
737 | auto mail = Mail::createEntity<Mail>("sink.dummy.instance1"); | 737 | auto mail = Mail::createEntity<Mail>("sink.dummy.instance1"); |
738 | mail.setUid("mail3"); | 738 | mail.setExtractedMessageId("mail3"); |
739 | mail.setFolder(folder2); | 739 | mail.setFolder(folder2); |
740 | VERIFYEXEC(Sink::Store::create(mail)); | 740 | VERIFYEXEC(Sink::Store::create(mail)); |
741 | } | 741 | } |
@@ -762,7 +762,7 @@ private slots: | |||
762 | VERIFYEXEC(Sink::Store::create<Folder>(folder2)); | 762 | VERIFYEXEC(Sink::Store::create<Folder>(folder2)); |
763 | 763 | ||
764 | auto mail1 = Mail::createEntity<Mail>("sink.dummy.instance1"); | 764 | auto mail1 = Mail::createEntity<Mail>("sink.dummy.instance1"); |
765 | mail1.setUid("mail1"); | 765 | mail1.setExtractedMessageId("mail1"); |
766 | mail1.setFolder(folder1); | 766 | mail1.setFolder(folder1); |
767 | VERIFYEXEC(Sink::Store::create(mail1)); | 767 | VERIFYEXEC(Sink::Store::create(mail1)); |
768 | 768 | ||
@@ -783,13 +783,13 @@ private slots: | |||
783 | 783 | ||
784 | { | 784 | { |
785 | auto mail = Mail::createEntity<Mail>("sink.dummy.instance1"); | 785 | auto mail = Mail::createEntity<Mail>("sink.dummy.instance1"); |
786 | mail.setUid("mail2"); | 786 | mail.setExtractedMessageId("mail2"); |
787 | mail.setFolder(folder1); | 787 | mail.setFolder(folder1); |
788 | VERIFYEXEC(Sink::Store::create(mail)); | 788 | VERIFYEXEC(Sink::Store::create(mail)); |
789 | } | 789 | } |
790 | { | 790 | { |
791 | auto mail = Mail::createEntity<Mail>("sink.dummy.instance1"); | 791 | auto mail = Mail::createEntity<Mail>("sink.dummy.instance1"); |
792 | mail.setUid("mail3"); | 792 | mail.setExtractedMessageId("mail3"); |
793 | mail.setFolder(folder2); | 793 | mail.setFolder(folder2); |
794 | VERIFYEXEC(Sink::Store::create(mail)); | 794 | VERIFYEXEC(Sink::Store::create(mail)); |
795 | } | 795 | } |