summaryrefslogtreecommitdiffstats
path: root/tests/messagequeuetest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/messagequeuetest.cpp')
-rw-r--r--tests/messagequeuetest.cpp48
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/messagequeuetest.cpp b/tests/messagequeuetest.cpp
index d5c47f5..9c2aa16 100644
--- a/tests/messagequeuetest.cpp
+++ b/tests/messagequeuetest.cpp
@@ -6,6 +6,7 @@
6#include "clientapi.h" 6#include "clientapi.h"
7#include "storage.h" 7#include "storage.h"
8#include "messagequeue.h" 8#include "messagequeue.h"
9#include "log.h"
9 10
10class MessageQueueTest : public QObject 11class MessageQueueTest : public QObject
11{ 12{
@@ -13,6 +14,7 @@ class MessageQueueTest : public QObject
13private Q_SLOTS: 14private Q_SLOTS:
14 void initTestCase() 15 void initTestCase()
15 { 16 {
17 Akonadi2::Log::setDebugOutputLevel(Akonadi2::Log::Trace);
16 Akonadi2::Storage store(Akonadi2::Store::storageLocation(), "org.kde.dummy.testqueue", Akonadi2::Storage::ReadWrite); 18 Akonadi2::Storage store(Akonadi2::Store::storageLocation(), "org.kde.dummy.testqueue", Akonadi2::Storage::ReadWrite);
17 store.removeFromDisk(); 19 store.removeFromDisk();
18 } 20 }
@@ -50,6 +52,14 @@ private Q_SLOTS:
50 QVERIFY(gotError); 52 QVERIFY(gotError);
51 } 53 }
52 54
55 void testEnqueue()
56 {
57 MessageQueue queue(Akonadi2::Store::storageLocation(), "org.kde.dummy.testqueue");
58 QSignalSpy spy(&queue, SIGNAL(messageReady()));
59 queue.enqueue("value1");
60 QCOMPARE(spy.size(), 1);
61 }
62
53 void testDrained() 63 void testDrained()
54 { 64 {
55 MessageQueue queue(Akonadi2::Store::storageLocation(), "org.kde.dummy.testqueue"); 65 MessageQueue queue(Akonadi2::Store::storageLocation(), "org.kde.dummy.testqueue");
@@ -152,6 +162,44 @@ private Q_SLOTS:
152 QVERIFY(!gotError); 162 QVERIFY(!gotError);
153 } 163 }
154 164
165 void testBatchDequeue()
166 {
167 MessageQueue queue(Akonadi2::Store::storageLocation(), "org.kde.dummy.testqueue");
168 queue.enqueue("value1");
169 queue.enqueue("value2");
170 queue.enqueue("value3");
171
172 int count = 0;
173 queue.dequeueBatch(2, [&count](const QByteArray &data) {
174 count++;
175 return KAsync::null<void>();
176 }).exec().waitForFinished();
177 QCOMPARE(count, 2);
178
179 queue.dequeueBatch(1, [&count](const QByteArray &data) {
180 count++;
181 return KAsync::null<void>();
182 }).exec().waitForFinished();
183 QCOMPARE(count, 3);
184 }
185
186 void testBatchEnqueue()
187 {
188 MessageQueue queue(Akonadi2::Store::storageLocation(), "org.kde.dummy.testqueue");
189 QSignalSpy spy(&queue, SIGNAL(messageReady()));
190 queue.startTransaction();
191 queue.enqueue("value1");
192 queue.enqueue("value2");
193 queue.enqueue("value3");
194
195 QVERIFY(queue.isEmpty());
196 QCOMPARE(spy.count(), 0);
197
198 queue.commit();
199
200 QVERIFY(!queue.isEmpty());
201 QCOMPARE(spy.count(), 1);
202 }
155 203
156}; 204};
157 205