summaryrefslogtreecommitdiffstats
path: root/tests/notificationtest.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2017-09-13 12:42:31 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2017-09-13 12:42:31 +0200
commitc12a9a09da59b9e418316dba02e6215cb55e47ee (patch)
tree05498d9a42e399bcca787f40c1fc473fb09e680e /tests/notificationtest.cpp
parent55fe06979ceebe67553135b43aa47e70d931304b (diff)
parentebdb89b8bb482bbb5ecd544c3d38bef35fc7d820 (diff)
downloadsink-c12a9a09da59b9e418316dba02e6215cb55e47ee.tar.gz
sink-c12a9a09da59b9e418316dba02e6215cb55e47ee.zip
Merge commit 'ebdb89b8bb482bbb5ecd544c3d38bef35fc7d820'v0.4.0
Diffstat (limited to 'tests/notificationtest.cpp')
-rw-r--r--tests/notificationtest.cpp32
1 files changed, 30 insertions, 2 deletions
diff --git a/tests/notificationtest.cpp b/tests/notificationtest.cpp
index f0d957e..c043f38 100644
--- a/tests/notificationtest.cpp
+++ b/tests/notificationtest.cpp
@@ -128,13 +128,41 @@ private slots:
128 VERIFYEXEC(Sink::Store::synchronize(newQuery)); 128 VERIFYEXEC(Sink::Store::synchronize(newQuery));
129 VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(QByteArrayList() << "sink.dummy.instance1")); 129 VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(QByteArrayList() << "sink.dummy.instance1"));
130 130
131 QCOMPARE(status.size(), 3); 131 QTRY_COMPARE(status.size(), 3);
132 //Sync progress of item 132 //Sync progress of item
133 QCOMPARE(status.at(0), static_cast<int>(ApplicationDomain::SyncStatus::SyncInProgress)); 133 QCOMPARE(status.at(0), static_cast<int>(ApplicationDomain::SyncStatus::SyncInProgress));
134 QCOMPARE(status.at(1), static_cast<int>(ApplicationDomain::SyncStatus::SyncSuccess)); 134 QCOMPARE(status.at(1), static_cast<int>(ApplicationDomain::SyncStatus::SyncInProgress));
135 //Modification triggered during sync 135 //Modification triggered during sync
136 QCOMPARE(status.at(2), static_cast<int>(ApplicationDomain::SyncStatus::SyncSuccess)); 136 QCOMPARE(status.at(2), static_cast<int>(ApplicationDomain::SyncStatus::SyncSuccess));
137 } 137 }
138
139 void testNotifier()
140 {
141 QList<int> status;
142 Sink::Notifier notifier{Sink::Query{Sink::Query::LiveQuery}.resourceFilter("sink.dummy.instance2")};
143 notifier.registerHandler([&] (const Sink::Notification &notification) {
144 if (notification.type == Notification::Info) {
145 status << notification.code;
146 }
147 });
148
149 auto query = Query().resourceFilter("sink.dummy.instance2");
150 query.setType<ApplicationDomain::Mail>();
151 query.setFlags(Query::LiveQuery | Query::UpdateStatus);
152
153 auto resource = ApplicationDomain::ApplicationDomainType::createEntity<ApplicationDomain::SinkResource>("", "sink.dummy.instance2");
154 resource.setResourceType("sink.dummy");
155 VERIFYEXEC(Store::create(resource));
156
157 VERIFYEXEC(Sink::Store::synchronize(query));
158 VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(QByteArrayList() << "sink.dummy.instance2"));
159
160 QTRY_COMPARE(status.size(), 2);
161 //Sync progress of item
162 QCOMPARE(status.at(0), static_cast<int>(ApplicationDomain::SyncStatus::SyncInProgress));
163 QCOMPARE(status.at(1), static_cast<int>(ApplicationDomain::SyncStatus::SyncSuccess));
164 }
165
138}; 166};
139 167
140QTEST_MAIN(NotificationTest) 168QTEST_MAIN(NotificationTest)