diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2018-05-07 10:17:06 +0200 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2018-05-07 10:17:06 +0200 |
commit | ae7dbf2bda131fada11f1251dbedff1ed7129144 (patch) | |
tree | a9471c52642229ba715e51b399a34fe9cfd109fd /tests | |
parent | 90a8d33f7c17c802730fd9b978db0e32d28a7dff (diff) | |
download | sink-ae7dbf2bda131fada11f1251dbedff1ed7129144.tar.gz sink-ae7dbf2bda131fada11f1251dbedff1ed7129144.zip |
Filter by sender
Diffstat (limited to 'tests')
-rw-r--r-- | tests/querytest.cpp | 57 |
1 files changed, 42 insertions, 15 deletions
diff --git a/tests/querytest.cpp b/tests/querytest.cpp index 81b7cdc..a36dd5e 100644 --- a/tests/querytest.cpp +++ b/tests/querytest.cpp | |||
@@ -1346,11 +1346,11 @@ private slots: | |||
1346 | auto msg = KMime::Message::Ptr::create(); | 1346 | auto msg = KMime::Message::Ptr::create(); |
1347 | msg->subject()->from7BitString("Subject To Search"); | 1347 | msg->subject()->from7BitString("Subject To Search"); |
1348 | msg->setBody("This is the searchable body."); | 1348 | msg->setBody("This is the searchable body."); |
1349 | msg->from()->from7BitString("\"The Sender\"<sender@example.org>"); | ||
1349 | msg->assemble(); | 1350 | msg->assemble(); |
1350 | { | 1351 | { |
1351 | Mail mail("sink.dummy.instance1"); | 1352 | Mail mail("sink.dummy.instance1"); |
1352 | mail.setExtractedMessageId("test1"); | 1353 | mail.setExtractedMessageId("test1"); |
1353 | mail.setExtractedSubject("Subject To Search"); | ||
1354 | mail.setFolder("folder1"); | 1354 | mail.setFolder("folder1"); |
1355 | mail.setMimeMessage(msg->encodedContent()); | 1355 | mail.setMimeMessage(msg->encodedContent()); |
1356 | VERIFYEXEC(Sink::Store::create<Mail>(mail)); | 1356 | VERIFYEXEC(Sink::Store::create<Mail>(mail)); |
@@ -1378,52 +1378,79 @@ private slots: | |||
1378 | Sink::Query query; | 1378 | Sink::Query query; |
1379 | query.resourceFilter("sink.dummy.instance1"); | 1379 | query.resourceFilter("sink.dummy.instance1"); |
1380 | query.filter<Mail::Subject>(QueryBase::Comparator(QString("Subject"), QueryBase::Comparator::Fulltext)); | 1380 | query.filter<Mail::Subject>(QueryBase::Comparator(QString("Subject"), QueryBase::Comparator::Fulltext)); |
1381 | auto result = Sink::Store::read<Mail>(query); | 1381 | QCOMPARE(Sink::Store::read<Mail>(query).size(), 1); |
1382 | QCOMPARE(result.size(), 1); | ||
1383 | } | 1382 | } |
1383 | //Case-insensitive | ||
1384 | { | 1384 | { |
1385 | Sink::Query query; | 1385 | Sink::Query query; |
1386 | query.resourceFilter("sink.dummy.instance1"); | 1386 | query.resourceFilter("sink.dummy.instance1"); |
1387 | query.filter<Mail::Subject>(QueryBase::Comparator(QString("Search"), QueryBase::Comparator::Fulltext)); | 1387 | query.filter<Mail::Subject>(QueryBase::Comparator(QString("Search"), QueryBase::Comparator::Fulltext)); |
1388 | auto result = Sink::Store::read<Mail>(query); | 1388 | QCOMPARE(Sink::Store::read<Mail>(query).size(), 1); |
1389 | QCOMPARE(result.size(), 1); | ||
1390 | } | 1389 | } |
1390 | //Case-insensitive | ||
1391 | { | 1391 | { |
1392 | Sink::Query query; | 1392 | Sink::Query query; |
1393 | query.resourceFilter("sink.dummy.instance1"); | 1393 | query.resourceFilter("sink.dummy.instance1"); |
1394 | query.filter<Mail::Subject>(QueryBase::Comparator(QString("search"), QueryBase::Comparator::Fulltext)); | 1394 | query.filter<Mail::Subject>(QueryBase::Comparator(QString("search"), QueryBase::Comparator::Fulltext)); |
1395 | auto result = Sink::Store::read<Mail>(query); | 1395 | QCOMPARE(Sink::Store::read<Mail>(query).size(), 1); |
1396 | QCOMPARE(result.size(), 1); | ||
1397 | } | 1396 | } |
1397 | //Wildcard match | ||
1398 | { | 1398 | { |
1399 | Sink::Query query; | 1399 | Sink::Query query; |
1400 | query.resourceFilter("sink.dummy.instance1"); | 1400 | query.resourceFilter("sink.dummy.instance1"); |
1401 | query.filter<Mail::Subject>(QueryBase::Comparator(QString("sear*"), QueryBase::Comparator::Fulltext)); | 1401 | query.filter<Mail::Subject>(QueryBase::Comparator(QString("sear*"), QueryBase::Comparator::Fulltext)); |
1402 | auto result = Sink::Store::read<Mail>(query); | 1402 | QCOMPARE(Sink::Store::read<Mail>(query).size(), 1); |
1403 | QCOMPARE(result.size(), 1); | ||
1404 | } | 1403 | } |
1404 | //Filter by body | ||
1405 | { | 1405 | { |
1406 | Sink::Query query; | 1406 | Sink::Query query; |
1407 | query.resourceFilter("sink.dummy.instance1"); | 1407 | query.resourceFilter("sink.dummy.instance1"); |
1408 | query.filter<Mail::MimeMessage>(QueryBase::Comparator(QString("searchable"), QueryBase::Comparator::Fulltext)); | 1408 | query.filter<Mail::MimeMessage>(QueryBase::Comparator(QString("searchable"), QueryBase::Comparator::Fulltext)); |
1409 | auto result = Sink::Store::read<Mail>(query); | 1409 | QCOMPARE(Sink::Store::read<Mail>(query).size(), 1); |
1410 | QCOMPARE(result.size(), 1); | ||
1411 | } | 1410 | } |
1411 | //Filter by folder | ||
1412 | { | 1412 | { |
1413 | Sink::Query query; | 1413 | Sink::Query query; |
1414 | query.resourceFilter("sink.dummy.instance1"); | 1414 | query.resourceFilter("sink.dummy.instance1"); |
1415 | query.filter<Mail::Subject>(QueryBase::Comparator(QString("Subject"), QueryBase::Comparator::Fulltext)); | 1415 | query.filter<Mail::Subject>(QueryBase::Comparator(QString("Subject"), QueryBase::Comparator::Fulltext)); |
1416 | query.filter<Mail::Folder>("folder1"); | 1416 | query.filter<Mail::Folder>("folder1"); |
1417 | auto result = Sink::Store::read<Mail>(query); | 1417 | QCOMPARE(Sink::Store::read<Mail>(query).size(), 1); |
1418 | QCOMPARE(result.size(), 1); | ||
1419 | } | 1418 | } |
1419 | //Filter by folder | ||
1420 | { | 1420 | { |
1421 | Sink::Query query; | 1421 | Sink::Query query; |
1422 | query.resourceFilter("sink.dummy.instance1"); | 1422 | query.resourceFilter("sink.dummy.instance1"); |
1423 | query.filter<Mail::Subject>(QueryBase::Comparator(QString("Subject"), QueryBase::Comparator::Fulltext)); | 1423 | query.filter<Mail::Subject>(QueryBase::Comparator(QString("Subject"), QueryBase::Comparator::Fulltext)); |
1424 | query.filter<Mail::Folder>("folder2"); | 1424 | query.filter<Mail::Folder>("folder2"); |
1425 | auto result = Sink::Store::read<Mail>(query); | 1425 | QCOMPARE(Sink::Store::read<Mail>(query).size(), 0); |
1426 | QCOMPARE(result.size(), 0); | 1426 | } |
1427 | //Filter by sender | ||
1428 | { | ||
1429 | Sink::Query query; | ||
1430 | query.resourceFilter("sink.dummy.instance1"); | ||
1431 | query.filter({}, Sink::QueryBase::Comparator(QString("sender"), Sink::QueryBase::Comparator::Fulltext)); | ||
1432 | QCOMPARE(Sink::Store::read<Mail>(query).size(), 1); | ||
1433 | } | ||
1434 | //Filter by sender | ||
1435 | { | ||
1436 | Sink::Query query; | ||
1437 | query.resourceFilter("sink.dummy.instance1"); | ||
1438 | query.filter({}, Sink::QueryBase::Comparator(QString("Sender"), Sink::QueryBase::Comparator::Fulltext)); | ||
1439 | QCOMPARE(Sink::Store::read<Mail>(query).size(), 1); | ||
1440 | } | ||
1441 | //Filter by sender | ||
1442 | { | ||
1443 | Sink::Query query; | ||
1444 | query.resourceFilter("sink.dummy.instance1"); | ||
1445 | query.filter({}, Sink::QueryBase::Comparator(QString("sender@example"), Sink::QueryBase::Comparator::Fulltext)); | ||
1446 | QCOMPARE(Sink::Store::read<Mail>(query).size(), 1); | ||
1447 | } | ||
1448 | //Filter by sender | ||
1449 | { | ||
1450 | Sink::Query query; | ||
1451 | query.resourceFilter("sink.dummy.instance1"); | ||
1452 | query.filter({}, Sink::QueryBase::Comparator(QString("The Sender"), Sink::QueryBase::Comparator::Fulltext)); | ||
1453 | QCOMPARE(Sink::Store::read<Mail>(query).size(), 1); | ||
1427 | } | 1454 | } |
1428 | } | 1455 | } |
1429 | 1456 | ||