diff options
Diffstat (limited to 'tests/clientapitest.cpp')
-rw-r--r-- | tests/clientapitest.cpp | 50 |
1 files changed, 27 insertions, 23 deletions
diff --git a/tests/clientapitest.cpp b/tests/clientapitest.cpp index 5eb16da..9b8c27e 100644 --- a/tests/clientapitest.cpp +++ b/tests/clientapitest.cpp | |||
@@ -5,6 +5,7 @@ | |||
5 | #include "clientapi.h" | 5 | #include "clientapi.h" |
6 | #include "facade.h" | 6 | #include "facade.h" |
7 | #include "synclistresult.h" | 7 | #include "synclistresult.h" |
8 | #include "resourceconfig.h" | ||
8 | 9 | ||
9 | class RevisionNotifier : public QObject | 10 | class RevisionNotifier : public QObject |
10 | { | 11 | { |
@@ -99,21 +100,29 @@ class ClientAPITest : public QObject | |||
99 | Q_OBJECT | 100 | Q_OBJECT |
100 | private Q_SLOTS: | 101 | private Q_SLOTS: |
101 | 102 | ||
103 | static std::shared_ptr<DummyResourceFacade> registerDummyFacade() | ||
104 | { | ||
105 | auto facade = std::make_shared<DummyResourceFacade>(); | ||
106 | Akonadi2::FacadeFactory::instance().registerFacade<Akonadi2::ApplicationDomain::Event, DummyResourceFacade>("dummyresource", | ||
107 | [facade](const QByteArray &instanceIdentifier) { | ||
108 | return facade; | ||
109 | } | ||
110 | ); | ||
111 | return facade; | ||
112 | } | ||
113 | |||
102 | void initTestCase() | 114 | void initTestCase() |
103 | { | 115 | { |
104 | Akonadi2::FacadeFactory::instance().resetFactory(); | 116 | Akonadi2::FacadeFactory::instance().resetFactory(); |
117 | ResourceConfig::clear(); | ||
105 | } | 118 | } |
106 | 119 | ||
120 | |||
107 | void testLoad() | 121 | void testLoad() |
108 | { | 122 | { |
109 | auto facade = std::make_shared<DummyResourceFacade>(); | 123 | auto facade = registerDummyFacade(); |
110 | facade->results << QSharedPointer<Akonadi2::ApplicationDomain::Event>::create("resource", "id", 0, QSharedPointer<Akonadi2::ApplicationDomain::BufferAdaptor>()); | 124 | facade->results << QSharedPointer<Akonadi2::ApplicationDomain::Event>::create("resource", "id", 0, QSharedPointer<Akonadi2::ApplicationDomain::BufferAdaptor>()); |
111 | 125 | ResourceConfig::addResource("dummyresource.instance1", "dummyresource"); | |
112 | Akonadi2::FacadeFactory::instance().registerFacade<Akonadi2::ApplicationDomain::Event, DummyResourceFacade>("dummyresource", | ||
113 | [facade](const QByteArray &instanceIdentifier) { | ||
114 | return facade; | ||
115 | } | ||
116 | ); | ||
117 | 126 | ||
118 | Akonadi2::Query query; | 127 | Akonadi2::Query query; |
119 | query.resources << "dummyresource.instance1"; | 128 | query.resources << "dummyresource.instance1"; |
@@ -126,14 +135,9 @@ private Q_SLOTS: | |||
126 | 135 | ||
127 | void testLiveQuery() | 136 | void testLiveQuery() |
128 | { | 137 | { |
129 | auto facade = std::make_shared<DummyResourceFacade>(); | 138 | auto facade = registerDummyFacade(); |
130 | facade->results << QSharedPointer<Akonadi2::ApplicationDomain::Event>::create("resource", "id", 0, QSharedPointer<Akonadi2::ApplicationDomain::BufferAdaptor>()); | 139 | facade->results << QSharedPointer<Akonadi2::ApplicationDomain::Event>::create("resource", "id", 0, QSharedPointer<Akonadi2::ApplicationDomain::BufferAdaptor>()); |
131 | 140 | ResourceConfig::addResource("dummyresource.instance1", "dummyresource"); | |
132 | Akonadi2::FacadeFactory::instance().registerFacade<Akonadi2::ApplicationDomain::Event, DummyResourceFacade>("dummyresource", | ||
133 | [facade](const QByteArray &instanceIdentifier){ | ||
134 | return facade; | ||
135 | } | ||
136 | ); | ||
137 | 141 | ||
138 | Akonadi2::Query query; | 142 | Akonadi2::Query query; |
139 | query.resources << "dummyresource.instance1"; | 143 | query.resources << "dummyresource.instance1"; |
@@ -152,14 +156,9 @@ private Q_SLOTS: | |||
152 | 156 | ||
153 | void testQueryLifetime() | 157 | void testQueryLifetime() |
154 | { | 158 | { |
155 | auto facade = std::make_shared<DummyResourceFacade>(); | 159 | auto facade = registerDummyFacade(); |
156 | facade->results << QSharedPointer<Akonadi2::ApplicationDomain::Event>::create("resource", "id", 0, QSharedPointer<Akonadi2::ApplicationDomain::BufferAdaptor>()); | 160 | facade->results << QSharedPointer<Akonadi2::ApplicationDomain::Event>::create("resource", "id", 0, QSharedPointer<Akonadi2::ApplicationDomain::BufferAdaptor>()); |
157 | 161 | ResourceConfig::addResource("dummyresource.instance1", "dummyresource"); | |
158 | Akonadi2::FacadeFactory::instance().registerFacade<Akonadi2::ApplicationDomain::Event, DummyResourceFacade>("dummyresource", | ||
159 | [facade](const QByteArray &instanceIdentifier){ | ||
160 | return facade; | ||
161 | } | ||
162 | ); | ||
163 | 162 | ||
164 | Akonadi2::Query query; | 163 | Akonadi2::Query query; |
165 | query.resources << "dummyresource.instance1"; | 164 | query.resources << "dummyresource.instance1"; |
@@ -176,9 +175,12 @@ private Q_SLOTS: | |||
176 | 175 | ||
177 | void resourceManagement() | 176 | void resourceManagement() |
178 | { | 177 | { |
179 | Akonadi2::FacadeFactory::registerStaticFacades(); | 178 | ResourceConfig::clear(); |
179 | Akonadi2::FacadeFactory::instance().registerStaticFacades(); | ||
180 | ResourceConfig::addResource("resourceconfig", "resourceconfig"); | ||
181 | |||
180 | Akonadi2::ApplicationDomain::AkonadiResource res; | 182 | Akonadi2::ApplicationDomain::AkonadiResource res; |
181 | res.setProperty("identifier", "identifier1"); | 183 | res.setProperty("identifier", "dummyresource.identifier1"); |
182 | res.setProperty("type", "dummyresource"); | 184 | res.setProperty("type", "dummyresource"); |
183 | 185 | ||
184 | Akonadi2::Store::create(res, "resourceconfig"); | 186 | Akonadi2::Store::create(res, "resourceconfig"); |
@@ -186,6 +188,7 @@ private Q_SLOTS: | |||
186 | { | 188 | { |
187 | Akonadi2::Query query; | 189 | Akonadi2::Query query; |
188 | query.resources << "resourceconfig"; | 190 | query.resources << "resourceconfig"; |
191 | query.propertyFilter.insert("type", "dummyresource"); | ||
189 | async::SyncListResult<Akonadi2::ApplicationDomain::AkonadiResource::Ptr> result(Akonadi2::Store::load<Akonadi2::ApplicationDomain::AkonadiResource>(query)); | 192 | async::SyncListResult<Akonadi2::ApplicationDomain::AkonadiResource::Ptr> result(Akonadi2::Store::load<Akonadi2::ApplicationDomain::AkonadiResource>(query)); |
190 | result.exec(); | 193 | result.exec(); |
191 | QCOMPARE(result.size(), 1); | 194 | QCOMPARE(result.size(), 1); |
@@ -195,6 +198,7 @@ private Q_SLOTS: | |||
195 | { | 198 | { |
196 | Akonadi2::Query query; | 199 | Akonadi2::Query query; |
197 | query.resources << "resourceconfig"; | 200 | query.resources << "resourceconfig"; |
201 | query.propertyFilter.insert("type", "dummyresource"); | ||
198 | async::SyncListResult<Akonadi2::ApplicationDomain::AkonadiResource::Ptr> result(Akonadi2::Store::load<Akonadi2::ApplicationDomain::AkonadiResource>(query)); | 202 | async::SyncListResult<Akonadi2::ApplicationDomain::AkonadiResource::Ptr> result(Akonadi2::Store::load<Akonadi2::ApplicationDomain::AkonadiResource>(query)); |
199 | result.exec(); | 203 | result.exec(); |
200 | QCOMPARE(result.size(), 0); | 204 | QCOMPARE(result.size(), 0); |