154 ADD_TEST_STEP_ISO_CPP(CCTsyPhoneBookStoreFU, TestGetInfo0008L); |
154 ADD_TEST_STEP_ISO_CPP(CCTsyPhoneBookStoreFU, TestGetInfo0008L); |
155 ADD_TEST_STEP_ISO_CPP(CCTsyPhoneBookStoreFU, TestGetInfo0009L); |
155 ADD_TEST_STEP_ISO_CPP(CCTsyPhoneBookStoreFU, TestGetInfo0009L); |
156 //ADD_TEST_STEP_ISO_CPP(CCTsyPhoneBookStoreFU, TestGetInfo00010L); |
156 //ADD_TEST_STEP_ISO_CPP(CCTsyPhoneBookStoreFU, TestGetInfo00010L); |
157 ADD_TEST_STEP_ISO_CPP(CCTsyPhoneBookStoreFU, TestGetInfo00011L); //sdn |
157 ADD_TEST_STEP_ISO_CPP(CCTsyPhoneBookStoreFU, TestGetInfo00011L); //sdn |
158 ADD_TEST_STEP_ISO_CPP(CCTsyPhoneBookStoreFU, TestGetInfo00011bL); |
158 ADD_TEST_STEP_ISO_CPP(CCTsyPhoneBookStoreFU, TestGetInfo00011bL); |
|
159 ADD_TEST_STEP_ISO_CPP(CCTsyPhoneBookStoreFU, TestGetInfo00011cL); |
159 ADD_TEST_STEP_ISO_CPP(CCTsyPhoneBookStoreFU, TestGetInfo00012L); |
160 ADD_TEST_STEP_ISO_CPP(CCTsyPhoneBookStoreFU, TestGetInfo00012L); |
160 ADD_TEST_STEP_ISO_CPP(CCTsyPhoneBookStoreFU, TestGetInfo00013L); |
161 ADD_TEST_STEP_ISO_CPP(CCTsyPhoneBookStoreFU, TestGetInfo00013L); |
161 ADD_TEST_STEP_ISO_CPP(CCTsyPhoneBookStoreFU, TestGetInfo00014L); |
162 ADD_TEST_STEP_ISO_CPP(CCTsyPhoneBookStoreFU, TestGetInfo00014L); |
162 ADD_TEST_STEP_ISO_CPP(CCTsyPhoneBookStoreFU, TestGetInfo00015L); |
163 ADD_TEST_STEP_ISO_CPP(CCTsyPhoneBookStoreFU, TestGetInfo00015L); |
163 ADD_TEST_STEP_ISO_CPP(CCTsyPhoneBookStoreFU, TestGetInfo00016L); //vmbx |
164 ADD_TEST_STEP_ISO_CPP(CCTsyPhoneBookStoreFU, TestGetInfo00016L); //vmbx |
5840 AssertMockLtsyStatusL(); |
5854 AssertMockLtsyStatusL(); |
5841 |
5855 |
5842 CleanupStack::PopAndDestroy(4, this); // data, data2, this... |
5856 CleanupStack::PopAndDestroy(4, this); // data, data2, this... |
5843 } |
5857 } |
5844 |
5858 |
|
5859 void CCTsyPhoneBookStoreFU::AuxGetInfo1cL() |
|
5860 { |
|
5861 // |
|
5862 // Open three phonebooks: ADN, FDN, SDN. Check that SDN phonebook is initialised correctly. |
|
5863 // |
|
5864 OpenEtelServerL(EUseExtendedError); |
|
5865 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
5866 OpenPhone2L(); |
|
5867 |
|
5868 RBuf8 dataS7; |
|
5869 CleanupClosePushL(dataS7); |
|
5870 RBuf8 dataS8; |
|
5871 CleanupClosePushL(dataS8); |
|
5872 RBuf8 dataS9; |
|
5873 CleanupClosePushL(dataS9); |
|
5874 |
|
5875 RBuf8 data2; |
|
5876 CleanupClosePushL(data2); |
|
5877 |
|
5878 TName nameS7(KETelIccAdnPhoneBook); |
|
5879 RMobilePhoneBookStore bookStoreS7; |
|
5880 CleanupClosePushL(bookStoreS7); |
|
5881 |
|
5882 TName nameS8(KETelIccFdnPhoneBook); |
|
5883 RMobilePhoneBookStore bookStoreS8; |
|
5884 CleanupClosePushL(bookStoreS8); |
|
5885 |
|
5886 TName nameS9(KETelIccSdnPhoneBook); |
|
5887 RMobilePhoneBookStore bookStoreS9; |
|
5888 CleanupClosePushL(bookStoreS9); |
|
5889 |
|
5890 /* |
|
5891 Test scenario: |
|
5892 We open three bookstores: S7, S8, S9 (in that order). |
|
5893 We then call GetInfo on S9. |
|
5894 |
|
5895 LTSY must receive (>>) and complete (<<) the following requests in the following sequence: |
|
5896 >> EMmTsyPhoneBookStoreInitIPC (S7) |
|
5897 << EMmTsyPhoneBookStoreInitIPC (S7) |
|
5898 >> EMmTsyPhoneBookStoreCacheIPC (S7) |
|
5899 >> EMmTsyPhoneBookStoreCacheIPC (S8) |
|
5900 >> EMmTsyPhoneBookStoreGetInfoIPC (S9) |
|
5901 << EMmTsyPhoneBookStoreCacheIPC (S7) |
|
5902 << EMmTsyPhoneBookStoreCacheIPC (S8) |
|
5903 << EMmTsyPhoneBookStoreGetInfoIPC (S9) |
|
5904 */ |
|
5905 |
|
5906 TMockLtsyPhoneBookData0 storeInitData(nameS7); |
|
5907 storeInitData.SerialiseL(dataS7); |
|
5908 iMockLTSY.ExpectL(EMmTsyPhoneBookStoreInitIPC, dataS7); |
|
5909 |
|
5910 // Open all phonebook store sessions. This will cause an Init request being sent down to LTSY, |
|
5911 // followed by Cache requests for S7 and S8 when initialisation completes. |
|
5912 TInt ret = bookStoreS7.Open(iPhone, nameS7); |
|
5913 ret = bookStoreS8.Open(iPhone, nameS8); |
|
5914 ret = bookStoreS9.Open(iPhone, nameS9); |
|
5915 |
|
5916 ASSERT_EQUALS(KErrNone, ret); |
|
5917 |
|
5918 TRequestStatus requestStatus; |
|
5919 TRequestStatus mockLtsyStatus; |
|
5920 RMobilePhoneBookStore::TMobilePhoneBookInfoV1 bookInfo; |
|
5921 RMobilePhoneBookStore::TMobilePhoneBookInfoV1Pckg bookPckg(bookInfo); |
|
5922 bookStoreS9.GetInfo(requestStatus, bookPckg); |
|
5923 |
|
5924 ASSERT_EQUALS(KRequestPending, requestStatus.Int()); |
|
5925 // check that CTSY waits for initialisation to complete |
|
5926 // before completing the GetInfo client request |
|
5927 User::After(KOneSecond); |
|
5928 ASSERT_EQUALS(KRequestPending, requestStatus.Int()); |
|
5929 |
|
5930 // prepare initialisation completion data |
|
5931 CStorageInfoData storageData; |
|
5932 SetStorageInfoData(storageData); |
|
5933 TMockLtsyPhoneBookData1< CStorageInfoData > retStoreInitC(nameS7, storageData); |
|
5934 retStoreInitC.SerialiseL(data2); |
|
5935 |
|
5936 // complete the Init request. This will trigger cache requests |
|
5937 // for S7 and S8 from CTSY to LTSY. |
|
5938 iMockLTSY.CompleteL(EMmTsyPhoneBookStoreInitIPC, KErrNone, data2, 0); |
|
5939 |
|
5940 dataS7.Close(); |
|
5941 TMockLtsyPhoneBookData0 tsyDataS7(nameS7); |
|
5942 tsyDataS7.SerialiseL(dataS7); |
|
5943 iMockLTSY.ExpectL(EMmTsyPhoneBookStoreCacheIPC, dataS7); |
|
5944 |
|
5945 dataS8.Close(); |
|
5946 TMockLtsyPhoneBookData0 tsyDataS8(nameS8); |
|
5947 tsyDataS8.SerialiseL(dataS8); |
|
5948 iMockLTSY.ExpectL(EMmTsyPhoneBookStoreCacheIPC, dataS8); |
|
5949 |
|
5950 // GetInfo request should still be pending |
|
5951 ASSERT_EQUALS(KRequestPending, requestStatus.Int()); |
|
5952 |
|
5953 // Prepare the cache responses, and tell MockLTSY to complete them |
|
5954 CArrayPtrSeg<CPhoneBookStoreEntry>* cacheS7 = new(ELeave) CArrayPtrSeg<CPhoneBookStoreEntry>( 1 ); |
|
5955 CleanupStack::PushL(cacheS7); |
|
5956 |
|
5957 TMockLtsyPhoneBookData1<CArrayPtrSeg<CPhoneBookStoreEntry>*> storeCacheDataS7(nameS7, cacheS7); |
|
5958 data2.Close(); |
|
5959 storeCacheDataS7.SerialiseL(data2); |
|
5960 |
|
5961 iMockLTSY.CompleteL(EMmTsyPhoneBookStoreCacheIPC, KErrNone, data2, 0); |
|
5962 CleanupStack::PopAndDestroy(cacheS7); |
|
5963 |
|
5964 CArrayPtrSeg<CPhoneBookStoreEntry>* cacheS8 = new(ELeave) CArrayPtrSeg<CPhoneBookStoreEntry>( 1 ); |
|
5965 CleanupStack::PushL(cacheS8); |
|
5966 |
|
5967 TMockLtsyPhoneBookData1<CArrayPtrSeg<CPhoneBookStoreEntry>*> storeCacheDataS8(nameS8, cacheS8); |
|
5968 data2.Close(); |
|
5969 storeCacheDataS8.SerialiseL(data2); |
|
5970 |
|
5971 iMockLTSY.CompleteL(EMmTsyPhoneBookStoreCacheIPC, KErrNone, data2, 0); |
|
5972 CleanupStack::PopAndDestroy(cacheS8); |
|
5973 |
|
5974 dataS9.Close(); |
|
5975 TMockLtsyPhoneBookData0 tsyDataS9(nameS9); |
|
5976 tsyDataS9.SerialiseL(dataS9); |
|
5977 |
|
5978 // Next to come from CTSY to LTSY will be the GetInfo request for S9 |
|
5979 iMockLTSY.ExpectL(EMmTsyPhoneBookStoreGetInfoIPC, dataS9); |
|
5980 ASSERT_EQUALS(KRequestPending, requestStatus.Int()); |
|
5981 |
|
5982 // prepare response and complete |
|
5983 TInt usedEntries(12); |
|
5984 TMockLtsyPhoneBookData1< TInt > styData2(nameS9, usedEntries); |
|
5985 data2.Close(); |
|
5986 styData2.SerialiseL(data2); |
|
5987 iMockLTSY.CompleteL(EMmTsyPhoneBookStoreGetInfoIPC, KErrNone, data2, 10); |
|
5988 |
|
5989 User::WaitForRequest(requestStatus); // GetInfo |
|
5990 ASSERT_EQUALS(KErrNone, requestStatus.Int()); |
|
5991 |
|
5992 // check that returned values are correct |
|
5993 ASSERT_TRUE(0 == bookInfo.iName.Compare(nameS9)); |
|
5994 ASSERT_EQUALS(usedEntries, bookInfo.iUsedEntries); |
|
5995 ASSERT_EQUALS(-1, bookInfo.iTotalEntries); |
|
5996 ASSERT_EQUALS(50, bookInfo.iMaxTextLength); |
|
5997 ASSERT_EQUALS(50, bookInfo.iMaxNumLength); |
|
5998 ASSERT_EQUALS(RMobilePhoneBookStore::ELocationIccMemory, bookInfo.iLocation); |
|
5999 ASSERT_EQUALS((TUint16)0, bookInfo.iChangeCounter); |
|
6000 ASSERT_EQUALS((TUint32)RMobilePhoneStore::KCapsReadAccess, bookInfo.iCaps); |
|
6001 |
|
6002 |
|
6003 // final check and cleanup |
|
6004 AssertMockLtsyStatusL(); |
|
6005 CleanupStack::PopAndDestroy(8, this); // data, data2, this... |
|
6006 } |
5845 |
6007 |
5846 void CCTsyPhoneBookStoreFU::AuxGetInfo2L(const TDesC& aName) |
6008 void CCTsyPhoneBookStoreFU::AuxGetInfo2L(const TDesC& aName) |
5847 { |
6009 { |
5848 OpenEtelServerL(EUseExtendedError); |
6010 OpenEtelServerL(EUseExtendedError); |
5849 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
6011 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |