contentstorage/tsrc/t_casrv/src/t_casrvutils.cpp
changeset 117 c63ee96dbe5f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/contentstorage/tsrc/t_casrv/src/t_casrvutils.cpp	Thu Sep 16 12:11:40 2010 +0100
@@ -0,0 +1,208 @@
+/*
+* Copyright (c) 2004 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:
+*
+*/
+
+
+//  CLASS HEADER
+#include "T_casrvUtils.h"
+
+//  EXTERNAL INCLUDES
+#include <e32property.h>
+#include <e32debug.h>
+
+#include "cadef.h"
+#include "castorageproxy.h"
+#include "castorage.h"
+#include "casrvengutils.h"
+#include "cainnerentry.h"
+
+//  INTERNAL INCLUDES
+#include "casrvtestutils.h"
+#include "testconsts.h"
+
+//  CONSTANTS
+const TUid KAppScannerPluginUid = {0x20026FAF};
+
+void T_casrvUtils::initTestCase()
+{
+}
+
+void T_casrvUtils::cleanupTestCase()
+{
+}
+
+// ---------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------
+//
+void
+T_casrvUtils::init()
+{
+    TRAPD(err,
+          iTestUtils = CTestUtils::NewL();
+          iTestUtils->CopyDb();
+
+          iStorage = CCaStorageProxy::NewL();
+
+          iSrvEngUtils = CCaSrvEngUtils::NewL();
+         );
+    QCOMPARE(err, KErrNone);
+}
+
+// ---------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------
+//
+void
+T_casrvUtils::cleanup()
+{
+
+    delete iSrvEngUtils;
+    iSrvEngUtils = NULL;
+    delete iStorage;
+    iStorage = NULL;
+    delete iTestUtils;
+    iTestUtils = NULL;
+
+}
+
+// ---------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------
+//
+void
+T_casrvUtils::testNewL()
+{
+    CCaSrvEngUtils *obj(0);
+
+    TRAPD(err, obj = CCaSrvEngUtils::NewL());
+    QCOMPARE(err, KErrNone);
+
+    QVERIFY(obj != NULL);
+
+    delete obj;
+}
+
+void
+T_casrvUtils::testGetAppUidL()
+{
+    TInt getAppUidResult(KErrGeneral);
+    TInt getInvalidAppUidResult(KErrNone);
+    TUid actualAppUid = TUid::Uid(0);
+    const TInt32 expectedAppUid = 1;
+
+    TRAPD(err,
+          CCaInnerEntry *const entry = CCaInnerEntry::NewLC();
+
+          entry->SetUid(expectedAppUid);
+
+
+          getAppUidResult =
+              iSrvEngUtils->GetAppUid(*entry, actualAppUid);
+
+          const TInt32 invalidUid = 0;
+          entry->SetUid(invalidUid);
+
+          getInvalidAppUidResult =
+              iSrvEngUtils->GetAppUid(*entry, actualAppUid);
+
+          CleanupStack::PopAndDestroy(entry);
+         );
+
+    QCOMPARE(err, KErrNone);
+    QCOMPARE(getAppUidResult, KErrNone);
+    QCOMPARE(expectedAppUid, actualAppUid.iUid);
+    QCOMPARE(getInvalidAppUidResult, KErrNotFound);
+}
+
+void
+T_casrvUtils::testGetApaAppInfoL()
+{
+    TApaAppInfo referenceInfo;
+
+    RApaLsSession apaLsSession;
+    TInt err(KErrNone);
+    TRAP(err, User::LeaveIfError(apaLsSession.Connect()));
+    QCOMPARE(err, KErrNone);
+
+    QCOMPARE(apaLsSession.GetAppInfo(referenceInfo, TUid::Uid(KSystemApp)), KErrNone);
+
+    TApaAppInfo srvEngUtilsInfo;
+    const TInt result  = iSrvEngUtils->GetApaAppInfo(
+                             TUid::Uid(KSystemApp), srvEngUtilsInfo);
+    QCOMPARE(result, KErrNone);
+
+    QCOMPARE(srvEngUtilsInfo.iUid.iUid, referenceInfo.iUid.iUid);
+    QVERIFY(srvEngUtilsInfo.iFullName.Compare(referenceInfo.iFullName) == 0);
+    QVERIFY(srvEngUtilsInfo.iCaption.Compare(referenceInfo.iCaption) == 0);
+    QVERIFY(srvEngUtilsInfo.iShortCaption.Compare(referenceInfo.iShortCaption) == 0);
+}
+
+void
+T_casrvUtils::testGetAppInfoL()
+{
+    CCaInnerEntry *entry(0);
+    TRAPD(err,
+          entry = CCaInnerEntry::NewLC();
+          CleanupStack::Pop(entry);
+         );
+    QCOMPARE(err, KErrNone);
+
+    TApaAppInfo info;
+
+    entry->SetUid(KSystemApp);
+
+    TInt result = iSrvEngUtils->GetAppInfo(*entry, info);
+    QCOMPARE(result, KErrNone);
+    QCOMPARE(info.iUid.iUid, static_cast<TInt32>(KSystemApp));
+    QVERIFY(info.iFullName.Compare(_L("Z:\\sys\\bin\\phonebook.exe")) == 0);
+    QVERIFY(info.iCaption.Compare(_L("Contacts")) == 0); 
+    QVERIFY(info.iShortCaption.Length()>0);
+
+    const TInt32 invalidUid = 0;
+    entry->SetUid(invalidUid);
+    QCOMPARE(iSrvEngUtils->GetAppInfo(*entry, info), KErrNotFound);
+
+    entry->SetUid(notInstalledUid);
+    QCOMPARE(iSrvEngUtils->GetAppInfo(*entry, info), KErrNotFound);
+
+    delete entry;
+}
+
+void
+T_casrvUtils::testIsNativeL()
+{
+    CCaInnerEntry *entry(0);
+    TRAPD(err,
+          entry = CCaInnerEntry::NewLC();
+          entry->SetEntryTypeNameL(KCaTypeApp);
+          CleanupStack::Pop(entry);
+         );
+    QCOMPARE(err, KErrNone);
+
+
+    entry->SetUid(KSystemApp);
+
+    const TInt32 isNative = iSrvEngUtils->IsNativeL(*entry);
+
+    QVERIFY(isNative != 0);
+
+    delete entry;
+}
+
+QTEST_MAIN(T_casrvUtils)
+
+//  END OF FILE