summaryrefslogtreecommitdiffstats
path: root/tests/dummyresourcetest.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2015-01-24 23:38:12 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2015-01-24 23:38:12 +0100
commit9b744da32e64d8a6cd342faba8fc3232884d60f2 (patch)
treea22558b6c869ba777292d3ce231222408614d5b3 /tests/dummyresourcetest.cpp
parentb36ae2d0e0b0ee9865fdc7e628374853d160b55a (diff)
downloadsink-9b744da32e64d8a6cd342faba8fc3232884d60f2.tar.gz
sink-9b744da32e64d8a6cd342faba8fc3232884d60f2.zip
Uid index + query using that index.
...and a couple of other fixes.
Diffstat (limited to 'tests/dummyresourcetest.cpp')
-rw-r--r--tests/dummyresourcetest.cpp40
1 files changed, 35 insertions, 5 deletions
diff --git a/tests/dummyresourcetest.cpp b/tests/dummyresourcetest.cpp
index 56e5513..4e9d0a5 100644
--- a/tests/dummyresourcetest.cpp
+++ b/tests/dummyresourcetest.cpp
@@ -29,6 +29,7 @@ private Q_SLOTS:
29 removeFromDisk("org.kde.dummy"); 29 removeFromDisk("org.kde.dummy");
30 removeFromDisk("org.kde.dummy.userqueue"); 30 removeFromDisk("org.kde.dummy.userqueue");
31 removeFromDisk("org.kde.dummy.synchronizerqueue"); 31 removeFromDisk("org.kde.dummy.synchronizerqueue");
32 removeFromDisk("org.kde.dummy.index.uid");
32 } 33 }
33 34
34 void cleanup() 35 void cleanup()
@@ -36,6 +37,7 @@ private Q_SLOTS:
36 removeFromDisk("org.kde.dummy"); 37 removeFromDisk("org.kde.dummy");
37 removeFromDisk("org.kde.dummy.userqueue"); 38 removeFromDisk("org.kde.dummy.userqueue");
38 removeFromDisk("org.kde.dummy.synchronizerqueue"); 39 removeFromDisk("org.kde.dummy.synchronizerqueue");
40 removeFromDisk("org.kde.dummy.index.uid");
39 } 41 }
40 42
41 void testProcessCommand() 43 void testProcessCommand()
@@ -50,8 +52,17 @@ private Q_SLOTS:
50 Akonadi2::Domain::Buffer::FinishEventBuffer(eventFbb, eventLocation); 52 Akonadi2::Domain::Buffer::FinishEventBuffer(eventFbb, eventLocation);
51 } 53 }
52 54
55 flatbuffers::FlatBufferBuilder localFbb;
56 {
57 auto uid = localFbb.CreateString("testuid");
58 auto localBuilder = Akonadi2::Domain::Buffer::EventBuilder(localFbb);
59 localBuilder.add_uid(uid);
60 auto location = localBuilder.Finish();
61 Akonadi2::Domain::Buffer::FinishEventBuffer(localFbb, location);
62 }
63
53 flatbuffers::FlatBufferBuilder entityFbb; 64 flatbuffers::FlatBufferBuilder entityFbb;
54 Akonadi2::EntityBuffer::assembleEntityBuffer(entityFbb, 0, 0, eventFbb.GetBufferPointer(), eventFbb.GetSize(), 0, 0); 65 Akonadi2::EntityBuffer::assembleEntityBuffer(entityFbb, 0, 0, eventFbb.GetBufferPointer(), eventFbb.GetSize(), localFbb.GetBufferPointer(), localFbb.GetSize());
55 66
56 flatbuffers::FlatBufferBuilder fbb; 67 flatbuffers::FlatBufferBuilder fbb;
57 auto type = fbb.CreateString(Akonadi2::Domain::getTypeName<Akonadi2::Domain::Event>().toStdString().data()); 68 auto type = fbb.CreateString(Akonadi2::Domain::getTypeName<Akonadi2::Domain::Event>().toStdString().data());
@@ -82,15 +93,34 @@ private Q_SLOTS:
82 QCOMPARE(revisionSpy.count(), 2); 93 QCOMPARE(revisionSpy.count(), 2);
83 } 94 }
84 95
85 void testWriteToFacade() 96 void testProperty()
97 {
98 Akonadi2::Domain::Event event;
99 event.setProperty("uid", "testuid");
100 QCOMPARE(event.getProperty("uid").toByteArray(), QByteArray("testuid"));
101 }
102
103 void testWriteToFacadeAndQueryByUid()
86 { 104 {
87 Akonadi2::Query query;
88 Akonadi2::Domain::Event event; 105 Akonadi2::Domain::Event event;
106 event.setProperty("uid", "testuid");
107 QCOMPARE(event.getProperty("uid").toByteArray(), QByteArray("testuid"));
89 event.setProperty("summary", "summaryValue"); 108 event.setProperty("summary", "summaryValue");
90 Akonadi2::Store::create<Akonadi2::Domain::Event>(event, "org.kde.dummy"); 109 Akonadi2::Store::create<Akonadi2::Domain::Event>(event, "org.kde.dummy");
91 110
92 QTest::qWait(1000); 111 //TODO required to ensure all messages have been processed. The query should ensure this.
93 //TODO wait for success response 112 QTest::qWait(300);
113
114 Akonadi2::Query query;
115 query.resources << "org.kde.dummy";
116 query.syncOnDemand = false;
117
118 query.propertyFilter.insert("uid", "testuid");
119 async::SyncListResult<Akonadi2::Domain::Event::Ptr> result(Akonadi2::Store::load<Akonadi2::Domain::Event>(query));
120 result.exec();
121 QCOMPARE(result.size(), 1);
122 auto value = result.first();
123 QCOMPARE(value->getProperty("uid").toByteArray(), QByteArray("testuid"));
94 } 124 }
95 125
96 void testResourceSync() 126 void testResourceSync()