summaryrefslogtreecommitdiffstats
path: root/tests/clientapitest.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2015-07-08 16:48:41 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2015-07-08 16:48:41 +0200
commit3fe20509c29c40305d0362adbc787edfc29e96d4 (patch)
treef11f9e2604c56ccaa8606023e89b495928d990b3 /tests/clientapitest.cpp
parentc0a8d67cde03e33bf21e0f186f85d4c89c7ff572 (diff)
downloadsink-3fe20509c29c40305d0362adbc787edfc29e96d4.tar.gz
sink-3fe20509c29c40305d0362adbc787edfc29e96d4.zip
Filter queries by available resources, and filter resources by
resource-types
Diffstat (limited to 'tests/clientapitest.cpp')
-rw-r--r--tests/clientapitest.cpp50
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
9class RevisionNotifier : public QObject 10class RevisionNotifier : public QObject
10{ 11{
@@ -99,21 +100,29 @@ class ClientAPITest : public QObject
99 Q_OBJECT 100 Q_OBJECT
100private Q_SLOTS: 101private 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);