summaryrefslogtreecommitdiffstats
path: root/tests/notificationtest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/notificationtest.cpp')
-rw-r--r--tests/notificationtest.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/notificationtest.cpp b/tests/notificationtest.cpp
index 3182d8e..2b54c26 100644
--- a/tests/notificationtest.cpp
+++ b/tests/notificationtest.cpp
@@ -135,6 +135,34 @@ private slots:
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)