homescreensrv_plat/contentstorage_api/tsrc/t_contentstorage_api/src/t_caclient_getentries.cpp
changeset 125 26079c1bb561
--- /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<CaService> service = CaService::instance();
+        QSharedPointer<CaEntry> resultItem = service->createEntry(item);
+
+        QVERIFY(!resultItem.isNull());
+        // entry from storage
+        QSharedPointer<CaEntry> 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<CaEntry> 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<CaService> service = CaService::instance();
+        QSharedPointer<CaEntry> resultItem1 = service->createEntry(item);
+        item.setText("testName2");
+        QSharedPointer<CaEntry> resultItem2 = service->createEntry(item);
+        item.setText("testName3");
+        QSharedPointer<CaEntry> resultItem3 = service->createEntry(item);
+        QVERIFY(!resultItem1.isNull());
+        QVERIFY(!resultItem2.isNull());
+        QVERIFY(!resultItem3.isNull());
+
+        QList<int> ids;
+        ids.append(resultItem1->id());
+        ids.append(resultItem3->id());
+        ids.append(resultItem2->id());
+
+        QList< QSharedPointer<CaEntry> > 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<int> ids2;
+        ids2.append(resultItem1->id());
+        ids2.append(9999);
+
+        QList< QSharedPointer<CaEntry> > 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<CaService> service = CaService::instance();
+        CaQuery query;
+        QStringList strList;
+        strList << QString("test_item1");
+        query.setEntryTypeNames(strList);
+        query.addEntryTypeName(QString("test_item2"));
+        QList< QSharedPointer<CaEntry> > 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<CaEntry> resultEntry1 = service->createEntry(item1);
+        QSharedPointer<CaEntry> 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);
+    }
+}
+