From d8cd2d6585507a4e40881092a633ec1a80b14dd9 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Mon, 18 Jan 2016 15:17:30 +0100 Subject: Draft of inspection API --- tests/CMakeLists.txt | 2 ++ tests/inspectiontest.cpp | 64 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 tests/inspectiontest.cpp (limited to 'tests') diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 1e0f6b5..38e5512 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -51,12 +51,14 @@ auto_tests ( databasepopulationandfacadequerybenchmark dummyresourcewritebenchmark modelinteractivitytest + inspectiontest ) target_link_libraries(dummyresourcetest akonadi2_resource_dummy) target_link_libraries(dummyresourcebenchmark akonadi2_resource_dummy) target_link_libraries(dummyresourcewritebenchmark akonadi2_resource_dummy) target_link_libraries(querytest akonadi2_resource_dummy) target_link_libraries(modelinteractivitytest akonadi2_resource_dummy) +target_link_libraries(inspectiontest akonadi2_resource_dummy) if (BUILD_MAILDIR) auto_tests ( diff --git a/tests/inspectiontest.cpp b/tests/inspectiontest.cpp new file mode 100644 index 0000000..e332844 --- /dev/null +++ b/tests/inspectiontest.cpp @@ -0,0 +1,64 @@ +#include + +#include + +#include "dummyresource/resourcefactory.h" +#include "clientapi.h" +#include "commands.h" +#include "entitybuffer.h" +#include "resourceconfig.h" +#include "modelresult.h" +#include "pipeline.h" +#include "log.h" + +/** + * Test of inspection system using the dummy resource. + * + * This test requires the dummy resource installed. + */ +class InspectionTest : public QObject +{ + Q_OBJECT +private Q_SLOTS: + void initTestCase() + { + Akonadi2::Log::setDebugOutputLevel(Akonadi2::Log::Trace); + auto factory = Akonadi2::ResourceFactory::load("org.kde.dummy"); + QVERIFY(factory); + DummyResource::removeFromDisk("org.kde.dummy.instance1"); + ResourceConfig::addResource("org.kde.dummy.instance1", "org.kde.dummy"); + } + + void cleanup() + { + Akonadi2::Store::shutdown(QByteArray("org.kde.dummy.instance1")).exec().waitForFinished(); + DummyResource::removeFromDisk("org.kde.dummy.instance1"); + auto factory = Akonadi2::ResourceFactory::load("org.kde.dummy"); + QVERIFY(factory); + Akonadi2::Store::start(QByteArray("org.kde.dummy.instance1")).exec().waitForFinished(); + } + + void init() + { + qDebug(); + qDebug() << "-----------------------------------------"; + qDebug(); + } + + void testMarkMailAsRead() + { + using namespace Akonadi2; + using namespace Akonadi2::ApplicationDomain; + + Mail mail(QByteArray("org.kde.dummy.instance1"), QByteArray("identifier"), 0, QSharedPointer::create()); + + auto inspectionCommand = Resources::Inspection::PropertyInspection(mail, "unread", true); + auto result = Resources::inspect(inspectionCommand).exec(); + result.waitForFinished(); + QVERIFY(!result.errorCode()); + Akonadi2::Store::flushMessageQueue(QByteArrayList() << QByteArray("org.kde.dummy.instance1")).exec().waitForFinished(); + } +}; + +QTEST_MAIN(InspectionTest) +#include "inspectiontest.moc" -- cgit v1.2.3