diff -r 7aa6007702af -r 61b27eec6533 serviceapifw_plat/liw_criteria_api/tsrc/src/liwtestcasesasync.cpp --- a/serviceapifw_plat/liw_criteria_api/tsrc/src/liwtestcasesasync.cpp Fri Apr 16 15:54:49 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,649 +0,0 @@ -/* -* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of the License "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 FILES -#include -#include -#include "liw_async_testcase.h" -//#include "liwtestapp.hrh" -//#include - -TInt success; - -using namespace LIW; - -//_LIT8(KAsyncService,"S60.MultiMetaData"); -//_LIT8(KSyncService,"S60.SyncServices"); -//_LIT8(KInvalidService,"S60.InvalidService"); -//_LIT8(KSecurityService,"S60.SecurityServices"); -//_LIT8(KInvalidSecurityService,"S60.InvalidSecurityServices"); - -_LIT8(KAsyncSrv,"Test.AsyncServices"); -_LIT8(KAsyncContent,"Test/Data"); - -//_LIT8(KTestPARAMNanmeTC2,"TestResult"); -//_LIT8(KSecurityParameter,"SecurityParam"); - -//_LIT8(KResult_Pass, "Test Provider replied with EGenericParamError = KErrorNone"); -//_LIT8(KResult_Fail,"Test Provider replied with Error : KErrNotFound"); - -//_LIT8(KAsyn_TestCmt, "These Test cases are designed to test LIW support for Asynchronous Invocation.\ -

Test:-
\ -
  • Attaching and Detaching service providers through string based service command
  • \ -
  • Execute the service with callback
  • \ -
  • After checking the event state, next Test Case is invoked
  • \ -
    Check -
    \ - Appropriate State of the event in the HandleNotify Method"); - -TInt IncomingEventCmdID=1000; -TInt XmlDataReaderCmdID=2000; - -const TInt32 LIWASYNC001=100; -//const TInt32 LIWASYNC002=200; -const TInt32 LIWASYNC003=300; -const TInt32 LIWASYNC004=400; -//const TInt32 LIWASYNC005=500; -//const TInt32 LIWASYNC006=600; - -const TInt32 KAsyncMaxCount=10; - -const TUid KViewId4 = {4}; - -// --------------------------------------------------------- -// TUid CLiwtcbase::Id() -// ?implementation_description -// --------------------------------------------------------- -// -TUid CLiw_AsyncTC::Id() const - { - return KViewId4; - } - -//Async event states. New state could be added -enum TAsyncState -{ - eAsyncStarted=0, - eAsyncStopped -}; - -// ================= MEMBER FUNCTIONS ======================= - -// ----------------------------------------------------------------------------- -// CLiw_AsyncTC::CLiw_AsyncTC -// Description: CLiw_AsyncTC constructer -// ----------------------------------------------------------------------------- -// -CLiw_AsyncTC::CLiw_AsyncTC( CLiwServiceHandler *aServiceHandler, TRequestType aRequest, TInt aPriority): CActive(aPriority) - { - iCount = 0; - iResult = 1; - iIncrementCount = 1; - iRequest = aRequest; - iServiceHandler = aServiceHandler; - iAsyncCount = 0; - tcNo = -1; - CActiveScheduler::Add( this ); - } - -TInt CLiw_AsyncTC::AsyncCase(TInt aTcNo) -{ - tcNo = aTcNo; - //setactive, user::requestcomplete - - SetActive(); - - iStatus=KRequestPending; - TRequestStatus* temp=&iStatus; - User::RequestComplete(temp,KErrNone); - - //wait - CActiveScheduler::Start(); - - return iResult; -} - -// -//----------------------------------------------------------------------------- -// CLiw_AsyncTC::RequestFunction -// Description: Request Function for CLiw_AsyncTC -// ---------------------------------------------------------------------------- -// -void CLiw_AsyncTC::RequestFunction( TRequestType aRequest ) -{ - iRequest = aRequest; - iStatus = KRequestPending; - if( !IsActive() ) - SetActive(); -} - -// -//----------------------------------------------------------------------------- -// CLiw_AsyncTC::ReadyToGo -// Description: This calls CLiw_AsyncTC's RunL -//----------------------------------------------------------------------------- -// -void CLiw_AsyncTC::ReadyToGo() -{ - TRequestStatus* status = &iStatus; - User::RequestComplete( status, KErrNone ); -} - - -// -//----------------------------------------------------------------------------- -// CLiw_AsyncTC::DoCancel -// Description: This calls CActive's Cancel -//----------------------------------------------------------------------------- -// -void CLiw_AsyncTC::DoCancel() -{ -} - -// -//----------------------------------------------------------------------------- -// CLiw_AsyncTC::SetIncrementCounter -// Description: Sets Increment Counter of CLiw_AsyncTC -//----------------------------------------------------------------------------- -// -void CLiw_AsyncTC::SetIncrementCounter( TInt aCount) -{ -iIncrementCount = aCount; -} - -// -//----------------------------------------------------------------------------- -// CLiw_AsyncTC::CountValue -// Description: Returns Count Value of CLiw_AsyncTC -//----------------------------------------------------------------------------- -// -TUint CLiw_AsyncTC::CountValue () const -{ -return iCount; -} - -// --------------------------------------------------------- -// CLiw_AsyncTC::ConstructL(const TRect& aRect) -// EPOC two-phased constructor -// --------------------------------------------------------- -// -/*void CLiw_AsyncTC::ConstructL(CLiwTestLogHandler& aLogger, CLiwTestAppContainer& aContainer) - { - iLogger = &aLogger; - iContainer = &aContainer; - - // Create service handler instance. - CLiwServiceHandler* serviceHandler = CLiwServiceHandler::NewLC(); - iServiceHandler = serviceHandler; - CleanupStack::Pop(serviceHandler); - } -*/ - -// --------------------------------------------------------- -// CLiw_AsyncTC::~CLiw_AsyncTC() -// ?implementation_description -// --------------------------------------------------------- -// -CLiw_AsyncTC::~CLiw_AsyncTC() - { - delete iServiceHandler; - iServiceHandler = NULL; - - Cancel(); - } - -void CLiw_AsyncTC::RunL() - { - switch(tcNo) - { - case 1: - LIW_ASYNC_001(); - break; - case 2: - LIW_ASYNC_002(); - break; - case 3: - LIW_ASYNC_003(); - break; - case 4: - LIW_ASYNC_004(); - break; - default: - break; - } - } - - -// --------------------------------------------------------- -// CLiw_AsyncTC::HandleCommandL -// From MLiwNotifyCallback -// --------------------------------------------------------- -// -TInt CLiw_AsyncTC::HandleNotifyL( - TInt aCmdId, - TInt aEventId, - CLiwGenericParamList& /*aEventParamList*/, - const CLiwGenericParamList& /*aInParamList*/) - { - - if(LIWASYNC001==aCmdId) - { - if( (KLiwEventCompleted==aEventId) || - (KLiwEventCanceled==aEventId) || - (KLiwEventStopped==aEventId) || - (KLiwEventError==aEventId) ) - { - //_LIT8(testCmt,"LIW_ASYNC_001:
    Create a CLiwCriteriaItem with string command \ - The provider with the same command must be attached with LIW FW.\ - and call ExecuteServiceCmdL.
    \ -
    Test -
  • Attaching provider Programmatically
  • string based serviceName
  • \ -
    Check -
    Provider returns asynchronously : LiwEventCompleted"); - - if(KLiwEventCompleted==aEventId) - { - iResult = 0; - //iLogger->AddTestItem(testCmt,KResult_Pass,ETrue, EFalse); - //Venkat : return true as testcase passed - } - else - { - iResult = 1; - //iLogger->AddTestItem(testCmt,KResult_Fail,ETrue, EFalse); - //Venkat : Test fails - } - - CActiveScheduler::Stop(); - //LIW_ASYNC_002(); - } - } - else if(LIWASYNC003==aCmdId) - { - //if the counter reaches - //event notification should be cancelled - ++iAsyncCount; - - if( (KLiwEventCompleted==aEventId) || - (KLiwEventCanceled==aEventId) || - (KLiwEventStopped==aEventId) || - (KLiwEventError==aEventId) ) - { - //_LIT8(testCmt,"LIW_ASYNC_003:
    Create a CLiwCriteriaItem with string command \ - The provider with the same command must be attached with LIW FW.\ - and call ExecuteServiceCmdL.
    \ -
    Test -
  • Attaching provider Programmatically
  • string based serviceName
  • \ -
    Check -
    Provider returns asynchronously : LiwEventStopped"); - - if(KLiwEventStopped==aEventId) - { - iResult = 0; - //iLogger->AddTestItem(testCmt,KResult_Pass,ETrue, EFalse); - } - else - { - iResult = 1; - //iLogger->AddTestItem(testCmt,KResult_Fail,EFalse, EFalse); - } - - //LIW_ASYNC_003((TInt32)eAsyncStopped); - iAsyncCount=0; - iTransID=0; - - return KErrNone; - } - - if(iAsyncCount >= KAsyncMaxCount) - { - LIW_ASYNC_003((TInt32)eAsyncStopped); - iAsyncCount=0; - iTransID=0; - //LIW_ASYNC_004(); - - CActiveScheduler::Stop(); - } - } - else if(LIWASYNC004==aCmdId) - { - if( (KLiwEventCanceled==aEventId) || - (KLiwEventStopped==aEventId) || - (KLiwEventError==aEventId) ) - { - //_LIT8(testCmt,"LIW_ASYNC_004:
    Create a CLiwCriteriaItem with string command \ - The provider with the same command must be attached with LIW FW.\ - and call ExecuteServiceCmdL.
    \ -
    Test -
  • Attaching provider Programmatically
  • string based serviceName
  • \ -
    Check -
    Provider returns asynchronously : LiwEventError"); - - if(KLiwEventError==aEventId) - { - iResult = 0; - //iLogger->AddTestItem(testCmt,KResult_Pass,ETrue, EFalse); - } - else - { - iResult = 1; - //iLogger->AddTestItem(testCmt,KResult_Fail,EFalse, EFalse); - } - - CActiveScheduler::Stop(); - } - } - return KErrNone; - } - -// --------------------------------------------------------- -/*LIW Asynchronous service Test Cases are Defined here*/ -// --------------------------------------------------------- - -void CLiw_AsyncTC::LIW_ASYNC_004() -{ - - /*Detached all the service provider and reset all the Entries of previous test case*/ - iServiceHandler->Reset(); - - RCriteriaArray interest; - CleanupClosePushL(interest); - - const TDesC8* cmd = &KAsyncSrv; - - //Define Criteria Item Dynamically with string based command - CLiwCriteriaItem* criteria1 = CLiwCriteriaItem::NewLC(1, *cmd, KAsyncContent); - criteria1->SetServiceClass(TUid::Uid(KLiwClassBase)); - interest.AppendL(criteria1); - - /*Attach the base provider*/ - iServiceHandler->AttachL(interest); - CleanupStack::PopAndDestroy(criteria1); - CleanupStack::PopAndDestroy(&interest); - - TLiwGenericParam asyncSrvCmdIDParam; - TLiwGenericParam asyncStateParam; - TLiwGenericParam asyncTransIDParam; - TLiwGenericParam testCaseIDParam; - - _LIT8(KAsyncCmdID, "AsyncCmdID"); -// _LIT8(KAsyncCmdName, "IncomingEvents"); - _LIT8(KAsyncEventState, "AsyncEventState"); - //_LIT8(KAsyncTransID, "TransactionID"); - _LIT8(KTestCaseID, "TestCaseID"); - - //_LIT8(KLIW_ASYNC_001, "LIW_ASYNC_001"); - TInt32 testCaseID=LIWASYNC004; - - CLiwGenericParamList* inps = &(iServiceHandler->InParamListL()); - inps->Reset(); - - asyncSrvCmdIDParam.SetNameAndValueL(KAsyncCmdID, TLiwVariant((TInt32)XmlDataReaderCmdID)); - asyncStateParam.SetNameAndValueL(KAsyncEventState, TLiwVariant((TInt32)eAsyncStarted)); - testCaseIDParam.SetNameAndValueL(KTestCaseID, TLiwVariant((TInt32)testCaseID)); - - inps->AppendL(asyncSrvCmdIDParam); - inps->AppendL(asyncStateParam); - inps->AppendL(testCaseIDParam); - - CLiwCriteriaItem* crit = CLiwCriteriaItem::NewLC(1, *cmd, KAsyncContent); - crit->SetServiceClass(TUid::Uid(KLiwClassBase)); - - CLiwGenericParamList* outps = &(iServiceHandler->OutParamListL()); - - iServiceHandler->ExecuteServiceCmdL(*crit, *inps, *outps,KLiwOptASyncronous,this); - - asyncSrvCmdIDParam.Reset(); - asyncStateParam.Reset(); - asyncTransIDParam.Reset(); - testCaseIDParam.Reset(); - CleanupStack::PopAndDestroy(crit); // crit -} - -void CLiw_AsyncTC::LIW_ASYNC_003(TInt aEventState) -{ - - const TDesC8* cmd = &KAsyncSrv; - - if(eAsyncStarted==aEventState) - { - /*Detached all the service provider and reset all the Entries of previous test case*/ - iServiceHandler->Reset(); - - RCriteriaArray interest; - CleanupClosePushL(interest); - - - - //Define Criteria Item Dynamically with string based command - CLiwCriteriaItem* criteria1 = CLiwCriteriaItem::NewLC(1, *cmd, KAsyncContent); - criteria1->SetServiceClass(TUid::Uid(KLiwClassBase)); - interest.AppendL(criteria1); - - /*Attach the base provider*/ - iServiceHandler->AttachL(interest); - CleanupStack::PopAndDestroy(criteria1); - CleanupStack::PopAndDestroy(&interest); - } - - - TLiwGenericParam asyncSrvCmdIDParam; - TLiwGenericParam asyncStateParam; - TLiwGenericParam asyncTransIDParam; - TLiwGenericParam testCaseIDParam; - - _LIT8(KAsyncCmdID, "AsyncCmdID"); -// _LIT8(KAsyncCmdName, "IncomingEvents"); - _LIT8(KAsyncEventState, "AsyncEventState"); - //_LIT8(KAsyncTransID, "TransactionID"); - _LIT8(KTestCaseID, "TestCaseID"); - - TInt32 testCaseID=LIWASYNC003; - - CLiwGenericParamList* inps = &(iServiceHandler->InParamListL()); - inps->Reset(); - - asyncSrvCmdIDParam.SetNameAndValueL(KAsyncCmdID, TLiwVariant((TInt32)IncomingEventCmdID)); - asyncStateParam.SetNameAndValueL(KAsyncEventState, TLiwVariant((TInt32)aEventState)); - testCaseIDParam.SetNameAndValueL(KTestCaseID, TLiwVariant((TInt32)testCaseID)); - - inps->AppendL(asyncSrvCmdIDParam); - inps->AppendL(asyncStateParam); - inps->AppendL(testCaseIDParam); - - if(eAsyncStopped==aEventState) - { - TLiwGenericParam asyncTransIDParam; - _LIT8(KAsyncTransID, "TransactionID"); - asyncTransIDParam.SetNameAndValueL(KAsyncTransID, TLiwVariant((TInt32)iTransID)); - inps->AppendL(asyncTransIDParam); - asyncTransIDParam.Reset(); - } - - CLiwCriteriaItem* crit = CLiwCriteriaItem::NewLC(1, *cmd, KAsyncContent); - crit->SetServiceClass(TUid::Uid(KLiwClassBase)); - - CLiwGenericParamList* outps = &(iServiceHandler->OutParamListL()); - - iServiceHandler->ExecuteServiceCmdL(*crit, *inps, *outps,KLiwOptASyncronous,this); - - asyncSrvCmdIDParam.Reset(); - asyncStateParam.Reset(); - asyncTransIDParam.Reset(); - testCaseIDParam.Reset(); - CleanupStack::PopAndDestroy(crit); // crit - - if(eAsyncStarted==aEventState) - { - TInt pos = 0; - _LIT8(KAsyncTransID, "TransactionID"); - outps->FindFirst(pos, KAsyncTransID); - - TLiwGenericParam transIDParam = outps->operator[](pos); - iTransID = transIDParam.Value().AsTInt32(); - } - - //LIW_ASYNC_004(); -} - -void CLiw_AsyncTC::LIW_ASYNC_002() -{ - - /*Detached all the service provider and reset all the Entries of previous test case*/ - iServiceHandler->Reset(); - - RCriteriaArray interest; - CleanupClosePushL(interest); - - const TDesC8* cmd = &KAsyncSrv; - - //Define Criteria Item Dynamically with string based command - CLiwCriteriaItem* criteria1 = CLiwCriteriaItem::NewLC(1, *cmd, KAsyncContent); - criteria1->SetServiceClass(TUid::Uid(KLiwClassBase)); - interest.AppendL(criteria1); - - /*Attach the base provider*/ - iServiceHandler->AttachL(interest); - CleanupStack::PopAndDestroy(criteria1); - CleanupStack::PopAndDestroy(&interest); - - TLiwGenericParam asyncSrvCmdIDParam; - TLiwGenericParam asyncStateParam; - TLiwGenericParam asyncTransIDParam; - TLiwGenericParam testCaseIDParam; - - _LIT8(KAsyncCmdID, "AsyncCmdID"); -// _LIT8(KAsyncCmdName, "IncomingEvents"); - _LIT8(KAsyncEventState, "AsyncEventState"); - //_LIT8(KAsyncTransID, "TransactionID"); - _LIT8(KTestCaseID, "TestCaseID"); - - //_LIT8(KLIW_ASYNC_001, "LIW_ASYNC_001"); - TInt32 testCaseID=LIWASYNC001; - - CLiwGenericParamList* inps = &(iServiceHandler->InParamListL()); - inps->Reset(); - - asyncSrvCmdIDParam.SetNameAndValueL(KAsyncCmdID, TLiwVariant((TInt32)XmlDataReaderCmdID)); - asyncStateParam.SetNameAndValueL(KAsyncEventState, TLiwVariant((TInt32)eAsyncStarted)); - testCaseIDParam.SetNameAndValueL(KTestCaseID, TLiwVariant((TInt32)testCaseID)); - - inps->AppendL(asyncSrvCmdIDParam); - inps->AppendL(asyncStateParam); - inps->AppendL(testCaseIDParam); - - CLiwCriteriaItem* crit = CLiwCriteriaItem::NewLC(1, *cmd, KAsyncContent); - crit->SetServiceClass(TUid::Uid(KLiwClassBase)); - - CLiwGenericParamList* outps = &(iServiceHandler->OutParamListL()); - - iServiceHandler->ExecuteServiceCmdL(*crit, *inps, *outps,KLiwOptASyncronous); - - //Since there is no callback, the control returns here - //Checking for the success of this testcase - - TInt pos=0; - - outps->FindFirst(pos, EGenericParamError); - - if(pos != KErrNotFound) - { - //_LIT8(testCmt,"LIW_ASYNC_001:
    Create a CLiwCriteriaItem with string command \ - The provider with the same command must be attached with LIW FW.\ - and call ExecuteServiceCmdL.
    \ -
    Test -
  • Attaching provider Programmatically
  • string based serviceName
  • \ -
  • No CallBack is mentioned

  • Check -
    \ - Provider returns control immediately (Synchronous) EGenericParamError = KErrCancel"); - - if ((*outps)[pos].Value().AsTInt32() == KErrCancel) - { - iResult = 0; - //iLogger->AddTestItem(testCmt,KResult_Pass,ETrue, EFalse); - } - else - { - iResult = 1; - //iLogger->AddTestItem(testCmt,KResult_Fail,ETrue, EFalse); - } - } - asyncSrvCmdIDParam.Reset(); - asyncStateParam.Reset(); - asyncTransIDParam.Reset(); - testCaseIDParam.Reset(); - CleanupStack::PopAndDestroy(crit); // crit - - CActiveScheduler::Stop(); - //LIW_ASYNC_003(); -} - - -void CLiw_AsyncTC::LIW_ASYNC_001() -{ - /*Detached all the service provider and reset all the Entries of previous test case*/ - iServiceHandler->Reset(); - - RCriteriaArray interest; - CleanupClosePushL(interest); - - //Define Criteria Item Dynamically with string based command - CLiwCriteriaItem* criteria1 = CLiwCriteriaItem::NewLC(1, KAsyncSrv, KAsyncContent); - criteria1->SetServiceClass(TUid::Uid(KLiwClassBase)); - interest.AppendL(criteria1); - - /*Attach the base provider*/ - TInt status = iServiceHandler->AttachL(interest); - CleanupStack::PopAndDestroy(criteria1); - CleanupStack::PopAndDestroy(&interest); - - TLiwGenericParam asyncSrvCmdIDParam; - TLiwGenericParam asyncStateParam; - TLiwGenericParam asyncTransIDParam; - TLiwGenericParam testCaseIDParam; - - _LIT8(KAsyncCmdID, "AsyncCmdID"); - //_LIT8(KAsyncCmdName, "IncomingEvents"); - _LIT8(KAsyncEventState, "AsyncEventState"); - //_LIT8(KAsyncTransID, "TransactionID"); - _LIT8(KTestCaseID, "TestCaseID"); - - //_LIT8(KLIW_ASYNC_001, "LIW_ASYNC_001"); - TInt32 testCaseID=LIWASYNC001; - - CLiwGenericParamList* inps = &(iServiceHandler->InParamListL()); - inps->Reset(); - - asyncSrvCmdIDParam.SetNameAndValueL(KAsyncCmdID, TLiwVariant((TInt32)XmlDataReaderCmdID)); - asyncStateParam.SetNameAndValueL(KAsyncEventState, TLiwVariant((TInt32)eAsyncStarted)); - testCaseIDParam.SetNameAndValueL(KTestCaseID, TLiwVariant((TInt32)testCaseID)); - - inps->AppendL(asyncSrvCmdIDParam); - inps->AppendL(asyncStateParam); - inps->AppendL(testCaseIDParam); - - CLiwCriteriaItem* crit = CLiwCriteriaItem::NewLC(1, KAsyncSrv, KAsyncContent); - crit->SetServiceClass(TUid::Uid(KLiwClassBase)); - - CLiwGenericParamList* outps = &(iServiceHandler->OutParamListL()); - - iServiceHandler->ExecuteServiceCmdL(*crit, *inps, *outps,KLiwOptASyncronous,this); - - asyncSrvCmdIDParam.Reset(); - asyncStateParam.Reset(); - asyncTransIDParam.Reset(); - testCaseIDParam.Reset(); - - CleanupStack::PopAndDestroy(crit); // crit -}