diff -r 000000000000 -r 3553901f7fa8 telephonyserverplugins/ctsydispatchlayer/test/dispatchertests/dispatchsrc/cctsyphonebookonfunegative.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telephonyserverplugins/ctsydispatchlayer/test/dispatchertests/dispatchsrc/cctsyphonebookonfunegative.cpp Tue Feb 02 01:41:59 2010 +0200 @@ -0,0 +1,424 @@ +// Copyright (c) 2008-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: +// ctsyphonebookonfunegative.cpp +// + +#include "cctsyphonebookonfunegative.h" + +#include +#include +#include +#include "config.h" +#include +#include +#include "cctsyphonebookonfu.h" +#include "listretrieverao.h" + +/* static */ +CTestSuite* CCTsyPhonebookOnFUNegative::CreateSuiteL(const TDesC& aName) + { + SUB_SUITE; + + ADD_TEST_STEP_ISO_CPP(CCTsyPhonebookOnFUNegative, TestGetInfoIpcL); + ADD_TEST_STEP_ISO_CPP(CCTsyPhonebookOnFUNegative, TestWriteIpcL); + ADD_TEST_STEP_ISO_CPP(CCTsyPhonebookOnFUNegative, TestReadIpcL); + ADD_TEST_STEP_ISO_CPP(CCTsyPhonebookOnFUNegative, TestDeleteEntryIpcL); + ADD_TEST_STEP_ISO_CPP(CCTsyPhonebookOnFUNegative, TestWriteEntryIpcL); + ADD_TEST_STEP_ISO_CPP(CCTsyPhonebookOnFUNegative, TestDeleteAllIpcL); + ADD_TEST_STEP_ISO_CPP(CCTsyPhonebookOnFUNegative, TestReadEntryIpcL); + ADD_TEST_STEP_ISO_CPP(CCTsyPhonebookOnFUNegative, TestReadSizeIpcL); + ADD_TEST_STEP_ISO_CPP(CCTsyPhonebookOnFUNegative, TestWriteSizeIpcL); + + END_SUITE; + } + +/** + * Wraps up boilerplate code for starting tests with a clean RPhone session and RMobileONStore + * initialised. On return this and aONStore have been pushed to the CleanupStack + */ +void CCTsyPhonebookOnFUNegative::OpenAndPushEtelAndPhoneONStoreL(RMobileONStore& aONStore) + { + OpenEtelServerL(EUseExtendedError); + CleanupStack::PushL(TCleanupItem(Cleanup,this)); + OpenPhoneL(); + + TInt ret = aONStore.Open(iPhone); + ASSERT_EQUALS(ret, KErrNone); + CleanupClosePushL(aONStore); + } + + +/** + * @SYMTestCaseID BA-CTSYD-DIS-PHONEBOOKON-NEGATIVE-UN0001 + * @SYMComponent telephony_ctsy + * @SYMTestCaseDesc Test support in CTSY for RMobileONStore::GetInfo() when associated PhonebookOn FU isn't supported + * @SYMTestPriority High + * @SYMTestActions Disables associated PhonebookOn Api, invokes RMobileONStore::GetInfo() + * @SYMTestExpectedResults Pass + * @SYMTestType UT + */ +void CCTsyPhonebookOnFUNegative::TestGetInfoIpcL() + { + TConfig config; + config.SetSupportedValue(MLtsyDispatchPhonebookOnStoreGetInfo::KLtsyDispatchPhonebookOnStoreGetInfoApiId, EFalse); + + RMobileONStore onStore; + OpenAndPushEtelAndPhoneONStoreL(onStore); + + TRequestStatus status; + + RMobileONStore::TMobileONStoreInfoV1 onStoreInfoV1; + TPckg pckgInfoV1(onStoreInfoV1); + + onStore.GetInfo(status, pckgInfoV1); + User::WaitForRequest(status); + + ASSERT_EQUALS(KErrNotSupported, status.Int()); + + AssertMockLtsyStatusL(); + config.Reset(); + + CleanupStack::PopAndDestroy(2, this); // onStore, this + } + +/** + * @SYMTestCaseID BA-CTSYD-DIS-PHONEBOOKON-NEGATIVE-UN0002 + * @SYMComponent telephony_ctsy + * @SYMTestCaseDesc Test support in CTSY for RMobileONStore::Read() when associated PhonebookOn FU isn't supported + * @SYMTestPriority High + * @SYMTestActions Disables associated PhonebookOn Api, invokes RMobileONStore::Write() + * @SYMTestExpectedResults Pass + * @SYMTestType UT + */ +void CCTsyPhonebookOnFUNegative::TestWriteIpcL() + { + TConfig config; + config.SetSupportedValue(MLtsyDispatchPhonebookOnStoreWrite::KLtsyDispatchPhonebookOnStoreWriteApiId, EFalse); + + RMobileONStore onStore; + OpenAndPushEtelAndPhoneONStoreL(onStore); + + _LIT(KText1, "Number1"); + _LIT(KNumber1, "11111111"); + RMobileONStore::TMobileONEntryV1 writeEntry1; + writeEntry1.iMode = RMobilePhone::ENetworkModeGsm; + writeEntry1.iService = RMobilePhone::ETelephony; + writeEntry1.iNumber.iTypeOfNumber = RMobilePhone::EAlphanumericNumber; + writeEntry1.iNumber.iNumberPlan = RMobilePhone::EDataNumberPlan; + writeEntry1.iNumber.iTelNumber.Copy(KNumber1); + writeEntry1.iText.Copy(KText1); + writeEntry1.iIndex = 1; + + TPckg pckgWriteEntry1(writeEntry1); + + TRequestStatus status; + onStore.Write(status, pckgWriteEntry1); + User::WaitForRequest(status); + + ASSERT_EQUALS(KErrNotSupported, status.Int()); + + AssertMockLtsyStatusL(); + config.Reset(); + + CleanupStack::PopAndDestroy(2, this); // onStore, this + } + + +/** + * @SYMTestCaseID BA-CTSYD-DIS-PHONEBOOKON-NEGATIVE-UN0003 + * @SYMComponent telephony_ctsy + * @SYMTestCaseDesc Test support in CTSY for RMobileONStore::Read() when associated PhonebookOn FU isn't supported + * @SYMTestPriority High + * @SYMTestActions Disables associated PhonebookOn Api, invokes RMobileONStore::Read() + * @SYMTestExpectedResults Pass + * @SYMTestType UT + */ +void CCTsyPhonebookOnFUNegative::TestReadIpcL() + { + TConfig config; + config.SetSupportedValue(MLtsyDispatchPhonebookOnStoreRead::KLtsyDispatchPhonebookOnStoreReadApiId, EFalse); + + RMobileONStore onStore; + OpenAndPushEtelAndPhoneONStoreL(onStore); + + TInt location = 1; + RMobileONStore::TMobileONEntryV1 readEntry; + readEntry.iIndex = location; + TPckg pckgReadEntry(readEntry); + + TRequestStatus status; + onStore.Read(status, pckgReadEntry); + User::WaitForRequest(status); + + ASSERT_EQUALS(KErrNotSupported, status.Int()); + + AssertMockLtsyStatusL(); + config.Reset(); + + CleanupStack::PopAndDestroy(2, this); // onStore, this + } + + +/** + * @SYMTestCaseID BA-CTSYD-DIS-PHONEBOOKON-NEGATIVE-UN0004 + * @SYMComponent telephony_ctsy + * @SYMTestCaseDesc Test support in CTSY for RMobileONStore::Read() when associated PhonebookOn FU isn't supported + * @SYMTestPriority High + * @SYMTestActions Disables associated PhonebookOn Api, invokes RMobileONStore::Read() + * @SYMTestExpectedResults Pass + * @SYMTestType UT + */ +void CCTsyPhonebookOnFUNegative::TestDeleteEntryIpcL() + { + TConfig config; + config.SetSupportedValue(MLtsyDispatchPhonebookOnStoreDeleteEntry::KLtsyDispatchPhonebookOnStoreDeleteEntryApiId, EFalse); + + RMobileONStore onStore; + OpenAndPushEtelAndPhoneONStoreL(onStore); + + TRequestStatus status; + onStore.Delete(status, 1); + User::WaitForRequest(status); + + ASSERT_EQUALS(KErrNotSupported, status.Int()); + + AssertMockLtsyStatusL(); + config.Reset(); + + CleanupStack::PopAndDestroy(2, this); // onStore, this + } + + +/** + * @SYMTestCaseID BA-CTSYD-DIS-PHONEBOOKON-NEGATIVE-UN0005 + * @SYMComponent telephony_ctsy + * @SYMTestCaseDesc Test support in CTSY for RMobileONStore::StoreAll() when associated PhonebookOn FU isn't supported + * @SYMTestPriority High + * @SYMTestActions Disables associated PhonebookOn Api, invokes RMobileONStore::StoreAllL() + * @SYMTestExpectedResults Pass + * @SYMTestType UT + */ +void CCTsyPhonebookOnFUNegative::TestWriteEntryIpcL() + { + TConfig config; + config.SetSupportedValue(MLtsyDispatchPhonebookOnStoreWriteEntry::KLtsyDispatchPhonebookOnStoreWriteEntryApiId, EFalse); + + RMobileONStore onStore; + OpenAndPushEtelAndPhoneONStoreL(onStore); + + CMobilePhoneONList* onList = CMobilePhoneONList::NewL(); + CleanupStack::PushL(onList); + + RMobileONStore::TMobileONEntryV1 writeEntry; + onList->AddEntryL(writeEntry); // writeEntry not initialised, not checked + + TInt size = onList->Enumerate(); + + RBuf8 completeData; + CleanupClosePushL(completeData); + TMockLtsyData1 sizeLTsyData(size); + completeData.Close(); + sizeLTsyData.SerialiseL(completeData); + + iMockLTSY.ExpectL(MLtsyDispatchPhonebookOnStoreDeleteAll::KLtsyDispatchPhonebookOnStoreDeleteAllApiId); + iMockLTSY.CompleteL(MLtsyDispatchPhonebookOnStoreDeleteAll::KLtsyDispatchPhonebookOnStoreDeleteAllApiId, KErrNone); + + iMockLTSY.ExpectL(MLtsyDispatchPhonebookOnStoreGetStoreSize::KLtsyDispatchPhonebookOnStoreGetStoreSizeApiId); + iMockLTSY.CompleteL(MLtsyDispatchPhonebookOnStoreGetStoreSize::KLtsyDispatchPhonebookOnStoreGetStoreSizeApiId, KErrNone, completeData); + + TRequestStatus status; + onStore.StoreAllL(status, onList); + User::WaitForRequest(status); + + ASSERT_EQUALS(KErrNotSupported, status.Int()); + + AssertMockLtsyStatusL(); + config.Reset(); + + CleanupStack::PopAndDestroy(4, this); // completeData, onList, onStore, this + } + + +/** + * @SYMTestCaseID BA-CTSYD-DIS-PHONEBOOKON-NEGATIVE-UN0006 + * @SYMComponent telephony_ctsy + * @SYMTestCaseDesc Test support in CTSY for RMobileONStore::DeleteAll() when associated PhonebookOn FU isn't supported + * @SYMTestPriority High + * @SYMTestActions Disables associated PhonebookOn Api, invokes RMobileONStore::DeleteAllL() + * @SYMTestExpectedResults Pass + * @SYMTestType UT + */ +void CCTsyPhonebookOnFUNegative::TestDeleteAllIpcL() + { + TConfig config; + config.SetSupportedValue(MLtsyDispatchPhonebookOnStoreDeleteAll::KLtsyDispatchPhonebookOnStoreDeleteAllApiId, EFalse); + + RMobileONStore onStore; + OpenAndPushEtelAndPhoneONStoreL(onStore); + + TRequestStatus status; + onStore.DeleteAll(status); + User::WaitForRequest(status); + + ASSERT_EQUALS(KErrNotSupported, status.Int()); + + AssertMockLtsyStatusL(); + config.Reset(); + + CleanupStack::PopAndDestroy(2, this); // onStore, this + } + + +/** + * @SYMTestCaseID BA-CTSYD-DIS-PHONEBOOKON-NEGATIVE-UN0007 + * @SYMComponent telephony_ctsy + * @SYMTestCaseDesc Test support in CTSY for RMobileONStore::ReadAll() when associated PhonebookOn FU isn't supported + * @SYMTestPriority High + * @SYMTestActions Disables associated PhonebookOn Api, invokes CRetrieveMobilePhoneONList + * @SYMTestExpectedResults Pass + * @SYMTestType UT + */ +void CCTsyPhonebookOnFUNegative::TestReadEntryIpcL() + { + TConfig config; + config.SetSupportedValue(MLtsyDispatchPhonebookOnStoreReadEntry::KLtsyDispatchPhonebookOnStoreReadEntryApiId, EFalse); + + RMobileONStore onStore; + OpenAndPushEtelAndPhoneONStoreL(onStore); + + //CActiveScheduler* activeScheduler = new (ELeave) CActiveScheduler(); + //CleanupStack::PushL(activeScheduler); + //CActiveScheduler::Install(activeScheduler); + + RBuf8 completeData; + CleanupClosePushL(completeData); + TInt size = 1; + TMockLtsyData1 sizeLTsyData(size); + completeData.Close(); + sizeLTsyData.SerialiseL(completeData); + + iMockLTSY.ExpectL(MLtsyDispatchPhonebookOnStoreGetReadStoreSize::KLtsyDispatchPhonebookOnStoreGetReadStoreSizeApiId); + iMockLTSY.CompleteL(MLtsyDispatchPhonebookOnStoreGetReadStoreSize::KLtsyDispatchPhonebookOnStoreGetReadStoreSizeApiId, KErrNone, completeData); +// +// _LIT(KText, "Number%d"); +// _LIT(KNumber, "0000000%d"); +// TInt location[1]; +// TBuf name[1]; +// TBuf telNumber[1]; +// TInt index = 1; +// location[0] = index; +// name[0].Format(KText,index); +// telNumber[0].Format(KNumber,index); +// +// RBuf8 expectReadData; +// CleanupClosePushL(expectReadData); +// TMockLtsyData1 locationLTsyData(location[0]); +// expectReadData.Close(); +// locationLTsyData.SerialiseL(expectReadData); +// +// TMockLtsyData3< TInt, TBuf, TBuf > readLTsyDataComplete(location[0], name[0], telNumber[0]); +// completeData.Close(); +// readLTsyDataComplete.SerialiseL(completeData); +// iMockLTSY.ExpectL(MLtsyDispatchPhonebookOnStoreReadEntry::KLtsyDispatchPhonebookOnStoreReadEntryApiId, expectReadData); +// iMockLTSY.CompleteL(MLtsyDispatchPhonebookOnStoreReadEntry::KLtsyDispatchPhonebookOnStoreReadEntryApiId, KErrNone, completeData); + + // CRetrieveMobilePhoneONList* onListRetriever = CRetrieveMobilePhoneONList::NewL(onStore); + // CleanupStack::PushL(onListRetriever); + TRequestStatus status; + //onListRetriever->Start(status); + //TBool test = onListRetriever->IsActive(); + //onListRetriever->RetrieveListL(); + //CActiveScheduler::Start(); + + CGetONListAO* getOnListAO = CGetONListAO::NewLC(onStore); + getOnListAO->TestRetrieveL(); + ASSERT_EQUALS(KErrNotSupported, getOnListAO->RetrieveLastError()); + + //User::WaitForRequest(status); + + //ASSERT_EQUALS(KErrNotSupported, status.Int()); + + AssertMockLtsyStatusL(); + + config.Reset(); + + //CActiveScheduler::Stop(); + CleanupStack::PopAndDestroy(4, this); // getOnListAO, completeData, onStore, this + } + + +/** + * @SYMTestCaseID BA-CTSYD-DIS-PHONEBOOKON-NEGATIVE-UN0008 + * @SYMComponent telephony_ctsy + * @SYMTestCaseDesc Test support in CTSY for RMobileONStore::ReadAll() when associated PhonebookOn FU isn't supported + * @SYMTestPriority High + * @SYMTestActions Disables associated PhonebookOn Api, invokes CRetrieveMobilePhoneONList + * @SYMTestExpectedResults Pass + * @SYMTestType UT + */ +void CCTsyPhonebookOnFUNegative::TestReadSizeIpcL() + { + TConfig config; + config.SetSupportedValue(MLtsyDispatchPhonebookOnStoreGetReadStoreSize::KLtsyDispatchPhonebookOnStoreGetReadStoreSizeApiId, EFalse); + + RMobileONStore onStore; + OpenAndPushEtelAndPhoneONStoreL(onStore); + + TRequestStatus status; + CGetONListAO* getOnListAO = CGetONListAO::NewLC(onStore); + getOnListAO->TestRetrieveL(); + ASSERT_EQUALS(KErrNotSupported, getOnListAO->RetrieveLastError()); + + AssertMockLtsyStatusL(); + + config.Reset(); + + CleanupStack::PopAndDestroy(3, this); // getOnListAO, onStore, this + } + + +/** + * @SYMTestCaseID BA-CTSYD-DIS-PHONEBOOKON-NEGATIVE-UN0009 + * @SYMComponent telephony_ctsy + * @SYMTestCaseDesc Test support in CTSY for RMobileONStore::StoreAll() when associated PhonebookOn FU isn't supported + * @SYMTestPriority High + * @SYMTestActions Disables associated PhonebookOn Api, invokes RMobileONStore::StoreAllL() + * @SYMTestExpectedResults Pass + * @SYMTestType UT + */ +void CCTsyPhonebookOnFUNegative::TestWriteSizeIpcL() + { + TConfig config; + config.SetSupportedValue(MLtsyDispatchPhonebookOnStoreGetStoreSize::KLtsyDispatchPhonebookOnStoreGetStoreSizeApiId, EFalse); + + RMobileONStore onStore; + OpenAndPushEtelAndPhoneONStoreL(onStore); + + CMobilePhoneONList* onList = CMobilePhoneONList::NewL(); + CleanupStack::PushL(onList); + + iMockLTSY.ExpectL(MLtsyDispatchPhonebookOnStoreDeleteAll::KLtsyDispatchPhonebookOnStoreDeleteAllApiId); + iMockLTSY.CompleteL(MLtsyDispatchPhonebookOnStoreDeleteAll::KLtsyDispatchPhonebookOnStoreDeleteAllApiId, KErrNone); + + TRequestStatus status; + onStore.StoreAllL(status, onList); + User::WaitForRequest(status); + + ASSERT_EQUALS(KErrNotSupported, status.Int()); + + AssertMockLtsyStatusL(); + config.Reset(); + + CleanupStack::PopAndDestroy(3, this); // onList, onStore, this + }