diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2015-01-24 23:38:12 +0100 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2015-01-24 23:38:12 +0100 |
commit | 9b744da32e64d8a6cd342faba8fc3232884d60f2 (patch) | |
tree | a22558b6c869ba777292d3ce231222408614d5b3 /tests/dummyresourcetest.cpp | |
parent | b36ae2d0e0b0ee9865fdc7e628374853d160b55a (diff) | |
download | sink-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.cpp | 40 |
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() |