contentstorage/casrv/carunningappmonitor/tsrc/t_carunningappmonitor/src/t_carunningappmonitor.cpp
changeset 117 c63ee96dbe5f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/contentstorage/casrv/carunningappmonitor/tsrc/t_carunningappmonitor/src/t_carunningappmonitor.cpp	Thu Sep 16 12:11:40 2010 +0100
@@ -0,0 +1,143 @@
+/*
+* 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: 
+*
+*/
+
+
+
+#include "t_carunningappmonitor.h"
+#include "carunningappmonitortestutils.h"
+
+
+#include "cadef.h"
+
+#include "casrvplugin.h"
+#include "castorageproxy.h"
+#include "casrvengutils.h"
+
+TUid KTestAppUid0 = {0x20022EF9}; 
+TUid KTestAppUid1 = {0x20025FD9}; 
+
+// phonebook        0x20022EF9 537014009
+// control panel    0x20025FD9 537026521
+// Bluetooth        0x10005951 268458321
+// SW Update        0x2001FE2F 537001519
+// notes            20029F80  537042816 
+// file mgr 2002BCC0 537050304
+const TUid KTestedPluginUid = {0x200267B5};
+
+
+void T_CaRunningAppMonitor::initTestCase()
+{
+}
+
+void T_CaRunningAppMonitor::cleanupTestCase()
+{
+}
+
+// ---------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------
+//
+void T_CaRunningAppMonitor::init()
+    {
+    //CA env
+    iTestUtils = CTestUtils::NewL();
+    iTestUtils->CopyDb();
+    iStorage = CCaStorageProxy::NewL();
+    iSrvEngUtils = CCaSrvEngUtils::NewL();
+    
+    //Plugin itself
+    TPluginParams params = {iStorage, iSrvEngUtils};
+    iPlugin = CCaSrvPlugin::NewL(KTestedPluginUid, &params);
+    }
+
+// ---------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------
+//
+void T_CaRunningAppMonitor::cleanup(  )
+    {
+    delete iPlugin; iPlugin = 0;
+    delete iSrvEngUtils; iSrvEngUtils = 0;
+    delete iStorage; iStorage = 0;
+    delete iTestUtils;  iTestUtils = 0;
+    }
+
+// ---------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------
+//
+void T_CaRunningAppMonitor::T_Constuction()
+    {
+    //test if plugin will be loaded without proper initialization
+    TInt err(KErrNone);
+	CCaSrvPlugin* plugin(0);
+	
+    TRAP(err, plugin = CCaSrvPlugin::NewL(KTestedPluginUid,0));
+    QVERIFY(err != KErrNone);
+    delete plugin; plugin = 0;
+    
+    TPluginParams params = {0, 0};
+    TRAP(err, plugin = CCaSrvPlugin::NewL(KTestedPluginUid,&params));
+    QVERIFY(err != KErrNone);
+    delete plugin; plugin = 0;
+    }
+
+// ---------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------
+//
+void T_CaRunningAppMonitor::T_RunL()
+    {
+    TBool appIsRunning(EFalse);
+    TInt err(KErrNone);
+    
+    TRAP(err, iTestUtils->LaunchApplicationL(KTestAppUid0));
+    QTest::qWait(5000);
+    QCOMPARE(err, KErrNone);
+    
+    TRAP(err, appIsRunning = iTestUtils->IsRunningL(KTestAppUid0, *iStorage));
+    QCOMPARE(err, KErrNone);
+    QVERIFY(appIsRunning != EFalse);
+   
+    TRAP(err, iTestUtils->TerminateApplicationL(KTestAppUid0));
+    QTest::qWait(10000);
+    QCOMPARE(err, KErrNone);
+    TRAP(err, appIsRunning = iTestUtils->IsRunningL(KTestAppUid0, *iStorage));
+    QTest::qWait(5000);
+    QCOMPARE(err, KErrNone);
+    QVERIFY(appIsRunning == EFalse);
+
+    TRAP(err, iTestUtils->LaunchApplicationL(KTestAppUid1));
+    QTest::qWait(10000);
+    QCOMPARE(err, KErrNone);
+    TRAP(err, appIsRunning = iTestUtils->IsRunningL(KTestAppUid1, *iStorage));
+    QCOMPARE(err, KErrNone);
+    QVERIFY(appIsRunning != EFalse);
+
+    
+    TRAP(err, iTestUtils->TerminateApplicationL(KTestAppUid1));
+    QCOMPARE(err, KErrNone);
+    QTest::qWait(5000);
+    TRAP(err, appIsRunning = iTestUtils->IsRunningL(KTestAppUid1, *iStorage));
+    QCOMPARE(err, KErrNone);
+    QVERIFY(appIsRunning == EFalse);
+    
+    }
+
+QTEST_MAIN(T_CaRunningAppMonitor);
+
+//  END OF FILE