/******************************************************************************** * Copyright 2010 by Martin Blumenstingl * * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Library General Public * * License as published by the Free Software Foundation; either * * version 2 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Library General Public License for more details. * * * * You should have received a copy of the GNU Library General Public License * * along with this library; see the file COPYING.LIB. If not, write to * * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * * Boston, MA 02110-1301, USA. * *********************************************************************************/ #include "storagetest.h" #include #include "plasma/private/storage_p.h" void StorageTest::initTestCase() { QStandardPaths::enableTestMode(true); m_data.insert(QStringLiteral("String 1"), "Fork"); m_data.insert(QStringLiteral("String 2"), "Spoon"); m_data.insert(QStringLiteral("String 3"), "Knife"); m_data.insert(QStringLiteral("Int 1"), 3141); m_data.insert(QStringLiteral("Int 2"), 60); QByteArray bytes("yadda yadda yadda"); m_data.insert(QStringLiteral("Binary Data"), bytes); } void StorageTest::store() { Storage storage; QVariantMap op = storage.operationDescription(QStringLiteral("save")); op[QStringLiteral("group")] = "Test"; Plasma::ServiceJob *job = storage.startOperationCall(op); StorageJob *storageJob = qobject_cast(job); QVERIFY(storageJob); if (storageJob) { storageJob->setData(m_data); QVERIFY(storageJob->exec()); QVERIFY(storageJob->result().toBool()); } } void StorageTest::retrieve() { Storage storage; QVariantMap op = storage.operationDescription(QStringLiteral("retrieve")); op[QStringLiteral("group")] = "Test"; Plasma::ServiceJob *job = storage.startOperationCall(op); StorageJob *storageJob = qobject_cast(job); QVERIFY(storageJob); if (storageJob) { QVERIFY(storageJob->exec()); QVERIFY(storageJob->result().type() != QVariant::Bool); QCOMPARE(storageJob->data(), m_data); } } void StorageTest::deleteEntry() { Storage storage; QVariantMap op = storage.operationDescription(QStringLiteral("delete")); op[QStringLiteral("group")] = "Test"; Plasma::ServiceJob *job = storage.startOperationCall(op); StorageJob *storageJob = qobject_cast(job); QVERIFY(storageJob); if (storageJob) { storageJob->setData(m_data); QVERIFY(storageJob->exec()); QVERIFY(storageJob->result().toBool()); } op = storage.operationDescription(QStringLiteral("retrieve")); op[QStringLiteral("group")] = "Test"; job = storage.startOperationCall(op); storageJob = qobject_cast(job); QVERIFY(storageJob); if (storageJob) { QVERIFY(storageJob->exec()); QVERIFY(storageJob->result().type() != QVariant::Bool); QVERIFY(storageJob->data().isEmpty()); } } QTEST_MAIN(StorageTest)