diff -r d1dadafc5584 -r 26079c1bb561 homescreensrv_plat/contentstorage_api/tsrc/t_contentstorage_api/src/t_caclient_getentries.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/homescreensrv_plat/contentstorage_api/tsrc/t_contentstorage_api/src/t_caclient_getentries.cpp Wed Oct 06 16:00:22 2010 +0300 @@ -0,0 +1,188 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Main test class for hspluginmodel library. +* +*/ + + +#include "t_caclient.h" +#include "caservice.h" +#include "caquery.h" + + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +void TestCaClient::Test_getEntry() +{ + { + CaEntry item; + item.setText("testName"); + item.setAttribute("attrName1", "attrVal1"); + item.setEntryTypeName("test"); + item.setFlags(RemovableEntryFlag); + + CaIconDescription iconDescription; + iconDescription.setFilename("iconFileName"); + iconDescription.setSkinId("iconSkinId"); + iconDescription.setApplicationId("268458321"); + item.setIconDescription(iconDescription); + + QSharedPointer service = CaService::instance(); + QSharedPointer resultItem = service->createEntry(item); + + QVERIFY(!resultItem.isNull()); + // entry from storage + QSharedPointer storageItem1 = service->getEntry(resultItem->id()); + QCOMPARE(service->lastError(), NoErrorCode); + QVERIFY(storageItem1); + QCOMPARE(storageItem1->role(), ItemEntryRole); + QCOMPARE(QString("testName"),storageItem1->text()); + QCOMPARE(QString("test"),storageItem1->entryTypeName()); + QCOMPARE(QString("attrVal1"),storageItem1->attribute("attrName1")); + QCOMPARE(item.flags(),storageItem1->flags()); + QCOMPARE(iconDescription.filename(),storageItem1->iconDescription().filename()); + QCOMPARE(iconDescription.skinId(),storageItem1->iconDescription().skinId()); + QCOMPARE(iconDescription.applicationId(),storageItem1->iconDescription().applicationId()); + QSharedPointer storageItem2 = service->getEntry(9999); + QVERIFY(service->lastError() != NoErrorCode); + QVERIFY(!storageItem2); + + //Cleanup + service->removeEntry(*resultItem); + + } +} + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +void TestCaClient::Test_getEntries_ByIds() +{ + { + CaEntry item; + item.setText("testName1"); + item.setAttribute("attrName1", "attrVal1"); + item.setEntryTypeName("test"); + item.setFlags(RemovableEntryFlag); + + QSharedPointer service = CaService::instance(); + QSharedPointer resultItem1 = service->createEntry(item); + item.setText("testName2"); + QSharedPointer resultItem2 = service->createEntry(item); + item.setText("testName3"); + QSharedPointer resultItem3 = service->createEntry(item); + QVERIFY(!resultItem1.isNull()); + QVERIFY(!resultItem2.isNull()); + QVERIFY(!resultItem3.isNull()); + + QList ids; + ids.append(resultItem1->id()); + ids.append(resultItem3->id()); + ids.append(resultItem2->id()); + + QList< QSharedPointer > entries = service->getEntries(ids) ; + QCOMPARE(entries.count(), 3); + QCOMPARE(service->lastError(), NoErrorCode); + + QVERIFY(entries.at(0)); + QCOMPARE(entries.at(0)->role(), ItemEntryRole); + QCOMPARE(QString("testName1"),entries.at(0)->text()); + QCOMPARE(QString("test"),entries.at(0)->entryTypeName()); + QCOMPARE(QString("attrVal1"),entries.at(0)->attribute("attrName1")); + QCOMPARE(item.flags(),entries.at(0)->flags()); + QVERIFY(entries.at(1)); + QCOMPARE(entries.at(1)->role(), ItemEntryRole); + QCOMPARE(QString("testName3"),entries.at(1)->text()); + QCOMPARE(QString("test"),entries.at(1)->entryTypeName()); + QCOMPARE(QString("attrVal1"),entries.at(1)->attribute("attrName1")); + QCOMPARE(item.flags(),entries.at(1)->flags()); + QVERIFY(entries.at(2)); + QCOMPARE(entries.at(2)->role(), ItemEntryRole); + QCOMPARE(QString("testName2"),entries.at(2)->text()); + QCOMPARE(QString("test"),entries.at(2)->entryTypeName()); + QCOMPARE(QString("attrVal1"),entries.at(2)->attribute("attrName1")); + QCOMPARE(item.flags(),entries.at(2)->flags()); + + QCOMPARE(entries.at(0)->id(),resultItem1->id()); + QCOMPARE(entries.at(1)->id(),resultItem3->id()); + QCOMPARE(entries.at(2)->id(),resultItem2->id()); + + QList ids2; + ids2.append(resultItem1->id()); + ids2.append(9999); + + QList< QSharedPointer > entries2 = service->getEntries(ids2) ; + QCOMPARE(entries2.count(), 1); + QVERIFY(service->lastError() != NoErrorCode); + + //Cleanup + service->removeEntry(*resultItem1); + service->removeEntry(*resultItem2); + service->removeEntry(*resultItem3); + } +} + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +void TestCaClient::Test_getEntries_ByQuery() +{ + { + //CHECK INITIAL STATE IN DB + QSharedPointer service = CaService::instance(); + CaQuery query; + QStringList strList; + strList << QString("test_item1"); + query.setEntryTypeNames(strList); + query.addEntryTypeName(QString("test_item2")); + QList< QSharedPointer > entries12 = service->getEntries(query); + int count12Before = entries12.count(); + + //ADD TEST DATA TO THE STORAGE + CaEntry item1; + item1.setText("testName_item1"); + item1.setAttribute("attrName1_item", "attrVal1_item"); + item1.setEntryTypeName("test_item1"); + CaEntry item2; + item2.setText("testName_item2"); + item2.setAttribute("attrName2_item", "attrVal2_item"); + item2.setEntryTypeName("test_item2"); + + QSharedPointer resultEntry1 = service->createEntry(item1); + QSharedPointer resultEntry2 = service->createEntry(item2); + QVERIFY(!resultEntry1.isNull()); + QVERIFY(!resultEntry2.isNull()); + + //GET STATE FROM THE STORAGE AFTER ADD + strList.clear(); + strList << QString("test_item1"); + query.setEntryTypeNames(strList); + query.addEntryTypeName(QString("test_item2")); + entries12 = service->getEntries(query); + QCOMPARE(service->lastError(), NoErrorCode); + int count12After = entries12.count(); + + //CHECK RESULTS + QCOMPARE(count12Before+2,count12After); + + //CLEANUP THE STORAGE AFTER THE TEST + service->removeEntry(*resultEntry1); + service->removeEntry(*resultEntry2); + } +} +