telephonyserverplugins/ctsydispatchlayer/test/dispatchertests/dispatchsrc/cctsyphonebookonfunegative.cpp
changeset 0 3553901f7fa8
child 14 7ef16719d8cb
--- /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 <etelmm.h>
+#include <mmlist.h>
+#include <mmretrieve.h>
+#include "config.h"
+#include <ctsy/ltsy/mltsydispatchphonebookoninterface.h>
+#include <test/tmockltsydata.h>
+#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<RMobileONStore::TMobileONStoreInfoV1> 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<RMobileONStore::TMobileONEntryV1> 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<RMobileONStore::TMobileONEntryV1> 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<TInt> 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<TInt> 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<RMobileONStore::KOwnNumberTextSize> name[1];
+//		TBuf<KPBStoreNumSize> telNumber[1];
+//		TInt index = 1;
+//		location[0] = index;	
+//		name[0].Format(KText,index);	
+//		telNumber[0].Format(KNumber,index);
+//		
+//		RBuf8 expectReadData;
+//		CleanupClosePushL(expectReadData);
+//		TMockLtsyData1<TInt> locationLTsyData(location[0]);
+//		expectReadData.Close();
+//		locationLTsyData.SerialiseL(expectReadData);
+//		
+//		TMockLtsyData3< TInt, TBuf<RMobileONStore::KOwnNumberTextSize>, TBuf<KPBStoreNumSize> > 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   
+	}