From e511841292d241fb9175a712184900ae69ed8685 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Sun, 6 Nov 2016 10:12:24 +0100 Subject: Query serialization. --- tests/querytest.cpp | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'tests') diff --git a/tests/querytest.cpp b/tests/querytest.cpp index a5e1caf..06c6ad6 100644 --- a/tests/querytest.cpp +++ b/tests/querytest.cpp @@ -45,6 +45,41 @@ private slots: qDebug(); } + void testSerialization() + { + qRegisterMetaTypeStreamOperators(); + + auto type = QByteArray("type"); + auto sort = QByteArray("sort"); + + Sink::QueryBase::Filter filter; + filter.ids << "id"; + filter.propertyFilter.insert("foo", QVariant::fromValue(QByteArray("bar"))); + + Sink::Query query; + query.setFilter(filter); + query.setType(type); + query.setSortProperty(sort); + + QByteArray data; + { + QDataStream stream(&data, QIODevice::WriteOnly); + stream << query; + } + + Sink::Query deserializedQuery; + { + QDataStream stream(&data, QIODevice::ReadOnly); + stream >> deserializedQuery; + } + + QCOMPARE(deserializedQuery.type(), type); + QCOMPARE(deserializedQuery.sortProperty(), sort); + QCOMPARE(deserializedQuery.getFilter().ids, filter.ids); + QCOMPARE(deserializedQuery.getFilter().propertyFilter.keys(), filter.propertyFilter.keys()); + QCOMPARE(deserializedQuery.getFilter().propertyFilter, filter.propertyFilter); + } + void testNoResources() { // Test -- cgit v1.2.3