|
1 // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
2 // All rights reserved. |
|
3 // This component and the accompanying materials are made available |
|
4 // under the terms of "Eclipse Public License v1.0" |
|
5 // which accompanies this distribution, and is available |
|
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
7 // |
|
8 // Initial Contributors: |
|
9 // Nokia Corporation - initial contribution. |
|
10 // |
|
11 // Contributors: |
|
12 // |
|
13 // Description: |
|
14 // The TEFUnit test suite for SmsMessaging in the Common TSY. |
|
15 // |
|
16 // |
|
17 |
|
18 /** |
|
19 @file |
|
20 */ |
|
21 |
|
22 #include "cctsysmsmessagingfu.h" |
|
23 #include <etel.h> |
|
24 #include <etelmm.h> |
|
25 #include <et_clsvr.h> |
|
26 #include <ctsy/mmtsy_names.h> |
|
27 #include <ctsy/serviceapi/mmtsy_ipcdefs.h> |
|
28 #include "tmockltsydata.h" |
|
29 #include <ctsy/serviceapi/gsmerror.h> |
|
30 |
|
31 CTestSuite* CCTsySmsMessagingFU::CreateSuiteL(const TDesC& aName) |
|
32 { |
|
33 SUB_SUITE; |
|
34 |
|
35 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestNotifyMoSmsBearerChange0001L); |
|
36 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestNotifyReceiveModeChange0001L); |
|
37 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestNotifyReceiveModeChange0002L); |
|
38 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestNotifyReceiveModeChange0004L); |
|
39 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestSendMessage0001L); |
|
40 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestSendMessage0002L); |
|
41 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestSendMessage0003L); |
|
42 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestSendMessage0004L); |
|
43 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestSendMessage0005L); |
|
44 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestAckSmsStored0001L); |
|
45 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestAckSmsStored0002L); |
|
46 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestAckSmsStored0004L); |
|
47 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestAckSmsStored0005L); |
|
48 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestNackSmsStored0001L); |
|
49 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestNackSmsStored0002L); |
|
50 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestNackSmsStored0004L); |
|
51 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestNackSmsStored0005L); |
|
52 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestGetMoSmsBearer0001L); |
|
53 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestGetReceiveMode0001L); |
|
54 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestReceiveMessage0001L); |
|
55 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestReceiveMessage0001AL); |
|
56 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestReceiveMessage0002L); |
|
57 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestReceiveMessage0003L); |
|
58 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestReceiveMessage0004L); |
|
59 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestSetMoSmsBearer0001L); |
|
60 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestSetMoSmsBearer0002L); |
|
61 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestSetMoSmsBearer0004L); |
|
62 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestSetReceiveMode0001L); |
|
63 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestSetReceiveMode0002L); |
|
64 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestSetReceiveMode0004L); |
|
65 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestStoreSmspListL0001L); |
|
66 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestStoreSmspListL0002L); |
|
67 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestStoreSmspListL0004L); |
|
68 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestStoreSmspListL0005L); |
|
69 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestResumeSmsReception0001L); |
|
70 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestResumeSmsReception0002L); |
|
71 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestResumeSmsReception0004L); |
|
72 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestResumeSmsReception0005L); |
|
73 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestGetMessageStoreInfo0001L); |
|
74 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestGetMessageStoreInfo0002L); |
|
75 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestGetMessageStoreInfo0003L); |
|
76 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestGetMessageStoreInfo0004L); |
|
77 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestGetMessageStoreInfo0005L); |
|
78 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestNotifySmspListChange0001L); |
|
79 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestNotifySmspListChange0002L); |
|
80 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestNotifySmspListChange0004L); |
|
81 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestSendMessageNoFdnCheck0001L); |
|
82 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestSendMessageNoFdnCheck0002L); |
|
83 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestSendMessageNoFdnCheck0003L); |
|
84 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestSendMessageNoFdnCheck0004L); |
|
85 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestSendMessageNoFdnCheck0005L); |
|
86 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestEnumerateMessageStores0001L); |
|
87 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestGetCaps0001L); |
|
88 ADD_TEST_STEP_ISO_CPP(CCTsySmsMessagingFU, TestGetCaps0003L); |
|
89 |
|
90 |
|
91 END_SUITE; |
|
92 } |
|
93 |
|
94 |
|
95 // |
|
96 // Actual test cases |
|
97 // |
|
98 |
|
99 |
|
100 /** |
|
101 @SYMTestCaseID BA-CTSY-SMSM-SNMSBC-0001 |
|
102 @SYMComponent telephony_ctsy |
|
103 @SYMTestCaseDesc Test support in CTSY for RMobileSmsMessaging::NotifyMoSmsBearerChange |
|
104 @SYMTestPriority High |
|
105 @SYMTestActions Invokes RMobileSmsMessaging::NotifyMoSmsBearerChange |
|
106 @SYMTestExpectedResults Pass |
|
107 @SYMTestType CT |
|
108 */ |
|
109 void CCTsySmsMessagingFU::TestNotifyMoSmsBearerChange0001L() |
|
110 { |
|
111 |
|
112 OpenEtelServerL(EUseExtendedError); |
|
113 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
114 OpenPhoneL(); |
|
115 |
|
116 RMobileSmsMessaging messaging; |
|
117 TInt err = messaging.Open(iPhone); |
|
118 ASSERT_EQUALS(KErrNone, err); |
|
119 CleanupClosePushL(messaging); |
|
120 |
|
121 RMobileSmsMessaging::TMobileSmsBearer smsBearer; |
|
122 TRequestStatus reqStatus; |
|
123 |
|
124 //------------------------------------------------------------------------- |
|
125 // TEST A: failure to dispatch request to LTSY |
|
126 //------------------------------------------------------------------------- |
|
127 |
|
128 messaging.NotifyMoSmsBearerChange(reqStatus, smsBearer); |
|
129 |
|
130 User::WaitForRequest(reqStatus); |
|
131 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()); |
|
132 |
|
133 AssertMockLtsyStatusL(); |
|
134 CleanupStack::PopAndDestroy(2, this); |
|
135 |
|
136 } |
|
137 |
|
138 |
|
139 |
|
140 /** |
|
141 @SYMTestCaseID BA-CTSY-SMSM-SNRMC-0001 |
|
142 @SYMComponent telephony_ctsy |
|
143 @SYMTestCaseDesc Test support in CTSY for RMobileSmsMessaging::NotifyReceiveModeChange |
|
144 @SYMTestPriority High |
|
145 @SYMTestActions Invokes RMobileSmsMessaging::NotifyReceiveModeChange |
|
146 @SYMTestExpectedResults Pass |
|
147 @SYMTestType CT |
|
148 */ |
|
149 void CCTsySmsMessagingFU::TestNotifyReceiveModeChange0001L() |
|
150 { |
|
151 |
|
152 OpenEtelServerL(EUseExtendedError); |
|
153 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
154 OpenPhoneL(); |
|
155 |
|
156 |
|
157 RMobileSmsMessaging messaging; |
|
158 TInt err = messaging.Open(iPhone); |
|
159 ASSERT_EQUALS(KErrNone, err); |
|
160 CleanupClosePushL(messaging); |
|
161 |
|
162 RMobileSmsMessaging::TMobileSmsReceiveMode smsReceiveMode; |
|
163 RMobileSmsMessaging::TMobileSmsReceiveMode smsSetReceiveMode(RMobileSmsMessaging::EReceiveUnstoredClientAck); |
|
164 TRequestStatus reqStatus; |
|
165 TRequestStatus reqSetStatus; |
|
166 |
|
167 //------------------------------------------------------------------------- |
|
168 // TEST E: Unsolicited completion of RMobileSmsMessaging::NotifyReceiveModeChange |
|
169 // from LTSY. |
|
170 //------------------------------------------------------------------------- |
|
171 |
|
172 messaging.SetReceiveMode(reqSetStatus, smsSetReceiveMode); |
|
173 |
|
174 User::WaitForRequest(reqSetStatus); |
|
175 ASSERT_EQUALS(KErrNone, reqSetStatus.Int()); |
|
176 |
|
177 //------------------------------------------------------------------------- |
|
178 // TEST C: Successful completion request of |
|
179 // RMobileSmsMessaging::NotifyReceiveModeChange when result is not cached. |
|
180 //------------------------------------------------------------------------- |
|
181 |
|
182 messaging.NotifyReceiveModeChange(reqStatus, smsReceiveMode); |
|
183 |
|
184 messaging.SetReceiveMode(reqSetStatus, smsSetReceiveMode); |
|
185 |
|
186 User::WaitForRequest(reqSetStatus); |
|
187 ASSERT_EQUALS(KErrNone, reqSetStatus.Int()); |
|
188 |
|
189 User::WaitForRequest(reqStatus); |
|
190 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
191 |
|
192 ASSERT_EQUALS(smsSetReceiveMode, smsReceiveMode); |
|
193 |
|
194 |
|
195 //------------------------------------------------------------------------- |
|
196 // TEST E2: Unsolicited completion of RMobileSmsMessaging::NotifyReceiveModeChange |
|
197 // from LTSY. |
|
198 //------------------------------------------------------------------------- |
|
199 |
|
200 ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 360201); |
|
201 ASSERT_TRUE(EFalse); |
|
202 |
|
203 //Request for EMobileSmsMessagingNotifyReceiveModeChange is self reposting. |
|
204 //If it was completed somehow and then SetReceiveMode() was called without call of NotifyReceiveModeChange() - |
|
205 //this result in getting wrong request handle for completion in CTelObject::ReqCompleted() |
|
206 //{updatedReqEntry=PhoneOwner()->FindByTsyHandleAndPlacedRequest(aTsyReqHandle); |
|
207 //__ASSERT_ALWAYS(updatedReqEntry!=NULL, Fault(EEtelFaultCompletionReceivedWithNoReqPackage));} |
|
208 |
|
209 messaging.SetReceiveMode(reqSetStatus, smsSetReceiveMode); |
|
210 |
|
211 User::WaitForRequest(reqSetStatus); |
|
212 ASSERT_EQUALS(KErrNone, reqSetStatus.Int()); |
|
213 |
|
214 |
|
215 AssertMockLtsyStatusL(); |
|
216 CleanupStack::PopAndDestroy(2, this); // data, this |
|
217 |
|
218 } |
|
219 |
|
220 |
|
221 /** |
|
222 @SYMTestCaseID BA-CTSY-SMSM-SNRMC-0002 |
|
223 @SYMComponent telephony_ctsy |
|
224 @SYMTestCaseDesc Test support in CTSY for cancelling of RMobileSmsMessaging::NotifyReceiveModeChange |
|
225 @SYMTestPriority High |
|
226 @SYMTestActions Invokes cancelling of RMobileSmsMessaging::NotifyReceiveModeChange |
|
227 @SYMTestExpectedResults Pass |
|
228 @SYMTestType CT |
|
229 */ |
|
230 void CCTsySmsMessagingFU::TestNotifyReceiveModeChange0002L() |
|
231 { |
|
232 |
|
233 OpenEtelServerL(EUseExtendedError); |
|
234 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
235 OpenPhoneL(); |
|
236 |
|
237 RMobileSmsMessaging messaging; |
|
238 TInt err = messaging.Open(iPhone); |
|
239 ASSERT_EQUALS(KErrNone, err); |
|
240 CleanupClosePushL(messaging); |
|
241 |
|
242 RMobileSmsMessaging::TMobileSmsReceiveMode smsReceiveMode; |
|
243 RMobileSmsMessaging::TMobileSmsReceiveMode smsSetReceiveMode(RMobileSmsMessaging::EReceiveUnstoredClientAck); |
|
244 TRequestStatus reqStatus; |
|
245 TRequestStatus reqSetStatus; |
|
246 |
|
247 //------------------------------------------------------------------------- |
|
248 // Test cancelling of RMobileSmsMessaging::NotifyReceiveModeChange |
|
249 //------------------------------------------------------------------------- |
|
250 |
|
251 messaging.NotifyReceiveModeChange(reqStatus, smsReceiveMode); |
|
252 |
|
253 messaging.CancelAsyncRequest(EMobileSmsMessagingNotifyReceiveModeChange); |
|
254 |
|
255 messaging.SetReceiveMode(reqSetStatus, smsSetReceiveMode); |
|
256 |
|
257 User::WaitForRequest(reqSetStatus); |
|
258 ASSERT_EQUALS(KErrNone, reqSetStatus.Int()); |
|
259 |
|
260 |
|
261 User::WaitForRequest(reqStatus); |
|
262 ASSERT_EQUALS(KErrCancel, reqStatus.Int()); |
|
263 |
|
264 CleanupStack::PopAndDestroy(2); |
|
265 |
|
266 } |
|
267 |
|
268 |
|
269 |
|
270 /** |
|
271 @SYMTestCaseID BA-CTSY-SMSM-SNRMC-0004 |
|
272 @SYMComponent telephony_ctsy |
|
273 @SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileSmsMessaging::NotifyReceiveModeChange |
|
274 @SYMTestPriority High |
|
275 @SYMTestActions Invokes multiple client requests to RMobileSmsMessaging::NotifyReceiveModeChange |
|
276 @SYMTestExpectedResults Pass |
|
277 @SYMTestType CT |
|
278 */ |
|
279 void CCTsySmsMessagingFU::TestNotifyReceiveModeChange0004L() |
|
280 { |
|
281 |
|
282 OpenEtelServerL(EUseExtendedError); |
|
283 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
284 OpenPhoneL(); |
|
285 |
|
286 |
|
287 // Open second client |
|
288 RTelServer telServer2; |
|
289 TInt ret = telServer2.Connect(); |
|
290 ASSERT_EQUALS(KErrNone, ret); |
|
291 CleanupClosePushL(telServer2); |
|
292 |
|
293 RMobilePhone phone2; |
|
294 ret = phone2.Open(telServer2,KMmTsyPhoneName); |
|
295 ASSERT_EQUALS(KErrNone, ret); |
|
296 CleanupClosePushL(phone2); |
|
297 |
|
298 |
|
299 RMobileSmsMessaging messaging; |
|
300 TInt err = messaging.Open(iPhone); |
|
301 ASSERT_EQUALS(KErrNone, err); |
|
302 CleanupClosePushL(messaging); |
|
303 |
|
304 RMobileSmsMessaging messaging2; |
|
305 err = messaging2.Open(phone2); |
|
306 ASSERT_EQUALS(KErrNone, err); |
|
307 CleanupClosePushL(messaging2); |
|
308 |
|
309 RMobileSmsMessaging::TMobileSmsReceiveMode smsReceiveMode; |
|
310 RMobileSmsMessaging::TMobileSmsReceiveMode smsSetReceiveMode(RMobileSmsMessaging::EReceiveUnstoredClientAck); |
|
311 TRequestStatus reqStatus; |
|
312 TRequestStatus reqSetStatus; |
|
313 |
|
314 RMobileSmsMessaging::TMobileSmsReceiveMode smsReceiveMode2; |
|
315 TRequestStatus reqStatus2; |
|
316 TRequestStatus reqSetStatus2; |
|
317 |
|
318 messaging.NotifyReceiveModeChange(reqStatus, smsReceiveMode); |
|
319 messaging2.NotifyReceiveModeChange(reqStatus2, smsReceiveMode2); |
|
320 |
|
321 messaging.SetReceiveMode(reqSetStatus, smsSetReceiveMode); |
|
322 |
|
323 User::WaitForRequest(reqSetStatus); |
|
324 ASSERT_EQUALS(KErrNone, reqSetStatus.Int()); |
|
325 |
|
326 User::WaitForRequest(reqStatus); |
|
327 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
328 |
|
329 User::WaitForRequest(reqStatus2); |
|
330 ASSERT_EQUALS(KErrNone, reqStatus2.Int()); |
|
331 |
|
332 ASSERT_EQUALS(smsSetReceiveMode, smsReceiveMode); |
|
333 ASSERT_EQUALS(smsSetReceiveMode, smsReceiveMode2); |
|
334 |
|
335 |
|
336 CleanupStack::PopAndDestroy(5, this); |
|
337 |
|
338 } |
|
339 |
|
340 |
|
341 |
|
342 /** |
|
343 @SYMTestCaseID BA-CTSY-SMSM-SSM-0001 |
|
344 @SYMComponent telephony_ctsy |
|
345 @SYMTestCaseDesc Test support in CTSY for RMobileSmsMessaging::SendMessage |
|
346 @SYMTestPriority High |
|
347 @SYMTestActions Invokes RMobileSmsMessaging::SendMessage |
|
348 @SYMTestExpectedResults Pass |
|
349 @SYMTestType CT |
|
350 */ |
|
351 void CCTsySmsMessagingFU::TestSendMessage0001L() |
|
352 { |
|
353 |
|
354 OpenEtelServerL(EUseExtendedError); |
|
355 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
356 OpenPhoneL(); |
|
357 |
|
358 RBuf8 data; |
|
359 CleanupClosePushL(data); |
|
360 |
|
361 RMobileSmsMessaging messaging; |
|
362 TInt err = messaging.Open(iPhone); |
|
363 ASSERT_EQUALS(KErrNone, err); |
|
364 CleanupClosePushL(messaging); |
|
365 |
|
366 //------------------------------------------------------------------------- |
|
367 // TEST A: failure to dispatch request to LTSY |
|
368 //------------------------------------------------------------------------- |
|
369 |
|
370 _LIT8(KMessage, "Merry christmas"); |
|
371 TBuf8<32> tmpName(KMessage); |
|
372 |
|
373 TRequestStatus reqStatus; |
|
374 RMobileSmsMessaging::TMobileSmsSendAttributesV1 expectSmsAttr; |
|
375 RMobileSmsMessaging::TMobileSmsSendAttributesV1 smsAttr; |
|
376 RMobileSmsMessaging::TMobileSmsSendAttributesV1Pckg smsAttrPckg(smsAttr); |
|
377 |
|
378 TSendSmsDataAndAttributes dataAndAttr; |
|
379 dataAndAttr.iIpc = EMobileSmsMessagingSendMessage; |
|
380 dataAndAttr.iAttributes = &expectSmsAttr; |
|
381 dataAndAttr.iMsgData = &tmpName; |
|
382 |
|
383 TMockLtsyData1<TSendSmsDataAndAttributes> expTsyData(dataAndAttr); |
|
384 expTsyData.SerialiseL(data); |
|
385 |
|
386 iMockLTSY.ExpectL(EMobileSmsMessagingSendMessage, data, KErrNotSupported); |
|
387 messaging.SendMessage(reqStatus, tmpName, smsAttrPckg); |
|
388 |
|
389 User::WaitForRequest(reqStatus); |
|
390 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()); |
|
391 |
|
392 AssertMockLtsyStatusL(); |
|
393 |
|
394 //------------------------------------------------------------------------- |
|
395 // TEST B1: failure on completion of pending request from LTSY->CTSY |
|
396 //------------------------------------------------------------------------- |
|
397 |
|
398 iMockLTSY.ExpectL(EMobileSmsMessagingSendMessage, data); |
|
399 |
|
400 const TInt16 KMsgRef(25); |
|
401 TInt16 msgRef(KMsgRef); |
|
402 TBuf8<RMobileSmsMessaging::KGsmTpduSize> smsMsg(KMessage); |
|
403 |
|
404 TMockLtsyData2<TInt16, TBuf8<RMobileSmsMessaging::KGsmTpduSize> > compTsyData(msgRef, smsMsg); |
|
405 data.Close(); |
|
406 compTsyData.SerialiseL(data); |
|
407 |
|
408 iMockLTSY.CompleteL(EMobileSmsMessagingSendMessage, KErrGeneral, data, 10); |
|
409 messaging.SendMessage(reqStatus, tmpName, smsAttrPckg); |
|
410 |
|
411 data.Close(); |
|
412 expTsyData.SerialiseL(data); |
|
413 |
|
414 // complete request by error passing to HandleRequest() in ResendSms() |
|
415 iMockLTSY.ExpectL(EMobileSmsMessagingSendMessage, data, KErrNotSupported); |
|
416 |
|
417 User::WaitForRequest(reqStatus); |
|
418 ASSERT_EQUALS(KErrGeneral, reqStatus.Int()); |
|
419 |
|
420 AssertMockLtsyStatusL(); |
|
421 |
|
422 //------------------------------------------------------------------------- |
|
423 // TEST B2: failure on completion of pending request from LTSY->CTSY |
|
424 //------------------------------------------------------------------------- |
|
425 |
|
426 // the API makes 3 attemps to make the EMobileSmsMessagingSendMessage request |
|
427 // we complete all of them with KErrGeneral |
|
428 |
|
429 iMockLTSY.ExpectL(EMobileSmsMessagingSendMessage, data); |
|
430 |
|
431 data.Close(); |
|
432 compTsyData.SerialiseL(data); |
|
433 |
|
434 iMockLTSY.CompleteL(EMobileSmsMessagingSendMessage, KErrGeneral, data, 10); |
|
435 messaging.SendMessage(reqStatus, tmpName, smsAttrPckg); |
|
436 |
|
437 data.Close(); |
|
438 expTsyData.SerialiseL(data); |
|
439 |
|
440 iMockLTSY.ExpectL(EMobileSmsMessagingSendMessage, data); |
|
441 |
|
442 data.Close(); |
|
443 compTsyData.SerialiseL(data); |
|
444 |
|
445 iMockLTSY.CompleteL(EMobileSmsMessagingSendMessage, KErrGeneral, data, 10); |
|
446 |
|
447 data.Close(); |
|
448 expTsyData.SerialiseL(data); |
|
449 |
|
450 iMockLTSY.ExpectL(EMobileSmsMessagingSendMessage, data); |
|
451 |
|
452 data.Close(); |
|
453 compTsyData.SerialiseL(data); |
|
454 |
|
455 iMockLTSY.CompleteL(EMobileSmsMessagingSendMessage, KErrGeneral, data, 10); |
|
456 |
|
457 User::WaitForRequest(reqStatus); |
|
458 ASSERT_EQUALS(KErrGeneral, reqStatus.Int()); |
|
459 |
|
460 AssertMockLtsyStatusL(); |
|
461 |
|
462 //------------------------------------------------------------------------- |
|
463 // TEST C: Successful completion request of |
|
464 // RMobileSmsMessaging::SendMessage when result is not cached. |
|
465 //------------------------------------------------------------------------- |
|
466 |
|
467 _LIT8(KSubmit, "Submit"); |
|
468 _LIT(KNum, "+441632960000"); |
|
469 |
|
470 smsAttr.iGsmServiceCentre.iTypeOfNumber = RMobilePhone::EInternationalNumber; |
|
471 smsAttr.iGsmServiceCentre.iNumberPlan = RMobilePhone::EIsdnNumberPlan; |
|
472 smsAttr.iGsmServiceCentre.iTelNumber.Copy(KNum); |
|
473 smsAttr.iCdmaServiceCategory = 0; |
|
474 smsAttr.iCdmaTeleservice = 0; |
|
475 smsAttr.iDataFormat = RMobileSmsMessaging::EFormatGsmTpdu; |
|
476 smsAttr.iFlags = 0; |
|
477 smsAttr.iMsgRef = 0; |
|
478 smsAttr.iSubmitReport = KSubmit; |
|
479 smsAttr.iMore = EFalse; |
|
480 smsAttr.iDestination.iTypeOfNumber = RMobilePhone::EInternationalNumber; |
|
481 smsAttr.iDestination.iNumberPlan = RMobilePhone::EIsdnNumberPlan; |
|
482 smsAttr.iDestination.iTelNumber.Copy(KNum); |
|
483 |
|
484 expectSmsAttr = smsAttr; |
|
485 |
|
486 data.Close(); |
|
487 expTsyData.SerialiseL(data); |
|
488 |
|
489 iMockLTSY.ExpectL(EMobileSmsMessagingSendMessage, data); |
|
490 |
|
491 data.Close(); |
|
492 compTsyData.SerialiseL(data); |
|
493 |
|
494 iMockLTSY.CompleteL(EMobileSmsMessagingSendMessage, KErrNone, data, 10); |
|
495 |
|
496 messaging.SendMessage(reqStatus, tmpName, smsAttrPckg); |
|
497 |
|
498 User::WaitForRequest(reqStatus); |
|
499 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
500 |
|
501 ASSERT_EQUALS(RMobilePhone::EInternationalNumber, smsAttr.iGsmServiceCentre.iTypeOfNumber); |
|
502 ASSERT_EQUALS(RMobilePhone::EIsdnNumberPlan, smsAttr.iGsmServiceCentre.iNumberPlan); |
|
503 ASSERT_EQUALS(0, smsAttr.iGsmServiceCentre.iTelNumber.Compare(KNum)); |
|
504 ASSERT_EQUALS(0, smsAttr.iCdmaServiceCategory); |
|
505 ASSERT_EQUALS(0, smsAttr.iCdmaTeleservice); |
|
506 ASSERT_EQUALS(RMobileSmsMessaging::EFormatGsmTpdu, smsAttr.iDataFormat); |
|
507 ASSERT_TRUE((RMobileSmsMessaging::KMessageReference | RMobileSmsMessaging::KGsmSubmitReport) |
|
508 == smsAttr.iFlags); |
|
509 ASSERT_TRUE(msgRef == smsAttr.iMsgRef); |
|
510 ASSERT_EQUALS(0, smsAttr.iSubmitReport.Compare(smsMsg)); |
|
511 ASSERT_TRUE(EFalse == smsAttr.iMore); |
|
512 ASSERT_EQUALS(RMobilePhone::EInternationalNumber, smsAttr.iDestination.iTypeOfNumber); |
|
513 ASSERT_EQUALS(RMobilePhone::EIsdnNumberPlan, smsAttr.iDestination.iNumberPlan); |
|
514 ASSERT_EQUALS(0, smsAttr.iDestination.iTelNumber.Compare(KNum)); |
|
515 |
|
516 AssertMockLtsyStatusL(); |
|
517 |
|
518 //------------------------------------------------------------------------- |
|
519 // TEST C2: Successful completion request of |
|
520 // RMobileSmsMessaging::SendMessage when result is not cached. |
|
521 //------------------------------------------------------------------------- |
|
522 |
|
523 smsAttr.iGsmServiceCentre.iTypeOfNumber = RMobilePhone::EInternationalNumber; |
|
524 smsAttr.iGsmServiceCentre.iNumberPlan = RMobilePhone::EIsdnNumberPlan; |
|
525 smsAttr.iGsmServiceCentre.iTelNumber.Copy(KNum); |
|
526 smsAttr.iCdmaServiceCategory = 0; |
|
527 smsAttr.iCdmaTeleservice = 0; |
|
528 smsAttr.iDataFormat = RMobileSmsMessaging::EFormatGsmTpdu; |
|
529 smsAttr.iFlags = 0; |
|
530 smsAttr.iMsgRef = 0; |
|
531 smsAttr.iSubmitReport = KSubmit; |
|
532 smsAttr.iMore = EFalse; |
|
533 smsAttr.iDestination.iTypeOfNumber = RMobilePhone::EInternationalNumber; |
|
534 smsAttr.iDestination.iNumberPlan = RMobilePhone::EIsdnNumberPlan; |
|
535 smsAttr.iDestination.iTelNumber.Copy(KNum); |
|
536 |
|
537 expectSmsAttr = smsAttr; |
|
538 |
|
539 tmpName.SetLength(0); |
|
540 smsMsg.SetLength(0); |
|
541 |
|
542 data.Close(); |
|
543 expTsyData.SerialiseL(data); |
|
544 |
|
545 iMockLTSY.ExpectL(EMobileSmsMessagingSendMessage, data); |
|
546 |
|
547 data.Close(); |
|
548 compTsyData.SerialiseL(data); |
|
549 |
|
550 iMockLTSY.CompleteL(EMobileSmsMessagingSendMessage, KErrNone, data, 10); |
|
551 |
|
552 messaging.SendMessage(reqStatus, tmpName, smsAttrPckg); |
|
553 |
|
554 User::WaitForRequest(reqStatus); |
|
555 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
556 |
|
557 ASSERT_EQUALS(RMobilePhone::EInternationalNumber, smsAttr.iGsmServiceCentre.iTypeOfNumber); |
|
558 ASSERT_EQUALS(RMobilePhone::EIsdnNumberPlan, smsAttr.iGsmServiceCentre.iNumberPlan); |
|
559 ASSERT_EQUALS(0, smsAttr.iGsmServiceCentre.iTelNumber.Compare(KNum)); |
|
560 ASSERT_EQUALS(0, smsAttr.iCdmaServiceCategory); |
|
561 ASSERT_EQUALS(0, smsAttr.iCdmaTeleservice); |
|
562 ASSERT_EQUALS(RMobileSmsMessaging::EFormatGsmTpdu, smsAttr.iDataFormat); |
|
563 ASSERT_TRUE(RMobileSmsMessaging::KMessageReference == smsAttr.iFlags); |
|
564 ASSERT_TRUE(KMsgRef == smsAttr.iMsgRef); |
|
565 ASSERT_EQUALS(0, smsAttr.iSubmitReport.Compare(KSubmit)); |
|
566 ASSERT_TRUE(EFalse == smsAttr.iMore); |
|
567 ASSERT_EQUALS(RMobilePhone::EInternationalNumber, smsAttr.iDestination.iTypeOfNumber); |
|
568 ASSERT_EQUALS(RMobilePhone::EIsdnNumberPlan, smsAttr.iDestination.iNumberPlan); |
|
569 ASSERT_EQUALS(0, smsAttr.iDestination.iTelNumber.Compare(KNum)); |
|
570 |
|
571 AssertMockLtsyStatusL(); |
|
572 |
|
573 //------------------------------------------------------------------------- |
|
574 // TEST E: Unsolicited completion of RMobileSmsMessaging::SendMessage |
|
575 // from LTSY. |
|
576 //------------------------------------------------------------------------- |
|
577 |
|
578 TRequestStatus mockLtsyStatus; |
|
579 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
580 |
|
581 iMockLTSY.CompleteL(EMobileSmsMessagingSendMessage, KErrNone, data, 10); |
|
582 |
|
583 User::WaitForRequest(mockLtsyStatus); |
|
584 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
585 |
|
586 AssertMockLtsyStatusL(); |
|
587 |
|
588 CleanupStack::PopAndDestroy(3, this); |
|
589 |
|
590 } |
|
591 |
|
592 |
|
593 /** |
|
594 @SYMTestCaseID BA-CTSY-SMSM-SSM-0002 |
|
595 @SYMComponent telephony_ctsy |
|
596 @SYMTestCaseDesc Test support in CTSY for cancelling of RMobileSmsMessaging::SendMessage |
|
597 @SYMTestPriority High |
|
598 @SYMTestActions Invokes cancelling of RMobileSmsMessaging::SendMessage |
|
599 @SYMTestExpectedResults Pass |
|
600 @SYMTestType CT |
|
601 */ |
|
602 void CCTsySmsMessagingFU::TestSendMessage0002L() |
|
603 { |
|
604 |
|
605 OpenEtelServerL(EUseExtendedError); |
|
606 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
607 OpenPhoneL(); |
|
608 |
|
609 RMobileSmsMessaging messaging; |
|
610 TInt err = messaging.Open(iPhone); |
|
611 ASSERT_EQUALS(KErrNone, err); |
|
612 CleanupClosePushL(messaging); |
|
613 |
|
614 TRequestStatus mockLtsyStatus; |
|
615 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
616 |
|
617 RBuf8 data; |
|
618 CleanupClosePushL(data); |
|
619 |
|
620 _LIT8(KMessage, "Merry christmas"); |
|
621 TBuf8<32> tmpName(KMessage); |
|
622 |
|
623 TRequestStatus reqStatus; |
|
624 RMobileSmsMessaging::TMobileSmsSendAttributesV1 smsAttr; |
|
625 RMobileSmsMessaging::TMobileSmsSendAttributesV1Pckg smsAttrPckg(smsAttr); |
|
626 |
|
627 TSendSmsDataAndAttributes dataAndAttr; |
|
628 dataAndAttr.iIpc = EMobileSmsMessagingSendMessage; |
|
629 dataAndAttr.iAttributes = &smsAttr; |
|
630 dataAndAttr.iMsgData = &tmpName; |
|
631 |
|
632 TMockLtsyData1<TSendSmsDataAndAttributes> expTsyData(dataAndAttr); |
|
633 expTsyData.SerialiseL(data); |
|
634 |
|
635 //------------------------------------------------------------------------- |
|
636 // Test cancelling of RMobileSmsMessaging::SendMessage |
|
637 //------------------------------------------------------------------------- |
|
638 |
|
639 iMockLTSY.ExpectL(EMobileSmsMessagingSendMessage, data); |
|
640 |
|
641 const TInt16 KMsgRef(25); |
|
642 TInt16 msgRef(KMsgRef); |
|
643 TBuf8<RMobileSmsMessaging::KGsmTpduSize> smsMsg(KMessage); |
|
644 TMockLtsyData2<TInt16, TBuf8<RMobileSmsMessaging::KGsmTpduSize> > compTsyData(msgRef, smsMsg); |
|
645 data.Close(); |
|
646 compTsyData.SerialiseL(data); |
|
647 |
|
648 iMockLTSY.CompleteL(EMobileSmsMessagingSendMessage, KErrNone, data, 10); |
|
649 |
|
650 messaging.SendMessage(reqStatus, tmpName, smsAttrPckg); |
|
651 |
|
652 messaging.CancelAsyncRequest(EMobileSmsMessagingSendMessage); |
|
653 |
|
654 User::WaitForRequest(reqStatus); |
|
655 // cancel does not work for SendMessage(), this is correct |
|
656 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
657 |
|
658 // Wait for completion of iMockLTSY.NotifyTerminated |
|
659 User::WaitForRequest(mockLtsyStatus); |
|
660 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
661 |
|
662 AssertMockLtsyStatusL(); |
|
663 |
|
664 CleanupStack::PopAndDestroy(3); |
|
665 |
|
666 } |
|
667 |
|
668 |
|
669 /** |
|
670 @SYMTestCaseID BA-CTSY-SMSM-SSM-0003 |
|
671 @SYMComponent telephony_ctsy |
|
672 @SYMTestCaseDesc Test support in CTSY for RMobileSmsMessaging::SendMessage with bad parameter data |
|
673 @SYMTestPriority High |
|
674 @SYMTestActions Invokes RMobileSmsMessaging::SendMessage with bad parameter data |
|
675 @SYMTestExpectedResults Pass |
|
676 @SYMTestType CT |
|
677 */ |
|
678 void CCTsySmsMessagingFU::TestSendMessage0003L() |
|
679 { |
|
680 OpenEtelServerL(EUseExtendedError); |
|
681 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
682 OpenPhoneL(); |
|
683 |
|
684 RMobileSmsMessaging messaging; |
|
685 TInt err = messaging.Open(iPhone); |
|
686 ASSERT_EQUALS(KErrNone, err); |
|
687 CleanupClosePushL(messaging); |
|
688 |
|
689 TRequestStatus reqStatus; |
|
690 TBuf8<1> tmpName; |
|
691 TInt smsAttr(1); |
|
692 TPckg<TInt8> badSmsAttrPckg(smsAttr); |
|
693 |
|
694 messaging.SendMessage(reqStatus, tmpName, badSmsAttrPckg); |
|
695 |
|
696 User::WaitForRequest(reqStatus); |
|
697 ASSERT_EQUALS(KErrArgument, reqStatus.Int()); |
|
698 |
|
699 AssertMockLtsyStatusL(); |
|
700 CleanupStack::PopAndDestroy(2); // messaging, this |
|
701 } |
|
702 |
|
703 |
|
704 /** |
|
705 @SYMTestCaseID BA-CTSY-SMSM-SSM-0004 |
|
706 @SYMComponent telephony_ctsy |
|
707 @SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileSmsMessaging::SendMessage |
|
708 @SYMTestPriority High |
|
709 @SYMTestActions Invokes multiple client requests to RMobileSmsMessaging::SendMessage |
|
710 @SYMTestExpectedResults Pass |
|
711 @SYMTestType CT |
|
712 */ |
|
713 void CCTsySmsMessagingFU::TestSendMessage0004L() |
|
714 { |
|
715 |
|
716 OpenEtelServerL(EUseExtendedError); |
|
717 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
718 OpenPhoneL(); |
|
719 |
|
720 RMobileSmsMessaging messaging; |
|
721 TInt err = messaging.Open(iPhone); |
|
722 ASSERT_EQUALS(KErrNone, err); |
|
723 CleanupClosePushL(messaging); |
|
724 |
|
725 RTelServer telServer2; |
|
726 TInt ret = telServer2.Connect(); |
|
727 ASSERT_EQUALS(KErrNone, ret); |
|
728 CleanupClosePushL(telServer2); |
|
729 |
|
730 RMobilePhone phone2; |
|
731 ret = phone2.Open(telServer2,KMmTsyPhoneName); |
|
732 ASSERT_EQUALS(KErrNone, ret); |
|
733 CleanupClosePushL(phone2); |
|
734 |
|
735 RMobileSmsMessaging messaging2; |
|
736 err = messaging2.Open(phone2); |
|
737 ASSERT_EQUALS(KErrNone, err); |
|
738 CleanupClosePushL(messaging2); |
|
739 |
|
740 RBuf8 data; |
|
741 CleanupClosePushL(data); |
|
742 |
|
743 RBuf8 data2; |
|
744 CleanupClosePushL(data2); |
|
745 |
|
746 _LIT8(KMessage, "Merry christmas"); |
|
747 _LIT8(KMessage2, "Merry christmas2"); |
|
748 TBuf8<32> tmpName(KMessage); |
|
749 TBuf8<32> tmpName2(KMessage2); |
|
750 |
|
751 TRequestStatus reqStatus; |
|
752 RMobileSmsMessaging::TMobileSmsSendAttributesV1 smsAttr; |
|
753 RMobileSmsMessaging::TMobileSmsSendAttributesV1Pckg smsAttrPckg(smsAttr); |
|
754 |
|
755 TRequestStatus reqStatus2; |
|
756 RMobileSmsMessaging::TMobileSmsSendAttributesV1 smsAttr2; |
|
757 RMobileSmsMessaging::TMobileSmsSendAttributesV1Pckg smsAttrPckg2(smsAttr2); |
|
758 |
|
759 TSendSmsDataAndAttributes dataAndAttr; |
|
760 dataAndAttr.iIpc = EMobileSmsMessagingSendMessage; |
|
761 dataAndAttr.iAttributes = &smsAttr; |
|
762 dataAndAttr.iMsgData = &tmpName; |
|
763 |
|
764 TMockLtsyData1<TSendSmsDataAndAttributes> expTsyData(dataAndAttr); |
|
765 expTsyData.SerialiseL(data); |
|
766 |
|
767 |
|
768 iMockLTSY.ExpectL(EMobileSmsMessagingSendMessage, data); |
|
769 |
|
770 const TInt16 KMsgRef(25); |
|
771 TInt16 msgRef(KMsgRef); |
|
772 TBuf8<RMobileSmsMessaging::KGsmTpduSize> smsMsg(KMessage); |
|
773 TMockLtsyData2<TInt16, TBuf8<RMobileSmsMessaging::KGsmTpduSize> > compTsyData(msgRef, smsMsg); |
|
774 data.Close(); |
|
775 compTsyData.SerialiseL(data); |
|
776 |
|
777 iMockLTSY.CompleteL(EMobileSmsMessagingSendMessage, KErrNone, data); |
|
778 |
|
779 messaging.SendMessage(reqStatus, tmpName, smsAttrPckg); |
|
780 |
|
781 messaging2.SendMessage(reqStatus2, tmpName2, smsAttrPckg2); |
|
782 |
|
783 User::WaitForRequest(reqStatus); |
|
784 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
785 |
|
786 User::WaitForRequest(reqStatus2); |
|
787 ASSERT_EQUALS(KErrServerBusy, reqStatus2.Int()); |
|
788 |
|
789 AssertMockLtsyStatusL(); |
|
790 |
|
791 CleanupStack::PopAndDestroy(7); |
|
792 |
|
793 } |
|
794 |
|
795 |
|
796 /** |
|
797 @SYMTestCaseID BA-CTSY-SMSM-SSM-0005 |
|
798 @SYMComponent telephony_ctsy |
|
799 @SYMTestCaseDesc Test support in CTSY for RMobileSmsMessaging::SendMessage with timeout |
|
800 @SYMTestPriority High |
|
801 @SYMTestActions Invokes RMobileSmsMessaging::SendMessage and tests for timeout |
|
802 @SYMTestExpectedResults Pass |
|
803 @SYMTestType CT |
|
804 */ |
|
805 void CCTsySmsMessagingFU::TestSendMessage0005L() |
|
806 { |
|
807 |
|
808 OpenEtelServerL(EUseExtendedError); |
|
809 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
810 OpenPhoneL(); |
|
811 |
|
812 RMobileSmsMessaging messaging; |
|
813 TInt err = messaging.Open(iPhone); |
|
814 ASSERT_EQUALS(KErrNone, err); |
|
815 CleanupClosePushL(messaging); |
|
816 |
|
817 RBuf8 data; |
|
818 CleanupClosePushL(data); |
|
819 |
|
820 _LIT8(KMessage, "Merry christmas"); |
|
821 TBuf8<32> tmpName(KMessage); |
|
822 |
|
823 TRequestStatus reqStatus; |
|
824 RMobileSmsMessaging::TMobileSmsSendAttributesV1 smsAttr; |
|
825 RMobileSmsMessaging::TMobileSmsSendAttributesV1Pckg smsAttrPckg(smsAttr); |
|
826 |
|
827 TSendSmsDataAndAttributes dataAndAttr; |
|
828 dataAndAttr.iIpc = EMobileSmsMessagingSendMessage; |
|
829 dataAndAttr.iAttributes = &smsAttr; |
|
830 dataAndAttr.iMsgData = &tmpName; |
|
831 |
|
832 TMockLtsyData1<TSendSmsDataAndAttributes> expTsyData(dataAndAttr); |
|
833 expTsyData.SerialiseL(data); |
|
834 |
|
835 iMockLTSY.ExpectL(EMobileSmsMessagingSendMessage, data); |
|
836 |
|
837 messaging.SendMessage(reqStatus, tmpName, smsAttrPckg); |
|
838 |
|
839 User::WaitForRequest(reqStatus); |
|
840 ASSERT_EQUALS(KErrTimedOut, reqStatus.Int()); |
|
841 |
|
842 AssertMockLtsyStatusL(); |
|
843 |
|
844 CleanupStack::PopAndDestroy(3); |
|
845 |
|
846 } |
|
847 |
|
848 |
|
849 /** |
|
850 @SYMTestCaseID BA-CTSY-SMSM-SASS-0001 |
|
851 @SYMComponent telephony_ctsy |
|
852 @SYMTestCaseDesc Test support in CTSY for RMobileSmsMessaging::AckSmsStored |
|
853 @SYMTestPriority High |
|
854 @SYMTestActions Invokes RMobileSmsMessaging::AckSmsStored |
|
855 @SYMTestExpectedResults Pass |
|
856 @SYMTestType CT |
|
857 */ |
|
858 void CCTsySmsMessagingFU::TestAckSmsStored0001L() |
|
859 { |
|
860 |
|
861 OpenEtelServerL(EUseExtendedError); |
|
862 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
863 OpenPhoneL(); |
|
864 |
|
865 RMobileSmsMessaging messaging; |
|
866 TInt err = messaging.Open(iPhone); |
|
867 ASSERT_EQUALS(KErrNone, err); |
|
868 CleanupClosePushL(messaging); |
|
869 |
|
870 RBuf8 data; |
|
871 CleanupClosePushL(data); |
|
872 |
|
873 |
|
874 _LIT8(KMessage, "Happy New Year"); |
|
875 |
|
876 TRequestStatus reqStatus; |
|
877 TRequestStatus mockLtsyStatus; |
|
878 |
|
879 TDesC8* msgPtr = const_cast<TDesC8*>(&KMessage); |
|
880 |
|
881 TMockLtsyData1<TDesC8*> expTsyData(msgPtr); |
|
882 |
|
883 TDesC8* zeroPtr(NULL); |
|
884 TMockLtsyData1<TDesC8*> expZeroTsyData(zeroPtr); |
|
885 |
|
886 //------------------------------------------------------------------------- |
|
887 // TEST A1: check AckSmsStored() when acknoledgement is not expected |
|
888 //------------------------------------------------------------------------- |
|
889 |
|
890 expTsyData.SerialiseL(data); |
|
891 |
|
892 messaging.AckSmsStored(reqStatus, KMessage, ETrue); |
|
893 |
|
894 User::WaitForRequest(reqStatus); |
|
895 ASSERT_EQUALS(KErrNotReady, reqStatus.Int()); |
|
896 |
|
897 AssertMockLtsyStatusL(); |
|
898 |
|
899 //------------------------------------------------------------------------- |
|
900 // TEST A2: unsuccessful acknoledgement request to the network |
|
901 //------------------------------------------------------------------------- |
|
902 |
|
903 // make the server expect an acknowledgement |
|
904 TRequestStatus reqReceiveStatus; |
|
905 RMobileSmsMessaging::TMobileSmsReceiveAttributesV1 receiveAttr; |
|
906 RMobileSmsMessaging::TMobileSmsReceiveAttributesV1Pckg receiveAttrPckg(receiveAttr); |
|
907 |
|
908 TUint8 smsRoutingStatus ( KSmsRoutingActivated ); |
|
909 TMockLtsyData1<TUint8> compSmsRoutingTsyData(smsRoutingStatus); |
|
910 data.Close(); |
|
911 compSmsRoutingTsyData.SerialiseL(data); |
|
912 |
|
913 iMockLTSY.ExpectL(EMmTsyActivateSmsRouting); |
|
914 iMockLTSY.CompleteL(EMmTsyActivateSmsRouting, KErrNone, data); |
|
915 |
|
916 TBuf8<100> forMsg; |
|
917 |
|
918 TSmsMsg smsMsg; |
|
919 TSmsMsg* smsMsgPtr(&smsMsg); |
|
920 TBool ind(EFalse); |
|
921 |
|
922 smsMsg.iSmsClass2 = ETrue; |
|
923 smsMsg.iDeleteAfterClientAck = ETrue; |
|
924 smsMsg.iSmsMsg.Copy(KMessage); |
|
925 |
|
926 TMockLtsyData2<TBool, TSmsMsg*> compTsyData(ind, smsMsgPtr); |
|
927 data.Close(); |
|
928 compTsyData.SerialiseL(data); |
|
929 |
|
930 iMockLTSY.CompleteL(EMobileSmsMessagingReceiveMessage, KErrNone, data); |
|
931 |
|
932 messaging.ReceiveMessage(reqReceiveStatus, forMsg, receiveAttrPckg); |
|
933 User::WaitForRequest(reqReceiveStatus); |
|
934 ASSERT_EQUALS(KErrNone, reqReceiveStatus.Int()); |
|
935 |
|
936 // The server now is expecting the acknowledgement |
|
937 |
|
938 data.Close(); |
|
939 expTsyData.SerialiseL(data); |
|
940 iMockLTSY.ExpectL(EMobileSmsMessagingAckSmsStored, data, KErrGeneral); |
|
941 |
|
942 messaging.AckSmsStored(reqStatus, KMessage, EFalse); |
|
943 |
|
944 User::WaitForRequest(reqStatus); |
|
945 ASSERT_EQUALS(KErrGeneral, reqStatus.Int()); |
|
946 |
|
947 AssertMockLtsyStatusL(); |
|
948 |
|
949 //------------------------------------------------------------------------- |
|
950 // TEST A3: unsuccessful acknoledgement completion |
|
951 //------------------------------------------------------------------------- |
|
952 |
|
953 // make the server expect an acknowledgement |
|
954 data.Close(); |
|
955 compSmsRoutingTsyData.SerialiseL(data); |
|
956 |
|
957 iMockLTSY.ExpectL(EMmTsyActivateSmsRouting); |
|
958 iMockLTSY.CompleteL(EMmTsyActivateSmsRouting, KErrNone, data); |
|
959 |
|
960 data.Close(); |
|
961 compTsyData.SerialiseL(data); |
|
962 |
|
963 iMockLTSY.CompleteL(EMobileSmsMessagingReceiveMessage, KErrNone, data); |
|
964 |
|
965 messaging.ReceiveMessage(reqReceiveStatus, forMsg, receiveAttrPckg); |
|
966 User::WaitForRequest(reqReceiveStatus); |
|
967 ASSERT_EQUALS(KErrNone, reqReceiveStatus.Int()); |
|
968 |
|
969 // The server now is expecting the acknowledgement |
|
970 |
|
971 data.Close(); |
|
972 expTsyData.SerialiseL(data); |
|
973 iMockLTSY.ExpectL(EMobileSmsMessagingAckSmsStored, data); |
|
974 |
|
975 iMockLTSY.CompleteL(EMobileSmsMessagingAckSmsStored, KErrGeneral); |
|
976 |
|
977 messaging.AckSmsStored(reqStatus, KMessage, EFalse); |
|
978 |
|
979 User::WaitForRequest(reqStatus); |
|
980 ASSERT_EQUALS(KErrGeneral, reqStatus.Int()); |
|
981 |
|
982 AssertMockLtsyStatusL(); |
|
983 |
|
984 |
|
985 //------------------------------------------------------------------------- |
|
986 // TEST B1, test AckSmsStored() when there are sms received |
|
987 // that have iDeleteAfterClientAck = true |
|
988 //------------------------------------------------------------------------- |
|
989 |
|
990 // make the server expect an acknowledgement |
|
991 messaging.ReceiveMessage(reqReceiveStatus, forMsg, receiveAttrPckg); |
|
992 |
|
993 data.Close(); |
|
994 compTsyData.SerialiseL(data); |
|
995 |
|
996 iMockLTSY.CompleteL(EMobileSmsMessagingReceiveMessage, KErrNone, data); |
|
997 |
|
998 User::WaitForRequest(reqReceiveStatus); |
|
999 ASSERT_EQUALS(KErrNone, reqReceiveStatus.Int()); |
|
1000 |
|
1001 // The server now is expecting the acknowledgement |
|
1002 |
|
1003 data.Close(); |
|
1004 expTsyData.SerialiseL(data); |
|
1005 |
|
1006 iMockLTSY.ExpectL(EMobileSmsMessagingAckSmsStored, data); |
|
1007 iMockLTSY.CompleteL(EMobileSmsMessagingAckSmsStored, KErrNone); |
|
1008 |
|
1009 messaging.AckSmsStored(reqStatus, KMessage, EFalse); |
|
1010 User::WaitForRequest(reqStatus); |
|
1011 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
1012 |
|
1013 AssertMockLtsyStatusL(); |
|
1014 |
|
1015 |
|
1016 //------------------------------------------------------------------------- |
|
1017 // TEST B2, check AckSmsStored() when there are sms received |
|
1018 // but they have iDeleteAfterClientAck = false |
|
1019 //------------------------------------------------------------------------- |
|
1020 |
|
1021 // make the server expect an acknowledgement |
|
1022 messaging.ReceiveMessage(reqReceiveStatus, forMsg, receiveAttrPckg); |
|
1023 |
|
1024 smsMsg.iSmsClass2 = ETrue; |
|
1025 smsMsg.iDeleteAfterClientAck = EFalse; |
|
1026 smsMsg.iSmsMsg.Copy(KMessage); |
|
1027 |
|
1028 data.Close(); |
|
1029 compTsyData.SerialiseL(data); |
|
1030 |
|
1031 iMockLTSY.CompleteL(EMobileSmsMessagingReceiveMessage, KErrNone, data); |
|
1032 |
|
1033 User::WaitForRequest(reqReceiveStatus); |
|
1034 ASSERT_EQUALS(KErrNone, reqReceiveStatus.Int()); |
|
1035 |
|
1036 // The server now is expecting the acknowledgement |
|
1037 |
|
1038 data.Close(); |
|
1039 expTsyData.SerialiseL(data); |
|
1040 |
|
1041 iMockLTSY.ExpectL(EMobileSmsMessagingAckSmsStored, data); |
|
1042 iMockLTSY.CompleteL(EMobileSmsMessagingAckSmsStored, KErrNone); |
|
1043 |
|
1044 messaging.AckSmsStored(reqStatus, KMessage, EFalse); |
|
1045 |
|
1046 User::WaitForRequest(reqStatus); |
|
1047 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
1048 |
|
1049 AssertMockLtsyStatusL(); |
|
1050 |
|
1051 //------------------------------------------------------------------------- |
|
1052 // TEST E: Unsolicited completion of RMobileSmsMessaging::AckSmsStored |
|
1053 // from LTSY. |
|
1054 //------------------------------------------------------------------------- |
|
1055 |
|
1056 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
1057 |
|
1058 iMockLTSY.CompleteL(EMobileSmsMessagingAckSmsStored, KErrNone); |
|
1059 |
|
1060 User::WaitForRequest(mockLtsyStatus); |
|
1061 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
1062 |
|
1063 AssertMockLtsyStatusL(); |
|
1064 CleanupStack::PopAndDestroy(3, this); // data, messaging, this |
|
1065 |
|
1066 } |
|
1067 |
|
1068 |
|
1069 /** |
|
1070 @SYMTestCaseID BA-CTSY-SMSM-SASS-0002 |
|
1071 @SYMComponent telephony_ctsy |
|
1072 @SYMTestCaseDesc Test support in CTSY for cancelling of RMobileSmsMessaging::AckSmsStored |
|
1073 @SYMTestPriority High |
|
1074 @SYMTestActions Invokes cancelling of RMobileSmsMessaging::AckSmsStored |
|
1075 @SYMTestExpectedResults Pass |
|
1076 @SYMTestType CT |
|
1077 */ |
|
1078 void CCTsySmsMessagingFU::TestAckSmsStored0002L() |
|
1079 { |
|
1080 |
|
1081 OpenEtelServerL(EUseExtendedError); |
|
1082 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1083 OpenPhoneL(); |
|
1084 |
|
1085 RMobileSmsMessaging messaging; |
|
1086 TInt err = messaging.Open(iPhone); |
|
1087 ASSERT_EQUALS(KErrNone, err); |
|
1088 CleanupClosePushL(messaging); |
|
1089 |
|
1090 RBuf8 data; |
|
1091 CleanupClosePushL(data); |
|
1092 |
|
1093 TRequestStatus mockLtsyStatus; |
|
1094 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
1095 |
|
1096 _LIT8(KMessage, "Happy New Year"); |
|
1097 |
|
1098 // make the server expect an acknowledgement |
|
1099 TRequestStatus reqReceiveStatus; |
|
1100 RMobileSmsMessaging::TMobileSmsReceiveAttributesV1 receiveAttr; |
|
1101 RMobileSmsMessaging::TMobileSmsReceiveAttributesV1Pckg receiveAttrPckg(receiveAttr); |
|
1102 |
|
1103 TUint8 smsRoutingStatus ( KSmsRoutingActivated ); |
|
1104 TMockLtsyData1<TUint8> compSmsRoutingTsyData(smsRoutingStatus); |
|
1105 data.Close(); |
|
1106 compSmsRoutingTsyData.SerialiseL(data); |
|
1107 |
|
1108 iMockLTSY.ExpectL(EMmTsyActivateSmsRouting); |
|
1109 iMockLTSY.CompleteL(EMmTsyActivateSmsRouting, KErrNone, data); |
|
1110 |
|
1111 TBuf8<100> forMsg; |
|
1112 |
|
1113 TSmsMsg smsMsg; |
|
1114 TSmsMsg* smsMsgPtr(&smsMsg); |
|
1115 TBool ind(EFalse); |
|
1116 |
|
1117 smsMsg.iSmsClass2 = ETrue; |
|
1118 smsMsg.iDeleteAfterClientAck = ETrue; |
|
1119 smsMsg.iSmsMsg.Copy(KMessage); |
|
1120 |
|
1121 TMockLtsyData2<TBool, TSmsMsg*> compTsyData(ind, smsMsgPtr); |
|
1122 data.Close(); |
|
1123 compTsyData.SerialiseL(data); |
|
1124 |
|
1125 iMockLTSY.CompleteL(EMobileSmsMessagingReceiveMessage, KErrNone, data); |
|
1126 |
|
1127 messaging.ReceiveMessage(reqReceiveStatus, forMsg, receiveAttrPckg); |
|
1128 User::WaitForRequest(reqReceiveStatus); |
|
1129 ASSERT_EQUALS(KErrNone, reqReceiveStatus.Int()); |
|
1130 |
|
1131 // The server now is expecting the acknowledgement |
|
1132 |
|
1133 TRequestStatus reqStatus; |
|
1134 TDesC8* msgPtr = const_cast<TDesC8*>(&KMessage); |
|
1135 |
|
1136 TMockLtsyData1<TDesC8*> expTsyData(msgPtr); |
|
1137 |
|
1138 expTsyData.SerialiseL(data); |
|
1139 |
|
1140 iMockLTSY.ExpectL(EMobileSmsMessagingAckSmsStored, data); |
|
1141 iMockLTSY.CompleteL(EMobileSmsMessagingAckSmsStored, KErrNone); |
|
1142 |
|
1143 messaging.AckSmsStored(reqStatus, KMessage, ETrue); |
|
1144 |
|
1145 messaging.CancelAsyncRequest(EMobileSmsMessagingAckSmsStored); |
|
1146 |
|
1147 User::WaitForRequest(reqStatus); |
|
1148 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
1149 |
|
1150 // Wait for completion of iMockLTSY.NotifyTerminated |
|
1151 User::WaitForRequest(mockLtsyStatus); |
|
1152 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
1153 |
|
1154 AssertMockLtsyStatusL(); |
|
1155 |
|
1156 CleanupStack::PopAndDestroy(3); |
|
1157 |
|
1158 } |
|
1159 |
|
1160 /** |
|
1161 @SYMTestCaseID BA-CTSY-SMSM-SASS-0004 |
|
1162 @SYMComponent telephony_ctsy |
|
1163 @SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileSmsMessaging::AckSmsStored |
|
1164 @SYMTestPriority High |
|
1165 @SYMTestActions Invokes multiple client requests to RMobileSmsMessaging::AckSmsStored |
|
1166 @SYMTestExpectedResults Pass |
|
1167 @SYMTestType CT |
|
1168 */ |
|
1169 void CCTsySmsMessagingFU::TestAckSmsStored0004L() |
|
1170 { |
|
1171 |
|
1172 OpenEtelServerL(EUseExtendedError); |
|
1173 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1174 OpenPhoneL(); |
|
1175 |
|
1176 RBuf8 data; |
|
1177 CleanupClosePushL(data); |
|
1178 |
|
1179 // Open second client |
|
1180 RTelServer telServer2; |
|
1181 TInt ret = telServer2.Connect(); |
|
1182 ASSERT_EQUALS(KErrNone, ret); |
|
1183 CleanupClosePushL(telServer2); |
|
1184 |
|
1185 RMobilePhone phone2; |
|
1186 ret = phone2.Open(telServer2,KMmTsyPhoneName); |
|
1187 ASSERT_EQUALS(KErrNone, ret); |
|
1188 CleanupClosePushL(phone2); |
|
1189 |
|
1190 |
|
1191 RMobileSmsMessaging messaging; |
|
1192 TInt err = messaging.Open(iPhone); |
|
1193 ASSERT_EQUALS(KErrNone, err); |
|
1194 CleanupClosePushL(messaging); |
|
1195 |
|
1196 RMobileSmsMessaging messaging2; |
|
1197 err = messaging2.Open(phone2); |
|
1198 ASSERT_EQUALS(KErrNone, err); |
|
1199 CleanupClosePushL(messaging2); |
|
1200 |
|
1201 |
|
1202 _LIT8(KMessage, "Happy New Year"); |
|
1203 _LIT8(KMessage2, "Happy New Year2"); |
|
1204 |
|
1205 // make the server expect an acknowledgement |
|
1206 |
|
1207 TRequestStatus reqReceiveStatus; |
|
1208 RMobileSmsMessaging::TMobileSmsReceiveAttributesV1 receiveAttr; |
|
1209 RMobileSmsMessaging::TMobileSmsReceiveAttributesV1Pckg receiveAttrPckg(receiveAttr); |
|
1210 |
|
1211 TUint8 smsRoutingStatus ( KSmsRoutingActivated ); |
|
1212 TMockLtsyData1<TUint8> compSmsRoutingTsyData(smsRoutingStatus); |
|
1213 data.Close(); |
|
1214 compSmsRoutingTsyData.SerialiseL(data); |
|
1215 |
|
1216 iMockLTSY.ExpectL(EMmTsyActivateSmsRouting); |
|
1217 iMockLTSY.CompleteL(EMmTsyActivateSmsRouting, KErrNone, data); |
|
1218 |
|
1219 TBuf8<100> forMsg; |
|
1220 |
|
1221 TSmsMsg smsMsg; |
|
1222 TSmsMsg* smsMsgPtr(&smsMsg); |
|
1223 TBool ind(EFalse); |
|
1224 |
|
1225 smsMsg.iSmsClass2 = ETrue; |
|
1226 smsMsg.iDeleteAfterClientAck = ETrue; |
|
1227 smsMsg.iSmsMsg.Copy(KMessage); |
|
1228 |
|
1229 TMockLtsyData2<TBool, TSmsMsg*> compTsyData(ind, smsMsgPtr); |
|
1230 data.Close(); |
|
1231 compTsyData.SerialiseL(data); |
|
1232 |
|
1233 iMockLTSY.CompleteL(EMobileSmsMessagingReceiveMessage, KErrNone, data); |
|
1234 |
|
1235 messaging.ReceiveMessage(reqReceiveStatus, forMsg, receiveAttrPckg); |
|
1236 User::WaitForRequest(reqReceiveStatus); |
|
1237 ASSERT_EQUALS(KErrNone, reqReceiveStatus.Int()); |
|
1238 |
|
1239 // The server now is expecting the acknowledgement |
|
1240 |
|
1241 TRequestStatus reqStatus; |
|
1242 TRequestStatus reqStatus2; |
|
1243 |
|
1244 TDesC8* msgPtr = const_cast<TDesC8*>(&KMessage); |
|
1245 |
|
1246 TMockLtsyData1<TDesC8*> expTsyData(msgPtr); |
|
1247 |
|
1248 expTsyData.SerialiseL(data); |
|
1249 |
|
1250 iMockLTSY.ExpectL(EMobileSmsMessagingAckSmsStored, data); |
|
1251 iMockLTSY.CompleteL(EMobileSmsMessagingAckSmsStored, KErrNone, 10); |
|
1252 |
|
1253 messaging.AckSmsStored(reqStatus, KMessage, ETrue); |
|
1254 |
|
1255 messaging2.AckSmsStored(reqStatus2, KMessage2, ETrue); |
|
1256 |
|
1257 User::WaitForRequest(reqStatus); |
|
1258 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
1259 |
|
1260 User::WaitForRequest(reqStatus2); |
|
1261 ASSERT_EQUALS(KErrServerBusy, reqStatus2.Int()); |
|
1262 |
|
1263 AssertMockLtsyStatusL(); |
|
1264 |
|
1265 CleanupStack::PopAndDestroy(6, this); |
|
1266 |
|
1267 } |
|
1268 |
|
1269 |
|
1270 /** |
|
1271 @SYMTestCaseID BA-CTSY-SMSM-SASS-0005 |
|
1272 @SYMComponent telephony_ctsy |
|
1273 @SYMTestCaseDesc Test support in CTSY for RMobileSmsMessaging::AckSmsStored with timeout |
|
1274 @SYMTestPriority High |
|
1275 @SYMTestActions Invokes RMobileSmsMessaging::AckSmsStored and tests for timeout |
|
1276 @SYMTestExpectedResults Pass |
|
1277 @SYMTestType CT |
|
1278 */ |
|
1279 void CCTsySmsMessagingFU::TestAckSmsStored0005L() |
|
1280 { |
|
1281 |
|
1282 OpenEtelServerL(EUseExtendedError); |
|
1283 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1284 OpenPhoneL(); |
|
1285 |
|
1286 RMobileSmsMessaging messaging; |
|
1287 TInt err = messaging.Open(iPhone); |
|
1288 ASSERT_EQUALS(KErrNone, err); |
|
1289 CleanupClosePushL(messaging); |
|
1290 |
|
1291 RBuf8 data; |
|
1292 CleanupClosePushL(data); |
|
1293 |
|
1294 |
|
1295 _LIT8(KMessage, "Happy New Year"); |
|
1296 |
|
1297 // make the server expect an acknowledgement |
|
1298 |
|
1299 TRequestStatus reqReceiveStatus; |
|
1300 RMobileSmsMessaging::TMobileSmsReceiveAttributesV1 receiveAttr; |
|
1301 RMobileSmsMessaging::TMobileSmsReceiveAttributesV1Pckg receiveAttrPckg(receiveAttr); |
|
1302 |
|
1303 TUint8 smsRoutingStatus ( KSmsRoutingActivated ); |
|
1304 TMockLtsyData1<TUint8> compSmsRoutingTsyData(smsRoutingStatus); |
|
1305 data.Close(); |
|
1306 compSmsRoutingTsyData.SerialiseL(data); |
|
1307 |
|
1308 iMockLTSY.ExpectL(EMmTsyActivateSmsRouting); |
|
1309 iMockLTSY.CompleteL(EMmTsyActivateSmsRouting, KErrNone, data); |
|
1310 |
|
1311 TBuf8<100> forMsg; |
|
1312 |
|
1313 TSmsMsg smsMsg; |
|
1314 TSmsMsg* smsMsgPtr(&smsMsg); |
|
1315 TBool ind(EFalse); |
|
1316 |
|
1317 smsMsg.iSmsClass2 = ETrue; |
|
1318 smsMsg.iDeleteAfterClientAck = ETrue; |
|
1319 smsMsg.iSmsMsg.Copy(KMessage); |
|
1320 |
|
1321 TMockLtsyData2<TBool, TSmsMsg*> compTsyData(ind, smsMsgPtr); |
|
1322 data.Close(); |
|
1323 compTsyData.SerialiseL(data); |
|
1324 |
|
1325 iMockLTSY.CompleteL(EMobileSmsMessagingReceiveMessage, KErrNone, data); |
|
1326 |
|
1327 messaging.ReceiveMessage(reqReceiveStatus, forMsg, receiveAttrPckg); |
|
1328 User::WaitForRequest(reqReceiveStatus); |
|
1329 ASSERT_EQUALS(KErrNone, reqReceiveStatus.Int()); |
|
1330 |
|
1331 // The server now is expecting the acknowledgement |
|
1332 |
|
1333 TRequestStatus reqStatus; |
|
1334 TDesC8* msgPtr = const_cast<TDesC8*>(&KMessage); |
|
1335 |
|
1336 TMockLtsyData1<TDesC8*> expTsyData(msgPtr); |
|
1337 |
|
1338 expTsyData.SerialiseL(data); |
|
1339 |
|
1340 iMockLTSY.ExpectL(EMobileSmsMessagingAckSmsStored, data); |
|
1341 |
|
1342 messaging.AckSmsStored(reqStatus, KMessage, ETrue); |
|
1343 |
|
1344 User::WaitForRequest(reqStatus); |
|
1345 ASSERT_EQUALS(KErrTimedOut, reqStatus.Int()); |
|
1346 |
|
1347 AssertMockLtsyStatusL(); |
|
1348 |
|
1349 CleanupStack::PopAndDestroy(3, this); |
|
1350 } |
|
1351 |
|
1352 |
|
1353 /** |
|
1354 @SYMTestCaseID BA-CTSY-SMSM-SNSS-0001 |
|
1355 @SYMComponent telephony_ctsy |
|
1356 @SYMTestCaseDesc Test support in CTSY for RMobileSmsMessaging::NackSmsStored |
|
1357 @SYMTestPriority High |
|
1358 @SYMTestActions Invokes RMobileSmsMessaging::NackSmsStored |
|
1359 @SYMTestExpectedResults Pass |
|
1360 @SYMTestType CT |
|
1361 */ |
|
1362 void CCTsySmsMessagingFU::TestNackSmsStored0001L() |
|
1363 { |
|
1364 |
|
1365 OpenEtelServerL(EUseExtendedError); |
|
1366 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1367 OpenPhoneL(); |
|
1368 |
|
1369 RMobileSmsMessaging messaging; |
|
1370 TInt err = messaging.Open(iPhone); |
|
1371 ASSERT_EQUALS(KErrNone, err); |
|
1372 CleanupClosePushL(messaging); |
|
1373 |
|
1374 RBuf8 data; |
|
1375 CleanupClosePushL(data); |
|
1376 |
|
1377 |
|
1378 _LIT8(KMessage, "Happy New Year"); |
|
1379 |
|
1380 TRequestStatus reqStatus; |
|
1381 TRequestStatus mockLtsyStatus; |
|
1382 |
|
1383 TDesC8* msgPtr = const_cast<TDesC8*>(&KMessage); |
|
1384 TInt rpCause(0); |
|
1385 TMockLtsyData2<TDesC8*, TInt> expTsyData(msgPtr, rpCause); |
|
1386 |
|
1387 |
|
1388 //------------------------------------------------------------------------- |
|
1389 // TEST A1: check NackSmsStored() when acknoledgement is not expected |
|
1390 //------------------------------------------------------------------------- |
|
1391 |
|
1392 expTsyData.SerialiseL(data); |
|
1393 |
|
1394 messaging.NackSmsStored(reqStatus, KMessage, rpCause); |
|
1395 |
|
1396 User::WaitForRequest(reqStatus); |
|
1397 ASSERT_EQUALS(KErrNotReady, reqStatus.Int()); |
|
1398 |
|
1399 AssertMockLtsyStatusL(); |
|
1400 |
|
1401 //------------------------------------------------------------------------- |
|
1402 // TEST A2: unsuccessful completion |
|
1403 //------------------------------------------------------------------------- |
|
1404 |
|
1405 // make the server expect an acknowledgement |
|
1406 TRequestStatus reqReceiveStatus; |
|
1407 RMobileSmsMessaging::TMobileSmsReceiveAttributesV1 receiveAttr; |
|
1408 RMobileSmsMessaging::TMobileSmsReceiveAttributesV1Pckg receiveAttrPckg(receiveAttr); |
|
1409 |
|
1410 TUint8 smsRoutingStatus ( KSmsRoutingActivated ); |
|
1411 TMockLtsyData1<TUint8> compSmsRoutingTsyData(smsRoutingStatus); |
|
1412 data.Close(); |
|
1413 compSmsRoutingTsyData.SerialiseL(data); |
|
1414 |
|
1415 iMockLTSY.ExpectL(EMmTsyActivateSmsRouting); |
|
1416 iMockLTSY.CompleteL(EMmTsyActivateSmsRouting, KErrNone, data); |
|
1417 |
|
1418 TBuf8<100> forMsg; |
|
1419 |
|
1420 TSmsMsg smsMsg; |
|
1421 TSmsMsg* smsMsgPtr(&smsMsg); |
|
1422 TBool ind(EFalse); |
|
1423 |
|
1424 smsMsg.iSmsClass2 = ETrue; |
|
1425 smsMsg.iDeleteAfterClientAck = ETrue; |
|
1426 smsMsg.iSmsMsg.Copy(KMessage); |
|
1427 |
|
1428 TMockLtsyData2<TBool, TSmsMsg*> compTsyData(ind, smsMsgPtr); |
|
1429 data.Close(); |
|
1430 compTsyData.SerialiseL(data); |
|
1431 |
|
1432 iMockLTSY.CompleteL(EMobileSmsMessagingReceiveMessage, KErrNone, data); |
|
1433 |
|
1434 messaging.ReceiveMessage(reqReceiveStatus, forMsg, receiveAttrPckg); |
|
1435 User::WaitForRequest(reqReceiveStatus); |
|
1436 ASSERT_EQUALS(KErrNone, reqReceiveStatus.Int()); |
|
1437 |
|
1438 // The server now is expecting the acknowledgement |
|
1439 |
|
1440 data.Close(); |
|
1441 expTsyData.SerialiseL(data); |
|
1442 iMockLTSY.ExpectL(EMobileSmsMessagingNackSmsStored, data); |
|
1443 |
|
1444 iMockLTSY.CompleteL(EMobileSmsMessagingNackSmsStored, KErrGeneral); |
|
1445 |
|
1446 messaging.NackSmsStored(reqStatus, KMessage, rpCause); |
|
1447 |
|
1448 User::WaitForRequest(reqStatus); |
|
1449 ASSERT_EQUALS(KErrGeneral, reqStatus.Int()); |
|
1450 |
|
1451 AssertMockLtsyStatusL(); |
|
1452 |
|
1453 |
|
1454 //------------------------------------------------------------------------- |
|
1455 // TEST B1, test NackSmsStored() when there are sms received |
|
1456 // that have iDeleteAfterClientAck = true |
|
1457 //------------------------------------------------------------------------- |
|
1458 |
|
1459 // make the server expect an acknowledgement |
|
1460 messaging.ReceiveMessage(reqReceiveStatus, forMsg, receiveAttrPckg); |
|
1461 |
|
1462 smsMsg.iSmsClass2 = ETrue; |
|
1463 smsMsg.iDeleteAfterClientAck = ETrue; |
|
1464 smsMsg.iSmsMsg.Copy(KMessage); |
|
1465 |
|
1466 data.Close(); |
|
1467 compTsyData.SerialiseL(data); |
|
1468 |
|
1469 iMockLTSY.CompleteL(EMobileSmsMessagingReceiveMessage, KErrNone, data); |
|
1470 |
|
1471 User::WaitForRequest(reqReceiveStatus); |
|
1472 ASSERT_EQUALS(KErrNone, reqReceiveStatus.Int()); |
|
1473 |
|
1474 // The server now is expecting the acknowledgement |
|
1475 |
|
1476 data.Close(); |
|
1477 expTsyData.SerialiseL(data); |
|
1478 |
|
1479 iMockLTSY.ExpectL(EMobileSmsMessagingNackSmsStored, data); |
|
1480 iMockLTSY.CompleteL(EMobileSmsMessagingNackSmsStored, KErrNone); |
|
1481 |
|
1482 messaging.NackSmsStored(reqStatus, KMessage, rpCause); |
|
1483 |
|
1484 User::WaitForRequest(reqStatus); |
|
1485 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
1486 |
|
1487 AssertMockLtsyStatusL(); |
|
1488 |
|
1489 |
|
1490 //------------------------------------------------------------------------- |
|
1491 // TEST B2, check NackSmsStored() when there are sms received |
|
1492 // but they have iDeleteAfterClientAck = false |
|
1493 //------------------------------------------------------------------------- |
|
1494 |
|
1495 // make the server expect an acknowledgement |
|
1496 messaging.ReceiveMessage(reqReceiveStatus, forMsg, receiveAttrPckg); |
|
1497 |
|
1498 smsMsg.iSmsClass2 = ETrue; |
|
1499 smsMsg.iDeleteAfterClientAck = EFalse; |
|
1500 smsMsg.iSmsMsg.Copy(KMessage); |
|
1501 |
|
1502 data.Close(); |
|
1503 compTsyData.SerialiseL(data); |
|
1504 |
|
1505 iMockLTSY.CompleteL(EMobileSmsMessagingReceiveMessage, KErrNone, data); |
|
1506 |
|
1507 User::WaitForRequest(reqReceiveStatus); |
|
1508 ASSERT_EQUALS(KErrNone, reqReceiveStatus.Int()); |
|
1509 |
|
1510 // The server now is expecting the acknowledgement |
|
1511 |
|
1512 data.Close(); |
|
1513 expTsyData.SerialiseL(data); |
|
1514 |
|
1515 iMockLTSY.ExpectL(EMobileSmsMessagingNackSmsStored, data); |
|
1516 iMockLTSY.CompleteL(EMobileSmsMessagingNackSmsStored, KErrNone); |
|
1517 |
|
1518 messaging.NackSmsStored(reqStatus, KMessage, rpCause); |
|
1519 |
|
1520 User::WaitForRequest(reqStatus); |
|
1521 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
1522 |
|
1523 AssertMockLtsyStatusL(); |
|
1524 |
|
1525 //------------------------------------------------------------------------- |
|
1526 // TEST E: Unsolicited completion of RMobileSmsMessaging::AckSmsStored |
|
1527 // from LTSY. |
|
1528 //------------------------------------------------------------------------- |
|
1529 |
|
1530 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
1531 |
|
1532 iMockLTSY.CompleteL(EMobileSmsMessagingNackSmsStored, KErrNone); |
|
1533 |
|
1534 User::WaitForRequest(mockLtsyStatus); |
|
1535 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
1536 |
|
1537 AssertMockLtsyStatusL(); |
|
1538 CleanupStack::PopAndDestroy(3, this); // data, messaging, this |
|
1539 |
|
1540 } |
|
1541 |
|
1542 |
|
1543 /** |
|
1544 @SYMTestCaseID BA-CTSY-SMSM-SNSS-0002 |
|
1545 @SYMComponent telephony_ctsy |
|
1546 @SYMTestCaseDesc Test support in CTSY for cancelling of RMobileSmsMessaging::NackSmsStored |
|
1547 @SYMTestPriority High |
|
1548 @SYMTestActions Invokes cancelling of RMobileSmsMessaging::NackSmsStored |
|
1549 @SYMTestExpectedResults Pass |
|
1550 @SYMTestType CT |
|
1551 */ |
|
1552 void CCTsySmsMessagingFU::TestNackSmsStored0002L() |
|
1553 { |
|
1554 |
|
1555 OpenEtelServerL(EUseExtendedError); |
|
1556 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1557 OpenPhoneL(); |
|
1558 |
|
1559 RMobileSmsMessaging messaging; |
|
1560 TInt err = messaging.Open(iPhone); |
|
1561 ASSERT_EQUALS(KErrNone, err); |
|
1562 CleanupClosePushL(messaging); |
|
1563 |
|
1564 |
|
1565 TRequestStatus mockLtsyStatus; |
|
1566 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
1567 |
|
1568 RBuf8 data; |
|
1569 CleanupClosePushL(data); |
|
1570 |
|
1571 _LIT8(KMessage, "Happy New Year"); |
|
1572 |
|
1573 TRequestStatus reqStatus; |
|
1574 TDesC8* msgPtr = const_cast<TDesC8*>(&KMessage); |
|
1575 TInt rpCause(0); |
|
1576 |
|
1577 //------------------------------------------------------------------------- |
|
1578 // Test cancelling of RMobileSmsMessaging::NackSmsStored |
|
1579 //------------------------------------------------------------------------- |
|
1580 |
|
1581 // make the server expect an acknowledgement |
|
1582 TRequestStatus reqReceiveStatus; |
|
1583 RMobileSmsMessaging::TMobileSmsReceiveAttributesV1 receiveAttr; |
|
1584 RMobileSmsMessaging::TMobileSmsReceiveAttributesV1Pckg receiveAttrPckg(receiveAttr); |
|
1585 |
|
1586 TUint8 smsRoutingStatus ( KSmsRoutingActivated ); |
|
1587 TMockLtsyData1<TUint8> compSmsRoutingTsyData(smsRoutingStatus); |
|
1588 data.Close(); |
|
1589 compSmsRoutingTsyData.SerialiseL(data); |
|
1590 |
|
1591 iMockLTSY.ExpectL(EMmTsyActivateSmsRouting); |
|
1592 iMockLTSY.CompleteL(EMmTsyActivateSmsRouting, KErrNone, data); |
|
1593 |
|
1594 TBuf8<100> forMsg; |
|
1595 |
|
1596 TSmsMsg smsMsg; |
|
1597 TSmsMsg* smsMsgPtr(&smsMsg); |
|
1598 TBool ind(EFalse); |
|
1599 |
|
1600 smsMsg.iSmsClass2 = ETrue; |
|
1601 smsMsg.iDeleteAfterClientAck = ETrue; |
|
1602 smsMsg.iSmsMsg.Copy(KMessage); |
|
1603 |
|
1604 TMockLtsyData2<TBool, TSmsMsg*> compTsyData(ind, smsMsgPtr); |
|
1605 data.Close(); |
|
1606 compTsyData.SerialiseL(data); |
|
1607 |
|
1608 iMockLTSY.CompleteL(EMobileSmsMessagingReceiveMessage, KErrNone, data); |
|
1609 |
|
1610 messaging.ReceiveMessage(reqReceiveStatus, forMsg, receiveAttrPckg); |
|
1611 User::WaitForRequest(reqReceiveStatus); |
|
1612 ASSERT_EQUALS(KErrNone, reqReceiveStatus.Int()); |
|
1613 |
|
1614 // The server now is expecting the acknowledgement |
|
1615 |
|
1616 TMockLtsyData2<TDesC8*, TInt> expTsyData(msgPtr, rpCause); |
|
1617 |
|
1618 expTsyData.SerialiseL(data); |
|
1619 |
|
1620 iMockLTSY.ExpectL(EMobileSmsMessagingNackSmsStored, data); |
|
1621 iMockLTSY.CompleteL(EMobileSmsMessagingNackSmsStored, KErrNone); |
|
1622 |
|
1623 messaging.NackSmsStored(reqStatus, KMessage, rpCause); |
|
1624 |
|
1625 messaging.CancelAsyncRequest(EMobileSmsMessagingNackSmsStored); |
|
1626 |
|
1627 User::WaitForRequest(reqStatus); |
|
1628 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
1629 |
|
1630 // Wait for completion of iMockLTSY.NotifyTerminated |
|
1631 User::WaitForRequest(mockLtsyStatus); |
|
1632 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
1633 |
|
1634 AssertMockLtsyStatusL(); |
|
1635 |
|
1636 CleanupStack::PopAndDestroy(3); |
|
1637 |
|
1638 } |
|
1639 |
|
1640 |
|
1641 |
|
1642 /** |
|
1643 @SYMTestCaseID BA-CTSY-SMSM-SNSS-0004 |
|
1644 @SYMComponent telephony_ctsy |
|
1645 @SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileSmsMessaging::NackSmsStored |
|
1646 @SYMTestPriority High |
|
1647 @SYMTestActions Invokes multiple client requests to RMobileSmsMessaging::NackSmsStored |
|
1648 @SYMTestExpectedResults Pass |
|
1649 @SYMTestType CT |
|
1650 */ |
|
1651 void CCTsySmsMessagingFU::TestNackSmsStored0004L() |
|
1652 { |
|
1653 OpenEtelServerL(EUseExtendedError); |
|
1654 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1655 OpenPhoneL(); |
|
1656 |
|
1657 RBuf8 data; |
|
1658 CleanupClosePushL(data); |
|
1659 |
|
1660 // Open second client |
|
1661 RTelServer telServer2; |
|
1662 TInt ret = telServer2.Connect(); |
|
1663 ASSERT_EQUALS(KErrNone, ret); |
|
1664 CleanupClosePushL(telServer2); |
|
1665 |
|
1666 RMobilePhone phone2; |
|
1667 ret = phone2.Open(telServer2,KMmTsyPhoneName); |
|
1668 ASSERT_EQUALS(KErrNone, ret); |
|
1669 CleanupClosePushL(phone2); |
|
1670 |
|
1671 |
|
1672 RMobileSmsMessaging messaging; |
|
1673 TInt err = messaging.Open(iPhone); |
|
1674 ASSERT_EQUALS(KErrNone, err); |
|
1675 CleanupClosePushL(messaging); |
|
1676 |
|
1677 RMobileSmsMessaging messaging2; |
|
1678 err = messaging2.Open(phone2); |
|
1679 ASSERT_EQUALS(KErrNone, err); |
|
1680 CleanupClosePushL(messaging2); |
|
1681 |
|
1682 |
|
1683 TRequestStatus reqStatus; |
|
1684 TRequestStatus reqStatus2; |
|
1685 |
|
1686 _LIT8(KMessage, "Happy New Year"); |
|
1687 _LIT8(KMessage2, "Happy New Year2"); |
|
1688 |
|
1689 // make the server expect an acknowledgement |
|
1690 TRequestStatus reqReceiveStatus; |
|
1691 RMobileSmsMessaging::TMobileSmsReceiveAttributesV1 receiveAttr; |
|
1692 RMobileSmsMessaging::TMobileSmsReceiveAttributesV1Pckg receiveAttrPckg(receiveAttr); |
|
1693 |
|
1694 TUint8 smsRoutingStatus ( KSmsRoutingActivated ); |
|
1695 TMockLtsyData1<TUint8> compSmsRoutingTsyData(smsRoutingStatus); |
|
1696 data.Close(); |
|
1697 compSmsRoutingTsyData.SerialiseL(data); |
|
1698 |
|
1699 iMockLTSY.ExpectL(EMmTsyActivateSmsRouting); |
|
1700 iMockLTSY.CompleteL(EMmTsyActivateSmsRouting, KErrNone, data); |
|
1701 |
|
1702 TBuf8<100> forMsg; |
|
1703 |
|
1704 TSmsMsg smsMsg; |
|
1705 TSmsMsg* smsMsgPtr(&smsMsg); |
|
1706 TBool ind(EFalse); |
|
1707 |
|
1708 smsMsg.iSmsClass2 = ETrue; |
|
1709 smsMsg.iDeleteAfterClientAck = ETrue; |
|
1710 smsMsg.iSmsMsg.Copy(KMessage); |
|
1711 |
|
1712 TMockLtsyData2<TBool, TSmsMsg*> compTsyData(ind, smsMsgPtr); |
|
1713 data.Close(); |
|
1714 compTsyData.SerialiseL(data); |
|
1715 |
|
1716 iMockLTSY.CompleteL(EMobileSmsMessagingReceiveMessage, KErrNone, data); |
|
1717 |
|
1718 messaging.ReceiveMessage(reqReceiveStatus, forMsg, receiveAttrPckg); |
|
1719 User::WaitForRequest(reqReceiveStatus); |
|
1720 ASSERT_EQUALS(KErrNone, reqReceiveStatus.Int()); |
|
1721 |
|
1722 // The server now is expecting the acknowledgement |
|
1723 |
|
1724 TDesC8* msgPtr = const_cast<TDesC8*>(&KMessage); |
|
1725 TInt rpCause(0); |
|
1726 |
|
1727 TMockLtsyData2<TDesC8*, TInt> expTsyData(msgPtr, rpCause); |
|
1728 |
|
1729 expTsyData.SerialiseL(data); |
|
1730 |
|
1731 iMockLTSY.ExpectL(EMobileSmsMessagingNackSmsStored, data); |
|
1732 iMockLTSY.CompleteL(EMobileSmsMessagingNackSmsStored, KErrNone, 10); |
|
1733 |
|
1734 messaging.NackSmsStored(reqStatus, KMessage, rpCause); |
|
1735 |
|
1736 TInt rpCause2(0); |
|
1737 |
|
1738 messaging2.NackSmsStored(reqStatus2, KMessage2, rpCause2); |
|
1739 |
|
1740 User::WaitForRequest(reqStatus); |
|
1741 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
1742 |
|
1743 User::WaitForRequest(reqStatus2); |
|
1744 ASSERT_EQUALS(KErrServerBusy, reqStatus2.Int()); |
|
1745 |
|
1746 AssertMockLtsyStatusL(); |
|
1747 |
|
1748 CleanupStack::PopAndDestroy(6, this); |
|
1749 } |
|
1750 |
|
1751 |
|
1752 /** |
|
1753 @SYMTestCaseID BA-CTSY-SMSM-SNSS-0005 |
|
1754 @SYMComponent telephony_ctsy |
|
1755 @SYMTestCaseDesc Test support in CTSY for RMobileSmsMessaging::NackSmsStored with timeout |
|
1756 @SYMTestPriority High |
|
1757 @SYMTestActions Invokes RMobileSmsMessaging::NackSmsStored and tests for timeout |
|
1758 @SYMTestExpectedResults Pass |
|
1759 @SYMTestType CT |
|
1760 */ |
|
1761 void CCTsySmsMessagingFU::TestNackSmsStored0005L() |
|
1762 { |
|
1763 |
|
1764 OpenEtelServerL(EUseExtendedError); |
|
1765 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1766 OpenPhoneL(); |
|
1767 |
|
1768 RMobileSmsMessaging messaging; |
|
1769 TInt err = messaging.Open(iPhone); |
|
1770 ASSERT_EQUALS(KErrNone, err); |
|
1771 CleanupClosePushL(messaging); |
|
1772 |
|
1773 RBuf8 data; |
|
1774 CleanupClosePushL(data); |
|
1775 |
|
1776 _LIT8(KMessage, "Happy New Year"); |
|
1777 |
|
1778 // make the server expect an acknowledgement |
|
1779 TRequestStatus reqReceiveStatus; |
|
1780 RMobileSmsMessaging::TMobileSmsReceiveAttributesV1 receiveAttr; |
|
1781 RMobileSmsMessaging::TMobileSmsReceiveAttributesV1Pckg receiveAttrPckg(receiveAttr); |
|
1782 |
|
1783 TUint8 smsRoutingStatus ( KSmsRoutingActivated ); |
|
1784 TMockLtsyData1<TUint8> compSmsRoutingTsyData(smsRoutingStatus); |
|
1785 data.Close(); |
|
1786 compSmsRoutingTsyData.SerialiseL(data); |
|
1787 |
|
1788 iMockLTSY.ExpectL(EMmTsyActivateSmsRouting); |
|
1789 iMockLTSY.CompleteL(EMmTsyActivateSmsRouting, KErrNone, data); |
|
1790 |
|
1791 TBuf8<100> forMsg; |
|
1792 |
|
1793 TSmsMsg smsMsg; |
|
1794 TSmsMsg* smsMsgPtr(&smsMsg); |
|
1795 TBool ind(EFalse); |
|
1796 |
|
1797 smsMsg.iSmsClass2 = ETrue; |
|
1798 smsMsg.iDeleteAfterClientAck = ETrue; |
|
1799 smsMsg.iSmsMsg.Copy(KMessage); |
|
1800 |
|
1801 TMockLtsyData2<TBool, TSmsMsg*> compTsyData(ind, smsMsgPtr); |
|
1802 data.Close(); |
|
1803 compTsyData.SerialiseL(data); |
|
1804 |
|
1805 iMockLTSY.CompleteL(EMobileSmsMessagingReceiveMessage, KErrNone, data); |
|
1806 |
|
1807 messaging.ReceiveMessage(reqReceiveStatus, forMsg, receiveAttrPckg); |
|
1808 User::WaitForRequest(reqReceiveStatus); |
|
1809 ASSERT_EQUALS(KErrNone, reqReceiveStatus.Int()); |
|
1810 |
|
1811 // The server now is expecting the acknowledgement |
|
1812 |
|
1813 TRequestStatus reqStatus; |
|
1814 TDesC8* msgPtr = const_cast<TDesC8*>(&KMessage); |
|
1815 TInt rpCause(0); |
|
1816 |
|
1817 |
|
1818 TMockLtsyData2<TDesC8*, TInt> expTsyData(msgPtr, rpCause); |
|
1819 |
|
1820 expTsyData.SerialiseL(data); |
|
1821 |
|
1822 iMockLTSY.ExpectL(EMobileSmsMessagingNackSmsStored, data); |
|
1823 |
|
1824 messaging.NackSmsStored(reqStatus, KMessage, rpCause); |
|
1825 |
|
1826 User::WaitForRequest(reqStatus); |
|
1827 ASSERT_EQUALS(KErrTimedOut, reqStatus.Int()); |
|
1828 |
|
1829 AssertMockLtsyStatusL(); |
|
1830 |
|
1831 CleanupStack::PopAndDestroy(3); |
|
1832 |
|
1833 } |
|
1834 |
|
1835 |
|
1836 /** |
|
1837 @SYMTestCaseID BA-CTSY-SMSM-SGMSB-0001 |
|
1838 @SYMComponent telephony_ctsy |
|
1839 @SYMTestCaseDesc Test support in CTSY for RMobileSmsMessaging::GetMoSmsBearer |
|
1840 @SYMTestPriority High |
|
1841 @SYMTestActions Invokes RMobileSmsMessaging::GetMoSmsBearer |
|
1842 @SYMTestExpectedResults Pass |
|
1843 @SYMTestType CT |
|
1844 */ |
|
1845 void CCTsySmsMessagingFU::TestGetMoSmsBearer0001L() |
|
1846 { |
|
1847 |
|
1848 OpenEtelServerL(EUseExtendedError); |
|
1849 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1850 OpenPhoneL(); |
|
1851 |
|
1852 RMobileSmsMessaging messaging; |
|
1853 TInt err = messaging.Open(iPhone); |
|
1854 ASSERT_EQUALS(KErrNone, err); |
|
1855 CleanupClosePushL(messaging); |
|
1856 |
|
1857 RMobileSmsMessaging::TMobileSmsBearer bearer; |
|
1858 |
|
1859 err = messaging.GetMoSmsBearer(bearer); |
|
1860 ASSERT_EQUALS(KErrNotSupported, err); |
|
1861 |
|
1862 AssertMockLtsyStatusL(); |
|
1863 CleanupStack::PopAndDestroy(2, this); |
|
1864 |
|
1865 } |
|
1866 |
|
1867 |
|
1868 |
|
1869 /** |
|
1870 @SYMTestCaseID BA-CTSY-SMSM-SGRM-0001 |
|
1871 @SYMComponent telephony_ctsy |
|
1872 @SYMTestCaseDesc Test support in CTSY for RMobileSmsMessaging::GetReceiveMode |
|
1873 @SYMTestPriority High |
|
1874 @SYMTestActions Invokes RMobileSmsMessaging::GetReceiveMode |
|
1875 @SYMTestExpectedResults Pass |
|
1876 @SYMTestType CT |
|
1877 */ |
|
1878 void CCTsySmsMessagingFU::TestGetReceiveMode0001L() |
|
1879 { |
|
1880 |
|
1881 OpenEtelServerL(EUseExtendedError); |
|
1882 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1883 OpenPhoneL(); |
|
1884 |
|
1885 RMobileSmsMessaging messaging; |
|
1886 TInt err = messaging.Open(iPhone); |
|
1887 ASSERT_EQUALS(KErrNone, err); |
|
1888 CleanupClosePushL(messaging); |
|
1889 |
|
1890 RMobileSmsMessaging::TMobileSmsReceiveMode mode; |
|
1891 |
|
1892 err = messaging.GetReceiveMode(mode); |
|
1893 ASSERT_EQUALS(KErrNone, err); |
|
1894 ASSERT_EQUALS(RMobileSmsMessaging::EReceiveUnstoredClientAck, mode); |
|
1895 |
|
1896 TRequestStatus reqStatus; |
|
1897 RMobileSmsMessaging::TMobileSmsReceiveMode modeToSet(RMobileSmsMessaging::EReceiveStored); |
|
1898 |
|
1899 messaging.SetReceiveMode(reqStatus, modeToSet); |
|
1900 |
|
1901 User::WaitForRequest(reqStatus); |
|
1902 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()); |
|
1903 |
|
1904 err = messaging.GetReceiveMode(mode); |
|
1905 ASSERT_EQUALS(KErrNone, err); |
|
1906 ASSERT_EQUALS(RMobileSmsMessaging::EReceiveUnstoredClientAck, mode); |
|
1907 |
|
1908 |
|
1909 AssertMockLtsyStatusL(); |
|
1910 CleanupStack::PopAndDestroy(2, this); |
|
1911 |
|
1912 } |
|
1913 |
|
1914 |
|
1915 |
|
1916 /** |
|
1917 @SYMTestCaseID BA-CTSY-SMSM-SRM-0001 |
|
1918 @SYMComponent telephony_ctsy |
|
1919 @SYMTestCaseDesc Test support in CTSY for RMobileSmsMessaging::ReceiveMessage |
|
1920 @SYMTestPriority High |
|
1921 @SYMTestActions Invokes RMobileSmsMessaging::ReceiveMessage |
|
1922 @SYMTestExpectedResults Pass |
|
1923 @SYMTestType CT |
|
1924 */ |
|
1925 void CCTsySmsMessagingFU::TestReceiveMessage0001L() |
|
1926 { |
|
1927 |
|
1928 OpenEtelServerL(EUseExtendedError); |
|
1929 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1930 OpenPhoneL(); |
|
1931 |
|
1932 RMobileSmsMessaging messaging; |
|
1933 TInt err = messaging.Open(iPhone); |
|
1934 ASSERT_EQUALS(KErrNone, err); |
|
1935 CleanupClosePushL(messaging); |
|
1936 |
|
1937 RMobileSmsStore store; |
|
1938 |
|
1939 err = store.Open(messaging, KETelMeSmsStore); |
|
1940 ASSERT_EQUALS(KErrNotSupported, err); |
|
1941 |
|
1942 |
|
1943 iMockLTSY.ExpectL(EMobilePhoneStoreGetInfo, KErrNone); |
|
1944 err = store.Open(messaging, KETelIccSmsStore); |
|
1945 ASSERT_EQUALS(KErrNone, err); |
|
1946 CleanupClosePushL(store); |
|
1947 |
|
1948 RBuf8 data; |
|
1949 CleanupClosePushL(data); |
|
1950 |
|
1951 TRequestStatus reqStatus; |
|
1952 TRequestStatus mockLtsyStatus; |
|
1953 RMobileSmsMessaging::TMobileSmsReceiveAttributesV1 receiveAttr; |
|
1954 RMobileSmsMessaging::TMobileSmsReceiveAttributesV1Pckg receiveAttrPckg(receiveAttr); |
|
1955 |
|
1956 _LIT8(KMessage, "Happy New Year"); |
|
1957 TBuf8<100> forMsg; |
|
1958 |
|
1959 //------------------------------------------------------------------------- |
|
1960 // TEST A1: failure to dispatch request to LTSY |
|
1961 //------------------------------------------------------------------------- |
|
1962 |
|
1963 iMockLTSY.ExpectL(EMmTsyActivateSmsRouting, KErrNotSupported); |
|
1964 |
|
1965 messaging.ReceiveMessage(reqStatus, forMsg, receiveAttrPckg); |
|
1966 |
|
1967 User::WaitForRequest(reqStatus); |
|
1968 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()); |
|
1969 |
|
1970 AssertMockLtsyStatusL(); |
|
1971 |
|
1972 //------------------------------------------------------------------------- |
|
1973 // TEST B: failure on completion of pending request from LTSY->CTSY |
|
1974 //------------------------------------------------------------------------- |
|
1975 |
|
1976 iMockLTSY.ExpectL(EMmTsyActivateSmsRouting); |
|
1977 |
|
1978 messaging.ReceiveMessage(reqStatus, forMsg, receiveAttrPckg); |
|
1979 |
|
1980 TSmsMsg smsMsg; |
|
1981 TSmsMsg* smsMsgPtr(&smsMsg); |
|
1982 TBool ind(EFalse); |
|
1983 |
|
1984 smsMsg.iSmsClass2 = ETrue; |
|
1985 smsMsg.iDeleteAfterClientAck = ETrue; |
|
1986 smsMsg.iSmsMsg.Copy(KMessage); |
|
1987 |
|
1988 TMockLtsyData2<TBool, TSmsMsg*> compTsyData(ind, smsMsgPtr); |
|
1989 compTsyData.SerialiseL(data); |
|
1990 |
|
1991 iMockLTSY.CompleteL(EMobileSmsMessagingReceiveMessage, KErrGeneral, data); |
|
1992 |
|
1993 User::WaitForRequest(reqStatus); |
|
1994 ASSERT_EQUALS(KErrGeneral, reqStatus.Int()); |
|
1995 |
|
1996 AssertMockLtsyStatusL(); |
|
1997 |
|
1998 //------------------------------------------------------------------------- |
|
1999 // TEST E: Unsolicited completion of RMobileSmsMessaging::ReceiveMessage |
|
2000 // from LTSY. |
|
2001 //------------------------------------------------------------------------- |
|
2002 |
|
2003 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
2004 |
|
2005 iMockLTSY.CompleteL(EMobileSmsMessagingReceiveMessage, KErrNone, data); |
|
2006 |
|
2007 TDesC8* zeroPtr(NULL); |
|
2008 TInt rpCause(KErrGsmSMSUnspecifiedProtocolError); |
|
2009 TMockLtsyData2<TDesC8*, TInt> expTsyData(zeroPtr, rpCause); |
|
2010 |
|
2011 data.Close(); |
|
2012 expTsyData.SerialiseL(data); |
|
2013 |
|
2014 iMockLTSY.ExpectL(EMobileSmsMessagingNackSmsStored, data); |
|
2015 |
|
2016 User::WaitForRequest(mockLtsyStatus); |
|
2017 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
2018 |
|
2019 AssertMockLtsyStatusL(); |
|
2020 |
|
2021 TDesC8* msgPtr = const_cast<TDesC8*>(&KMessage); |
|
2022 |
|
2023 TMockLtsyData1<TDesC8*> expAckTsyData(msgPtr); |
|
2024 |
|
2025 data.Close(); |
|
2026 expAckTsyData.SerialiseL(data); |
|
2027 |
|
2028 smsMsg.iSmsClass2 = ETrue; |
|
2029 smsMsg.iDeleteAfterClientAck = EFalse; |
|
2030 smsMsg.iSmsMsg.Copy(KMessage); |
|
2031 |
|
2032 TMockLtsyData2<TBool, TSmsMsg*> compRecTsyData(ind, smsMsgPtr); |
|
2033 |
|
2034 data.Close(); |
|
2035 compRecTsyData.SerialiseL(data); |
|
2036 |
|
2037 //------------------------------------------------------------------------- |
|
2038 // successful completion of RMobileSmsMessaging::ReceiveMessage |
|
2039 // in case when iClientStorageFull = false |
|
2040 //------------------------------------------------------------------------- |
|
2041 |
|
2042 data.Close(); |
|
2043 expAckTsyData.SerialiseL(data); |
|
2044 |
|
2045 iMockLTSY.ExpectL(EMmTsyActivateSmsRouting); |
|
2046 messaging.ReceiveMessage(reqStatus, forMsg, receiveAttrPckg); |
|
2047 |
|
2048 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
2049 |
|
2050 data.Close(); |
|
2051 compRecTsyData.SerialiseL(data); |
|
2052 |
|
2053 iMockLTSY.CompleteL(EMobileSmsMessagingReceiveMessage, KErrNone, data); |
|
2054 |
|
2055 iMockLTSY.ExpectL(EMmTsyActivateSmsRouting); |
|
2056 |
|
2057 User::WaitForRequest(mockLtsyStatus); |
|
2058 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
2059 |
|
2060 AssertMockLtsyStatusL(); |
|
2061 |
|
2062 //completion with KErrGsmSMSUnspecifiedProtocolError and iClientStorageFull = false |
|
2063 |
|
2064 data.Close(); |
|
2065 compRecTsyData.SerialiseL(data); |
|
2066 |
|
2067 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
2068 iMockLTSY.CompleteL(EMobileSmsMessagingReceiveMessage, KErrGsmSMSUnspecifiedProtocolError, data); |
|
2069 |
|
2070 rpCause = KErrGsmSMSUnspecifiedProtocolError; |
|
2071 data.Close(); |
|
2072 expTsyData.SerialiseL(data); |
|
2073 |
|
2074 iMockLTSY.ExpectL(EMobileSmsMessagingNackSmsStored, data); |
|
2075 |
|
2076 User::WaitForRequest(mockLtsyStatus); |
|
2077 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
2078 |
|
2079 AssertMockLtsyStatusL(); |
|
2080 |
|
2081 |
|
2082 //------------------------------------------------------------------------- |
|
2083 // successful completion of RMobileSmsMessaging::ReceiveMessage |
|
2084 // in case when iClientStorageFull = false and iSmsClass2 = EFalse |
|
2085 //------------------------------------------------------------------------- |
|
2086 |
|
2087 |
|
2088 data.Close(); |
|
2089 expAckTsyData.SerialiseL(data); |
|
2090 |
|
2091 iMockLTSY.ExpectL(EMobileSmsMessagingAckSmsStored, data); |
|
2092 |
|
2093 TRequestStatus reqAckStatus; |
|
2094 |
|
2095 messaging.AckSmsStored(reqAckStatus, KMessage, EFalse); |
|
2096 |
|
2097 iMockLTSY.CompleteL(EMobileSmsMessagingAckSmsStored, KErrNone); |
|
2098 |
|
2099 User::WaitForRequest(reqAckStatus); |
|
2100 ASSERT_EQUALS(KErrNone, reqAckStatus.Int()); |
|
2101 |
|
2102 AssertMockLtsyStatusL(); |
|
2103 |
|
2104 smsMsg.iSmsClass2 = EFalse; |
|
2105 |
|
2106 data.Close(); |
|
2107 compRecTsyData.SerialiseL(data); |
|
2108 |
|
2109 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
2110 iMockLTSY.CompleteL(EMobileSmsMessagingReceiveMessage, KErrNone, data); |
|
2111 iMockLTSY.ExpectL(EMmTsyActivateSmsRouting); |
|
2112 messaging.CancelAsyncRequest(EMobileSmsMessagingReceiveMessage); |
|
2113 User::WaitForRequest(mockLtsyStatus); |
|
2114 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
2115 |
|
2116 User::WaitForRequest(reqStatus); |
|
2117 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
2118 |
|
2119 AssertMockLtsyStatusL(); |
|
2120 |
|
2121 //------------------------------------------------------------------------- |
|
2122 // Unsolicited completion of RMobileSmsMessaging::ReceiveMessage |
|
2123 // in case when (iClientStorageFull && smsClass2) |
|
2124 //------------------------------------------------------------------------- |
|
2125 |
|
2126 data.Close(); |
|
2127 expAckTsyData.SerialiseL(data); |
|
2128 |
|
2129 iMockLTSY.ExpectL(EMobileSmsMessagingAckSmsStored, data); |
|
2130 messaging.AckSmsStored(reqStatus, KMessage, ETrue); |
|
2131 iMockLTSY.CompleteL(EMobileSmsMessagingAckSmsStored, KErrNone); |
|
2132 |
|
2133 User::WaitForRequest(reqStatus); |
|
2134 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
2135 |
|
2136 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
2137 |
|
2138 smsMsg.iSmsClass2 = ETrue; |
|
2139 |
|
2140 data.Close(); |
|
2141 compRecTsyData.SerialiseL(data); |
|
2142 |
|
2143 iMockLTSY.CompleteL(EMobileSmsMessagingReceiveMessage, KErrNone, data); |
|
2144 |
|
2145 TMockLtsyData1<TDesC8*> expZeroAckTsyData(zeroPtr); |
|
2146 data.Close(); |
|
2147 expZeroAckTsyData.SerialiseL(data); |
|
2148 |
|
2149 iMockLTSY.ExpectL(EMobileSmsMessagingAckSmsStored, data); |
|
2150 |
|
2151 User::WaitForRequest(mockLtsyStatus); |
|
2152 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
2153 |
|
2154 AssertMockLtsyStatusL(); |
|
2155 |
|
2156 |
|
2157 //------------------------------------------------------------------------- |
|
2158 // TEST C: Successful completion request of |
|
2159 // RMobileSmsMessaging::ReceiveMessage when result is not cached. |
|
2160 //------------------------------------------------------------------------- |
|
2161 |
|
2162 // smsStoreArray is not zero, complete ReceiveMessage() from DeliverClass2ToSmsStack() |
|
2163 |
|
2164 TRequestStatus reqResumeStatus; |
|
2165 iMockLTSY.ExpectL(EMobileSmsMessagingResumeSmsReception); |
|
2166 |
|
2167 iMockLTSY.CompleteL(EMobileSmsMessagingResumeSmsReception, KErrNone); |
|
2168 messaging.ResumeSmsReception(reqResumeStatus); |
|
2169 |
|
2170 iMockLTSY.ExpectL(EMmTsyActivateSmsRouting); |
|
2171 |
|
2172 User::WaitForRequest(reqResumeStatus); |
|
2173 ASSERT_EQUALS(KErrNone, reqResumeStatus.Int()); |
|
2174 |
|
2175 TRequestStatus reqRecStatus; |
|
2176 messaging.ReceiveMessage(reqRecStatus, forMsg, receiveAttrPckg); |
|
2177 |
|
2178 User::WaitForRequest(reqRecStatus); |
|
2179 ASSERT_EQUALS(KErrNone, reqRecStatus.Int()); |
|
2180 |
|
2181 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
2182 |
|
2183 TUint8 smsRoutingStatus1 ( KSmsRoutingActivated ); |
|
2184 TMockLtsyData1<TUint8> compSmsRoutingTsyData1(smsRoutingStatus1); |
|
2185 data.Close(); |
|
2186 compSmsRoutingTsyData1.SerialiseL(data); |
|
2187 iMockLTSY.CompleteL(EMmTsyActivateSmsRouting, KErrNone, data); |
|
2188 |
|
2189 User::WaitForRequest(mockLtsyStatus); |
|
2190 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
2191 |
|
2192 messaging.AckSmsStored(reqAckStatus, KMessage, ETrue); |
|
2193 |
|
2194 User::WaitForRequest(reqAckStatus); |
|
2195 ASSERT_EQUALS(KErrNone, reqAckStatus.Int()); |
|
2196 |
|
2197 AssertMockLtsyStatusL(); |
|
2198 |
|
2199 //completion of receive request with rpError = KErrGsmSMSMemoryCapacityExceeded |
|
2200 |
|
2201 |
|
2202 smsMsg.iSmsClass2 = EFalse; |
|
2203 smsMsg.iDeleteAfterClientAck = EFalse; |
|
2204 smsMsg.iSmsMsg.Copy(KMessage); |
|
2205 |
|
2206 data.Close(); |
|
2207 compRecTsyData.SerialiseL(data); |
|
2208 |
|
2209 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
2210 iMockLTSY.CompleteL(EMobileSmsMessagingReceiveMessage, KErrNone, data); |
|
2211 |
|
2212 rpCause = KErrGsmSMSMemoryCapacityExceeded; |
|
2213 data.Close(); |
|
2214 expTsyData.SerialiseL(data); |
|
2215 |
|
2216 iMockLTSY.ExpectL(EMobileSmsMessagingNackSmsStored, data); |
|
2217 |
|
2218 User::WaitForRequest(mockLtsyStatus); |
|
2219 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
2220 |
|
2221 AssertMockLtsyStatusL(); |
|
2222 |
|
2223 //completion using KErrGsmSMSUnspecifiedProtocolError |
|
2224 |
|
2225 data.Close(); |
|
2226 compRecTsyData.SerialiseL(data); |
|
2227 |
|
2228 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
2229 iMockLTSY.CompleteL(EMobileSmsMessagingReceiveMessage, KErrGsmSMSUnspecifiedProtocolError, data); |
|
2230 |
|
2231 rpCause = KErrGsmSMSMemoryCapacityExceeded; |
|
2232 data.Close(); |
|
2233 expTsyData.SerialiseL(data); |
|
2234 |
|
2235 iMockLTSY.ExpectL(EMobileSmsMessagingNackSmsStored, data); |
|
2236 |
|
2237 User::WaitForRequest(mockLtsyStatus); |
|
2238 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
2239 |
|
2240 AssertMockLtsyStatusL(); |
|
2241 |
|
2242 //completion using KErrGsmSMSMemoryCapacityExceeded and |
|
2243 // setting iServerRoutingActivity = ERoutingNotActivated |
|
2244 data.Close(); |
|
2245 compRecTsyData.SerialiseL(data); |
|
2246 |
|
2247 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
2248 iMockLTSY.CompleteL(EMobileSmsMessagingReceiveMessage, KErrGsmSMSMemoryCapacityExceeded, data); |
|
2249 |
|
2250 rpCause = KErrGsmSMSMemoryCapacityExceeded; |
|
2251 data.Close(); |
|
2252 expTsyData.SerialiseL(data); |
|
2253 |
|
2254 iMockLTSY.ExpectL(EMobileSmsMessagingNackSmsStored, data, KErrNotSupported); |
|
2255 |
|
2256 User::WaitForRequest(mockLtsyStatus); |
|
2257 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
2258 |
|
2259 AssertMockLtsyStatusL(); |
|
2260 |
|
2261 //completion of EMobileSmsMessagingReceiveMessage with KErrGeneral |
|
2262 ind = ETrue; |
|
2263 |
|
2264 data.Close(); |
|
2265 compRecTsyData.SerialiseL(data); |
|
2266 |
|
2267 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
2268 iMockLTSY.CompleteL(EMobileSmsMessagingReceiveMessage, KErrGeneral, data); |
|
2269 |
|
2270 User::WaitForRequest(mockLtsyStatus); |
|
2271 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
2272 |
|
2273 AssertMockLtsyStatusL(); |
|
2274 |
|
2275 //completion of EMmTsyActivateSmsRouting with KErrGeneral |
|
2276 |
|
2277 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
2278 |
|
2279 TUint8 smsRoutingStatus ( KSmsRoutingDeactivated ); |
|
2280 TMockLtsyData1<TUint8> compSmsRoutingTsyData(smsRoutingStatus); |
|
2281 data.Close(); |
|
2282 compSmsRoutingTsyData.SerialiseL(data); |
|
2283 |
|
2284 iMockLTSY.CompleteL(EMmTsyActivateSmsRouting, KErrGeneral, data); |
|
2285 |
|
2286 User::WaitForRequest(mockLtsyStatus); |
|
2287 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
2288 |
|
2289 AssertMockLtsyStatusL(); |
|
2290 |
|
2291 //Unsolicited completion of EMobileSmsMessagingReceiveMessage with KErrGeneral |
|
2292 |
|
2293 data.Close(); |
|
2294 compRecTsyData.SerialiseL(data); |
|
2295 |
|
2296 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
2297 iMockLTSY.CompleteL(EMobileSmsMessagingReceiveMessage, KErrGeneral, data); |
|
2298 |
|
2299 rpCause = KErrGsmSMSMemoryCapacityExceeded; // set to mem capacity exceeded so that base will resend the message later. |
|
2300 data.Close(); |
|
2301 expTsyData.SerialiseL(data); |
|
2302 |
|
2303 iMockLTSY.ExpectL(EMobileSmsMessagingNackSmsStored, data); |
|
2304 |
|
2305 User::WaitForRequest(mockLtsyStatus); |
|
2306 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
2307 |
|
2308 AssertMockLtsyStatusL(); |
|
2309 |
|
2310 CleanupStack::PopAndDestroy(4, this); |
|
2311 |
|
2312 } |
|
2313 |
|
2314 /** |
|
2315 @SYMTestCaseID BA-CTSY-SMSM-SRM-0001A |
|
2316 @SYMComponent telephony_ctsy |
|
2317 @SYMTestCaseDesc Test support in CTSY for RMobileSmsMessaging::ReceiveMessage before modem is ready |
|
2318 @SYMTestPriority High |
|
2319 @SYMTestActions Invokes RMobileSmsMessaging::ReceiveMessage |
|
2320 @SYMTestExpectedResults Pass |
|
2321 @SYMTestType CT |
|
2322 */ |
|
2323 void CCTsySmsMessagingFU::TestReceiveMessage0001AL() |
|
2324 { |
|
2325 |
|
2326 OpenEtelServerL(EUseExtendedError); |
|
2327 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2328 |
|
2329 |
|
2330 RTelServer telServer; |
|
2331 TInt ret = telServer.Connect(); |
|
2332 ASSERT_EQUALS(KErrNone, ret); |
|
2333 CleanupClosePushL(telServer); |
|
2334 |
|
2335 RMobilePhone phone; |
|
2336 ret = phone.Open(telServer,KMmTsyPhoneName); |
|
2337 ASSERT_EQUALS(KErrNone, ret); |
|
2338 CleanupClosePushL(phone); |
|
2339 |
|
2340 RMobileSmsMessaging messaging; |
|
2341 TInt err = messaging.Open(phone); |
|
2342 ASSERT_EQUALS(KErrNone, err); |
|
2343 CleanupClosePushL(messaging); |
|
2344 |
|
2345 err=iMockLTSY.Connect(); |
|
2346 ASSERT_EQUALS(KErrNone, err); |
|
2347 TRequestStatus mockLtsyStatus; |
|
2348 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
2349 |
|
2350 RBuf8 data; |
|
2351 CleanupClosePushL(data); |
|
2352 |
|
2353 //------------------------------------------------------------------------- |
|
2354 // Test activation of RMobileSmsMessaging::ReceiveMessage |
|
2355 //------------------------------------------------------------------------- |
|
2356 |
|
2357 TRequestStatus reqStatus; |
|
2358 TBuf8<100> forMsg; |
|
2359 RMobileSmsMessaging::TMobileSmsReceiveAttributesV1 receiveAttr; |
|
2360 RMobileSmsMessaging::TMobileSmsReceiveAttributesV1Pckg receiveAttrPckg(receiveAttr); |
|
2361 |
|
2362 |
|
2363 TSmsMsg smsMsg; |
|
2364 TSmsMsg* smsMsgPtr(&smsMsg); |
|
2365 TBool ind(EFalse); |
|
2366 |
|
2367 TMockLtsyData2<TBool, TSmsMsg*> compTsyData(ind, smsMsgPtr); |
|
2368 compTsyData.SerialiseL(data); |
|
2369 |
|
2370 iMockLTSY.CompleteL(EMobileSmsMessagingReceiveMessage, KErrNone, data); |
|
2371 |
|
2372 messaging.ReceiveMessage(reqStatus, forMsg, receiveAttrPckg); |
|
2373 |
|
2374 User::WaitForRequest(reqStatus); |
|
2375 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
2376 |
|
2377 CleanupStack::PopAndDestroy(5); |
|
2378 |
|
2379 } |
|
2380 |
|
2381 /** |
|
2382 @SYMTestCaseID BA-CTSY-SMSM-SRM-0002 |
|
2383 @SYMComponent telephony_ctsy |
|
2384 @SYMTestCaseDesc Test support in CTSY for cancelling of RMobileSmsMessaging::ReceiveMessage |
|
2385 @SYMTestPriority High |
|
2386 @SYMTestActions Invokes cancelling of RMobileSmsMessaging::ReceiveMessage |
|
2387 @SYMTestExpectedResults Pass |
|
2388 @SYMTestType CT |
|
2389 */ |
|
2390 void CCTsySmsMessagingFU::TestReceiveMessage0002L() |
|
2391 { |
|
2392 |
|
2393 OpenEtelServerL(EUseExtendedError); |
|
2394 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2395 OpenPhoneL(); |
|
2396 |
|
2397 RMobileSmsMessaging messaging; |
|
2398 TInt err = messaging.Open(iPhone); |
|
2399 ASSERT_EQUALS(KErrNone, err); |
|
2400 CleanupClosePushL(messaging); |
|
2401 |
|
2402 TRequestStatus mockLtsyStatus; |
|
2403 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
2404 |
|
2405 RBuf8 data; |
|
2406 CleanupClosePushL(data); |
|
2407 |
|
2408 //------------------------------------------------------------------------- |
|
2409 // Test cancelling of RMobileSmsMessaging::ReceiveMessage |
|
2410 //------------------------------------------------------------------------- |
|
2411 |
|
2412 TRequestStatus reqStatus; |
|
2413 TBuf8<100> forMsg; |
|
2414 RMobileSmsMessaging::TMobileSmsReceiveAttributesV1 receiveAttr; |
|
2415 RMobileSmsMessaging::TMobileSmsReceiveAttributesV1Pckg receiveAttrPckg(receiveAttr); |
|
2416 |
|
2417 |
|
2418 iMockLTSY.ExpectL(EMmTsyActivateSmsRouting); |
|
2419 |
|
2420 TSmsMsg smsMsg; |
|
2421 TSmsMsg* smsMsgPtr(&smsMsg); |
|
2422 TBool ind(EFalse); |
|
2423 |
|
2424 TMockLtsyData2<TBool, TSmsMsg*> compTsyData(ind, smsMsgPtr); |
|
2425 compTsyData.SerialiseL(data); |
|
2426 |
|
2427 iMockLTSY.CompleteL(EMobileSmsMessagingReceiveMessage, KErrGeneral, data); |
|
2428 |
|
2429 messaging.ReceiveMessage(reqStatus, forMsg, receiveAttrPckg); |
|
2430 |
|
2431 messaging.CancelAsyncRequest(EMobileSmsMessagingReceiveMessage); |
|
2432 |
|
2433 User::WaitForRequest(reqStatus); |
|
2434 ASSERT_EQUALS(KErrCancel, reqStatus.Int()); |
|
2435 |
|
2436 // this is used for proper processing of unsolicited complete for EMobileSmsMessagingReceiveMessage |
|
2437 TDesC8* zeroPtr(NULL); |
|
2438 TInt rpCause(KErrGsmSMSUnspecifiedProtocolError); |
|
2439 TMockLtsyData2<TDesC8*, TInt> expTsyData(zeroPtr, rpCause); |
|
2440 |
|
2441 data.Close(); |
|
2442 expTsyData.SerialiseL(data); |
|
2443 |
|
2444 iMockLTSY.ExpectL(EMobileSmsMessagingNackSmsStored, data); |
|
2445 |
|
2446 // Wait for completion of iMockLTSY.NotifyTerminated |
|
2447 User::WaitForRequest(mockLtsyStatus); |
|
2448 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
2449 CleanupStack::PopAndDestroy(3); |
|
2450 |
|
2451 } |
|
2452 |
|
2453 |
|
2454 /** |
|
2455 @SYMTestCaseID BA-CTSY-SMSM-SRM-0003 |
|
2456 @SYMComponent telephony_ctsy |
|
2457 @SYMTestCaseDesc Test support in CTSY for RMobileSmsMessaging::ReceiveMessage with bad parameter data |
|
2458 @SYMTestPriority High |
|
2459 @SYMTestActions Invokes RMobileSmsMessaging::ReceiveMessage with bad parameter data |
|
2460 @SYMTestExpectedResults Pass |
|
2461 @SYMTestType CT |
|
2462 */ |
|
2463 void CCTsySmsMessagingFU::TestReceiveMessage0003L() |
|
2464 { |
|
2465 OpenEtelServerL(EUseExtendedError); |
|
2466 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2467 OpenPhoneL(); |
|
2468 |
|
2469 RMobileSmsMessaging messaging; |
|
2470 TInt err = messaging.Open(iPhone); |
|
2471 ASSERT_EQUALS(KErrNone, err); |
|
2472 CleanupClosePushL(messaging); |
|
2473 |
|
2474 //------------------------------------------------------------------------- |
|
2475 // Failure of completion with bad MsgAttribute |
|
2476 //------------------------------------------------------------------------- |
|
2477 |
|
2478 TRequestStatus status1; |
|
2479 const TInt KSmsBufLength = 231; |
|
2480 TBuf8<KSmsBufLength> normalBuf; |
|
2481 TInt8 tmp; |
|
2482 TPckg<TInt8> badPckg(tmp); |
|
2483 |
|
2484 messaging.ReceiveMessage(status1, normalBuf, badPckg); |
|
2485 |
|
2486 User::WaitForRequest(status1); |
|
2487 ASSERT_EQUALS(KErrArgument, status1.Int()); |
|
2488 |
|
2489 AssertMockLtsyStatusL(); |
|
2490 |
|
2491 |
|
2492 //------------------------------------------------------------------------- |
|
2493 // Failure of completion with too small data buffer |
|
2494 //------------------------------------------------------------------------- |
|
2495 |
|
2496 TRequestStatus status2; |
|
2497 RBuf8 data; |
|
2498 CleanupClosePushL(data); |
|
2499 |
|
2500 TBuf8<1> badBuf; |
|
2501 |
|
2502 RMobileSmsMessaging::TMobileSmsReceiveAttributesV1 receiveAttr; |
|
2503 RMobileSmsMessaging::TMobileSmsReceiveAttributesV1Pckg receiveAttrPckg(receiveAttr); |
|
2504 |
|
2505 _LIT8(KMessage, "Happy New Year"); |
|
2506 |
|
2507 TSmsMsg smsMsg; |
|
2508 TSmsMsg* smsMsgPtr(&smsMsg); |
|
2509 TBool ind(EFalse); |
|
2510 |
|
2511 smsMsg.iSmsClass2 = ETrue; |
|
2512 smsMsg.iDeleteAfterClientAck = EFalse; |
|
2513 smsMsg.iSmsMsg.Copy(KMessage); |
|
2514 |
|
2515 TMockLtsyData2<TBool, TSmsMsg*> compTsyData(ind, smsMsgPtr); |
|
2516 compTsyData.SerialiseL(data); |
|
2517 |
|
2518 iMockLTSY.ExpectL(EMmTsyActivateSmsRouting); |
|
2519 |
|
2520 iMockLTSY.CompleteL(EMobileSmsMessagingReceiveMessage, KErrNone, data); |
|
2521 |
|
2522 messaging.ReceiveMessage(status2, badBuf, receiveAttrPckg); |
|
2523 |
|
2524 User::WaitForRequest(status2); |
|
2525 ASSERT_EQUALS(KErrArgument, status2.Int()); |
|
2526 |
|
2527 AssertMockLtsyStatusL(); |
|
2528 |
|
2529 CleanupStack::PopAndDestroy(3); |
|
2530 |
|
2531 } |
|
2532 |
|
2533 |
|
2534 /** |
|
2535 @SYMTestCaseID BA-CTSY-SMSM-SRM-0004 |
|
2536 @SYMComponent telephony_ctsy |
|
2537 @SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileSmsMessaging::ReceiveMessage |
|
2538 @SYMTestPriority High |
|
2539 @SYMTestActions Invokes multiple client requests to RMobileSmsMessaging::ReceiveMessage |
|
2540 @SYMTestExpectedResults Pass |
|
2541 @SYMTestType CT |
|
2542 */ |
|
2543 void CCTsySmsMessagingFU::TestReceiveMessage0004L() |
|
2544 { |
|
2545 |
|
2546 OpenEtelServerL(EUseExtendedError); |
|
2547 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2548 OpenPhoneL(); |
|
2549 |
|
2550 RBuf8 data; |
|
2551 CleanupClosePushL(data); |
|
2552 |
|
2553 // Open second client |
|
2554 RTelServer telServer2; |
|
2555 TInt ret = telServer2.Connect(); |
|
2556 ASSERT_EQUALS(KErrNone, ret); |
|
2557 CleanupClosePushL(telServer2); |
|
2558 |
|
2559 RMobilePhone phone2; |
|
2560 ret = phone2.Open(telServer2,KMmTsyPhoneName); |
|
2561 ASSERT_EQUALS(KErrNone, ret); |
|
2562 CleanupClosePushL(phone2); |
|
2563 |
|
2564 RMobileSmsMessaging messaging; |
|
2565 TInt err = messaging.Open(iPhone); |
|
2566 ASSERT_EQUALS(KErrNone, err); |
|
2567 CleanupClosePushL(messaging); |
|
2568 |
|
2569 RMobileSmsMessaging messaging2; |
|
2570 err = messaging2.Open(phone2); |
|
2571 ASSERT_EQUALS(KErrNone, err); |
|
2572 CleanupClosePushL(messaging2); |
|
2573 |
|
2574 //------------------------------------------------------------------------- |
|
2575 // Test A: Test multiple clients requesting RMobileSmsMessaging::ReceiveMessage |
|
2576 //------------------------------------------------------------------------- |
|
2577 |
|
2578 TRequestStatus reqStatus; |
|
2579 TRequestStatus reqStatus2; |
|
2580 TBuf8<100> forMsg; |
|
2581 TBuf8<100> forMsg2; |
|
2582 RMobileSmsMessaging::TMobileSmsReceiveAttributesV1 receiveAttr; |
|
2583 RMobileSmsMessaging::TMobileSmsReceiveAttributesV1 receiveAttr2; |
|
2584 RMobileSmsMessaging::TMobileSmsReceiveAttributesV1Pckg receiveAttrPckg(receiveAttr); |
|
2585 RMobileSmsMessaging::TMobileSmsReceiveAttributesV1Pckg receiveAttrPckg2(receiveAttr2); |
|
2586 |
|
2587 iMockLTSY.ExpectL(EMmTsyActivateSmsRouting); |
|
2588 |
|
2589 messaging.ReceiveMessage(reqStatus, forMsg, receiveAttrPckg); |
|
2590 |
|
2591 iMockLTSY.ExpectL(EMmTsyActivateSmsRouting); |
|
2592 |
|
2593 messaging2.ReceiveMessage(reqStatus2, forMsg2, receiveAttrPckg2); |
|
2594 |
|
2595 |
|
2596 |
|
2597 TSmsMsg smsMsg; |
|
2598 TSmsMsg* smsMsgPtr(&smsMsg); |
|
2599 TBool ind(EFalse); |
|
2600 |
|
2601 TMockLtsyData2<TBool, TSmsMsg*> compTsyData(ind, smsMsgPtr); |
|
2602 compTsyData.SerialiseL(data); |
|
2603 |
|
2604 iMockLTSY.CompleteL(EMobileSmsMessagingReceiveMessage, KErrNone, data); |
|
2605 |
|
2606 iMockLTSY.ExpectL(EMmTsyActivateSmsRouting); |
|
2607 |
|
2608 |
|
2609 |
|
2610 TSmsMsg smsMsg2; |
|
2611 TSmsMsg* smsMsgPtr2(&smsMsg2); |
|
2612 TBool ind2(EFalse); |
|
2613 |
|
2614 TMockLtsyData2<TBool, TSmsMsg*> compTsyData2(ind2, smsMsgPtr2); |
|
2615 data.Close(); |
|
2616 compTsyData2.SerialiseL(data); |
|
2617 |
|
2618 iMockLTSY.CompleteL(EMobileSmsMessagingReceiveMessage, KErrNone, data); |
|
2619 |
|
2620 iMockLTSY.ExpectL(EMmTsyActivateSmsRouting); |
|
2621 |
|
2622 |
|
2623 ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 360502); |
|
2624 //request for EMobileSmsMessagingReceiveMessage in case of mutiple clients hangs on |
|
2625 //User::WaitForRequest() untill testexecute aborts the test with timeout |
|
2626 |
|
2627 ASSERT_TRUE(EFalse); |
|
2628 |
|
2629 User::WaitForRequest(reqStatus); |
|
2630 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
2631 |
|
2632 User::WaitForRequest(reqStatus2); |
|
2633 ASSERT_EQUALS(KErrNone, reqStatus2.Int()); |
|
2634 |
|
2635 AssertMockLtsyStatusL(); |
|
2636 |
|
2637 CleanupStack::PopAndDestroy(5, this); |
|
2638 |
|
2639 } |
|
2640 |
|
2641 |
|
2642 |
|
2643 /** |
|
2644 @SYMTestCaseID BA-CTSY-SMSM-SSMSB-0001 |
|
2645 @SYMComponent telephony_ctsy |
|
2646 @SYMTestCaseDesc Test support in CTSY for RMobileSmsMessaging::SetMoSmsBearer |
|
2647 @SYMTestPriority High |
|
2648 @SYMTestActions Invokes RMobileSmsMessaging::SetMoSmsBearer |
|
2649 @SYMTestExpectedResults Pass |
|
2650 @SYMTestType CT |
|
2651 */ |
|
2652 void CCTsySmsMessagingFU::TestSetMoSmsBearer0001L() |
|
2653 { |
|
2654 |
|
2655 OpenEtelServerL(EUseExtendedError); |
|
2656 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2657 OpenPhoneL(); |
|
2658 |
|
2659 RBuf8 data; |
|
2660 CleanupClosePushL(data); |
|
2661 |
|
2662 RMobileSmsMessaging messaging; |
|
2663 TInt err = messaging.Open(iPhone); |
|
2664 ASSERT_EQUALS(KErrNone, err); |
|
2665 CleanupClosePushL(messaging); |
|
2666 |
|
2667 TRequestStatus reqStatus; |
|
2668 RMobileSmsMessaging::TMobileSmsBearer smsBearer; |
|
2669 |
|
2670 |
|
2671 TMockLtsyData1<RMobileSmsMessaging::TMobileSmsBearer> expTsyData(smsBearer); |
|
2672 |
|
2673 //------------------------------------------------------------------------- |
|
2674 // TEST A1: failure to dispatch request to LTSY |
|
2675 //------------------------------------------------------------------------- |
|
2676 |
|
2677 // -1 means an invalid value, which is out of bounds of enum TMobileSmsBearer |
|
2678 smsBearer = (RMobileSmsMessaging::TMobileSmsBearer) -1; |
|
2679 messaging.SetMoSmsBearer(reqStatus, smsBearer); |
|
2680 |
|
2681 User::WaitForRequest(reqStatus); |
|
2682 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()); |
|
2683 |
|
2684 |
|
2685 //------------------------------------------------------------------------- |
|
2686 // TEST B: failure on completion of pending request from LTSY->CTSY |
|
2687 //------------------------------------------------------------------------- |
|
2688 smsBearer = RMobileSmsMessaging::ESmsBearerPacketOnly; |
|
2689 expTsyData.SerialiseL(data); |
|
2690 |
|
2691 iMockLTSY.ExpectL(EMobileSmsMessagingSetMoSmsBearer, data); |
|
2692 |
|
2693 messaging.SetMoSmsBearer(reqStatus, smsBearer); |
|
2694 |
|
2695 iMockLTSY.CompleteL(EMobileSmsMessagingSetMoSmsBearer, KErrGeneral); |
|
2696 |
|
2697 User::WaitForRequest(reqStatus); |
|
2698 ASSERT_EQUALS(KErrGeneral, reqStatus.Int()); |
|
2699 |
|
2700 AssertMockLtsyStatusL(); |
|
2701 |
|
2702 //------------------------------------------------------------------------- |
|
2703 // TEST C: Successful completion request of |
|
2704 // RMobileSmsMessaging::SetMoSmsBearer when result is not cached. |
|
2705 //------------------------------------------------------------------------- |
|
2706 |
|
2707 smsBearer = RMobileSmsMessaging::ESmsBearerPacketPreferred; |
|
2708 |
|
2709 data.Close(); |
|
2710 expTsyData.SerialiseL(data); |
|
2711 |
|
2712 iMockLTSY.ExpectL(EMobileSmsMessagingSetMoSmsBearer, data); |
|
2713 |
|
2714 messaging.SetMoSmsBearer(reqStatus, smsBearer); |
|
2715 |
|
2716 iMockLTSY.CompleteL(EMobileSmsMessagingSetMoSmsBearer, KErrNone); |
|
2717 |
|
2718 User::WaitForRequest(reqStatus); |
|
2719 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
2720 |
|
2721 AssertMockLtsyStatusL(); |
|
2722 |
|
2723 //------------------------------------------------------------------------- |
|
2724 // TEST E: Unsolicited completion of RMobileSmsMessaging::SetMoSmsBearer |
|
2725 // from LTSY. |
|
2726 //------------------------------------------------------------------------- |
|
2727 |
|
2728 TRequestStatus mockLtsyStatus; |
|
2729 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
2730 |
|
2731 iMockLTSY.CompleteL(EMobileSmsMessagingSetMoSmsBearer, KErrNone); |
|
2732 |
|
2733 User::WaitForRequest(mockLtsyStatus); |
|
2734 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
2735 |
|
2736 AssertMockLtsyStatusL(); |
|
2737 |
|
2738 //------------------------------------------------------------------------- |
|
2739 // TEST A2: failure to dispatch request to LTSY |
|
2740 //------------------------------------------------------------------------- |
|
2741 smsBearer = RMobileSmsMessaging::ESmsBearerCircuitOnly; |
|
2742 |
|
2743 data.Close(); |
|
2744 expTsyData.SerialiseL(data); |
|
2745 |
|
2746 iMockLTSY.ExpectL(EMobileSmsMessagingSetMoSmsBearer, data, KErrNotSupported); |
|
2747 |
|
2748 |
|
2749 ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 360601); |
|
2750 |
|
2751 //Test A for EMobileSmsMessagingSetMoSmsBearer (failure to dispatch request to LTSY) |
|
2752 //result in unknown exception in request completion in ETel::CompleteAndDestroyReq(), |
|
2753 //more concrete - in Deque() function |
|
2754 |
|
2755 ASSERT_TRUE(EFalse); |
|
2756 |
|
2757 messaging.SetMoSmsBearer(reqStatus, smsBearer); |
|
2758 |
|
2759 User::WaitForRequest(reqStatus); |
|
2760 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()); |
|
2761 |
|
2762 AssertMockLtsyStatusL(); |
|
2763 CleanupStack::PopAndDestroy(2, this); // data, this |
|
2764 |
|
2765 } |
|
2766 |
|
2767 |
|
2768 /** |
|
2769 @SYMTestCaseID BA-CTSY-SMSM-SSMSB-0002 |
|
2770 @SYMComponent telephony_ctsy |
|
2771 @SYMTestCaseDesc Test support in CTSY for cancelling of RMobileSmsMessaging::SetMoSmsBearer |
|
2772 @SYMTestPriority High |
|
2773 @SYMTestActions Invokes cancelling of RMobileSmsMessaging::SetMoSmsBearer |
|
2774 @SYMTestExpectedResults Pass |
|
2775 @SYMTestType CT |
|
2776 */ |
|
2777 void CCTsySmsMessagingFU::TestSetMoSmsBearer0002L() |
|
2778 { |
|
2779 OpenEtelServerL(EUseExtendedError); |
|
2780 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2781 OpenPhoneL(); |
|
2782 |
|
2783 RMobileSmsMessaging messaging; |
|
2784 TInt err = messaging.Open(iPhone); |
|
2785 ASSERT_EQUALS(KErrNone, err); |
|
2786 CleanupClosePushL(messaging); |
|
2787 |
|
2788 TRequestStatus reqStatus; |
|
2789 RMobileSmsMessaging::TMobileSmsBearer smsBearer(RMobileSmsMessaging::ESmsBearerCircuitPreferred); |
|
2790 |
|
2791 |
|
2792 TMockLtsyData1<RMobileSmsMessaging::TMobileSmsBearer> expTsyData(smsBearer); |
|
2793 |
|
2794 RBuf8 data; |
|
2795 CleanupClosePushL(data); |
|
2796 |
|
2797 //------------------------------------------------------------------------- |
|
2798 // Test cancelling of RMobileSmsMessaging::SetMoSmsBearer |
|
2799 //------------------------------------------------------------------------- |
|
2800 |
|
2801 TRequestStatus mockLtsyStatus; |
|
2802 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
2803 |
|
2804 expTsyData.SerialiseL(data); |
|
2805 |
|
2806 iMockLTSY.ExpectL(EMobileSmsMessagingSetMoSmsBearer, data); |
|
2807 iMockLTSY.CompleteL(EMobileSmsMessagingSetMoSmsBearer, KErrNone, 10); |
|
2808 |
|
2809 messaging.SetMoSmsBearer(reqStatus, smsBearer); |
|
2810 |
|
2811 messaging.CancelAsyncRequest(EMobileSmsMessagingSetMoSmsBearer); |
|
2812 |
|
2813 User::WaitForRequest(mockLtsyStatus); |
|
2814 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
2815 |
|
2816 User::WaitForRequest(reqStatus); |
|
2817 ASSERT_EQUALS(KErrCancel, reqStatus.Int()); |
|
2818 |
|
2819 AssertMockLtsyStatusL(); |
|
2820 |
|
2821 CleanupStack::PopAndDestroy(3); // data, this |
|
2822 |
|
2823 } |
|
2824 |
|
2825 |
|
2826 |
|
2827 /** |
|
2828 @SYMTestCaseID BA-CTSY-SMSM-SSMSB-0004 |
|
2829 @SYMComponent telephony_ctsy |
|
2830 @SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileSmsMessaging::SetMoSmsBearer |
|
2831 @SYMTestPriority High |
|
2832 @SYMTestActions Invokes multiple client requests to RMobileSmsMessaging::SetMoSmsBearer |
|
2833 @SYMTestExpectedResults Pass |
|
2834 @SYMTestType CT |
|
2835 */ |
|
2836 void CCTsySmsMessagingFU::TestSetMoSmsBearer0004L() |
|
2837 { |
|
2838 |
|
2839 OpenEtelServerL(EUseExtendedError); |
|
2840 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2841 OpenPhoneL(); |
|
2842 |
|
2843 RBuf8 data; |
|
2844 CleanupClosePushL(data); |
|
2845 |
|
2846 // Open second client |
|
2847 RTelServer telServer2; |
|
2848 TInt ret = telServer2.Connect(); |
|
2849 ASSERT_EQUALS(KErrNone, ret); |
|
2850 CleanupClosePushL(telServer2); |
|
2851 |
|
2852 RMobilePhone phone2; |
|
2853 ret = phone2.Open(telServer2,KMmTsyPhoneName); |
|
2854 ASSERT_EQUALS(KErrNone, ret); |
|
2855 CleanupClosePushL(phone2); |
|
2856 |
|
2857 |
|
2858 RMobileSmsMessaging messaging; |
|
2859 TInt err = messaging.Open(iPhone); |
|
2860 ASSERT_EQUALS(KErrNone, err); |
|
2861 CleanupClosePushL(messaging); |
|
2862 |
|
2863 RMobileSmsMessaging messaging2; |
|
2864 err = messaging2.Open(phone2); |
|
2865 ASSERT_EQUALS(KErrNone, err); |
|
2866 CleanupClosePushL(messaging2); |
|
2867 |
|
2868 |
|
2869 TRequestStatus reqStatus; |
|
2870 TRequestStatus reqStatus2; |
|
2871 RMobileSmsMessaging::TMobileSmsBearer smsBearer(RMobileSmsMessaging::ESmsBearerCircuitPreferred); |
|
2872 RMobileSmsMessaging::TMobileSmsBearer smsBearer2(RMobileSmsMessaging::ESmsBearerPacketOnly); |
|
2873 |
|
2874 |
|
2875 //------------------------------------------------------------------------- |
|
2876 // Test A: Test multiple clients requesting RMobileSmsMessaging::SetMoSmsBearer |
|
2877 //------------------------------------------------------------------------- |
|
2878 |
|
2879 TMockLtsyData1<RMobileSmsMessaging::TMobileSmsBearer> expTsyData(smsBearer); |
|
2880 expTsyData.SerialiseL(data); |
|
2881 |
|
2882 iMockLTSY.ExpectL(EMobileSmsMessagingSetMoSmsBearer, data); |
|
2883 |
|
2884 messaging.SetMoSmsBearer(reqStatus, smsBearer); |
|
2885 |
|
2886 messaging2.SetMoSmsBearer(reqStatus2, smsBearer2); |
|
2887 |
|
2888 |
|
2889 iMockLTSY.CompleteL(EMobileSmsMessagingSetMoSmsBearer, KErrNone); |
|
2890 User::WaitForRequest(reqStatus); |
|
2891 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
2892 |
|
2893 User::WaitForRequest(reqStatus2); |
|
2894 ASSERT_EQUALS(KErrServerBusy, reqStatus2.Int()); |
|
2895 |
|
2896 AssertMockLtsyStatusL(); |
|
2897 |
|
2898 CleanupStack::PopAndDestroy(6, this); |
|
2899 } |
|
2900 |
|
2901 |
|
2902 |
|
2903 /** |
|
2904 @SYMTestCaseID BA-CTSY-SMSM-SSRM-0001 |
|
2905 @SYMComponent telephony_ctsy |
|
2906 @SYMTestCaseDesc Test support in CTSY for RMobileSmsMessaging::SetReceiveMode |
|
2907 @SYMTestPriority High |
|
2908 @SYMTestActions Invokes RMobileSmsMessaging::SetReceiveMode |
|
2909 @SYMTestExpectedResults Pass |
|
2910 @SYMTestType CT |
|
2911 */ |
|
2912 void CCTsySmsMessagingFU::TestSetReceiveMode0001L() |
|
2913 { |
|
2914 OpenEtelServerL(EUseExtendedError); |
|
2915 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2916 OpenPhoneL(); |
|
2917 |
|
2918 RMobileSmsMessaging messaging; |
|
2919 TInt err = messaging.Open(iPhone); |
|
2920 ASSERT_EQUALS(KErrNone, err); |
|
2921 CleanupClosePushL(messaging); |
|
2922 |
|
2923 TRequestStatus reqStatus; |
|
2924 RMobileSmsMessaging::TMobileSmsReceiveMode recMode(RMobileSmsMessaging::EReceiveModeUnspecified); |
|
2925 |
|
2926 //------------------------------------------------------------------------- |
|
2927 // TEST A1: failure to dispatch request to LTSY |
|
2928 //------------------------------------------------------------------------- |
|
2929 |
|
2930 messaging.SetReceiveMode(reqStatus, recMode); |
|
2931 |
|
2932 User::WaitForRequest(reqStatus); |
|
2933 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()); |
|
2934 |
|
2935 |
|
2936 //------------------------------------------------------------------------- |
|
2937 // TEST C: Successful completion request of |
|
2938 // RMobileSmsMessaging::SetReceiveMode when result is not cached. |
|
2939 //------------------------------------------------------------------------- |
|
2940 |
|
2941 recMode = RMobileSmsMessaging::EReceiveUnstoredClientAck; |
|
2942 |
|
2943 messaging.SetReceiveMode(reqStatus, recMode); |
|
2944 |
|
2945 User::WaitForRequest(reqStatus); |
|
2946 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
2947 |
|
2948 AssertMockLtsyStatusL(); |
|
2949 CleanupStack::PopAndDestroy(2, this); |
|
2950 |
|
2951 } |
|
2952 |
|
2953 |
|
2954 /** |
|
2955 @SYMTestCaseID BA-CTSY-SMSM-SSRM-0002 |
|
2956 @SYMComponent telephony_ctsy |
|
2957 @SYMTestCaseDesc Test support in CTSY for cancelling of RMobileSmsMessaging::SetReceiveMode |
|
2958 @SYMTestPriority High |
|
2959 @SYMTestActions Invokes cancelling of RMobileSmsMessaging::SetReceiveMode |
|
2960 @SYMTestExpectedResults Pass |
|
2961 @SYMTestType CT |
|
2962 */ |
|
2963 void CCTsySmsMessagingFU::TestSetReceiveMode0002L() |
|
2964 { |
|
2965 |
|
2966 OpenEtelServerL(EUseExtendedError); |
|
2967 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2968 OpenPhoneL(); |
|
2969 |
|
2970 RMobileSmsMessaging messaging; |
|
2971 TInt err = messaging.Open(iPhone); |
|
2972 ASSERT_EQUALS(KErrNone, err); |
|
2973 CleanupClosePushL(messaging); |
|
2974 |
|
2975 TRequestStatus reqStatus; |
|
2976 RMobileSmsMessaging::TMobileSmsReceiveMode recMode(RMobileSmsMessaging::EReceiveUnstoredClientAck); |
|
2977 |
|
2978 //------------------------------------------------------------------------- |
|
2979 // Test cancelling of RMobileSmsMessaging::SetReceiveMode |
|
2980 //------------------------------------------------------------------------- |
|
2981 messaging.SetReceiveMode(reqStatus, recMode); |
|
2982 |
|
2983 messaging.CancelAsyncRequest(EMobileSmsMessagingSetReceiveMode); |
|
2984 |
|
2985 User::WaitForRequest(reqStatus); |
|
2986 |
|
2987 ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 360701); |
|
2988 //SetReceiveModeCancel() is never called, the request cancel can't be completed |
|
2989 // Remove the function and correct comment in mm_messaging.cpp |
|
2990 |
|
2991 ASSERT_EQUALS(KErrCancel, reqStatus.Int()); |
|
2992 |
|
2993 AssertMockLtsyStatusL(); |
|
2994 |
|
2995 |
|
2996 CleanupStack::PopAndDestroy(2); |
|
2997 |
|
2998 } |
|
2999 |
|
3000 |
|
3001 /** |
|
3002 @SYMTestCaseID BA-CTSY-SMSM-SSRM-0004 |
|
3003 @SYMComponent telephony_ctsy |
|
3004 @SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileSmsMessaging::SetReceiveMode |
|
3005 @SYMTestPriority High |
|
3006 @SYMTestActions Invokes multiple client requests to RMobileSmsMessaging::SetReceiveMode |
|
3007 @SYMTestExpectedResults Pass |
|
3008 @SYMTestType CT |
|
3009 */ |
|
3010 void CCTsySmsMessagingFU::TestSetReceiveMode0004L() |
|
3011 { |
|
3012 OpenEtelServerL(EUseExtendedError); |
|
3013 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
3014 OpenPhoneL(); |
|
3015 |
|
3016 RBuf8 data; |
|
3017 CleanupClosePushL(data); |
|
3018 |
|
3019 // Open second client |
|
3020 RTelServer telServer2; |
|
3021 TInt ret = telServer2.Connect(); |
|
3022 ASSERT_EQUALS(KErrNone, ret); |
|
3023 CleanupClosePushL(telServer2); |
|
3024 |
|
3025 RMobilePhone phone2; |
|
3026 ret = phone2.Open(telServer2,KMmTsyPhoneName); |
|
3027 ASSERT_EQUALS(KErrNone, ret); |
|
3028 CleanupClosePushL(phone2); |
|
3029 |
|
3030 |
|
3031 RMobileSmsMessaging messaging; |
|
3032 TInt err = messaging.Open(iPhone); |
|
3033 ASSERT_EQUALS(KErrNone, err); |
|
3034 CleanupClosePushL(messaging); |
|
3035 |
|
3036 RMobileSmsMessaging messaging2; |
|
3037 err = messaging2.Open(phone2); |
|
3038 ASSERT_EQUALS(KErrNone, err); |
|
3039 CleanupClosePushL(messaging2); |
|
3040 |
|
3041 |
|
3042 TRequestStatus reqStatus; |
|
3043 TRequestStatus reqStatus2; |
|
3044 RMobileSmsMessaging::TMobileSmsReceiveMode recMode(RMobileSmsMessaging::EReceiveUnstoredClientAck); |
|
3045 RMobileSmsMessaging::TMobileSmsReceiveMode recMode2(RMobileSmsMessaging::EReceiveEither); |
|
3046 |
|
3047 |
|
3048 //------------------------------------------------------------------------- |
|
3049 // Test A: Test multiple clients requesting RMobileSmsMessaging::SetReceiveMode |
|
3050 //------------------------------------------------------------------------- |
|
3051 |
|
3052 messaging.SetReceiveMode(reqStatus, recMode); |
|
3053 |
|
3054 messaging2.SetReceiveMode(reqStatus2, recMode2); |
|
3055 |
|
3056 |
|
3057 User::WaitForRequest(reqStatus); |
|
3058 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
3059 |
|
3060 User::WaitForRequest(reqStatus2); |
|
3061 ASSERT_EQUALS(KErrNotSupported, reqStatus2.Int()); |
|
3062 |
|
3063 AssertMockLtsyStatusL(); |
|
3064 |
|
3065 CleanupStack::PopAndDestroy(6, this); |
|
3066 } |
|
3067 |
|
3068 |
|
3069 |
|
3070 /** |
|
3071 @SYMTestCaseID BA-CTSY-SMSM-SSSL-0001 |
|
3072 @SYMComponent telephony_ctsy |
|
3073 @SYMTestCaseDesc Test support in CTSY for RMobileSmsMessaging::StoreSmspListL |
|
3074 @SYMTestPriority High |
|
3075 @SYMTestActions Invokes RMobileSmsMessaging::StoreSmspListL |
|
3076 @SYMTestExpectedResults Pass |
|
3077 @SYMTestType CT |
|
3078 */ |
|
3079 void CCTsySmsMessagingFU::TestStoreSmspListL0001L() |
|
3080 { |
|
3081 |
|
3082 OpenEtelServerL(EUseExtendedError); |
|
3083 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
3084 OpenPhoneL(); |
|
3085 |
|
3086 RBuf8 data; |
|
3087 CleanupClosePushL(data); |
|
3088 |
|
3089 RMobileSmsMessaging messaging; |
|
3090 TInt err = messaging.Open(iPhone); |
|
3091 ASSERT_EQUALS(KErrNone, err); |
|
3092 CleanupClosePushL(messaging); |
|
3093 |
|
3094 TRequestStatus reqStatus; |
|
3095 CMobilePhoneSmspList* smspListPtr = CMobilePhoneSmspList::NewL(); |
|
3096 CleanupStack::PushL(smspListPtr); |
|
3097 |
|
3098 //------------------------------------------------------------------------- |
|
3099 // TEST A0: failure to dispatch request to LTSY |
|
3100 //------------------------------------------------------------------------- |
|
3101 |
|
3102 messaging.StoreSmspListL(reqStatus, smspListPtr); |
|
3103 |
|
3104 User::WaitForRequest(reqStatus); |
|
3105 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
3106 |
|
3107 AssertMockLtsyStatusL(); |
|
3108 |
|
3109 //------------------------------------------------------------------------- |
|
3110 // TEST A: failure to dispatch request to LTSY |
|
3111 //------------------------------------------------------------------------- |
|
3112 |
|
3113 RMobileSmsMessaging::TMobileSmspEntryV1 smspEntry; |
|
3114 |
|
3115 smspListPtr->AddEntryL(smspEntry); |
|
3116 |
|
3117 TMockLtsyData1<CMobilePhoneSmspList*> expTsyData(smspListPtr); |
|
3118 expTsyData.SerialiseL(data); |
|
3119 |
|
3120 iMockLTSY.ExpectL(EMobileSmsMessagingStoreSmspList, data, KErrNotSupported); |
|
3121 |
|
3122 messaging.StoreSmspListL(reqStatus, smspListPtr); |
|
3123 |
|
3124 User::WaitForRequest(reqStatus); |
|
3125 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()); |
|
3126 |
|
3127 AssertMockLtsyStatusL(); |
|
3128 |
|
3129 //------------------------------------------------------------------------- |
|
3130 // TEST B: failure on completion of pending request from LTSY->CTSY |
|
3131 //------------------------------------------------------------------------- |
|
3132 |
|
3133 iMockLTSY.ExpectL(EMobileSmsMessagingStoreSmspList, data); |
|
3134 |
|
3135 messaging.StoreSmspListL(reqStatus, smspListPtr); |
|
3136 |
|
3137 iMockLTSY.CompleteL(EMobileSmsMessagingStoreSmspList, KErrGeneral); |
|
3138 |
|
3139 User::WaitForRequest(reqStatus); |
|
3140 ASSERT_EQUALS(KErrGeneral, reqStatus.Int()); |
|
3141 |
|
3142 AssertMockLtsyStatusL(); |
|
3143 |
|
3144 //------------------------------------------------------------------------- |
|
3145 // TEST C: Successful completion request of |
|
3146 // RMobileSmsMessaging::StoreSmspListL when result is not cached. |
|
3147 //------------------------------------------------------------------------- |
|
3148 |
|
3149 iMockLTSY.ExpectL(EMobileSmsMessagingStoreSmspList, data); |
|
3150 |
|
3151 messaging.StoreSmspListL(reqStatus, smspListPtr); |
|
3152 |
|
3153 iMockLTSY.CompleteL(EMobileSmsMessagingStoreSmspList, KErrNone); |
|
3154 |
|
3155 User::WaitForRequest(reqStatus); |
|
3156 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
3157 |
|
3158 AssertMockLtsyStatusL(); |
|
3159 |
|
3160 //------------------------------------------------------------------------- |
|
3161 // TEST E: Unsolicited completion of RMobileSmsMessaging::StoreSmspListL |
|
3162 // from LTSY. |
|
3163 //------------------------------------------------------------------------- |
|
3164 |
|
3165 TRequestStatus mockLtsyStatus; |
|
3166 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
3167 |
|
3168 iMockLTSY.CompleteL(EMobileSmsMessagingStoreSmspList, KErrNone); |
|
3169 |
|
3170 User::WaitForRequest(mockLtsyStatus); |
|
3171 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
3172 |
|
3173 AssertMockLtsyStatusL(); |
|
3174 CleanupStack::PopAndDestroy(4, this); |
|
3175 |
|
3176 } |
|
3177 |
|
3178 |
|
3179 /** |
|
3180 @SYMTestCaseID BA-CTSY-SMSM-SSSL-0002 |
|
3181 @SYMComponent telephony_ctsy |
|
3182 @SYMTestCaseDesc Test support in CTSY for cancelling of RMobileSmsMessaging::StoreSmspListL |
|
3183 @SYMTestPriority High |
|
3184 @SYMTestActions Invokes cancelling of RMobileSmsMessaging::StoreSmspListL |
|
3185 @SYMTestExpectedResults Pass |
|
3186 @SYMTestType CT |
|
3187 */ |
|
3188 void CCTsySmsMessagingFU::TestStoreSmspListL0002L() |
|
3189 { |
|
3190 |
|
3191 OpenEtelServerL(EUseExtendedError); |
|
3192 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
3193 OpenPhoneL(); |
|
3194 |
|
3195 RMobileSmsMessaging messaging; |
|
3196 TInt err = messaging.Open(iPhone); |
|
3197 ASSERT_EQUALS(KErrNone, err); |
|
3198 CleanupClosePushL(messaging); |
|
3199 |
|
3200 TRequestStatus reqStatus; |
|
3201 CMobilePhoneSmspList* smspListPtr = CMobilePhoneSmspList::NewL(); |
|
3202 CleanupStack::PushL(smspListPtr); |
|
3203 |
|
3204 TRequestStatus mockLtsyStatus; |
|
3205 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
3206 |
|
3207 RBuf8 data; |
|
3208 CleanupClosePushL(data); |
|
3209 |
|
3210 RMobileSmsMessaging::TMobileSmspEntryV1 smspEntry; |
|
3211 |
|
3212 smspListPtr->AddEntryL(smspEntry); |
|
3213 |
|
3214 //------------------------------------------------------------------------- |
|
3215 // Test cancelling of RMobileSmsMessaging::StoreSmspListL |
|
3216 //------------------------------------------------------------------------- |
|
3217 |
|
3218 TMockLtsyData1<CMobilePhoneSmspList*> expTsyData(smspListPtr); |
|
3219 expTsyData.SerialiseL(data); |
|
3220 |
|
3221 iMockLTSY.ExpectL(EMobileSmsMessagingStoreSmspList, data, KErrNone); |
|
3222 iMockLTSY.CompleteL(EMobileSmsMessagingStoreSmspList, KErrNone, 20); |
|
3223 |
|
3224 messaging.StoreSmspListL(reqStatus, smspListPtr); |
|
3225 |
|
3226 messaging.CancelAsyncRequest(EMobileSmsMessagingStoreSmspList); |
|
3227 |
|
3228 User::WaitForRequest(reqStatus); |
|
3229 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
3230 |
|
3231 // Wait for completion of iMockLTSY.NotifyTerminated |
|
3232 User::WaitForRequest(mockLtsyStatus); |
|
3233 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
3234 |
|
3235 AssertMockLtsyStatusL(); |
|
3236 |
|
3237 CleanupStack::PopAndDestroy(4); |
|
3238 |
|
3239 } |
|
3240 |
|
3241 |
|
3242 |
|
3243 /** |
|
3244 @SYMTestCaseID BA-CTSY-SMSM-SSSL-0004 |
|
3245 @SYMComponent telephony_ctsy |
|
3246 @SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileSmsMessaging::StoreSmspListL |
|
3247 @SYMTestPriority High |
|
3248 @SYMTestActions Invokes multiple client requests to RMobileSmsMessaging::StoreSmspListL |
|
3249 @SYMTestExpectedResults Pass |
|
3250 @SYMTestType CT |
|
3251 */ |
|
3252 void CCTsySmsMessagingFU::TestStoreSmspListL0004L() |
|
3253 { |
|
3254 |
|
3255 OpenEtelServerL(EUseExtendedError); |
|
3256 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
3257 OpenPhoneL(); |
|
3258 |
|
3259 RBuf8 data; |
|
3260 CleanupClosePushL(data); |
|
3261 |
|
3262 // Open second client |
|
3263 RTelServer telServer2; |
|
3264 TInt ret = telServer2.Connect(); |
|
3265 ASSERT_EQUALS(KErrNone, ret); |
|
3266 CleanupClosePushL(telServer2); |
|
3267 |
|
3268 RMobilePhone phone2; |
|
3269 ret = phone2.Open(telServer2,KMmTsyPhoneName); |
|
3270 ASSERT_EQUALS(KErrNone, ret); |
|
3271 CleanupClosePushL(phone2); |
|
3272 |
|
3273 |
|
3274 RMobileSmsMessaging messaging; |
|
3275 TInt err = messaging.Open(iPhone); |
|
3276 ASSERT_EQUALS(KErrNone, err); |
|
3277 CleanupClosePushL(messaging); |
|
3278 |
|
3279 RMobileSmsMessaging messaging2; |
|
3280 err = messaging2.Open(phone2); |
|
3281 ASSERT_EQUALS(KErrNone, err); |
|
3282 CleanupClosePushL(messaging2); |
|
3283 |
|
3284 TRequestStatus reqStatus; |
|
3285 TRequestStatus reqStatus2; |
|
3286 CMobilePhoneSmspList* smspListPtr = CMobilePhoneSmspList::NewL(); |
|
3287 CleanupStack::PushL(smspListPtr); |
|
3288 |
|
3289 RMobileSmsMessaging::TMobileSmspEntryV1 smspEntry; |
|
3290 smspListPtr->AddEntryL(smspEntry); |
|
3291 |
|
3292 //------------------------------------------------------------------------- |
|
3293 // Test A: Test multiple clients requesting RMobileSmsMessaging::StoreSmspListL |
|
3294 //------------------------------------------------------------------------- |
|
3295 |
|
3296 TMockLtsyData1<CMobilePhoneSmspList*> expTsyData(smspListPtr); |
|
3297 expTsyData.SerialiseL(data); |
|
3298 |
|
3299 iMockLTSY.ExpectL(EMobileSmsMessagingStoreSmspList, data, KErrNone); |
|
3300 |
|
3301 messaging.StoreSmspListL(reqStatus, smspListPtr); |
|
3302 |
|
3303 |
|
3304 messaging2.StoreSmspListL(reqStatus2, smspListPtr); |
|
3305 |
|
3306 |
|
3307 iMockLTSY.CompleteL(EMobileSmsMessagingStoreSmspList, KErrNone); |
|
3308 |
|
3309 User::WaitForRequest(reqStatus); |
|
3310 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
3311 |
|
3312 |
|
3313 User::WaitForRequest(reqStatus2); |
|
3314 ASSERT_EQUALS(KErrServerBusy, reqStatus2.Int()); |
|
3315 |
|
3316 AssertMockLtsyStatusL(); |
|
3317 |
|
3318 CleanupStack::PopAndDestroy(7, this); |
|
3319 } |
|
3320 |
|
3321 |
|
3322 /** |
|
3323 @SYMTestCaseID BA-CTSY-SMSM-SSSL-0005 |
|
3324 @SYMComponent telephony_ctsy |
|
3325 @SYMTestCaseDesc Test support in CTSY for RMobileSmsMessaging::StoreSmspListL with timeout |
|
3326 @SYMTestPriority High |
|
3327 @SYMTestActions Invokes RMobileSmsMessaging::StoreSmspListL and tests for timeout |
|
3328 @SYMTestExpectedResults Pass |
|
3329 @SYMTestType CT |
|
3330 */ |
|
3331 void CCTsySmsMessagingFU::TestStoreSmspListL0005L() |
|
3332 { |
|
3333 OpenEtelServerL(EUseExtendedError); |
|
3334 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
3335 OpenPhoneL(); |
|
3336 |
|
3337 RMobileSmsMessaging messaging; |
|
3338 TInt err = messaging.Open(iPhone); |
|
3339 ASSERT_EQUALS(KErrNone, err); |
|
3340 CleanupClosePushL(messaging); |
|
3341 |
|
3342 TRequestStatus reqStatus; |
|
3343 CMobilePhoneSmspList* smspListPtr = CMobilePhoneSmspList::NewL(); |
|
3344 CleanupStack::PushL(smspListPtr); |
|
3345 |
|
3346 RBuf8 data; |
|
3347 CleanupClosePushL(data); |
|
3348 |
|
3349 RMobileSmsMessaging::TMobileSmspEntryV1 smspEntry; |
|
3350 |
|
3351 smspListPtr->AddEntryL(smspEntry); |
|
3352 |
|
3353 TMockLtsyData1<CMobilePhoneSmspList*> expTsyData(smspListPtr); |
|
3354 expTsyData.SerialiseL(data); |
|
3355 |
|
3356 iMockLTSY.ExpectL(EMobileSmsMessagingStoreSmspList, data, KErrNone); |
|
3357 |
|
3358 messaging.StoreSmspListL(reqStatus, smspListPtr); |
|
3359 |
|
3360 User::WaitForRequest(reqStatus); |
|
3361 ASSERT_EQUALS(KErrTimedOut, reqStatus.Int()); |
|
3362 |
|
3363 AssertMockLtsyStatusL(); |
|
3364 |
|
3365 CleanupStack::PopAndDestroy(4); |
|
3366 } |
|
3367 |
|
3368 |
|
3369 /** |
|
3370 @SYMTestCaseID BA-CTSY-SMSM-SRSR-0001 |
|
3371 @SYMComponent telephony_ctsy |
|
3372 @SYMTestCaseDesc Test support in CTSY for RMobileSmsMessaging::ResumeSmsReception |
|
3373 @SYMTestPriority High |
|
3374 @SYMTestActions Invokes RMobileSmsMessaging::ResumeSmsReception |
|
3375 @SYMTestExpectedResults Pass |
|
3376 @SYMTestType CT |
|
3377 */ |
|
3378 void CCTsySmsMessagingFU::TestResumeSmsReception0001L() |
|
3379 { |
|
3380 |
|
3381 OpenEtelServerL(EUseExtendedError); |
|
3382 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
3383 OpenPhoneL(); |
|
3384 |
|
3385 RBuf8 data; |
|
3386 CleanupClosePushL(data); |
|
3387 |
|
3388 RMobileSmsMessaging messaging; |
|
3389 TInt err = messaging.Open(iPhone); |
|
3390 ASSERT_EQUALS(KErrNone, err); |
|
3391 CleanupClosePushL(messaging); |
|
3392 |
|
3393 TRequestStatus reqStatus; |
|
3394 |
|
3395 |
|
3396 //------------------------------------------------------------------------- |
|
3397 // TEST A: failure to dispatch request to LTSY |
|
3398 //------------------------------------------------------------------------- |
|
3399 |
|
3400 iMockLTSY.ExpectL(EMobileSmsMessagingResumeSmsReception, KErrNotSupported); |
|
3401 |
|
3402 messaging.ResumeSmsReception(reqStatus); |
|
3403 |
|
3404 User::WaitForRequest(reqStatus); |
|
3405 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()); |
|
3406 |
|
3407 AssertMockLtsyStatusL(); |
|
3408 |
|
3409 //------------------------------------------------------------------------- |
|
3410 // TEST B: failure on completion of pending request from LTSY->CTSY |
|
3411 //------------------------------------------------------------------------- |
|
3412 |
|
3413 iMockLTSY.ExpectL(EMobileSmsMessagingResumeSmsReception); |
|
3414 |
|
3415 messaging.ResumeSmsReception(reqStatus); |
|
3416 |
|
3417 iMockLTSY.CompleteL(EMobileSmsMessagingResumeSmsReception, KErrGeneral); |
|
3418 |
|
3419 User::WaitForRequest(reqStatus); |
|
3420 ASSERT_EQUALS(KErrGeneral, reqStatus.Int()); |
|
3421 |
|
3422 AssertMockLtsyStatusL(); |
|
3423 |
|
3424 //------------------------------------------------------------------------- |
|
3425 // TEST C: Successful completion request of |
|
3426 // RMobileSmsMessaging::ResumeSmsReception when result is not cached. |
|
3427 //------------------------------------------------------------------------- |
|
3428 |
|
3429 iMockLTSY.ExpectL(EMobileSmsMessagingResumeSmsReception); |
|
3430 |
|
3431 messaging.ResumeSmsReception(reqStatus); |
|
3432 |
|
3433 iMockLTSY.CompleteL(EMobileSmsMessagingResumeSmsReception, KErrNone); |
|
3434 |
|
3435 User::WaitForRequest(reqStatus); |
|
3436 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
3437 |
|
3438 AssertMockLtsyStatusL(); |
|
3439 |
|
3440 //------------------------------------------------------------------------- |
|
3441 // TEST E: Unsolicited completion of RMobileSmsMessaging::ResumeSmsReception |
|
3442 // from LTSY. |
|
3443 //------------------------------------------------------------------------- |
|
3444 |
|
3445 TRequestStatus mockLtsyStatus; |
|
3446 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
3447 |
|
3448 iMockLTSY.CompleteL(EMobileSmsMessagingResumeSmsReception, KErrNone); |
|
3449 |
|
3450 User::WaitForRequest(mockLtsyStatus); |
|
3451 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
3452 |
|
3453 // additional test |
|
3454 |
|
3455 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
3456 TRfStateInfo rfInfo = ERfsStateInfoInactive; |
|
3457 TMockLtsyData1<TRfStateInfo> mockData1(rfInfo); |
|
3458 |
|
3459 mockData1.SerialiseL(data); |
|
3460 |
|
3461 iMockLTSY.CompleteL(EMmTsyBootGetRFStatusIPC, KErrNone, data); |
|
3462 User::WaitForRequest(mockLtsyStatus); |
|
3463 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
3464 |
|
3465 AssertMockLtsyStatusL(); |
|
3466 |
|
3467 messaging.ResumeSmsReception(reqStatus); |
|
3468 |
|
3469 User::WaitForRequest(reqStatus); |
|
3470 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
3471 |
|
3472 AssertMockLtsyStatusL(); |
|
3473 |
|
3474 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
3475 rfInfo = ERfsStateInfoNormal; |
|
3476 |
|
3477 data.Close(); |
|
3478 mockData1.SerialiseL(data); |
|
3479 |
|
3480 iMockLTSY.CompleteL(EMmTsyBootGetRFStatusIPC, KErrNone, data); |
|
3481 |
|
3482 iMockLTSY.ExpectL(EMobileSmsMessagingResumeSmsReception); |
|
3483 |
|
3484 User::WaitForRequest(mockLtsyStatus); |
|
3485 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
3486 AssertMockLtsyStatusL(); |
|
3487 |
|
3488 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
3489 rfInfo = ERfsStateInfoInactive; |
|
3490 data.Close(); |
|
3491 mockData1.SerialiseL(data); |
|
3492 iMockLTSY.CompleteL(EMmTsyBootGetRFStatusIPC, KErrNone, data); |
|
3493 User::WaitForRequest(mockLtsyStatus); |
|
3494 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
3495 AssertMockLtsyStatusL(); |
|
3496 |
|
3497 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
3498 rfInfo = ERfsStateInfoNormal; |
|
3499 data.Close(); |
|
3500 mockData1.SerialiseL(data); |
|
3501 iMockLTSY.CompleteL(EMmTsyBootGetRFStatusIPC, KErrNone, data); |
|
3502 User::WaitForRequest(mockLtsyStatus); |
|
3503 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
3504 AssertMockLtsyStatusL(); |
|
3505 |
|
3506 CleanupStack::PopAndDestroy(3, this); |
|
3507 |
|
3508 } |
|
3509 |
|
3510 |
|
3511 /** |
|
3512 @SYMTestCaseID BA-CTSY-SMSM-SRSR-0002 |
|
3513 @SYMComponent telephony_ctsy |
|
3514 @SYMTestCaseDesc Test support in CTSY for cancelling of RMobileSmsMessaging::ResumeSmsReception |
|
3515 @SYMTestPriority High |
|
3516 @SYMTestActions Invokes cancelling of RMobileSmsMessaging::ResumeSmsReception |
|
3517 @SYMTestExpectedResults Pass |
|
3518 @SYMTestType CT |
|
3519 */ |
|
3520 void CCTsySmsMessagingFU::TestResumeSmsReception0002L() |
|
3521 { |
|
3522 |
|
3523 OpenEtelServerL(EUseExtendedError); |
|
3524 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
3525 OpenPhoneL(); |
|
3526 |
|
3527 RMobileSmsMessaging messaging; |
|
3528 TInt err = messaging.Open(iPhone); |
|
3529 ASSERT_EQUALS(KErrNone, err); |
|
3530 CleanupClosePushL(messaging); |
|
3531 |
|
3532 TRequestStatus reqStatus; |
|
3533 |
|
3534 TRequestStatus mockLtsyStatus; |
|
3535 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
3536 |
|
3537 //------------------------------------------------------------------------- |
|
3538 // Test cancelling of RMobileSmsMessaging::ResumeSmsReception |
|
3539 //------------------------------------------------------------------------- |
|
3540 iMockLTSY.ExpectL(EMobileSmsMessagingResumeSmsReception); |
|
3541 iMockLTSY.CompleteL(EMobileSmsMessagingResumeSmsReception, KErrNone, 10); |
|
3542 |
|
3543 messaging.ResumeSmsReception(reqStatus); |
|
3544 |
|
3545 messaging.CancelAsyncRequest(EMobileSmsMessagingResumeSmsReception); |
|
3546 |
|
3547 User::WaitForRequest(reqStatus); |
|
3548 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
3549 |
|
3550 // Wait for completion of iMockLTSY.NotifyTerminated |
|
3551 User::WaitForRequest(mockLtsyStatus); |
|
3552 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
3553 |
|
3554 AssertMockLtsyStatusL(); |
|
3555 |
|
3556 CleanupStack::PopAndDestroy(2); |
|
3557 |
|
3558 } |
|
3559 |
|
3560 |
|
3561 |
|
3562 /** |
|
3563 @SYMTestCaseID BA-CTSY-SMSM-SRSR-0004 |
|
3564 @SYMComponent telephony_ctsy |
|
3565 @SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileSmsMessaging::ResumeSmsReception |
|
3566 @SYMTestPriority High |
|
3567 @SYMTestActions Invokes multiple client requests to RMobileSmsMessaging::ResumeSmsReception |
|
3568 @SYMTestExpectedResults Pass |
|
3569 @SYMTestType CT |
|
3570 */ |
|
3571 void CCTsySmsMessagingFU::TestResumeSmsReception0004L() |
|
3572 { |
|
3573 |
|
3574 OpenEtelServerL(EUseExtendedError); |
|
3575 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
3576 OpenPhoneL(); |
|
3577 |
|
3578 RBuf8 data; |
|
3579 CleanupClosePushL(data); |
|
3580 |
|
3581 // Open second client |
|
3582 RTelServer telServer2; |
|
3583 TInt ret = telServer2.Connect(); |
|
3584 ASSERT_EQUALS(KErrNone, ret); |
|
3585 CleanupClosePushL(telServer2); |
|
3586 |
|
3587 RMobilePhone phone2; |
|
3588 ret = phone2.Open(telServer2,KMmTsyPhoneName); |
|
3589 ASSERT_EQUALS(KErrNone, ret); |
|
3590 CleanupClosePushL(phone2); |
|
3591 |
|
3592 RMobileSmsMessaging messaging; |
|
3593 TInt err = messaging.Open(iPhone); |
|
3594 ASSERT_EQUALS(KErrNone, err); |
|
3595 CleanupClosePushL(messaging); |
|
3596 |
|
3597 RMobileSmsMessaging messaging2; |
|
3598 err = messaging2.Open(phone2); |
|
3599 ASSERT_EQUALS(KErrNone, err); |
|
3600 CleanupClosePushL(messaging2); |
|
3601 |
|
3602 TRequestStatus reqStatus; |
|
3603 TRequestStatus reqStatus2; |
|
3604 |
|
3605 //------------------------------------------------------------------------- |
|
3606 // Test A: Test multiple clients requesting RMobileSmsMessaging::ResumeSmsReception |
|
3607 //------------------------------------------------------------------------- |
|
3608 |
|
3609 iMockLTSY.ExpectL(EMobileSmsMessagingResumeSmsReception); |
|
3610 |
|
3611 messaging.ResumeSmsReception(reqStatus); |
|
3612 |
|
3613 messaging2.ResumeSmsReception(reqStatus2); |
|
3614 |
|
3615 iMockLTSY.CompleteL(EMobileSmsMessagingResumeSmsReception, KErrNone); |
|
3616 |
|
3617 User::WaitForRequest(reqStatus); |
|
3618 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
3619 |
|
3620 User::WaitForRequest(reqStatus2); |
|
3621 ASSERT_EQUALS(KErrServerBusy, reqStatus2.Int()); |
|
3622 |
|
3623 AssertMockLtsyStatusL(); |
|
3624 |
|
3625 CleanupStack::PopAndDestroy(6, this); |
|
3626 |
|
3627 } |
|
3628 |
|
3629 |
|
3630 /** |
|
3631 @SYMTestCaseID BA-CTSY-SMSM-SRSR-0005 |
|
3632 @SYMComponent telephony_ctsy |
|
3633 @SYMTestCaseDesc Test support in CTSY for RMobileSmsMessaging::ResumeSmsReception with timeout |
|
3634 @SYMTestPriority High |
|
3635 @SYMTestActions Invokes RMobileSmsMessaging::ResumeSmsReception and tests for timeout |
|
3636 @SYMTestExpectedResults Pass |
|
3637 @SYMTestType CT |
|
3638 */ |
|
3639 void CCTsySmsMessagingFU::TestResumeSmsReception0005L() |
|
3640 { |
|
3641 |
|
3642 OpenEtelServerL(EUseExtendedError); |
|
3643 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
3644 OpenPhoneL(); |
|
3645 |
|
3646 RMobileSmsMessaging messaging; |
|
3647 TInt err = messaging.Open(iPhone); |
|
3648 ASSERT_EQUALS(KErrNone, err); |
|
3649 CleanupClosePushL(messaging); |
|
3650 |
|
3651 TRequestStatus reqStatus; |
|
3652 |
|
3653 iMockLTSY.ExpectL(EMobileSmsMessagingResumeSmsReception); |
|
3654 |
|
3655 messaging.ResumeSmsReception(reqStatus); |
|
3656 |
|
3657 User::WaitForRequest(reqStatus); |
|
3658 ASSERT_EQUALS(KErrTimedOut, reqStatus.Int()); |
|
3659 |
|
3660 AssertMockLtsyStatusL(); |
|
3661 |
|
3662 CleanupStack::PopAndDestroy(2); |
|
3663 |
|
3664 } |
|
3665 |
|
3666 |
|
3667 /** |
|
3668 @SYMTestCaseID BA-CTSY-SMSM-SGMSI-0001 |
|
3669 @SYMComponent telephony_ctsy |
|
3670 @SYMTestCaseDesc Test support in CTSY for RMobileSmsMessaging::GetMessageStoreInfo |
|
3671 @SYMTestPriority High |
|
3672 @SYMTestActions Invokes RMobileSmsMessaging::GetMessageStoreInfo |
|
3673 @SYMTestExpectedResults Pass |
|
3674 @SYMTestType CT |
|
3675 */ |
|
3676 void CCTsySmsMessagingFU::TestGetMessageStoreInfo0001L() |
|
3677 { |
|
3678 |
|
3679 OpenEtelServerL(EUseExtendedError); |
|
3680 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
3681 OpenPhoneL(); |
|
3682 |
|
3683 RBuf8 data; |
|
3684 CleanupClosePushL(data); |
|
3685 |
|
3686 RMobileSmsMessaging messaging; |
|
3687 TInt err = messaging.Open(iPhone); |
|
3688 ASSERT_EQUALS(KErrNone, err); |
|
3689 CleanupClosePushL(messaging); |
|
3690 |
|
3691 TRequestStatus reqStatus; |
|
3692 RMobilePhoneStore::TMobilePhoneStoreInfoV1 info; |
|
3693 RMobilePhoneStore::TMobilePhoneStoreInfoV1Pckg pckgInfo(info); |
|
3694 TInt index(0); |
|
3695 |
|
3696 //------------------------------------------------------------------------- |
|
3697 // TEST A: failure to dispatch request to LTSY |
|
3698 //------------------------------------------------------------------------- |
|
3699 |
|
3700 iMockLTSY.ExpectL(EMobileSmsMessagingGetMessageStoreInfo, KErrNotSupported); |
|
3701 |
|
3702 messaging.GetMessageStoreInfo(reqStatus, index, pckgInfo); |
|
3703 |
|
3704 User::WaitForRequest(reqStatus); |
|
3705 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()); |
|
3706 |
|
3707 AssertMockLtsyStatusL(); |
|
3708 |
|
3709 //------------------------------------------------------------------------- |
|
3710 // TEST B: failure on completion of pending request from LTSY->CTSY |
|
3711 //------------------------------------------------------------------------- |
|
3712 |
|
3713 iMockLTSY.ExpectL(EMobileSmsMessagingGetMessageStoreInfo); |
|
3714 |
|
3715 messaging.GetMessageStoreInfo(reqStatus, index, pckgInfo); |
|
3716 |
|
3717 TInt total(0); |
|
3718 TInt used(0); |
|
3719 |
|
3720 TMockLtsyData2<TInt, TInt> compData(total, used); |
|
3721 |
|
3722 compData.SerialiseL(data); |
|
3723 |
|
3724 iMockLTSY.CompleteL(EMobileSmsMessagingGetMessageStoreInfo, KErrGeneral, data); |
|
3725 |
|
3726 User::WaitForRequest(reqStatus); |
|
3727 ASSERT_EQUALS(KErrGeneral, reqStatus.Int()); |
|
3728 |
|
3729 AssertMockLtsyStatusL(); |
|
3730 |
|
3731 //------------------------------------------------------------------------- |
|
3732 // TEST C: Successful completion request of |
|
3733 // RMobileSmsMessaging::GetMessageStoreInfo when result is not cached. |
|
3734 //------------------------------------------------------------------------- |
|
3735 |
|
3736 iMockLTSY.ExpectL(EMobileSmsMessagingGetMessageStoreInfo); |
|
3737 |
|
3738 messaging.GetMessageStoreInfo(reqStatus, index, pckgInfo); |
|
3739 |
|
3740 total = 2; |
|
3741 used = 1; |
|
3742 |
|
3743 data.Close(); |
|
3744 compData.SerialiseL(data); |
|
3745 |
|
3746 iMockLTSY.CompleteL(EMobileSmsMessagingGetMessageStoreInfo, KErrNone, data); |
|
3747 |
|
3748 User::WaitForRequest(reqStatus); |
|
3749 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
3750 |
|
3751 ASSERT_EQUALS(0, info.iName.Compare(KETelIccSmsStore)); |
|
3752 ASSERT_EQUALS(RMobilePhoneStore::EShortMessageStore, info.iType); |
|
3753 ASSERT_TRUE(total == info.iTotalEntries); |
|
3754 ASSERT_TRUE(used == info.iUsedEntries); |
|
3755 ASSERT_EQUALS(KSmsMessageStoreInfoCaps, info.iCaps); |
|
3756 |
|
3757 AssertMockLtsyStatusL(); |
|
3758 |
|
3759 //------------------------------------------------------------------------- |
|
3760 // TEST C2: Successful completion request of |
|
3761 // RMobileSmsMessaging::GetMessageStoreInfo when result is not cached. |
|
3762 //------------------------------------------------------------------------- |
|
3763 |
|
3764 iMockLTSY.ExpectL(EMobileSmsMessagingGetMessageStoreInfo); |
|
3765 |
|
3766 messaging.GetMessageStoreInfo(reqStatus, index, pckgInfo); |
|
3767 |
|
3768 iMockLTSY.CompleteL(EMobileSmsMessagingGetMessageStoreInfo, KErrNotFound, data); |
|
3769 |
|
3770 User::WaitForRequest(reqStatus); |
|
3771 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
3772 |
|
3773 ASSERT_EQUALS(0, info.iName.Compare(KETelIccSmsStore)); |
|
3774 ASSERT_EQUALS(RMobilePhoneStore::EShortMessageStore, info.iType); |
|
3775 ASSERT_TRUE(total == info.iTotalEntries); |
|
3776 ASSERT_TRUE(used == info.iUsedEntries); |
|
3777 ASSERT_EQUALS(KSmsMessageStoreInfoCaps, info.iCaps); |
|
3778 |
|
3779 AssertMockLtsyStatusL(); |
|
3780 |
|
3781 //------------------------------------------------------------------------- |
|
3782 // TEST E: Unsolicited completion of RMobileSmsMessaging::GetMessageStoreInfo |
|
3783 // from LTSY. |
|
3784 //------------------------------------------------------------------------- |
|
3785 |
|
3786 TRequestStatus mockLtsyStatus; |
|
3787 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
3788 |
|
3789 iMockLTSY.CompleteL(EMobileSmsMessagingGetMessageStoreInfo, KErrNone, data); |
|
3790 |
|
3791 User::WaitForRequest(mockLtsyStatus); |
|
3792 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
3793 |
|
3794 AssertMockLtsyStatusL(); |
|
3795 CleanupStack::PopAndDestroy(3, this); |
|
3796 |
|
3797 } |
|
3798 |
|
3799 |
|
3800 /** |
|
3801 @SYMTestCaseID BA-CTSY-SMSM-SGMSI-0002 |
|
3802 @SYMComponent telephony_ctsy |
|
3803 @SYMTestCaseDesc Test support in CTSY for cancelling of RMobileSmsMessaging::GetMessageStoreInfo |
|
3804 @SYMTestPriority High |
|
3805 @SYMTestActions Invokes cancelling of RMobileSmsMessaging::GetMessageStoreInfo |
|
3806 @SYMTestExpectedResults Pass |
|
3807 @SYMTestType CT |
|
3808 */ |
|
3809 void CCTsySmsMessagingFU::TestGetMessageStoreInfo0002L() |
|
3810 { |
|
3811 |
|
3812 OpenEtelServerL(EUseExtendedError); |
|
3813 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
3814 OpenPhoneL(); |
|
3815 |
|
3816 RBuf8 data; |
|
3817 CleanupClosePushL(data); |
|
3818 |
|
3819 RMobileSmsMessaging messaging; |
|
3820 TInt err = messaging.Open(iPhone); |
|
3821 ASSERT_EQUALS(KErrNone, err); |
|
3822 CleanupClosePushL(messaging); |
|
3823 |
|
3824 TRequestStatus reqStatus; |
|
3825 RMobilePhoneStore::TMobilePhoneStoreInfoV1 info; |
|
3826 RMobilePhoneStore::TMobilePhoneStoreInfoV1Pckg pckgInfo(info); |
|
3827 TInt index(0); |
|
3828 |
|
3829 //------------------------------------------------------------------------- |
|
3830 // Test cancelling of RMobileSmsMessaging::GetMessageStoreInfo |
|
3831 //------------------------------------------------------------------------- |
|
3832 iMockLTSY.ExpectL(EMobileSmsMessagingGetMessageStoreInfo); |
|
3833 |
|
3834 TInt total(5); |
|
3835 TInt used(2); |
|
3836 |
|
3837 TMockLtsyData2<TInt, TInt> compData(total, used); |
|
3838 |
|
3839 compData.SerialiseL(data); |
|
3840 |
|
3841 TRequestStatus mockLtsyStatus; |
|
3842 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
3843 |
|
3844 iMockLTSY.CompleteL(EMobileSmsMessagingGetMessageStoreInfo, KErrNone, data, 10); |
|
3845 |
|
3846 messaging.GetMessageStoreInfo(reqStatus, index, pckgInfo); |
|
3847 |
|
3848 messaging.CancelAsyncRequest(EMobileSmsMessagingGetMessageStoreInfo); |
|
3849 |
|
3850 User::WaitForRequest(mockLtsyStatus); |
|
3851 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
3852 |
|
3853 User::WaitForRequest(reqStatus); |
|
3854 ASSERT_EQUALS(KErrCancel, reqStatus.Int()); |
|
3855 |
|
3856 AssertMockLtsyStatusL(); |
|
3857 |
|
3858 CleanupStack::PopAndDestroy(3); |
|
3859 |
|
3860 } |
|
3861 |
|
3862 |
|
3863 /** |
|
3864 @SYMTestCaseID BA-CTSY-SMSM-SGMSI-0003 |
|
3865 @SYMComponent telephony_ctsy |
|
3866 @SYMTestCaseDesc Test support in CTSY for RMobileSmsMessaging::GetMessageStoreInfo with bad parameter data |
|
3867 @SYMTestPriority High |
|
3868 @SYMTestActions Invokes RMobileSmsMessaging::GetMessageStoreInfo with bad parameter data |
|
3869 @SYMTestExpectedResults Pass |
|
3870 @SYMTestType CT |
|
3871 */ |
|
3872 void CCTsySmsMessagingFU::TestGetMessageStoreInfo0003L() |
|
3873 { |
|
3874 OpenEtelServerL(EUseExtendedError); |
|
3875 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
3876 OpenPhoneL(); |
|
3877 |
|
3878 RBuf8 data; |
|
3879 CleanupClosePushL(data); |
|
3880 |
|
3881 RMobileSmsMessaging messaging; |
|
3882 TInt err = messaging.Open(iPhone); |
|
3883 ASSERT_EQUALS(KErrNone, err); |
|
3884 CleanupClosePushL(messaging); |
|
3885 |
|
3886 TRequestStatus reqStatus; |
|
3887 RMobilePhoneStore::TMobilePhoneStoreInfoV1 info; |
|
3888 RMobilePhoneStore::TMobilePhoneStoreInfoV1Pckg pckgInfo(info); |
|
3889 TInt index(KSmsStoreNumber + 1); |
|
3890 |
|
3891 messaging.GetMessageStoreInfo(reqStatus, index, pckgInfo); |
|
3892 |
|
3893 User::WaitForRequest(reqStatus); |
|
3894 ASSERT_EQUALS(KErrArgument, reqStatus.Int()); |
|
3895 |
|
3896 AssertMockLtsyStatusL(); |
|
3897 |
|
3898 // |
|
3899 index = -1; |
|
3900 |
|
3901 messaging.GetMessageStoreInfo(reqStatus, index, pckgInfo); |
|
3902 |
|
3903 User::WaitForRequest(reqStatus); |
|
3904 ASSERT_EQUALS(KErrArgument, reqStatus.Int()); |
|
3905 |
|
3906 AssertMockLtsyStatusL(); |
|
3907 CleanupStack::PopAndDestroy(3); // messaging, data, this |
|
3908 } |
|
3909 |
|
3910 /** |
|
3911 @SYMTestCaseID BA-CTSY-SMSM-SGMSI-0004 |
|
3912 @SYMComponent telephony_ctsy |
|
3913 @SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileSmsMessaging::GetMessageStoreInfo |
|
3914 @SYMTestPriority High |
|
3915 @SYMTestActions Invokes multiple client requests to RMobileSmsMessaging::GetMessageStoreInfo |
|
3916 @SYMTestExpectedResults Pass |
|
3917 @SYMTestType CT |
|
3918 */ |
|
3919 void CCTsySmsMessagingFU::TestGetMessageStoreInfo0004L() |
|
3920 { |
|
3921 |
|
3922 |
|
3923 OpenEtelServerL(EUseExtendedError); |
|
3924 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
3925 OpenPhoneL(); |
|
3926 |
|
3927 RBuf8 data; |
|
3928 CleanupClosePushL(data); |
|
3929 |
|
3930 // Open second client |
|
3931 RTelServer telServer2; |
|
3932 TInt ret = telServer2.Connect(); |
|
3933 ASSERT_EQUALS(KErrNone, ret); |
|
3934 CleanupClosePushL(telServer2); |
|
3935 |
|
3936 RMobilePhone phone2; |
|
3937 ret = phone2.Open(telServer2,KMmTsyPhoneName); |
|
3938 ASSERT_EQUALS(KErrNone, ret); |
|
3939 CleanupClosePushL(phone2); |
|
3940 |
|
3941 RMobileSmsMessaging messaging; |
|
3942 TInt err = messaging.Open(iPhone); |
|
3943 ASSERT_EQUALS(KErrNone, err); |
|
3944 CleanupClosePushL(messaging); |
|
3945 |
|
3946 RMobileSmsMessaging messaging2; |
|
3947 err = messaging2.Open(phone2); |
|
3948 ASSERT_EQUALS(KErrNone, err); |
|
3949 CleanupClosePushL(messaging2); |
|
3950 |
|
3951 TRequestStatus reqStatus; |
|
3952 TRequestStatus reqStatus2; |
|
3953 RMobilePhoneStore::TMobilePhoneStoreInfoV1 info; |
|
3954 RMobilePhoneStore::TMobilePhoneStoreInfoV1 info2; |
|
3955 RMobilePhoneStore::TMobilePhoneStoreInfoV1Pckg pckgInfo(info); |
|
3956 RMobilePhoneStore::TMobilePhoneStoreInfoV1Pckg pckgInfo2(info2); |
|
3957 TInt index(0); |
|
3958 TInt index2(0); |
|
3959 |
|
3960 iMockLTSY.ExpectL(EMobileSmsMessagingGetMessageStoreInfo); |
|
3961 |
|
3962 messaging.GetMessageStoreInfo(reqStatus, index, pckgInfo); |
|
3963 |
|
3964 messaging2.GetMessageStoreInfo(reqStatus2, index2, pckgInfo2); |
|
3965 |
|
3966 TInt total(5); |
|
3967 TInt used(2); |
|
3968 |
|
3969 TMockLtsyData2<TInt, TInt> compData(total, used); |
|
3970 |
|
3971 compData.SerialiseL(data); |
|
3972 |
|
3973 iMockLTSY.CompleteL(EMobileSmsMessagingGetMessageStoreInfo, KErrNone, data); |
|
3974 |
|
3975 User::WaitForRequest(reqStatus); |
|
3976 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
3977 |
|
3978 User::WaitForRequest(reqStatus2); |
|
3979 ASSERT_EQUALS(KErrServerBusy, reqStatus2.Int()); |
|
3980 |
|
3981 AssertMockLtsyStatusL(); |
|
3982 |
|
3983 CleanupStack::PopAndDestroy(6, this); |
|
3984 |
|
3985 } |
|
3986 |
|
3987 |
|
3988 /** |
|
3989 @SYMTestCaseID BA-CTSY-SMSM-SGMSI-0005 |
|
3990 @SYMComponent telephony_ctsy |
|
3991 @SYMTestCaseDesc Test support in CTSY for RMobileSmsMessaging::GetMessageStoreInfo with timeout |
|
3992 @SYMTestPriority High |
|
3993 @SYMTestActions Invokes RMobileSmsMessaging::GetMessageStoreInfo and tests for timeout |
|
3994 @SYMTestExpectedResults Pass |
|
3995 @SYMTestType CT |
|
3996 */ |
|
3997 void CCTsySmsMessagingFU::TestGetMessageStoreInfo0005L() |
|
3998 { |
|
3999 |
|
4000 OpenEtelServerL(EUseExtendedError); |
|
4001 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
4002 OpenPhoneL(); |
|
4003 |
|
4004 RBuf8 data; |
|
4005 CleanupClosePushL(data); |
|
4006 |
|
4007 RMobileSmsMessaging messaging; |
|
4008 TInt err = messaging.Open(iPhone); |
|
4009 ASSERT_EQUALS(KErrNone, err); |
|
4010 CleanupClosePushL(messaging); |
|
4011 |
|
4012 TRequestStatus reqStatus; |
|
4013 RMobilePhoneStore::TMobilePhoneStoreInfoV1 info; |
|
4014 RMobilePhoneStore::TMobilePhoneStoreInfoV1Pckg pckgInfo(info); |
|
4015 TInt index(0); |
|
4016 |
|
4017 iMockLTSY.ExpectL(EMobileSmsMessagingGetMessageStoreInfo); |
|
4018 |
|
4019 messaging.GetMessageStoreInfo(reqStatus, index, pckgInfo); |
|
4020 |
|
4021 User::WaitForRequest(reqStatus); |
|
4022 ASSERT_EQUALS(KErrTimedOut, reqStatus.Int()); |
|
4023 |
|
4024 AssertMockLtsyStatusL(); |
|
4025 |
|
4026 CleanupStack::PopAndDestroy(3); |
|
4027 } |
|
4028 |
|
4029 |
|
4030 /** |
|
4031 @SYMTestCaseID BA-CTSY-SMSM-SNSLC-0001 |
|
4032 @SYMComponent telephony_ctsy |
|
4033 @SYMTestCaseDesc Test support in CTSY for RMobileSmsMessaging::NotifySmspListChange |
|
4034 @SYMTestPriority High |
|
4035 @SYMTestActions Invokes RMobileSmsMessaging::NotifySmspListChange |
|
4036 @SYMTestExpectedResults Pass |
|
4037 @SYMTestType CT |
|
4038 */ |
|
4039 void CCTsySmsMessagingFU::TestNotifySmspListChange0001L() |
|
4040 { |
|
4041 |
|
4042 OpenEtelServerL(EUseExtendedError); |
|
4043 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
4044 OpenPhoneL(); |
|
4045 |
|
4046 RMobileSmsMessaging messaging; |
|
4047 TInt err = messaging.Open(iPhone); |
|
4048 ASSERT_EQUALS(KErrNone, err); |
|
4049 CleanupClosePushL(messaging); |
|
4050 |
|
4051 |
|
4052 RBuf8 data; |
|
4053 CleanupClosePushL(data); |
|
4054 |
|
4055 |
|
4056 |
|
4057 //------------------------------------------------------------------------- |
|
4058 // TEST C: Successful completion request of |
|
4059 // RMobileSmsMessaging::NotifySmspListChange when result is not cached. |
|
4060 //------------------------------------------------------------------------- |
|
4061 |
|
4062 TRequestStatus reqNotifyStatus; |
|
4063 |
|
4064 messaging.NotifySmspListChange(reqNotifyStatus); |
|
4065 |
|
4066 |
|
4067 TRequestStatus reqStatus; |
|
4068 CMobilePhoneSmspList* smspListPtr = CMobilePhoneSmspList::NewL(); |
|
4069 CleanupStack::PushL(smspListPtr); |
|
4070 |
|
4071 RMobileSmsMessaging::TMobileSmspEntryV1 smspEntry; |
|
4072 |
|
4073 smspListPtr->AddEntryL(smspEntry); |
|
4074 |
|
4075 TMockLtsyData1<CMobilePhoneSmspList*> expTsyData(smspListPtr); |
|
4076 expTsyData.SerialiseL(data); |
|
4077 |
|
4078 iMockLTSY.ExpectL(EMobileSmsMessagingStoreSmspList, data, KErrNone); |
|
4079 |
|
4080 messaging.StoreSmspListL(reqStatus, smspListPtr); |
|
4081 |
|
4082 iMockLTSY.CompleteL(EMobileSmsMessagingStoreSmspList, KErrNone); |
|
4083 |
|
4084 User::WaitForRequest(reqStatus); |
|
4085 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
4086 |
|
4087 User::WaitForRequest(reqNotifyStatus); |
|
4088 ASSERT_EQUALS(KErrNone, reqNotifyStatus.Int()); |
|
4089 |
|
4090 AssertMockLtsyStatusL(); |
|
4091 CleanupStack::PopAndDestroy(4, this); |
|
4092 |
|
4093 } |
|
4094 |
|
4095 |
|
4096 /** |
|
4097 @SYMTestCaseID BA-CTSY-SMSM-SNSLC-0002 |
|
4098 @SYMComponent telephony_ctsy |
|
4099 @SYMTestCaseDesc Test support in CTSY for cancelling of RMobileSmsMessaging::NotifySmspListChange |
|
4100 @SYMTestPriority High |
|
4101 @SYMTestActions Invokes cancelling of RMobileSmsMessaging::NotifySmspListChange |
|
4102 @SYMTestExpectedResults Pass |
|
4103 @SYMTestType CT |
|
4104 */ |
|
4105 void CCTsySmsMessagingFU::TestNotifySmspListChange0002L() |
|
4106 { |
|
4107 OpenEtelServerL(EUseExtendedError); |
|
4108 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
4109 OpenPhoneL(); |
|
4110 |
|
4111 RMobileSmsMessaging messaging; |
|
4112 TInt err = messaging.Open(iPhone); |
|
4113 ASSERT_EQUALS(KErrNone, err); |
|
4114 CleanupClosePushL(messaging); |
|
4115 |
|
4116 //------------------------------------------------------------------------- |
|
4117 // Test cancelling of RMobileSmsMessaging::NotifySmspListChange |
|
4118 //------------------------------------------------------------------------- |
|
4119 TRequestStatus reqNotifyStatus; |
|
4120 |
|
4121 messaging.NotifySmspListChange(reqNotifyStatus); |
|
4122 |
|
4123 messaging.CancelAsyncRequest(EMobileSmsMessagingNotifySmspListChange); |
|
4124 |
|
4125 User::WaitForRequest(reqNotifyStatus); |
|
4126 ASSERT_EQUALS(KErrCancel, reqNotifyStatus.Int()); |
|
4127 |
|
4128 CleanupStack::PopAndDestroy(2); // data, this |
|
4129 |
|
4130 } |
|
4131 |
|
4132 |
|
4133 /** |
|
4134 @SYMTestCaseID BA-CTSY-SMSM-SNSLC-0004 |
|
4135 @SYMComponent telephony_ctsy |
|
4136 @SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileSmsMessaging::NotifySmspListChange |
|
4137 @SYMTestPriority High |
|
4138 @SYMTestActions Invokes multiple client requests to RMobileSmsMessaging::NotifySmspListChange |
|
4139 @SYMTestExpectedResults Pass |
|
4140 @SYMTestType CT |
|
4141 */ |
|
4142 void CCTsySmsMessagingFU::TestNotifySmspListChange0004L() |
|
4143 { |
|
4144 |
|
4145 |
|
4146 OpenEtelServerL(EUseExtendedError); |
|
4147 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
4148 OpenPhoneL(); |
|
4149 |
|
4150 RBuf8 data; |
|
4151 CleanupClosePushL(data); |
|
4152 |
|
4153 // Open second client |
|
4154 RTelServer telServer2; |
|
4155 TInt ret = telServer2.Connect(); |
|
4156 ASSERT_EQUALS(KErrNone, ret); |
|
4157 CleanupClosePushL(telServer2); |
|
4158 |
|
4159 RMobilePhone phone2; |
|
4160 ret = phone2.Open(telServer2,KMmTsyPhoneName); |
|
4161 ASSERT_EQUALS(KErrNone, ret); |
|
4162 CleanupClosePushL(phone2); |
|
4163 |
|
4164 RMobileSmsMessaging messaging; |
|
4165 TInt err = messaging.Open(iPhone); |
|
4166 ASSERT_EQUALS(KErrNone, err); |
|
4167 CleanupClosePushL(messaging); |
|
4168 |
|
4169 RMobileSmsMessaging messaging2; |
|
4170 err = messaging2.Open(phone2); |
|
4171 ASSERT_EQUALS(KErrNone, err); |
|
4172 CleanupClosePushL(messaging2); |
|
4173 |
|
4174 //------------------------------------------------------------------------- |
|
4175 // Test A: Test multiple clients requesting RMobileSmsMessaging::NotifySmspListChange |
|
4176 //------------------------------------------------------------------------- |
|
4177 TRequestStatus reqNotifyStatus; |
|
4178 TRequestStatus reqNotifyStatus2; |
|
4179 |
|
4180 messaging.NotifySmspListChange(reqNotifyStatus); |
|
4181 messaging2.NotifySmspListChange(reqNotifyStatus2); |
|
4182 |
|
4183 |
|
4184 TRequestStatus reqStatus; |
|
4185 CMobilePhoneSmspList* smspListPtr = CMobilePhoneSmspList::NewL(); |
|
4186 CleanupStack::PushL(smspListPtr); |
|
4187 |
|
4188 RMobileSmsMessaging::TMobileSmspEntryV1 smspEntry; |
|
4189 |
|
4190 smspListPtr->AddEntryL(smspEntry); |
|
4191 |
|
4192 TMockLtsyData1<CMobilePhoneSmspList*> expTsyData(smspListPtr); |
|
4193 expTsyData.SerialiseL(data); |
|
4194 |
|
4195 iMockLTSY.ExpectL(EMobileSmsMessagingStoreSmspList, data, KErrNone); |
|
4196 |
|
4197 messaging.StoreSmspListL(reqStatus, smspListPtr); |
|
4198 |
|
4199 iMockLTSY.CompleteL(EMobileSmsMessagingStoreSmspList, KErrNone); |
|
4200 |
|
4201 User::WaitForRequest(reqStatus); |
|
4202 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
4203 |
|
4204 User::WaitForRequest(reqNotifyStatus); |
|
4205 ASSERT_EQUALS(KErrNone, reqNotifyStatus.Int()); |
|
4206 |
|
4207 User::WaitForRequest(reqNotifyStatus2); |
|
4208 ASSERT_EQUALS(KErrNone, reqNotifyStatus2.Int()); |
|
4209 |
|
4210 AssertMockLtsyStatusL(); |
|
4211 |
|
4212 CleanupStack::PopAndDestroy(7, this); |
|
4213 |
|
4214 } |
|
4215 |
|
4216 |
|
4217 |
|
4218 /** |
|
4219 @SYMTestCaseID BA-CTSY-SMSM-SSMNFC-0001 |
|
4220 @SYMComponent telephony_ctsy |
|
4221 @SYMTestCaseDesc Test support in CTSY for RMobileSmsMessaging::SendMessageNoFdnCheck |
|
4222 @SYMTestPriority High |
|
4223 @SYMTestActions Invokes RMobileSmsMessaging::SendMessageNoFdnCheck |
|
4224 @SYMTestExpectedResults Pass |
|
4225 @SYMTestType CT |
|
4226 */ |
|
4227 void CCTsySmsMessagingFU::TestSendMessageNoFdnCheck0001L() |
|
4228 { |
|
4229 OpenEtelServerL(EUseExtendedError); |
|
4230 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
4231 OpenPhoneL(); |
|
4232 |
|
4233 RBuf8 data; |
|
4234 CleanupClosePushL(data); |
|
4235 |
|
4236 RMobileSmsMessaging messaging; |
|
4237 TInt err = messaging.Open(iPhone); |
|
4238 ASSERT_EQUALS(KErrNone, err); |
|
4239 CleanupClosePushL(messaging); |
|
4240 |
|
4241 |
|
4242 _LIT8(KMessage, "Merry christmas"); |
|
4243 TBuf8<32> tmpName(KMessage); |
|
4244 |
|
4245 TRequestStatus reqStatus; |
|
4246 RMobileSmsMessaging::TMobileSmsSendAttributesV1 smsAttr; |
|
4247 RMobileSmsMessaging::TMobileSmsSendAttributesV1Pckg smsAttrPckg(smsAttr); |
|
4248 |
|
4249 TSendSmsDataAndAttributes dataAndAttr; |
|
4250 dataAndAttr.iIpc = EMobileSmsMessagingSendMessageNoFdnCheck; |
|
4251 dataAndAttr.iAttributes = &smsAttr; |
|
4252 dataAndAttr.iMsgData = &tmpName; |
|
4253 |
|
4254 TMockLtsyData1<TSendSmsDataAndAttributes> expTsyData(dataAndAttr); |
|
4255 |
|
4256 expTsyData.SerialiseL(data); |
|
4257 |
|
4258 //------------------------------------------------------------------------- |
|
4259 // TEST B1: failure on completion of pending request from LTSY->CTSY |
|
4260 //------------------------------------------------------------------------- |
|
4261 |
|
4262 iMockLTSY.ExpectL(EMobileSmsMessagingSendMessageNoFdnCheck, data); |
|
4263 |
|
4264 const TInt16 KMsgRef(25); |
|
4265 TInt16 msgRef(KMsgRef); |
|
4266 TBuf8<RMobileSmsMessaging::KGsmTpduSize> smsMsg(KMessage); |
|
4267 |
|
4268 TMockLtsyData2<TInt16, TBuf8<RMobileSmsMessaging::KGsmTpduSize> > compTsyData(msgRef, smsMsg); |
|
4269 data.Close(); |
|
4270 compTsyData.SerialiseL(data); |
|
4271 |
|
4272 iMockLTSY.CompleteL(EMobileSmsMessagingSendMessageNoFdnCheck, KErrGeneral, data, 10); |
|
4273 messaging.SendMessageNoFdnCheck(reqStatus, tmpName, smsAttrPckg); |
|
4274 |
|
4275 data.Close(); |
|
4276 expTsyData.SerialiseL(data); |
|
4277 |
|
4278 iMockLTSY.ExpectL(EMobileSmsMessagingSendMessageNoFdnCheck, data, KErrNotSupported); |
|
4279 |
|
4280 User::WaitForRequest(reqStatus); |
|
4281 ASSERT_EQUALS(KErrGeneral, reqStatus.Int()); |
|
4282 |
|
4283 AssertMockLtsyStatusL(); |
|
4284 |
|
4285 //------------------------------------------------------------------------- |
|
4286 // TEST B2: failure on completion of pending request from LTSY->CTSY |
|
4287 //------------------------------------------------------------------------- |
|
4288 |
|
4289 iMockLTSY.ExpectL(EMobileSmsMessagingSendMessageNoFdnCheck, data); |
|
4290 |
|
4291 data.Close(); |
|
4292 compTsyData.SerialiseL(data); |
|
4293 |
|
4294 iMockLTSY.CompleteL(EMobileSmsMessagingSendMessageNoFdnCheck, KErrGeneral, data, 10); |
|
4295 messaging.SendMessageNoFdnCheck(reqStatus, tmpName, smsAttrPckg); |
|
4296 |
|
4297 data.Close(); |
|
4298 expTsyData.SerialiseL(data); |
|
4299 |
|
4300 iMockLTSY.ExpectL(EMobileSmsMessagingSendMessageNoFdnCheck, data); |
|
4301 |
|
4302 data.Close(); |
|
4303 compTsyData.SerialiseL(data); |
|
4304 |
|
4305 iMockLTSY.CompleteL(EMobileSmsMessagingSendMessageNoFdnCheck, KErrGeneral, data, 10); |
|
4306 |
|
4307 data.Close(); |
|
4308 expTsyData.SerialiseL(data); |
|
4309 |
|
4310 iMockLTSY.ExpectL(EMobileSmsMessagingSendMessageNoFdnCheck, data); |
|
4311 |
|
4312 data.Close(); |
|
4313 compTsyData.SerialiseL(data); |
|
4314 |
|
4315 iMockLTSY.CompleteL(EMobileSmsMessagingSendMessageNoFdnCheck, KErrGeneral, data, 10); |
|
4316 |
|
4317 User::WaitForRequest(reqStatus); |
|
4318 ASSERT_EQUALS(KErrGeneral, reqStatus.Int()); |
|
4319 |
|
4320 AssertMockLtsyStatusL(); |
|
4321 |
|
4322 //------------------------------------------------------------------------- |
|
4323 // TEST C: Successful completion request of |
|
4324 // RMobileSmsMessaging::SendMessage when result is not cached. |
|
4325 //------------------------------------------------------------------------- |
|
4326 |
|
4327 _LIT8(KSubmit, "Submit"); |
|
4328 _LIT(KNum, "+441632960000"); |
|
4329 |
|
4330 smsAttr.iGsmServiceCentre.iTypeOfNumber = RMobilePhone::EInternationalNumber; |
|
4331 smsAttr.iGsmServiceCentre.iNumberPlan = RMobilePhone::EIsdnNumberPlan; |
|
4332 smsAttr.iGsmServiceCentre.iTelNumber.Copy(KNum); |
|
4333 smsAttr.iCdmaServiceCategory = 0; |
|
4334 smsAttr.iCdmaTeleservice = 0; |
|
4335 smsAttr.iDataFormat = RMobileSmsMessaging::EFormatGsmTpdu; |
|
4336 smsAttr.iFlags = 0; |
|
4337 smsAttr.iMsgRef = 0; |
|
4338 smsAttr.iSubmitReport = KSubmit; |
|
4339 smsAttr.iMore = EFalse; |
|
4340 smsAttr.iDestination.iTypeOfNumber = RMobilePhone::EInternationalNumber; |
|
4341 smsAttr.iDestination.iNumberPlan = RMobilePhone::EIsdnNumberPlan; |
|
4342 smsAttr.iDestination.iTelNumber.Copy(KNum); |
|
4343 |
|
4344 data.Close(); |
|
4345 expTsyData.SerialiseL(data); |
|
4346 |
|
4347 iMockLTSY.ExpectL(EMobileSmsMessagingSendMessageNoFdnCheck, data); |
|
4348 |
|
4349 data.Close(); |
|
4350 compTsyData.SerialiseL(data); |
|
4351 |
|
4352 iMockLTSY.CompleteL(EMobileSmsMessagingSendMessageNoFdnCheck, KErrNone, data, 10); |
|
4353 |
|
4354 messaging.SendMessageNoFdnCheck(reqStatus, tmpName, smsAttrPckg); |
|
4355 |
|
4356 User::WaitForRequest(reqStatus); |
|
4357 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
4358 |
|
4359 ASSERT_EQUALS(RMobilePhone::EInternationalNumber, smsAttr.iGsmServiceCentre.iTypeOfNumber); |
|
4360 ASSERT_EQUALS(RMobilePhone::EIsdnNumberPlan, smsAttr.iGsmServiceCentre.iNumberPlan); |
|
4361 ASSERT_EQUALS(0, smsAttr.iGsmServiceCentre.iTelNumber.Compare(KNum)); |
|
4362 ASSERT_EQUALS(0, smsAttr.iCdmaServiceCategory); |
|
4363 ASSERT_EQUALS(0, smsAttr.iCdmaTeleservice); |
|
4364 ASSERT_EQUALS(RMobileSmsMessaging::EFormatGsmTpdu, smsAttr.iDataFormat); |
|
4365 ASSERT_TRUE((RMobileSmsMessaging::KMessageReference | RMobileSmsMessaging::KGsmSubmitReport) |
|
4366 == smsAttr.iFlags); |
|
4367 ASSERT_TRUE(KMsgRef == smsAttr.iMsgRef); |
|
4368 ASSERT_EQUALS(0, smsAttr.iSubmitReport.Compare(KMessage)); |
|
4369 ASSERT_TRUE(EFalse == smsAttr.iMore); |
|
4370 ASSERT_EQUALS(RMobilePhone::EInternationalNumber, smsAttr.iDestination.iTypeOfNumber); |
|
4371 ASSERT_EQUALS(RMobilePhone::EIsdnNumberPlan, smsAttr.iDestination.iNumberPlan); |
|
4372 ASSERT_EQUALS(0, smsAttr.iDestination.iTelNumber.Compare(KNum)); |
|
4373 |
|
4374 AssertMockLtsyStatusL(); |
|
4375 |
|
4376 //------------------------------------------------------------------------- |
|
4377 // TEST C2: Successful completion request of |
|
4378 // RMobileSmsMessaging::SendMessage when result is not cached. |
|
4379 //------------------------------------------------------------------------- |
|
4380 |
|
4381 tmpName.SetLength(0); |
|
4382 smsMsg.SetLength(0); |
|
4383 |
|
4384 smsAttr.iGsmServiceCentre.iTypeOfNumber = RMobilePhone::EInternationalNumber; |
|
4385 smsAttr.iGsmServiceCentre.iNumberPlan = RMobilePhone::EIsdnNumberPlan; |
|
4386 smsAttr.iGsmServiceCentre.iTelNumber.Copy(KNum); |
|
4387 smsAttr.iCdmaServiceCategory = 0; |
|
4388 smsAttr.iCdmaTeleservice = 0; |
|
4389 smsAttr.iDataFormat = RMobileSmsMessaging::EFormatGsmTpdu; |
|
4390 smsAttr.iFlags = 0; |
|
4391 smsAttr.iMsgRef = 0; |
|
4392 smsAttr.iSubmitReport = KSubmit; |
|
4393 smsAttr.iMore = EFalse; |
|
4394 smsAttr.iDestination.iTypeOfNumber = RMobilePhone::EInternationalNumber; |
|
4395 smsAttr.iDestination.iNumberPlan = RMobilePhone::EIsdnNumberPlan; |
|
4396 smsAttr.iDestination.iTelNumber.Copy(KNum); |
|
4397 |
|
4398 data.Close(); |
|
4399 expTsyData.SerialiseL(data); |
|
4400 |
|
4401 iMockLTSY.ExpectL(EMobileSmsMessagingSendMessageNoFdnCheck, data); |
|
4402 |
|
4403 data.Close(); |
|
4404 compTsyData.SerialiseL(data); |
|
4405 |
|
4406 iMockLTSY.CompleteL(EMobileSmsMessagingSendMessageNoFdnCheck, KErrNone, data, 10); |
|
4407 |
|
4408 messaging.SendMessageNoFdnCheck(reqStatus, tmpName, smsAttrPckg); |
|
4409 |
|
4410 User::WaitForRequest(reqStatus); |
|
4411 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
4412 |
|
4413 ASSERT_EQUALS(RMobilePhone::EInternationalNumber, smsAttr.iGsmServiceCentre.iTypeOfNumber); |
|
4414 ASSERT_EQUALS(RMobilePhone::EIsdnNumberPlan, smsAttr.iGsmServiceCentre.iNumberPlan); |
|
4415 ASSERT_EQUALS(0, smsAttr.iGsmServiceCentre.iTelNumber.Compare(KNum)); |
|
4416 ASSERT_EQUALS(0, smsAttr.iCdmaServiceCategory); |
|
4417 ASSERT_EQUALS(0, smsAttr.iCdmaTeleservice); |
|
4418 ASSERT_EQUALS(RMobileSmsMessaging::EFormatGsmTpdu, smsAttr.iDataFormat); |
|
4419 ASSERT_TRUE(RMobileSmsMessaging::KMessageReference == smsAttr.iFlags); |
|
4420 ASSERT_TRUE(KMsgRef == smsAttr.iMsgRef); |
|
4421 ASSERT_EQUALS(0, smsAttr.iSubmitReport.Compare(KSubmit)); |
|
4422 ASSERT_TRUE(EFalse == smsAttr.iMore); |
|
4423 ASSERT_EQUALS(RMobilePhone::EInternationalNumber, smsAttr.iDestination.iTypeOfNumber); |
|
4424 ASSERT_EQUALS(RMobilePhone::EIsdnNumberPlan, smsAttr.iDestination.iNumberPlan); |
|
4425 ASSERT_EQUALS(0, smsAttr.iDestination.iTelNumber.Compare(KNum)); |
|
4426 |
|
4427 AssertMockLtsyStatusL(); |
|
4428 |
|
4429 //------------------------------------------------------------------------- |
|
4430 // TEST E: Unsolicited completion of RMobileSmsMessaging::SendMessage |
|
4431 // from LTSY. |
|
4432 //------------------------------------------------------------------------- |
|
4433 |
|
4434 data.Close(); |
|
4435 compTsyData.SerialiseL(data); |
|
4436 |
|
4437 TRequestStatus mockLtsyStatus; |
|
4438 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
4439 |
|
4440 iMockLTSY.CompleteL(EMobileSmsMessagingSendMessageNoFdnCheck, KErrNone, data, 10); |
|
4441 |
|
4442 User::WaitForRequest(mockLtsyStatus); |
|
4443 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
4444 |
|
4445 |
|
4446 //------------------------------------------------------------------------- |
|
4447 // TEST A: failure to dispatch request to LTSY |
|
4448 //------------------------------------------------------------------------- |
|
4449 |
|
4450 data.Close(); |
|
4451 expTsyData.SerialiseL(data); |
|
4452 |
|
4453 iMockLTSY.ExpectL(EMobileSmsMessagingSendMessageNoFdnCheck, data, KErrNotSupported); |
|
4454 messaging.SendMessageNoFdnCheck(reqStatus, tmpName, smsAttrPckg); |
|
4455 |
|
4456 User::WaitForRequest(reqStatus); |
|
4457 ASSERT_EQUALS(KErrNotSupported, reqStatus.Int()); |
|
4458 |
|
4459 AssertMockLtsyStatusL(); |
|
4460 CleanupStack::PopAndDestroy(3, this); |
|
4461 } |
|
4462 |
|
4463 |
|
4464 |
|
4465 |
|
4466 /** |
|
4467 @SYMTestCaseID BA-CTSY-SMSM-SSMNFC-0002 |
|
4468 @SYMComponent telephony_ctsy |
|
4469 @SYMTestCaseDesc Test support in CTSY for cancelling of RMobileSmsMessaging::SendMessageNoFdnCheck |
|
4470 @SYMTestPriority High |
|
4471 @SYMTestActions Invokes cancelling of RMobileSmsMessaging::SendMessageNoFdnCheck |
|
4472 @SYMTestExpectedResults Pass |
|
4473 @SYMTestType CT |
|
4474 */ |
|
4475 void CCTsySmsMessagingFU::TestSendMessageNoFdnCheck0002L() |
|
4476 { |
|
4477 |
|
4478 OpenEtelServerL(EUseExtendedError); |
|
4479 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
4480 OpenPhoneL(); |
|
4481 |
|
4482 RMobileSmsMessaging messaging; |
|
4483 TInt err = messaging.Open(iPhone); |
|
4484 ASSERT_EQUALS(KErrNone, err); |
|
4485 CleanupClosePushL(messaging); |
|
4486 |
|
4487 RBuf8 data; |
|
4488 CleanupClosePushL(data); |
|
4489 |
|
4490 _LIT8(KMessage, "Merry christmas"); |
|
4491 TBuf8<32> tmpName(KMessage); |
|
4492 |
|
4493 TRequestStatus reqStatus; |
|
4494 RMobileSmsMessaging::TMobileSmsSendAttributesV1 smsAttr; |
|
4495 RMobileSmsMessaging::TMobileSmsSendAttributesV1Pckg smsAttrPckg(smsAttr); |
|
4496 |
|
4497 TSendSmsDataAndAttributes dataAndAttr; |
|
4498 dataAndAttr.iIpc = EMobileSmsMessagingSendMessageNoFdnCheck; |
|
4499 dataAndAttr.iAttributes = &smsAttr; |
|
4500 dataAndAttr.iMsgData = &tmpName; |
|
4501 |
|
4502 TMockLtsyData1<TSendSmsDataAndAttributes> expTsyData(dataAndAttr); |
|
4503 expTsyData.SerialiseL(data); |
|
4504 |
|
4505 TRequestStatus mockLtsyStatus; |
|
4506 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
4507 |
|
4508 //------------------------------------------------------------------------- |
|
4509 // Test cancelling of RMobileSmsMessaging::SendMessageNoFdnCheck |
|
4510 //------------------------------------------------------------------------- |
|
4511 |
|
4512 iMockLTSY.ExpectL(EMobileSmsMessagingSendMessageNoFdnCheck, data); |
|
4513 |
|
4514 const TInt16 KMsgRef(25); |
|
4515 TInt16 msgRef(KMsgRef); |
|
4516 TBuf8<RMobileSmsMessaging::KGsmTpduSize> smsMsg(KMessage); |
|
4517 TMockLtsyData2<TInt16, TBuf8<RMobileSmsMessaging::KGsmTpduSize> > compTsyData(msgRef, smsMsg); |
|
4518 data.Close(); |
|
4519 compTsyData.SerialiseL(data); |
|
4520 |
|
4521 iMockLTSY.CompleteL(EMobileSmsMessagingSendMessageNoFdnCheck, KErrNone, data, 10); |
|
4522 |
|
4523 messaging.SendMessageNoFdnCheck(reqStatus, tmpName, smsAttrPckg); |
|
4524 |
|
4525 messaging.CancelAsyncRequest(EMobileSmsMessagingSendMessageNoFdnCheck); |
|
4526 |
|
4527 // Wait for completion of iMockLTSY.NotifyTerminated |
|
4528 User::WaitForRequest(mockLtsyStatus); |
|
4529 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
4530 |
|
4531 User::WaitForRequest(reqStatus); |
|
4532 ASSERT_EQUALS(KErrCancel, reqStatus.Int()); |
|
4533 |
|
4534 |
|
4535 AssertMockLtsyStatusL(); |
|
4536 |
|
4537 CleanupStack::PopAndDestroy(3); |
|
4538 |
|
4539 } |
|
4540 |
|
4541 |
|
4542 /** |
|
4543 @SYMTestCaseID BA-CTSY-SMSM-SSMNFC-0003 |
|
4544 @SYMComponent telephony_ctsy |
|
4545 @SYMTestCaseDesc Test support in CTSY for RMobileSmsMessaging::SendMessageNoFdnCheck with bad parameter data |
|
4546 @SYMTestPriority High |
|
4547 @SYMTestActions Invokes RMobileSmsMessaging::SendMessageNoFdnCheck with bad parameter data |
|
4548 @SYMTestExpectedResults Pass |
|
4549 @SYMTestType CT |
|
4550 */ |
|
4551 void CCTsySmsMessagingFU::TestSendMessageNoFdnCheck0003L() |
|
4552 { |
|
4553 OpenEtelServerL(EUseExtendedError); |
|
4554 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
4555 OpenPhoneL(); |
|
4556 |
|
4557 RMobileSmsMessaging messaging; |
|
4558 TInt err = messaging.Open(iPhone); |
|
4559 ASSERT_EQUALS(KErrNone, err); |
|
4560 CleanupClosePushL(messaging); |
|
4561 |
|
4562 TRequestStatus reqStatus; |
|
4563 TBuf8<1> tmpName; |
|
4564 TInt smsAttr(1); |
|
4565 TPckg<TInt8> badSmsAttrPckg(smsAttr); |
|
4566 |
|
4567 messaging.SendMessageNoFdnCheck(reqStatus, tmpName, badSmsAttrPckg); |
|
4568 |
|
4569 User::WaitForRequest(reqStatus); |
|
4570 ASSERT_EQUALS(KErrArgument, reqStatus.Int()); |
|
4571 |
|
4572 AssertMockLtsyStatusL(); |
|
4573 CleanupStack::PopAndDestroy(2); // messaging, this |
|
4574 } |
|
4575 |
|
4576 |
|
4577 /** |
|
4578 @SYMTestCaseID BA-CTSY-SMSM-SSMNFC-0004 |
|
4579 @SYMComponent telephony_ctsy |
|
4580 @SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileSmsMessaging::SendMessageNoFdnCheck |
|
4581 @SYMTestPriority High |
|
4582 @SYMTestActions Invokes multiple client requests to RMobileSmsMessaging::SendMessageNoFdnCheck |
|
4583 @SYMTestExpectedResults Pass |
|
4584 @SYMTestType CT |
|
4585 */ |
|
4586 void CCTsySmsMessagingFU::TestSendMessageNoFdnCheck0004L() |
|
4587 { |
|
4588 |
|
4589 OpenEtelServerL(EUseExtendedError); |
|
4590 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
4591 OpenPhoneL(); |
|
4592 |
|
4593 RMobileSmsMessaging messaging; |
|
4594 TInt err = messaging.Open(iPhone); |
|
4595 ASSERT_EQUALS(KErrNone, err); |
|
4596 CleanupClosePushL(messaging); |
|
4597 |
|
4598 RTelServer telServer2; |
|
4599 TInt ret = telServer2.Connect(); |
|
4600 ASSERT_EQUALS(KErrNone, ret); |
|
4601 CleanupClosePushL(telServer2); |
|
4602 |
|
4603 RMobilePhone phone2; |
|
4604 ret = phone2.Open(telServer2,KMmTsyPhoneName); |
|
4605 ASSERT_EQUALS(KErrNone, ret); |
|
4606 CleanupClosePushL(phone2); |
|
4607 |
|
4608 RMobileSmsMessaging messaging2; |
|
4609 err = messaging2.Open(phone2); |
|
4610 ASSERT_EQUALS(KErrNone, err); |
|
4611 CleanupClosePushL(messaging2); |
|
4612 |
|
4613 RBuf8 data; |
|
4614 CleanupClosePushL(data); |
|
4615 |
|
4616 RBuf8 data2; |
|
4617 CleanupClosePushL(data2); |
|
4618 |
|
4619 _LIT8(KMessage, "Merry christmas"); |
|
4620 _LIT8(KMessage2, "Merry christmas2"); |
|
4621 TBuf8<32> tmpName(KMessage); |
|
4622 TBuf8<32> tmpName2(KMessage2); |
|
4623 |
|
4624 TRequestStatus reqStatus; |
|
4625 RMobileSmsMessaging::TMobileSmsSendAttributesV1 smsAttr; |
|
4626 RMobileSmsMessaging::TMobileSmsSendAttributesV1Pckg smsAttrPckg(smsAttr); |
|
4627 |
|
4628 TRequestStatus reqStatus2; |
|
4629 RMobileSmsMessaging::TMobileSmsSendAttributesV1 smsAttr2; |
|
4630 RMobileSmsMessaging::TMobileSmsSendAttributesV1Pckg smsAttrPckg2(smsAttr2); |
|
4631 |
|
4632 TSendSmsDataAndAttributes dataAndAttr; |
|
4633 dataAndAttr.iIpc = EMobileSmsMessagingSendMessageNoFdnCheck; |
|
4634 dataAndAttr.iAttributes = &smsAttr; |
|
4635 dataAndAttr.iMsgData = &tmpName; |
|
4636 |
|
4637 TMockLtsyData1<TSendSmsDataAndAttributes> expTsyData(dataAndAttr); |
|
4638 expTsyData.SerialiseL(data); |
|
4639 |
|
4640 |
|
4641 iMockLTSY.ExpectL(EMobileSmsMessagingSendMessageNoFdnCheck, data); |
|
4642 |
|
4643 messaging.SendMessageNoFdnCheck(reqStatus, tmpName, smsAttrPckg); |
|
4644 |
|
4645 messaging2.SendMessageNoFdnCheck(reqStatus2, tmpName2, smsAttrPckg2); |
|
4646 |
|
4647 |
|
4648 const TInt16 KMsgRef(25); |
|
4649 TInt16 msgRef(KMsgRef); |
|
4650 TBuf8<RMobileSmsMessaging::KGsmTpduSize> smsMsg(KMessage); |
|
4651 TMockLtsyData2<TInt16, TBuf8<RMobileSmsMessaging::KGsmTpduSize> > compTsyData(msgRef, smsMsg); |
|
4652 data.Close(); |
|
4653 compTsyData.SerialiseL(data); |
|
4654 |
|
4655 iMockLTSY.CompleteL(EMobileSmsMessagingSendMessageNoFdnCheck, KErrNone, data); |
|
4656 |
|
4657 |
|
4658 User::WaitForRequest(reqStatus); |
|
4659 ASSERT_EQUALS(KErrNone, reqStatus.Int()); |
|
4660 |
|
4661 User::WaitForRequest(reqStatus2); |
|
4662 ASSERT_EQUALS(KErrServerBusy, reqStatus2.Int()); |
|
4663 |
|
4664 AssertMockLtsyStatusL(); |
|
4665 |
|
4666 CleanupStack::PopAndDestroy(7); |
|
4667 |
|
4668 } |
|
4669 |
|
4670 |
|
4671 /** |
|
4672 @SYMTestCaseID BA-CTSY-SMSM-SSMNFC-0005 |
|
4673 @SYMComponent telephony_ctsy |
|
4674 @SYMTestCaseDesc Test support in CTSY for RMobileSmsMessaging::SendMessageNoFdnCheck with timeout |
|
4675 @SYMTestPriority High |
|
4676 @SYMTestActions Invokes RMobileSmsMessaging::SendMessageNoFdnCheck and tests for timeout |
|
4677 @SYMTestExpectedResults Pass |
|
4678 @SYMTestType CT |
|
4679 */ |
|
4680 void CCTsySmsMessagingFU::TestSendMessageNoFdnCheck0005L() |
|
4681 { |
|
4682 |
|
4683 OpenEtelServerL(EUseExtendedError); |
|
4684 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
4685 OpenPhoneL(); |
|
4686 |
|
4687 RMobileSmsMessaging messaging; |
|
4688 TInt err = messaging.Open(iPhone); |
|
4689 ASSERT_EQUALS(KErrNone, err); |
|
4690 CleanupClosePushL(messaging); |
|
4691 |
|
4692 RBuf8 data; |
|
4693 CleanupClosePushL(data); |
|
4694 |
|
4695 _LIT8(KMessage, "Merry christmas"); |
|
4696 TBuf8<32> tmpName(KMessage); |
|
4697 |
|
4698 TRequestStatus reqStatus; |
|
4699 RMobileSmsMessaging::TMobileSmsSendAttributesV1 smsAttr; |
|
4700 RMobileSmsMessaging::TMobileSmsSendAttributesV1Pckg smsAttrPckg(smsAttr); |
|
4701 |
|
4702 TSendSmsDataAndAttributes dataAndAttr; |
|
4703 dataAndAttr.iIpc = EMobileSmsMessagingSendMessageNoFdnCheck; |
|
4704 dataAndAttr.iAttributes = &smsAttr; |
|
4705 dataAndAttr.iMsgData = &tmpName; |
|
4706 |
|
4707 TMockLtsyData1<TSendSmsDataAndAttributes> expTsyData(dataAndAttr); |
|
4708 expTsyData.SerialiseL(data); |
|
4709 |
|
4710 iMockLTSY.ExpectL(EMobileSmsMessagingSendMessageNoFdnCheck, data); |
|
4711 |
|
4712 messaging.SendMessageNoFdnCheck(reqStatus, tmpName, smsAttrPckg); |
|
4713 |
|
4714 User::WaitForRequest(reqStatus); |
|
4715 ASSERT_EQUALS(KErrTimedOut, reqStatus.Int()); |
|
4716 |
|
4717 AssertMockLtsyStatusL(); |
|
4718 |
|
4719 CleanupStack::PopAndDestroy(3); |
|
4720 |
|
4721 } |
|
4722 |
|
4723 |
|
4724 |
|
4725 |
|
4726 |
|
4727 |
|
4728 /** |
|
4729 @SYMTestCaseID BA-CTSY-SMSM-SEMS-0001 |
|
4730 @SYMComponent telephony_ctsy |
|
4731 @SYMTestCaseDesc Test support in CTSY for RMobileSmsMessaging::EnumerateMessageStores |
|
4732 @SYMTestPriority High |
|
4733 @SYMTestActions Invokes RMobileSmsMessaging::EnumerateMessageStores |
|
4734 @SYMTestExpectedResults Pass |
|
4735 @SYMTestType CT |
|
4736 */ |
|
4737 void CCTsySmsMessagingFU::TestEnumerateMessageStores0001L() |
|
4738 { |
|
4739 |
|
4740 OpenEtelServerL(EUseExtendedError); |
|
4741 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
4742 OpenPhoneL(); |
|
4743 |
|
4744 RMobileSmsMessaging messaging; |
|
4745 TInt err = messaging.Open(iPhone); |
|
4746 ASSERT_EQUALS(KErrNone, err); |
|
4747 CleanupClosePushL(messaging); |
|
4748 |
|
4749 TInt count; |
|
4750 |
|
4751 //------------------------------------------------------------------------- |
|
4752 // TEST C: Successful completion request of |
|
4753 // RMobileSmsMessaging::EnumerateMessageStores when result is not cached. |
|
4754 //------------------------------------------------------------------------- |
|
4755 |
|
4756 err = messaging.EnumerateMessageStores(count); |
|
4757 ASSERT_EQUALS(KErrNone, err); |
|
4758 ASSERT_TRUE(KSmsStoreNumber == count); |
|
4759 |
|
4760 AssertMockLtsyStatusL(); |
|
4761 CleanupStack::PopAndDestroy(2, this); |
|
4762 |
|
4763 } |
|
4764 |
|
4765 |
|
4766 |
|
4767 |
|
4768 /** |
|
4769 @SYMTestCaseID BA-CTSY-SMSM-SGC-0001 |
|
4770 @SYMComponent telephony_ctsy |
|
4771 @SYMTestCaseDesc Test support in CTSY for RMobileSmsMessaging::GetCaps |
|
4772 @SYMTestPriority High |
|
4773 @SYMTestActions Invokes RMobileSmsMessaging::GetCaps |
|
4774 @SYMTestExpectedResults Pass |
|
4775 @SYMTestType CT |
|
4776 */ |
|
4777 void CCTsySmsMessagingFU::TestGetCaps0001L() |
|
4778 { |
|
4779 |
|
4780 OpenEtelServerL(EUseExtendedError); |
|
4781 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
4782 OpenPhoneL(); |
|
4783 |
|
4784 RMobileSmsMessaging messaging; |
|
4785 TInt err = messaging.Open(iPhone); |
|
4786 ASSERT_EQUALS(KErrNone, err); |
|
4787 CleanupClosePushL(messaging); |
|
4788 |
|
4789 RMobileSmsMessaging::TMobileSmsCapsV1 caps; |
|
4790 RMobileSmsMessaging::TMobileSmsCapsV1Pckg pckgCaps(caps); |
|
4791 |
|
4792 |
|
4793 //------------------------------------------------------------------------- |
|
4794 // TEST C: Successful completion request of |
|
4795 // RMobileSmsMessaging::GetCaps when result is not cached. |
|
4796 //------------------------------------------------------------------------- |
|
4797 |
|
4798 err = messaging.GetCaps(pckgCaps); |
|
4799 |
|
4800 ASSERT_EQUALS(KErrNone, err); |
|
4801 |
|
4802 ASSERT_TRUE( caps.iSmsMode == KSmsGsmModeCaps); |
|
4803 ASSERT_TRUE( caps.iSmsControl == KSmsControlCaps); |
|
4804 |
|
4805 AssertMockLtsyStatusL(); |
|
4806 CleanupStack::PopAndDestroy(2, this); |
|
4807 |
|
4808 } |
|
4809 |
|
4810 |
|
4811 |
|
4812 /** |
|
4813 @SYMTestCaseID BA-CTSY-SMSM-SGC-0003 |
|
4814 @SYMComponent telephony_ctsy |
|
4815 @SYMTestCaseDesc Test support in CTSY for RMobileSmsMessaging::GetCaps with bad parameter data |
|
4816 @SYMTestPriority High |
|
4817 @SYMTestActions Invokes RMobileSmsMessaging::GetCaps with bad parameter data |
|
4818 @SYMTestExpectedResults Pass |
|
4819 @SYMTestType CT |
|
4820 */ |
|
4821 void CCTsySmsMessagingFU::TestGetCaps0003L() |
|
4822 { |
|
4823 OpenEtelServerL(EUseExtendedError); |
|
4824 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
4825 OpenPhoneL(); |
|
4826 |
|
4827 RMobileSmsMessaging messaging; |
|
4828 TInt err = messaging.Open(iPhone); |
|
4829 ASSERT_EQUALS(KErrNone, err); |
|
4830 CleanupClosePushL(messaging); |
|
4831 |
|
4832 TInt8 badCaps; |
|
4833 TPckg<TInt8> badCapsPckg(badCaps); |
|
4834 |
|
4835 err = messaging.GetCaps(badCapsPckg); |
|
4836 |
|
4837 ASSERT_EQUALS(KErrArgument, err); |
|
4838 |
|
4839 AssertMockLtsyStatusL(); |
|
4840 CleanupStack::PopAndDestroy(2, this); |
|
4841 |
|
4842 } |
|
4843 |
|
4844 |
|
4845 |
|
4846 |