|
1 // Copyright (c) 2008-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 // |
|
15 |
|
16 |
|
17 |
|
18 /** |
|
19 @file The TEFUnit test suite for PacketServicesControl in the Common TSY. |
|
20 */ |
|
21 |
|
22 #include "cctsypacketservicesfu.h" |
|
23 #include <etel.h> |
|
24 #include <etelmm.h> |
|
25 #include <in_sock.h> |
|
26 #include <et_clsvr.h> |
|
27 #include <ctsy/mmtsy_names.h> |
|
28 #include <ctsy/serviceapi/mmtsy_ipcdefs.h> |
|
29 #include <test/tmockltsydata.h> |
|
30 #include <ctsy/serviceapi/gsmerror.h> |
|
31 #include <ctsy/ltsy/mltsydispatchpacketservicesinterface.h> |
|
32 #include <pcktcs.h> |
|
33 #include "mockltsyindicatorids.h" |
|
34 #include <mbmstypes.h> |
|
35 #include "listretrieverao.h" |
|
36 |
|
37 CTestSuite* CCTsyPacketServicesFU::CreateSuiteL(const TDesC& aName) |
|
38 { |
|
39 SUB_SUITE; |
|
40 |
|
41 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUseCase0001L); |
|
42 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUseCase0002L); |
|
43 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUseCase0003L); |
|
44 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUseCase0004L); |
|
45 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUseCase0005L); |
|
46 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUseCase0006L); |
|
47 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUseCase0007L); |
|
48 |
|
49 //add other unit tests |
|
50 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUnit0001L); |
|
51 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUnit0002L); |
|
52 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUnit0003L); |
|
53 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUnit0004L); |
|
54 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUnit0005L); |
|
55 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUnit0006L); |
|
56 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUnit0007L); |
|
57 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUnit0008L); |
|
58 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUnit0009L); |
|
59 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUnit00010L); |
|
60 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUnit00011AL); |
|
61 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUnit00011BL); |
|
62 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUnit00011CL); |
|
63 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUnit00012L); |
|
64 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUnit00013L); |
|
65 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUnit00014L); |
|
66 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUnit00015L); |
|
67 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUnit00016L); |
|
68 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUnit00017L); |
|
69 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUnit00018L); |
|
70 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUnit00019L); |
|
71 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUnit00020L); |
|
72 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUnit00021L); |
|
73 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUnit00022L); |
|
74 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUnit00023L); |
|
75 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUnit00024L); |
|
76 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUnit00025L); |
|
77 ADD_TEST_STEP_ISO_CPP(CCTsyPacketServicesFU, TestUnit00026L); |
|
78 |
|
79 END_SUITE; |
|
80 } |
|
81 |
|
82 |
|
83 // |
|
84 // Drivers |
|
85 // |
|
86 |
|
87 // Generates the primary and secondary DNS buffer as described in 3GPP specification 3G TS 24.008 |
|
88 void CCTsyPacketServicesFU::ConvertDNSToPCOBuffer |
|
89 (const TDes8& aPrimaryDNS, const TDes8& aSecondaryDNS, const TUint8 aRequestID, TDes8& aFormatPcoBufferAddr) |
|
90 { |
|
91 // Handle Primary DNS address |
|
92 TInetAddr netPrimaryDNS; |
|
93 TBuf<KDnsLength> netPrimaryDNSConv; |
|
94 netPrimaryDNSConv.Copy(aPrimaryDNS); |
|
95 netPrimaryDNS.Input(netPrimaryDNSConv); |
|
96 TUint32 primDNSaddr = netPrimaryDNS.Address(); |
|
97 |
|
98 // Handle Secondary DNS address |
|
99 TInetAddr netSecondaryDNS; |
|
100 TBuf<KDnsLength> netSecondaryDNSConv; |
|
101 netSecondaryDNSConv.Copy(aSecondaryDNS); |
|
102 netSecondaryDNS.Input(netSecondaryDNSConv); |
|
103 TUint32 secondaryDNSaddr = netSecondaryDNS.Address(); |
|
104 |
|
105 aFormatPcoBufferAddr[0] = KPrimaryAndSecondaryDNSLength; // Length |
|
106 aFormatPcoBufferAddr[1] = KIPCRequestCode; // IPC PRequest Code |
|
107 aFormatPcoBufferAddr[2] = aRequestID; // Request ID (CHAP challenge) |
|
108 aFormatPcoBufferAddr[3] = KPacketLengthMSB; // Packet length MSB (always zero) |
|
109 aFormatPcoBufferAddr[4] = KPrimaryAndSecondaryDNSLength; // Packet length LSB |
|
110 aFormatPcoBufferAddr[5] = KIndicatePrimaryAddress; // Indicate Primary address |
|
111 aFormatPcoBufferAddr[6] = KDnsAddressLength; // Length of address (inc header) |
|
112 aFormatPcoBufferAddr[7] = (primDNSaddr >> 24) & 0xff; // Primary DNS |
|
113 aFormatPcoBufferAddr[8] = (primDNSaddr >> 16) & 0xff; // Primary DNS |
|
114 aFormatPcoBufferAddr[9] = (primDNSaddr >> 8) & 0xff; // Primary DNS |
|
115 aFormatPcoBufferAddr[10] = primDNSaddr & 0xff; // Primary DNS |
|
116 aFormatPcoBufferAddr[11] = KIndicateSecondaryAddress; // Indicate Secondary address |
|
117 aFormatPcoBufferAddr[12] = KDnsAddressLength; // Length of address (inc header) |
|
118 aFormatPcoBufferAddr[13] = (secondaryDNSaddr >> 24) & 0xff; // Secondary DNS |
|
119 aFormatPcoBufferAddr[14] = (secondaryDNSaddr >> 16) & 0xff; // Secondary DNS |
|
120 aFormatPcoBufferAddr[15] = (secondaryDNSaddr >> 8) & 0xff; // Secondary DNS |
|
121 aFormatPcoBufferAddr[16] = secondaryDNSaddr & 0xff; // Secondary DNS |
|
122 aFormatPcoBufferAddr.SetLength(KPrimaryAndSecondaryDNSLength + 1); |
|
123 } |
|
124 |
|
125 // Generates the username, password and requestID buffer as described in 3GPP specification 3G TS 24.008 |
|
126 void CCTsyPacketServicesFU::ConvertUsernameAndPasswordToPCOBuffer(const TDes8& aUsername, |
|
127 const TDes8& aPassword, const TUint8 aRequestID, TDes8& aFormatedBuffer) |
|
128 { |
|
129 TInt usernameLen = aUsername.Length(); |
|
130 TInt passwordLen = aPassword.Length(); |
|
131 TInt dataLen = usernameLen + passwordLen + KPasswordUsernameHeaderLength; |
|
132 TInt i = 0; |
|
133 |
|
134 aFormatedBuffer[i++] = dataLen; // Length |
|
135 aFormatedBuffer[i++] = KIPCRequestCode; // IPC PRequest Codeio |
|
136 aFormatedBuffer[i++] = aRequestID; // Request ID (CHAP challenge) |
|
137 aFormatedBuffer[i++] = KPacketLengthMSB; // Packet length MSB (always zero) |
|
138 aFormatedBuffer[i++] = dataLen; // Packet length LSB |
|
139 aFormatedBuffer[i++] = usernameLen; // Length of username |
|
140 aFormatedBuffer.SetLength(i); |
|
141 aFormatedBuffer.Append(aUsername); // Username |
|
142 aFormatedBuffer.SetLength(i + usernameLen + 1); |
|
143 aFormatedBuffer[i + usernameLen] = passwordLen; // Length of password |
|
144 aFormatedBuffer.Append(aPassword); // Password |
|
145 } |
|
146 |
|
147 /*** |
|
148 * PCO - Description |
|
149 * |
|
150 * The purpose of the protocol configuration options (PCO) is to transfer external network protocol options |
|
151 * associated with a PDP context activation, and transfer additional (protocol) data |
|
152 * (e.g. configuration parameters, error codes or messages/events) associated with an external protocol |
|
153 * or an application. |
|
154 * The protocol configuration options (PCO) is a type 4 information element with a minimum length of 3 |
|
155 * octets and a maximum length of 253 octets |
|
156 * In order to generate the PCO buffer a TTlvStruct object is being used. The TTlvStruct wraps the buffers |
|
157 * inserted to the PCO and identifies the buffers with given IDs. |
|
158 * |
|
159 * In the following test the PCO buffer is initiated with the username, password, requestID, |
|
160 * primary DNS and secondary DNS. In addition the PCO contains a Misc Buffer which has the |
|
161 * same structure and the same characteristics as the PCO buffer and can contain |
|
162 * Miscellaneous protocol information. The main risk with the Misc Buffer is an overflow |
|
163 * (The dispatcher handles the overflow scenario). |
|
164 * |
|
165 * Following is an example of a PCO buffer outline: |
|
166 * |
|
167 * PcoBuffer[0] == 0x80); // Config options ext bit |
|
168 * PcoBuffer[1] == 0xC0); // Header 1 |
|
169 * PcoBuffer[2] == 0x23); // Header 2 |
|
170 * PcoBuffer[3] == 0xC); // Length |
|
171 * PcoBuffer[4] == 0x1); // IPC PRequest Code |
|
172 * PcoBuffer[5] == 0x0); // Request ID (CHAP challenge) |
|
173 * PcoBuffer[6] == 0x0); // Packet length MSB (always zero) |
|
174 * PcoBuffer[7] == 0xC); // Packet length LSB |
|
175 * PcoBuffer[8] == 0x3); // Length of username |
|
176 * PcoBuffer[9] == 119); // Username |
|
177 * PcoBuffer[10] == 101); // Username |
|
178 * PcoBuffer[11] == 98); // Username |
|
179 * PcoBuffer[12] == 0x3); // Length of password |
|
180 * PcoBuffer[13] == 119); // Password |
|
181 * PcoBuffer[14] == 101); // Password |
|
182 * PcoBuffer[15] == 98); // Password |
|
183 * PcoBuffer[16] == 0x80); // DNS HeaderId 1 |
|
184 * PcoBuffer[17] == 0x21); // DNS HeaderId 2 |
|
185 * PcoBuffer[18] == 0x10); // Length |
|
186 * PcoBuffer[19] == 0x1); // IPC PRequest Code |
|
187 * PcoBuffer[20] == 0x1); // Request ID (CHAP challenge) |
|
188 * PcoBuffer[21] == 0x0); // Packet length MSB (always zero) |
|
189 * PcoBuffer[22] == 0x10); // Packet length LSB |
|
190 * PcoBuffer[23] == 0x81); // Indicate Primary address |
|
191 * PcoBuffer[24] == 0x6); // Length of address (inc header) |
|
192 * PcoBuffer[25] == 0xBE); // Primary DNS |
|
193 * PcoBuffer[26] == 0x0); // Primary DNS |
|
194 * PcoBuffer[27] == 0x65); // Primary DNS |
|
195 * PcoBuffer[28] == 0xBD); // Primary DNS |
|
196 * PcoBuffer[29] == 0x83); // Indicate Secondary address |
|
197 * PcoBuffer[30] == 0x6); // Length of address (inc header) |
|
198 * PcoBuffer[31] == 0x19); // Secondary DNS |
|
199 * PcoBuffer[32] == 0x5); // Secondary DNS |
|
200 * PcoBuffer[33] == 0x28); // Secondary DNS |
|
201 * PcoBuffer[34] == 0xBF); // Secondary DNS |
|
202 * |
|
203 * The Misc buffer should be added after the secondary DNS value (i.e. location 35 in the |
|
204 * example above). |
|
205 */ |
|
206 |
|
207 // |
|
208 // |
|
209 // |
|
210 // Generates a PCO buffer out of a PCO object. |
|
211 void CCTsyPacketServicesFU::PCOGeneratorL(RPacketContext::TProtocolConfigOptionV2& aPco, RPacketContext::TMiscProtocolBuffer& aPcoBuffer) |
|
212 { |
|
213 |
|
214 TBuf8<KMaxUserAndPassLength> userAndPasswordBuffer(KMaxUserAndPassLength); |
|
215 |
|
216 // Generates the username, password and requestID buffer as described in 3GPP specification 3G TS 24.008 |
|
217 ConvertUsernameAndPasswordToPCOBuffer(aPco.iAuthInfo.iUsername, aPco.iAuthInfo.iPassword, aPco.iId++, userAndPasswordBuffer); |
|
218 |
|
219 TPtr8 userAndPasswordParamDataPtr(const_cast<TUint8*>(userAndPasswordBuffer.Ptr()), |
|
220 userAndPasswordBuffer.Length(), userAndPasswordBuffer.Length()); |
|
221 |
|
222 TBuf8<KMaxPdpAddressLength> primaryAndSecondaryDNSBuffer(KPrimaryAndSecondaryDNSLength + 1); |
|
223 |
|
224 // Generates the primary and secondary DNS buffer as described in 3GPP specification 3G TS 24.008 |
|
225 ConvertDNSToPCOBuffer(aPco.iDnsAddresses.iPrimaryDns, aPco.iDnsAddresses.iSecondaryDns, aPco.iId++, primaryAndSecondaryDNSBuffer); |
|
226 |
|
227 // Setting the configurations buffers |
|
228 TPtr8 primaryAndSecondaryDNSParamDataPtr(const_cast<TUint8*>(primaryAndSecondaryDNSBuffer.Ptr()), |
|
229 primaryAndSecondaryDNSBuffer.Length(), primaryAndSecondaryDNSBuffer.Length()); |
|
230 |
|
231 TPtr8 pcoPtr (const_cast<TUint8*> (aPcoBuffer.Ptr()), RPacketContext::KMiscProtocolBufferLength); |
|
232 TTlvStruct<RPacketContext::TPcoId, RPacketContext::TPcoItemDataLength> pcoTlv(pcoPtr,0); |
|
233 |
|
234 RPacketContext::TPcoId usenameAndPasswordID(KUsenamePasswordDNSID); |
|
235 RPacketContext::TPcoId primaryAndSecondaryDNSID(KPrimaryAndSecondaryDNSID); |
|
236 |
|
237 pcoTlv.AppendItemL(usenameAndPasswordID, userAndPasswordParamDataPtr); |
|
238 pcoTlv.AppendItemL(primaryAndSecondaryDNSID, primaryAndSecondaryDNSParamDataPtr); |
|
239 |
|
240 aPcoBuffer.SetLength(primaryAndSecondaryDNSParamDataPtr.Length() + userAndPasswordParamDataPtr.Length() + 2 * KIDLength); |
|
241 |
|
242 // Append the misc buffer which is alread in TLV structure |
|
243 aPcoBuffer.Append(aPco.iMiscBuffer); |
|
244 } |
|
245 |
|
246 void CCTsyPacketServicesFU::DriverDeleteContextL(TInfoName aContextName) |
|
247 { |
|
248 RBuf8 data; |
|
249 CleanupClosePushL(data); |
|
250 TMockLtsyData1<TInfoName> contextNameData(aContextName); |
|
251 data.Close(); |
|
252 contextNameData.SerialiseL(data); |
|
253 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesDeletePdpContext::KLtsyDispatchPacketServicesDeletePdpContextApiId, data, KErrNone); |
|
254 CleanupStack::PopAndDestroy(1, &data); // data |
|
255 } |
|
256 |
|
257 void CCTsyPacketServicesFU::DriverAttachPacketServiceL() |
|
258 { |
|
259 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesPacketAttach::KLtsyDispatchPacketServicesPacketAttachApiId); |
|
260 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesPacketAttach::KLtsyDispatchPacketServicesPacketAttachApiId, KErrNone); |
|
261 } |
|
262 |
|
263 void CCTsyPacketServicesFU::DriverDetachPacketServiceL() |
|
264 { |
|
265 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesPacketDetach::KLtsyDispatchPacketServicesPacketDetachApiId); |
|
266 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesPacketDetach::KLtsyDispatchPacketServicesPacketDetachApiId, KErrNone); |
|
267 |
|
268 // SetAttachModeL being called as part of the detach completion process |
|
269 RBuf8 dataExpect; |
|
270 CleanupClosePushL(dataExpect); |
|
271 RPacketService::TAttachMode attachMode = RPacketService::EAttachWhenPossible; |
|
272 TMockLtsyData1<RPacketService::TAttachMode> ltsyData(attachMode); |
|
273 dataExpect.Close(); |
|
274 ltsyData.SerialiseL(dataExpect); |
|
275 |
|
276 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPacketAttachMode::KLtsyDispatchPacketServicesSetPacketAttachModeApiId, dataExpect, KErrNone); |
|
277 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPacketAttachMode::KLtsyDispatchPacketServicesSetPacketAttachModeApiId, KErrNone); |
|
278 |
|
279 CleanupStack::PopAndDestroy(1, &dataExpect); // dataExpect |
|
280 } |
|
281 |
|
282 void CCTsyPacketServicesFU::DriverInitialiseContextL() |
|
283 { |
|
284 RBuf8 data; |
|
285 CleanupClosePushL(data); |
|
286 |
|
287 TInfoName primaryContext; |
|
288 TInfoName secondaryContext; |
|
289 primaryContext.Copy(KFirstAllocatedContextName); |
|
290 secondaryContext.Copy(KDefaultContextName); |
|
291 |
|
292 //------------------------------------------------------------------------- |
|
293 // Successful completion request of |
|
294 // RPacketContext::InitialiseContext |
|
295 //------------------------------------------------------------------------- |
|
296 |
|
297 TMockLtsyData2<TInfoName, TInfoName> expLtsyContextNamesData3(primaryContext, secondaryContext); |
|
298 data.Close(); |
|
299 expLtsyContextNamesData3.SerialiseL(data); |
|
300 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesInitialisePdpContext::KLtsyDispatchPacketServicesInitialisePdpContextApiId, data); |
|
301 |
|
302 TDesC* contextNamePtr = &primaryContext; |
|
303 TDesC* channelIdPtr = const_cast<TDesC*>(&KDefaultChannelId); |
|
304 TMockLtsyData2<TDesC*, TDesC*> expLtsyContextNameAndChannelIdData(contextNamePtr, channelIdPtr); |
|
305 data.Close(); |
|
306 expLtsyContextNameAndChannelIdData.SerialiseL(data); |
|
307 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesInitialisePdpContext::KLtsyDispatchPacketServicesInitialisePdpContextApiId, KErrNone, data); |
|
308 |
|
309 CleanupStack::PopAndDestroy(1, &data); // data |
|
310 } |
|
311 |
|
312 void CCTsyPacketServicesFU::DriverInitialiseContextL(const TInfoName& aPrimaryContextId, const TInfoName& aSecondaryContextId) |
|
313 { |
|
314 RBuf8 data; |
|
315 CleanupClosePushL(data); |
|
316 |
|
317 TInfoName& primaryContext = const_cast<TInfoName&>(aPrimaryContextId); |
|
318 TInfoName& secondaryContext = const_cast<TInfoName&>(aSecondaryContextId); |
|
319 |
|
320 //------------------------------------------------------------------------- |
|
321 // Successful completion request of |
|
322 // RPacketContext::InitialiseContext |
|
323 //------------------------------------------------------------------------- |
|
324 |
|
325 TMockLtsyData2<TInfoName, TInfoName> expLtsyContextNamesData(primaryContext, secondaryContext); |
|
326 data.Close(); |
|
327 expLtsyContextNamesData.SerialiseL(data); |
|
328 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesInitialisePdpContext::KLtsyDispatchPacketServicesInitialisePdpContextApiId, data); |
|
329 |
|
330 |
|
331 // Check if a secondary context is being initialise and if it is then compelte initialisation for secondary context. |
|
332 TDesC* contextNamePtr = (aSecondaryContextId == KDefaultContextName) ? &primaryContext : &secondaryContext; |
|
333 |
|
334 TDesC* channelIdPtr = const_cast<TDesC*>(&KSecondaryContextChannelId); |
|
335 TMockLtsyData2<TDesC*, TDesC*> expLtsyContextNameAndPortData2(contextNamePtr, channelIdPtr); |
|
336 data.Close(); |
|
337 expLtsyContextNameAndPortData2.SerialiseL(data); |
|
338 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesInitialisePdpContext::KLtsyDispatchPacketServicesInitialisePdpContextApiId, KErrNone, data); |
|
339 |
|
340 CleanupStack::PopAndDestroy(&data); // data |
|
341 } |
|
342 |
|
343 |
|
344 void CCTsyPacketServicesFU::DriverSetConfigContextL(TInfoName aContextId, |
|
345 RPacketContext::TGSNAddress aAccessPoint, RPacketContext::TProtocolType aPdpType, |
|
346 RPacketContext::TProtocolAddress aPdpAddress, |
|
347 RPacketContext::TMiscProtocolBuffer aPcoBuffer) |
|
348 { |
|
349 |
|
350 RBuf8 data; |
|
351 CleanupClosePushL(data); |
|
352 |
|
353 TMockLtsyData5<TInfoName, RPacketContext::TGSNAddress, RPacketContext::TProtocolType, RPacketContext::TProtocolAddress, RPacketContext::TMiscProtocolBuffer> |
|
354 packetSetConfigData(aContextId, aAccessPoint, aPdpType, aPdpAddress, aPcoBuffer); |
|
355 data.Close(); |
|
356 packetSetConfigData.SerialiseL(data); |
|
357 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextConfig::KLtsyDispatchPacketServicesSetPdpContextConfigApiId, data, KErrNone); |
|
358 |
|
359 // Indicate that the context name is due to comeback from the SetConfig callback |
|
360 TInfoName callbackContextId = aContextId; |
|
361 TMockLtsyData1<TInfoName> callbackContextIdData(callbackContextId); |
|
362 data.Close(); |
|
363 callbackContextIdData.SerialiseL(data); |
|
364 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextConfig::KLtsyDispatchPacketServicesSetPdpContextConfigApiId, KErrNone, data); |
|
365 |
|
366 CleanupStack::PopAndDestroy(1, &data); // data |
|
367 } |
|
368 void CCTsyPacketServicesFU::DriverModifyActiveContextL(TInt8 aRejectionCode, TInt aError) |
|
369 { |
|
370 RBuf8 data; |
|
371 CleanupClosePushL(data); |
|
372 |
|
373 TInfoName modifyActiveContextName; |
|
374 modifyActiveContextName.Copy(KFirstAllocatedContextName); |
|
375 TMockLtsyData1<TInfoName> |
|
376 modifyActiveContextNameData(modifyActiveContextName); |
|
377 data.Close(); |
|
378 modifyActiveContextNameData.SerialiseL(data); |
|
379 |
|
380 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesModifyActivePdpContext::KLtsyDispatchPacketServicesModifyActivePdpContextApiId, data, KErrNone); |
|
381 |
|
382 TMockLtsyData2<TInfoName, TInt8 > |
|
383 completeModifyActiveContextData(modifyActiveContextName, aRejectionCode); // Context name and rejection code |
|
384 data.Close(); |
|
385 completeModifyActiveContextData.SerialiseL(data); |
|
386 |
|
387 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesModifyActivePdpContext::KLtsyDispatchPacketServicesModifyActivePdpContextApiId, aError, data); |
|
388 |
|
389 CleanupStack::PopAndDestroy(1, &data); // data |
|
390 } |
|
391 |
|
392 void CCTsyPacketServicesFU::OpenInitialiseMbmsContextLC(RPacketService& aPacketService, RPacketMbmsContext& aPacketContext, TDes& aContextName, const TDesC& aChannelId, TInt aCompError) |
|
393 { |
|
394 aPacketContext.OpenNewContext(aPacketService, aContextName); |
|
395 CleanupClosePushL(aPacketContext); |
|
396 |
|
397 RBuf8 data; |
|
398 CleanupClosePushL(data); |
|
399 |
|
400 TDesC* contextNamePtr = &aContextName; |
|
401 TMockLtsyData1<TDesC*> initMbmdContextExpData(contextNamePtr); |
|
402 initMbmdContextExpData.SerialiseL(data); |
|
403 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesInitialiseMbmsContext::KLtsyDispatchPacketServicesInitialiseMbmsContextApiId, data); |
|
404 data.Close(); |
|
405 |
|
406 |
|
407 TDesC* channelPtr = const_cast<TDesC*>(&aChannelId); |
|
408 TMockLtsyData2<TDesC*,TDesC*> initMbmdContextCompData(contextNamePtr, channelPtr); |
|
409 initMbmdContextCompData.SerialiseL(data); |
|
410 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesInitialiseMbmsContext::KLtsyDispatchPacketServicesInitialiseMbmsContextApiId, aCompError, data); |
|
411 data.Close(); |
|
412 |
|
413 //initialisation of the context |
|
414 RPacketContext::TDataChannelV2 dataChannel; |
|
415 RPacketContext::TDataChannelV2Pckg dataChannelPckg(dataChannel); |
|
416 |
|
417 TRequestStatus reqStatus; |
|
418 aPacketContext.InitialiseContext(reqStatus, dataChannelPckg); |
|
419 User::WaitForRequest(reqStatus); |
|
420 ASSERT_EQUALS(reqStatus.Int(), aCompError); |
|
421 ASSERT_TRUE((aCompError != KErrNone) || (dataChannel.iChannelId == aChannelId) || (dataChannel.iPort == KMBMSFirstAllocatedContextName)); |
|
422 |
|
423 AssertMockLtsyStatusL(); |
|
424 |
|
425 CleanupStack::PopAndDestroy(&data); |
|
426 } |
|
427 |
|
428 // |
|
429 // Use Cases |
|
430 // |
|
431 |
|
432 |
|
433 /** |
|
434 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UC0001 |
|
435 @SYMComponent telephony_ctsy |
|
436 @SYMTestCaseDesc Test support in CTSY for RPacketService::Attach & RPacketService::Detach |
|
437 @SYMTestPriority High |
|
438 @SYMTestActions Invokes RPacketService::Attach(), RPacketService::Detach() |
|
439 @SYMTestExpectedResults Pass |
|
440 @SYMTestType CT |
|
441 */ |
|
442 void CCTsyPacketServicesFU::TestUseCase0001L() |
|
443 { |
|
444 OpenEtelServerL(EUseExtendedError); |
|
445 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
446 OpenPhoneL(); |
|
447 RBuf8 data; |
|
448 CleanupClosePushL(data); |
|
449 |
|
450 // client side test |
|
451 RPacketService packetService; |
|
452 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
453 |
|
454 // |
|
455 |
|
456 DriverAttachPacketServiceL(); |
|
457 DriverDetachPacketServiceL(); |
|
458 |
|
459 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesGetPacketAttachMode::KLtsyDispatchPacketServicesGetPacketAttachModeApiId); |
|
460 RPacketService::TAttachMode returnedAttachMode = RPacketService::EAttachWhenPossible; |
|
461 TMockLtsyData1<RPacketService::TAttachMode > completeGetAttachModetData(returnedAttachMode); |
|
462 data.Close(); |
|
463 completeGetAttachModetData.SerialiseL(data); |
|
464 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesGetPacketAttachMode::KLtsyDispatchPacketServicesGetPacketAttachModeApiId, KErrNone, data); |
|
465 |
|
466 // |
|
467 |
|
468 TRequestStatus requestAttachStatus; |
|
469 RPacketService::TStatus packetStatus; |
|
470 packetService.NotifyStatusChange(requestAttachStatus, packetStatus); |
|
471 |
|
472 TRequestStatus attachStatus; |
|
473 packetService.Attach(attachStatus); |
|
474 |
|
475 // Wait for Attach to complete |
|
476 User::WaitForRequest(attachStatus); |
|
477 ASSERT_EQUALS(KErrNone, attachStatus.Int()); |
|
478 // Wait for notification to complete |
|
479 User::WaitForRequest(requestAttachStatus); |
|
480 ASSERT_EQUALS(RPacketService::EStatusAttached, packetStatus); |
|
481 |
|
482 RPacketService::TStatus getStatus; |
|
483 ASSERT_EQUALS(KErrNone, packetService.GetStatus(getStatus)); |
|
484 ASSERT_EQUALS(RPacketService::EStatusAttached, getStatus); |
|
485 |
|
486 TRequestStatus requestDetachStatus; |
|
487 packetService.NotifyStatusChange(requestDetachStatus, packetStatus); |
|
488 // Detach and wait for request |
|
489 TRequestStatus detachStatus; |
|
490 packetService.Detach(detachStatus); |
|
491 |
|
492 // Wait for Detach to complete |
|
493 User::WaitForRequest(detachStatus); |
|
494 |
|
495 // Wait for notification to complete |
|
496 User::WaitForRequest(requestDetachStatus); |
|
497 ASSERT_EQUALS(KErrNone, detachStatus.Int()); |
|
498 ASSERT_EQUALS(RPacketService::EStatusUnattached, packetStatus); |
|
499 ASSERT_EQUALS(KErrNone, packetService.GetStatus(getStatus)); |
|
500 ASSERT_EQUALS(RPacketService::EStatusUnattached, getStatus); |
|
501 |
|
502 packetService.NotifyStatusChange(requestAttachStatus, packetStatus); |
|
503 |
|
504 TRequestStatus attachModeStatus; |
|
505 RPacketService::TAttachMode completedAttachMode; |
|
506 packetService.GetAttachMode(attachModeStatus, completedAttachMode); |
|
507 User::WaitForRequest(attachModeStatus); |
|
508 ASSERT_EQUALS(KErrNone, attachModeStatus.Int()); |
|
509 ASSERT_EQUALS(RPacketService::EAttachWhenPossible, completedAttachMode); |
|
510 |
|
511 packetService.Close(); |
|
512 |
|
513 // Let the mock-LTSY finish up before asserting. |
|
514 User::After(1000000); |
|
515 |
|
516 AssertMockLtsyStatusL(); |
|
517 CleanupStack::PopAndDestroy(3, this); // data, packetService, this |
|
518 } |
|
519 |
|
520 |
|
521 /** |
|
522 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UC0002 |
|
523 @SYMComponent telephony_ctsy |
|
524 @SYMTestCaseDesc Test support in CTSY for activation and QoS configuration for R97. |
|
525 @SYMTestPriority High |
|
526 @SYMTestActions Invokes RPacketContext::OpenNewContext(), RPacketContext::InitialiseContext(), RPacketContext::SetConfig(), RPacketQoS::OpenNewQoS(), RPacketQoS::SetProfileParameters(), RPacketQoS::NotifyProfileChanged(), RPacketContext::Activate(), RPacketContext::NotifyStatusChange() for R97 |
|
527 @SYMTestExpectedResults Pass |
|
528 @SYMTestType CT |
|
529 */ |
|
530 void CCTsyPacketServicesFU::TestUseCase0002L() |
|
531 { |
|
532 OpenEtelServerL(EUseExtendedError); |
|
533 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
534 OpenPhoneL(); |
|
535 |
|
536 RPacketService packetService; |
|
537 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
538 |
|
539 TInfoName contextId; |
|
540 contextId.Copy(KFirstAllocatedContextName); |
|
541 |
|
542 // Prepare context configuration for GPRS |
|
543 RPacketContext::TContextConfigGPRS setConfigGPRS; |
|
544 setConfigGPRS.iAccessPointName.Copy(KPointNameGPRS); |
|
545 setConfigGPRS.iPdpType = RPacketContext::EPdpTypeIPv4; |
|
546 setConfigGPRS.iPdpAddress.Copy(KPdpAddGPRS); |
|
547 setConfigGPRS.iProtocolConfigOption.iDnsAddresses.iPrimaryDns.Copy(KPrimaryDns); |
|
548 setConfigGPRS.iProtocolConfigOption.iDnsAddresses.iSecondaryDns.Copy(KSecondaryDns); |
|
549 setConfigGPRS.iProtocolConfigOption.iAuthInfo.iProtocol = RPacketContext::EProtocolCHAP; |
|
550 setConfigGPRS.iProtocolConfigOption.iAuthInfo.iUsername.Copy(KUsername); |
|
551 setConfigGPRS.iProtocolConfigOption.iAuthInfo.iPassword.Copy(KPassword); |
|
552 setConfigGPRS.iProtocolConfigOption.iId = KRequestID; |
|
553 setConfigGPRS.iProtocolConfigOption.iMiscBuffer.Copy(KDummyMiscBuffer); |
|
554 TPckg<RPacketContext::TContextConfigGPRS> pckgConfigGPRS(setConfigGPRS); |
|
555 |
|
556 // Create the PCO buffer |
|
557 RPacketContext::TMiscProtocolBuffer pcoBuffer; |
|
558 pcoBuffer.Zero(); |
|
559 |
|
560 // Generate a PCO buffer |
|
561 PCOGeneratorL(setConfigGPRS.iProtocolConfigOption, pcoBuffer); |
|
562 setConfigGPRS.iProtocolConfigOption.iId = KRequestID; |
|
563 |
|
564 // |
|
565 // GPRS Configuration |
|
566 DriverInitialiseContextL(); |
|
567 |
|
568 DriverSetConfigContextL(contextId, setConfigGPRS.iAccessPointName, setConfigGPRS.iPdpType, setConfigGPRS.iPdpAddress, pcoBuffer); |
|
569 |
|
570 RPacketQoS::TQoSGPRSRequested qosExpectedRequestedGPRSProfile; |
|
571 qosExpectedRequestedGPRSProfile.iReqPrecedence = RPacketQoS::EUnspecifiedPrecedence; |
|
572 qosExpectedRequestedGPRSProfile.iMinPrecedence = RPacketQoS::EUnspecifiedPrecedence; |
|
573 qosExpectedRequestedGPRSProfile.iReqDelay = RPacketQoS::EDelayClass1; |
|
574 qosExpectedRequestedGPRSProfile.iMinDelay = RPacketQoS::EUnspecifiedDelayClass; |
|
575 qosExpectedRequestedGPRSProfile.iReqReliability = RPacketQoS::EUnspecifiedReliabilityClass; |
|
576 qosExpectedRequestedGPRSProfile.iMinReliability = RPacketQoS::EReliabilityClass1; |
|
577 qosExpectedRequestedGPRSProfile.iReqPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput; |
|
578 qosExpectedRequestedGPRSProfile.iMinPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput; |
|
579 qosExpectedRequestedGPRSProfile.iReqMeanThroughput = RPacketQoS::EUnspecifiedMeanThroughput; |
|
580 qosExpectedRequestedGPRSProfile.iMinMeanThroughput = RPacketQoS::EMeanThroughput500; |
|
581 |
|
582 RBuf8 data; |
|
583 CleanupClosePushL(data); |
|
584 |
|
585 TMockLtsyData2<TInfoName, RPacketQoS::TQoSGPRSRequested> packetSetConfigGPRSData(contextId,qosExpectedRequestedGPRSProfile); |
|
586 data.Close(); |
|
587 packetSetConfigGPRSData.SerialiseL(data); |
|
588 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
589 |
|
590 TMockLtsyData1<TInfoName> callbackSetPdpGPRSContextNameData(contextId); |
|
591 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
592 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
593 |
|
594 // Activate |
|
595 TMockLtsyData1<TInfoName> expectedActivateContextNameData(contextId); |
|
596 data.Close(); |
|
597 expectedActivateContextNameData.SerialiseL(data); |
|
598 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesActivatePdpContext::KLtsyDispatchPacketServicesActivatePdpContextApiId, data, KErrNone); |
|
599 |
|
600 TMockLtsyData3<TInfoName, RPacketContext::TGSNAddress, RPacketContext::TProtocolType> |
|
601 completedActivateContextNameData(contextId, setConfigGPRS.iAccessPointName, setConfigGPRS.iPdpType); |
|
602 data.Close(); |
|
603 completedActivateContextNameData.SerialiseL(data); |
|
604 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesActivatePdpContext::KLtsyDispatchPacketServicesActivatePdpContextApiId, KErrNone, data); |
|
605 |
|
606 RPacketQoS::TQoSGPRSNegotiated completedProfile; |
|
607 TMockLtsyData2<TInfoName, RPacketQoS::TQoSGPRSNegotiated> expLtsyQosProfileChangedInd(contextId, completedProfile); |
|
608 data.Close(); |
|
609 expLtsyQosProfileChangedInd.SerialiseL(data); |
|
610 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
611 |
|
612 // Prepare context configuration for GPRS |
|
613 RPacketContext::TContextConfigGPRS setConfigGPRSActive; |
|
614 setConfigGPRSActive.iAccessPointName.Copy(KPointNameGPRS); |
|
615 setConfigGPRSActive.iPdpType = RPacketContext::EPdpTypeIPv4; |
|
616 setConfigGPRSActive.iPdpCompression = 0; |
|
617 setConfigGPRSActive.iPdpAddress.Copy(KPdpAddGPRSActive); |
|
618 setConfigGPRSActive.iProtocolConfigOption.iDnsAddresses.iPrimaryDns.Copy(KPrimaryDns); |
|
619 setConfigGPRSActive.iProtocolConfigOption.iDnsAddresses.iSecondaryDns.Copy(KSecondaryDns); |
|
620 setConfigGPRSActive.iProtocolConfigOption.iAuthInfo.iProtocol = RPacketContext::EProtocolCHAP; |
|
621 setConfigGPRSActive.iProtocolConfigOption.iAuthInfo.iUsername.Copy(KUsername); |
|
622 setConfigGPRSActive.iProtocolConfigOption.iAuthInfo.iPassword.Copy(KPassword); |
|
623 |
|
624 TMockLtsyData5<TInfoName, RPacketContext::TGSNAddress, RPacketContext::TProtocolAddress, TUint, RPacketContext::TMiscProtocolBuffer> |
|
625 expLtsyProfileChangedInd(contextId, setConfigGPRSActive.iAccessPointName, |
|
626 setConfigGPRSActive.iPdpAddress, setConfigGPRSActive.iPdpCompression, pcoBuffer); |
|
627 data.Close(); |
|
628 expLtsyProfileChangedInd.SerialiseL(data); |
|
629 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyPdpContextConfigChangedIndId, KErrNone, data); |
|
630 |
|
631 TMockLtsyData1<TInfoName> deactivateContextNameData(contextId); |
|
632 data.Close(); |
|
633 deactivateContextNameData.SerialiseL(data); |
|
634 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesDeactivatePdpContext::KLtsyDispatchPacketServicesDeactivatePdpContextApiId, data, KErrNone); |
|
635 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesDeactivatePdpContext::KLtsyDispatchPacketServicesDeactivatePdpContextApiId, KErrNone, data); |
|
636 |
|
637 DriverDeleteContextL(contextId); |
|
638 |
|
639 // |
|
640 |
|
641 // client side test |
|
642 RPacketContext packetContext; |
|
643 |
|
644 // Open a new context |
|
645 TInt err = packetContext.OpenNewContext(packetService, contextId); |
|
646 CleanupClosePushL(packetContext); |
|
647 ASSERT_EQUALS(KErrNone, err); |
|
648 |
|
649 RPacketContext::TDataChannelV2 dataChannel; |
|
650 RPacketContext::TDataChannelV2Pckg dataChannelPk(dataChannel); |
|
651 TRequestStatus initialiseContextStatus; |
|
652 |
|
653 packetContext.InitialiseContext(initialiseContextStatus,dataChannelPk); |
|
654 User::WaitForRequest(initialiseContextStatus); |
|
655 |
|
656 ASSERT_EQUALS(KErrNone, initialiseContextStatus.Int()); |
|
657 ASSERT_TRUE(dataChannel.iPort == KFirstAllocatedContextName); |
|
658 ASSERT_TRUE(dataChannel.iChannelId == KDefaultChannelId); // now deprecated |
|
659 |
|
660 TRequestStatus setConfigStatus; |
|
661 packetContext.SetConfig(setConfigStatus, pckgConfigGPRS); |
|
662 |
|
663 User::WaitForRequest(setConfigStatus); |
|
664 ASSERT_EQUALS(KErrNone, setConfigStatus.Int()); |
|
665 |
|
666 TName qosName; |
|
667 RPacketQoS packetQoS; |
|
668 packetQoS.OpenNewQoS(packetContext, qosName); |
|
669 CleanupClosePushL(packetQoS); |
|
670 |
|
671 // |
|
672 // SetProfileParameters for GPRS Configurations |
|
673 // |
|
674 |
|
675 RPacketQoS::TQoSGPRSRequested qosGPRSRequestedProfile; |
|
676 qosGPRSRequestedProfile.iReqPrecedence = RPacketQoS::EUnspecifiedPrecedence; |
|
677 qosGPRSRequestedProfile.iMinPrecedence = RPacketQoS::EUnspecifiedPrecedence; |
|
678 qosGPRSRequestedProfile.iReqDelay = RPacketQoS::EDelayClass1; |
|
679 qosGPRSRequestedProfile.iMinDelay = RPacketQoS::EUnspecifiedDelayClass; |
|
680 qosGPRSRequestedProfile.iReqReliability = RPacketQoS::EUnspecifiedReliabilityClass; |
|
681 qosGPRSRequestedProfile.iMinReliability = RPacketQoS::EReliabilityClass1; |
|
682 qosGPRSRequestedProfile.iReqPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput; |
|
683 qosGPRSRequestedProfile.iMinPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput; |
|
684 qosGPRSRequestedProfile.iReqMeanThroughput = RPacketQoS::EUnspecifiedMeanThroughput; |
|
685 qosGPRSRequestedProfile.iMinMeanThroughput = RPacketQoS::EMeanThroughput500; |
|
686 TPckg< RPacketQoS::TQoSGPRSRequested > profilePckgGPRS(qosGPRSRequestedProfile); |
|
687 |
|
688 TRequestStatus notifyProfileChangeStatus; |
|
689 RPacketQoS::TQoSGPRSNegotiated profile; |
|
690 TPckg<RPacketQoS::TQoSGPRSNegotiated> qosGPRSNegotiatedProfilePk(profile); |
|
691 packetQoS.NotifyProfileChanged(notifyProfileChangeStatus, qosGPRSNegotiatedProfilePk); |
|
692 |
|
693 TRequestStatus requestStatusGPRS; |
|
694 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
695 User::WaitForRequest(requestStatusGPRS); |
|
696 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
697 // |
|
698 |
|
699 RPacketContext::TContextConfigGPRS setConfigGPRSActiveNotifyConfigChanged; |
|
700 TPckg<RPacketContext::TContextConfigGPRS> pckgConfigGPRSNotifyConfigChanged(setConfigGPRSActiveNotifyConfigChanged); |
|
701 |
|
702 TRequestStatus contextConfigStatus; |
|
703 packetContext.NotifyConfigChanged(contextConfigStatus, pckgConfigGPRSNotifyConfigChanged); |
|
704 |
|
705 TRequestStatus contextActivatingRequestStatus; |
|
706 RPacketContext::TContextStatus contextStatus; |
|
707 packetContext.NotifyStatusChange(contextActivatingRequestStatus, contextStatus); |
|
708 |
|
709 TRequestStatus activateStatus; |
|
710 packetContext.Activate(activateStatus); |
|
711 User::WaitForRequest(activateStatus); |
|
712 User::WaitForRequest(contextActivatingRequestStatus); |
|
713 ASSERT_EQUALS(KErrNone, activateStatus.Int()); |
|
714 ASSERT_EQUALS(RPacketContext::EStatusActivating, contextStatus); |
|
715 |
|
716 // Complete NotifyProfileChanged |
|
717 User::WaitForRequest(notifyProfileChangeStatus); |
|
718 ASSERT_EQUALS(KErrNone, notifyProfileChangeStatus.Int()); |
|
719 |
|
720 // Status change from RPacketContext::EStatusActivating to RPacketContext::EStatusActive |
|
721 TRequestStatus contextActivateRequestStatus; |
|
722 RPacketContext::TContextStatus contextActiveStatus; |
|
723 packetContext.NotifyStatusChange(contextActivateRequestStatus, contextActiveStatus); |
|
724 |
|
725 // Complete NotifyConfigChanged |
|
726 User::WaitForRequest(contextActivateRequestStatus); |
|
727 ASSERT_EQUALS(KErrNone, contextActivateRequestStatus.Int()); |
|
728 ASSERT_EQUALS(RPacketContext::EStatusActive, contextActiveStatus); |
|
729 |
|
730 TRequestStatus deactivateContextStatus; |
|
731 packetContext.Deactivate(deactivateContextStatus); |
|
732 User::WaitForRequest(deactivateContextStatus); |
|
733 ASSERT_EQUALS(KErrNone, deactivateContextStatus.Int()) |
|
734 |
|
735 packetQoS.Close(); |
|
736 packetContext.Close(); |
|
737 packetService.Close(); |
|
738 |
|
739 // Let the mock-LTSY finish up before asserting. |
|
740 User::After(1000000); |
|
741 |
|
742 AssertMockLtsyStatusL(); |
|
743 CleanupStack::PopAndDestroy(5, this); // data, packetQoS, packetService, packetContext, this |
|
744 } |
|
745 |
|
746 |
|
747 /** |
|
748 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UC0003 |
|
749 @SYMComponent telephony_ctsy |
|
750 @SYMTestCaseDesc Test support in CTSY for activation and QoS configuration for R99. |
|
751 @SYMTestPriority High |
|
752 @SYMTestActions Invokes RPacketContext::OpenNewContext(), RPacketContext::InitialiseContext(), RPacketContext::SetConfig(), RPacketQoS::OpenNewQoS(), RPacketQoS::SetProfileParameters(), RPacketQoS::NotifyProfileChanged(), RPacketContext::Activate(), RPacketContext::NotifyStatusChange() for R99 |
|
753 @SYMTestExpectedResults Pass |
|
754 @SYMTestType CT |
|
755 */ |
|
756 void CCTsyPacketServicesFU::TestUseCase0003L() |
|
757 { |
|
758 OpenEtelServerL(EUseExtendedError); |
|
759 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
760 OpenPhoneL(); |
|
761 |
|
762 RPacketService packetService; |
|
763 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
764 |
|
765 TInfoName contextId; |
|
766 contextId.Copy(KFirstAllocatedContextName); |
|
767 |
|
768 // Prepare context configuration for R4R99 |
|
769 RPacketContext::TContextConfigR99_R4 setConfig99; |
|
770 setConfig99.iAccessPointName.Copy(KPointName99); |
|
771 setConfig99.iPdpType = RPacketContext::EPdpTypeIPv4; |
|
772 setConfig99.iPdpAddress.Copy(KPdpAdd99); |
|
773 setConfig99.iProtocolConfigOption.iDnsAddresses.iPrimaryDns.Copy(KPrimaryDns); |
|
774 setConfig99.iProtocolConfigOption.iDnsAddresses.iSecondaryDns.Copy(KSecondaryDns); |
|
775 setConfig99.iProtocolConfigOption.iAuthInfo.iProtocol = RPacketContext::EProtocolCHAP; |
|
776 setConfig99.iProtocolConfigOption.iAuthInfo.iUsername.Copy(KUsername); |
|
777 setConfig99.iProtocolConfigOption.iAuthInfo.iPassword.Copy(KPassword); |
|
778 setConfig99.iProtocolConfigOption.iId = KRequestID; |
|
779 TPckg<RPacketContext::TContextConfigR99_R4> pckgConfig99(setConfig99); |
|
780 |
|
781 // Create the PCO buffer |
|
782 RPacketContext::TMiscProtocolBuffer pcoBuffer; |
|
783 pcoBuffer.Zero(); |
|
784 |
|
785 // Generate a PCO buffer |
|
786 PCOGeneratorL(setConfig99.iProtocolConfigOption, pcoBuffer); |
|
787 setConfig99.iProtocolConfigOption.iId = KRequestID; |
|
788 |
|
789 // |
|
790 // 99 Configuration |
|
791 RPacketQoS::TQoSR99_R4Requested qosExpectedRequested99Profile; |
|
792 |
|
793 DriverInitialiseContextL(); |
|
794 DriverSetConfigContextL(contextId, setConfig99.iAccessPointName, setConfig99.iPdpType, setConfig99.iPdpAddress, pcoBuffer); |
|
795 RBuf8 data; |
|
796 CleanupClosePushL(data); |
|
797 |
|
798 TMockLtsyData2<TInfoName, RPacketQoS::TQoSR99_R4Requested> packetSetConfig99Data(contextId,qosExpectedRequested99Profile); |
|
799 data.Close(); |
|
800 packetSetConfig99Data.SerialiseL(data); |
|
801 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
802 |
|
803 TMockLtsyData1<TInfoName> callbackSetPdp99ContextNameData(contextId); |
|
804 callbackSetPdp99ContextNameData.SerialiseL(data); |
|
805 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
806 |
|
807 //Activate |
|
808 TMockLtsyData1<TInfoName> expectedActivateContextNameData(contextId); |
|
809 data.Close(); |
|
810 expectedActivateContextNameData.SerialiseL(data); |
|
811 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesActivatePdpContext::KLtsyDispatchPacketServicesActivatePdpContextApiId, data, KErrNone); |
|
812 |
|
813 TMockLtsyData3<TInfoName, RPacketContext::TGSNAddress, RPacketContext::TProtocolType> |
|
814 completedActivateContextNameData(contextId, setConfig99.iAccessPointName, setConfig99.iPdpType); |
|
815 data.Close(); |
|
816 completedActivateContextNameData.SerialiseL(data); |
|
817 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesActivatePdpContext::KLtsyDispatchPacketServicesActivatePdpContextApiId, KErrNone, data); |
|
818 |
|
819 RPacketQoS::TQoSR99_R4Negotiated completedProfile; |
|
820 TMockLtsyData2<TInfoName, RPacketQoS::TQoSR99_R4Negotiated> expLtsyQosProfileChangedInd(contextId, completedProfile); |
|
821 data.Close(); |
|
822 expLtsyQosProfileChangedInd.SerialiseL(data); |
|
823 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
824 |
|
825 // Prepare context configuration for 99 |
|
826 RPacketContext::TContextConfigR99_R4 setConfig99Active; |
|
827 setConfig99Active.iAccessPointName.Copy(KPointName99); |
|
828 setConfig99Active.iPdpType = RPacketContext::EPdpTypeIPv4; |
|
829 setConfig99Active.iPdpAddress.Copy(KAddress); |
|
830 TUint pdpCompression = 0; |
|
831 |
|
832 TMockLtsyData5<TInfoName, RPacketContext::TGSNAddress, RPacketContext::TProtocolAddress, TUint, RPacketContext::TMiscProtocolBuffer> |
|
833 expLtsyProfileChangedInd(contextId, setConfig99Active.iAccessPointName, |
|
834 setConfig99Active.iPdpAddress, pdpCompression, pcoBuffer); |
|
835 data.Close(); |
|
836 expLtsyProfileChangedInd.SerialiseL(data); |
|
837 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyPdpContextConfigChangedIndId, KErrNone, data); |
|
838 |
|
839 |
|
840 |
|
841 // |
|
842 |
|
843 // client side test |
|
844 RPacketContext packetContext; |
|
845 |
|
846 // Open a new context |
|
847 TInt err = packetContext.OpenNewContext(packetService, contextId); |
|
848 CleanupClosePushL(packetContext); |
|
849 ASSERT_EQUALS(KErrNone, err); |
|
850 |
|
851 RPacketContext::TDataChannelV2 dataChannel; |
|
852 RPacketContext::TDataChannelV2Pckg dataChannelPk(dataChannel); |
|
853 TRequestStatus initialiseContextStatus; |
|
854 |
|
855 packetContext.InitialiseContext(initialiseContextStatus,dataChannelPk); |
|
856 User::WaitForRequest(initialiseContextStatus); |
|
857 |
|
858 ASSERT_EQUALS(KErrNone, initialiseContextStatus.Int()); |
|
859 ASSERT_TRUE(dataChannel.iPort == KFirstAllocatedContextName); |
|
860 ASSERT_TRUE(dataChannel.iChannelId == KDefaultChannelId); // Now deprecated |
|
861 |
|
862 TRequestStatus setConfigStatus; |
|
863 packetContext.SetConfig(setConfigStatus, pckgConfig99); |
|
864 User::WaitForRequest(setConfigStatus); |
|
865 ASSERT_EQUALS(KErrNone, setConfigStatus.Int()); |
|
866 |
|
867 TName qosName; |
|
868 RPacketQoS packetQoS; |
|
869 packetQoS.OpenNewQoS(packetContext, qosName); |
|
870 CleanupClosePushL(packetQoS); |
|
871 |
|
872 // |
|
873 // SetProfileParameters for 99 Configurations |
|
874 // |
|
875 |
|
876 RPacketQoS::TQoSR99_R4Requested qos99RequestedProfile; |
|
877 TPckg< RPacketQoS::TQoSR99_R4Requested > profilePckg99(qos99RequestedProfile); |
|
878 |
|
879 |
|
880 // |
|
881 |
|
882 TRequestStatus notifyProfileChangeStatus; |
|
883 RPacketQoS::TQoSR99_R4Negotiated profile; |
|
884 TPckg<RPacketQoS::TQoSR99_R4Negotiated> qos99NegotiatedProfilePk(profile); |
|
885 packetQoS.NotifyProfileChanged(notifyProfileChangeStatus, qos99NegotiatedProfilePk); |
|
886 |
|
887 TRequestStatus requestStatus99; |
|
888 packetQoS.SetProfileParameters(requestStatus99, profilePckg99); |
|
889 User::WaitForRequest(requestStatus99); |
|
890 ASSERT_EQUALS(KErrNone, requestStatus99.Int()); |
|
891 |
|
892 RPacketContext::TContextConfigR99_R4 setConfig99ActiveNotifyConfigChanged; |
|
893 TPckg<RPacketContext::TContextConfigR99_R4> pckgConfig99NotifyConfigChanged(setConfig99ActiveNotifyConfigChanged); |
|
894 |
|
895 TRequestStatus contextConfigStatus; |
|
896 packetContext.NotifyConfigChanged(contextConfigStatus, pckgConfig99NotifyConfigChanged); |
|
897 |
|
898 TRequestStatus contextActivatingRequestStatus; |
|
899 RPacketContext::TContextStatus contextStatus; |
|
900 packetContext.NotifyStatusChange(contextActivatingRequestStatus, contextStatus); |
|
901 |
|
902 TRequestStatus activateStatus; |
|
903 packetContext.Activate(activateStatus); |
|
904 User::WaitForRequest(activateStatus); |
|
905 User::WaitForRequest(contextActivatingRequestStatus); |
|
906 ASSERT_EQUALS(KErrNone, activateStatus.Int()); |
|
907 ASSERT_EQUALS(RPacketContext::EStatusActivating, contextStatus); |
|
908 |
|
909 // Complete NotifyProfileChanged |
|
910 User::WaitForRequest(notifyProfileChangeStatus); |
|
911 ASSERT_EQUALS(KErrNone, notifyProfileChangeStatus.Int()); |
|
912 |
|
913 // Status change from RPacketContext::EStatusActivating to RPacketContext::EStatusActive |
|
914 TRequestStatus contextActivateRequestStatus; |
|
915 RPacketContext::TContextStatus contextActiveStatus; |
|
916 packetContext.NotifyStatusChange(contextActivateRequestStatus, contextActiveStatus); |
|
917 |
|
918 // Complete NotifyConfigChanged |
|
919 //User::WaitForRequest(contextConfigStatus); |
|
920 User::WaitForRequest(contextActivateRequestStatus); |
|
921 //ASSERT_EQUALS(KErrNone, contextConfigStatus.Int()); |
|
922 ASSERT_EQUALS(KErrNone, contextActivateRequestStatus.Int()); |
|
923 ASSERT_EQUALS(RPacketContext::EStatusActive, contextActiveStatus); |
|
924 |
|
925 DriverDeleteContextL(contextId); |
|
926 packetQoS.Close(); |
|
927 packetContext.Close(); |
|
928 packetService.Close(); |
|
929 |
|
930 // Let the mock-LTSY finish up before asserting. |
|
931 User::After(1000000); |
|
932 |
|
933 AssertMockLtsyStatusL(); |
|
934 CleanupStack::PopAndDestroy(5, this); // data, packetQoS, packetService, packetContext, this |
|
935 } |
|
936 |
|
937 /** |
|
938 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UC0004 |
|
939 @SYMComponent telephony_ctsy |
|
940 @SYMTestCaseDesc Test support in CTSY for modification of an existing context |
|
941 @SYMTestPriority High |
|
942 @SYMTestActions Invokes RPacketContext::SetConfig(), RPacketContext::ModifyActiveContext() |
|
943 @SYMTestExpectedResults Pass |
|
944 @SYMTestType CT |
|
945 */ |
|
946 void CCTsyPacketServicesFU::TestUseCase0004L() |
|
947 { |
|
948 OpenEtelServerL(EUseExtendedError); |
|
949 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
950 OpenPhoneL(); |
|
951 |
|
952 RPacketService packetService; |
|
953 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
954 |
|
955 // Prepare context configuration fo GPRS |
|
956 RPacketContext::TContextConfigGPRS setConfigGPRS; |
|
957 setConfigGPRS.iAccessPointName.Copy(KPointNameGPRS); |
|
958 setConfigGPRS.iPdpType = RPacketContext::EPdpTypeIPv4; |
|
959 setConfigGPRS.iPdpAddress.Copy(KPdpAddGPRS); |
|
960 setConfigGPRS.iProtocolConfigOption.iDnsAddresses.iPrimaryDns.Copy(KPrimaryDns); |
|
961 setConfigGPRS.iProtocolConfigOption.iDnsAddresses.iSecondaryDns.Copy(KSecondaryDns); |
|
962 setConfigGPRS.iProtocolConfigOption.iAuthInfo.iProtocol = RPacketContext::EProtocolCHAP; |
|
963 setConfigGPRS.iProtocolConfigOption.iAuthInfo.iUsername.Copy(KUsername); |
|
964 setConfigGPRS.iProtocolConfigOption.iAuthInfo.iPassword.Copy(KPassword); |
|
965 setConfigGPRS.iProtocolConfigOption.iId = KRequestID; |
|
966 TPckg<RPacketContext::TContextConfigGPRS> pckgConfigGPRS(setConfigGPRS); |
|
967 |
|
968 // Create the PCO buffer |
|
969 RPacketContext::TMiscProtocolBuffer gprsMiscBuffer; |
|
970 gprsMiscBuffer.Zero(); |
|
971 |
|
972 // Generate a PCO buffer |
|
973 PCOGeneratorL(setConfigGPRS.iProtocolConfigOption, gprsMiscBuffer); |
|
974 setConfigGPRS.iProtocolConfigOption.iId = KRequestID; |
|
975 |
|
976 // |
|
977 |
|
978 DriverInitialiseContextL(); |
|
979 |
|
980 // GPRS Configuration |
|
981 TInfoName contextName; |
|
982 contextName.Copy(KFirstAllocatedContextName); |
|
983 |
|
984 DriverSetConfigContextL(contextName, setConfigGPRS.iAccessPointName, setConfigGPRS.iPdpType, |
|
985 setConfigGPRS.iPdpAddress, gprsMiscBuffer); |
|
986 |
|
987 RPacketQoS::TQoSGPRSRequested qosExpectedRequestedGPRSProfile; |
|
988 |
|
989 qosExpectedRequestedGPRSProfile.iReqPrecedence = RPacketQoS::EUnspecifiedPrecedence; |
|
990 qosExpectedRequestedGPRSProfile.iMinPrecedence = RPacketQoS::EUnspecifiedPrecedence; |
|
991 qosExpectedRequestedGPRSProfile.iReqDelay = RPacketQoS::EUnspecifiedDelayClass; |
|
992 qosExpectedRequestedGPRSProfile.iMinDelay = RPacketQoS::EUnspecifiedDelayClass; |
|
993 qosExpectedRequestedGPRSProfile.iReqReliability = RPacketQoS::EUnspecifiedReliabilityClass; |
|
994 qosExpectedRequestedGPRSProfile.iMinReliability = RPacketQoS::EUnspecifiedReliabilityClass; |
|
995 qosExpectedRequestedGPRSProfile.iReqPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput; |
|
996 qosExpectedRequestedGPRSProfile.iMinPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput; |
|
997 qosExpectedRequestedGPRSProfile.iReqMeanThroughput = RPacketQoS::EUnspecifiedMeanThroughput; |
|
998 qosExpectedRequestedGPRSProfile.iMinMeanThroughput = RPacketQoS::EUnspecifiedMeanThroughput; |
|
999 |
|
1000 RBuf8 data; |
|
1001 CleanupClosePushL(data); |
|
1002 TMockLtsyData2<TInfoName, RPacketQoS::TQoSGPRSRequested> packetSetConfigGPRSData(contextName, |
|
1003 qosExpectedRequestedGPRSProfile); |
|
1004 data.Close(); |
|
1005 packetSetConfigGPRSData.SerialiseL(data); |
|
1006 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
1007 |
|
1008 TMockLtsyData1<TInfoName> callbackSetPdpGPRSContextNameData(contextName); |
|
1009 data.Close(); |
|
1010 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
1011 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
1012 |
|
1013 //Activate |
|
1014 TMockLtsyData1<TInfoName> expectedActivateContextNameData(contextName); |
|
1015 data.Close(); |
|
1016 expectedActivateContextNameData.SerialiseL(data); |
|
1017 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesActivatePdpContext::KLtsyDispatchPacketServicesActivatePdpContextApiId, data, KErrNone); |
|
1018 |
|
1019 TMockLtsyData3<TInfoName, RPacketContext::TGSNAddress, RPacketContext::TProtocolType> |
|
1020 completedActivateContextNameData(contextName, setConfigGPRS.iAccessPointName, setConfigGPRS.iPdpType); |
|
1021 data.Close(); |
|
1022 completedActivateContextNameData.SerialiseL(data); |
|
1023 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesActivatePdpContext::KLtsyDispatchPacketServicesActivatePdpContextApiId, KErrNone, data); |
|
1024 |
|
1025 RPacketQoS::TQoSGPRSNegotiated completedProfile; |
|
1026 TMockLtsyData2<TInfoName, RPacketQoS::TQoSGPRSNegotiated> |
|
1027 expLtsyQosProfileChangedInd(contextName, completedProfile); |
|
1028 data.Close(); |
|
1029 expLtsyQosProfileChangedInd.SerialiseL(data); |
|
1030 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
1031 |
|
1032 // Prepare context configuration for GPRS |
|
1033 RPacketContext::TContextConfigGPRS setConfigGPRSActive; |
|
1034 setConfigGPRSActive.iAccessPointName.Copy(KPointNameGPRS); |
|
1035 setConfigGPRSActive.iPdpType = RPacketContext::EPdpTypeIPv6; |
|
1036 setConfigGPRSActive.iPdpAddress.Copy(KPdpAddGPRS); |
|
1037 setConfigGPRSActive.iProtocolConfigOption.iDnsAddresses.iPrimaryDns.Copy(KPrimaryDns); |
|
1038 setConfigGPRSActive.iProtocolConfigOption.iDnsAddresses.iSecondaryDns.Copy(KSecondaryDns); |
|
1039 setConfigGPRSActive.iProtocolConfigOption.iAuthInfo.iProtocol = RPacketContext::EProtocolCHAP; |
|
1040 setConfigGPRSActive.iProtocolConfigOption.iAuthInfo.iUsername.Copy(KUsername); |
|
1041 setConfigGPRSActive.iProtocolConfigOption.iAuthInfo.iPassword.Copy(KPassword); |
|
1042 |
|
1043 TMockLtsyData5<TInfoName, RPacketContext::TGSNAddress, RPacketContext::TProtocolAddress, TUint, RPacketContext::TMiscProtocolBuffer> |
|
1044 expLtsyProfileChangedInd(contextName, setConfigGPRS.iAccessPointName, |
|
1045 setConfigGPRS.iPdpAddress, setConfigGPRS.iPdpCompression, gprsMiscBuffer); |
|
1046 data.Close(); |
|
1047 expLtsyProfileChangedInd.SerialiseL(data); |
|
1048 |
|
1049 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyPdpContextConfigChangedIndId, KErrNone, data); |
|
1050 |
|
1051 |
|
1052 DriverSetConfigContextL(contextName, setConfigGPRSActive.iAccessPointName, setConfigGPRSActive.iPdpType, |
|
1053 setConfigGPRSActive.iPdpAddress, gprsMiscBuffer); |
|
1054 |
|
1055 DriverModifyActiveContextL(KRejectionCodePass, KErrNone); |
|
1056 DriverModifyActiveContextL(KRejectionCodeFail, KErrGeneral); |
|
1057 |
|
1058 TMockLtsyData1<TInfoName> deactivateContextNameData(contextName); |
|
1059 data.Close(); |
|
1060 deactivateContextNameData.SerialiseL(data); |
|
1061 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesDeactivatePdpContext::KLtsyDispatchPacketServicesDeactivatePdpContextApiId, data, KErrNone); |
|
1062 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesDeactivatePdpContext::KLtsyDispatchPacketServicesDeactivatePdpContextApiId, KErrNone, data); |
|
1063 |
|
1064 DriverDeleteContextL(contextName); |
|
1065 |
|
1066 // |
|
1067 |
|
1068 // client side test |
|
1069 RPacketContext packetContext; |
|
1070 |
|
1071 // Open a new context |
|
1072 TInt err = packetContext.OpenNewContext(packetService, contextName); |
|
1073 CleanupClosePushL(packetContext); |
|
1074 ASSERT_EQUALS(KErrNone, err); |
|
1075 |
|
1076 RPacketContext::TDataChannelV2 dataChannel; |
|
1077 RPacketContext::TDataChannelV2Pckg dataChannelPk(dataChannel); |
|
1078 TRequestStatus initialiseContextStatus; |
|
1079 |
|
1080 packetContext.InitialiseContext(initialiseContextStatus,dataChannelPk); |
|
1081 User::WaitForRequest(initialiseContextStatus); |
|
1082 |
|
1083 ASSERT_EQUALS(KErrNone, initialiseContextStatus.Int()); |
|
1084 ASSERT_TRUE(dataChannel.iPort == KFirstAllocatedContextName); |
|
1085 ASSERT_TRUE(dataChannel.iChannelId == KDefaultChannelId); // Now deprecated |
|
1086 |
|
1087 TRequestStatus setConfigStatus; |
|
1088 packetContext.SetConfig(setConfigStatus, pckgConfigGPRS); |
|
1089 |
|
1090 User::WaitForRequest(setConfigStatus); |
|
1091 ASSERT_EQUALS(KErrNone, setConfigStatus.Int()); |
|
1092 |
|
1093 TName qosName; |
|
1094 RPacketQoS packetQoS; |
|
1095 packetQoS.OpenNewQoS(packetContext, qosName); |
|
1096 CleanupClosePushL(packetQoS); |
|
1097 |
|
1098 // |
|
1099 // SetProfileParameters for GPRS Configurations |
|
1100 // |
|
1101 |
|
1102 RPacketQoS::TQoSGPRSRequested qosGPRSRequestedProfile; |
|
1103 qosGPRSRequestedProfile.iReqPrecedence = RPacketQoS::EUnspecifiedPrecedence; |
|
1104 qosGPRSRequestedProfile.iMinPrecedence = RPacketQoS::EUnspecifiedPrecedence; |
|
1105 qosGPRSRequestedProfile.iReqDelay = RPacketQoS::EUnspecifiedDelayClass; |
|
1106 qosGPRSRequestedProfile.iMinDelay = RPacketQoS::EUnspecifiedDelayClass; |
|
1107 qosGPRSRequestedProfile.iReqReliability = RPacketQoS::EUnspecifiedReliabilityClass; |
|
1108 qosGPRSRequestedProfile.iMinReliability = RPacketQoS::EUnspecifiedReliabilityClass; |
|
1109 qosGPRSRequestedProfile.iReqPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput; |
|
1110 qosGPRSRequestedProfile.iMinPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput; |
|
1111 qosGPRSRequestedProfile.iReqMeanThroughput = RPacketQoS::EUnspecifiedMeanThroughput; |
|
1112 qosGPRSRequestedProfile.iMinMeanThroughput = RPacketQoS::EUnspecifiedMeanThroughput; |
|
1113 TPckg< RPacketQoS::TQoSGPRSRequested > profilePckgGPRS(qosGPRSRequestedProfile); |
|
1114 |
|
1115 TRequestStatus notifyProfileChangeStatus; |
|
1116 RPacketQoS::TQoSGPRSNegotiated profile; |
|
1117 TPckg<RPacketQoS::TQoSGPRSNegotiated> qosGPRSNegotiatedProfilePk(profile); |
|
1118 packetQoS.NotifyProfileChanged(notifyProfileChangeStatus, qosGPRSNegotiatedProfilePk); |
|
1119 |
|
1120 TRequestStatus requestStatusGPRS; |
|
1121 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
1122 User::WaitForRequest(requestStatusGPRS); |
|
1123 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
1124 |
|
1125 // |
|
1126 |
|
1127 RPacketContext::TContextConfigGPRS setConfigGPRSActiveNotifyConfigChanged; |
|
1128 TPckg<RPacketContext::TContextConfigGPRS> pckgConfigGPRSNotifyConfigChanged(setConfigGPRSActiveNotifyConfigChanged); |
|
1129 |
|
1130 TRequestStatus contextConfigStatus; |
|
1131 packetContext.NotifyConfigChanged(contextConfigStatus, pckgConfigGPRSNotifyConfigChanged); |
|
1132 |
|
1133 TRequestStatus contextActivatingRequestStatus; |
|
1134 RPacketContext::TContextStatus contextStatus; |
|
1135 packetContext.NotifyStatusChange(contextActivatingRequestStatus, contextStatus); |
|
1136 |
|
1137 TRequestStatus activateStatus; |
|
1138 packetContext.Activate(activateStatus); |
|
1139 User::WaitForRequest(activateStatus); |
|
1140 User::WaitForRequest(contextActivatingRequestStatus); |
|
1141 ASSERT_EQUALS(KErrNone, activateStatus.Int()); |
|
1142 ASSERT_EQUALS(RPacketContext::EStatusActivating, contextStatus); |
|
1143 |
|
1144 // Complete NotifyProfileChanged |
|
1145 User::WaitForRequest(notifyProfileChangeStatus); |
|
1146 ASSERT_EQUALS(KErrNone, notifyProfileChangeStatus.Int()); |
|
1147 |
|
1148 // Status change from RPacketContext::EStatusActivating to RPacketContext::EStatusActive |
|
1149 TRequestStatus contextActivateRequestStatus; |
|
1150 RPacketContext::TContextStatus contextActiveStatus; |
|
1151 packetContext.NotifyStatusChange(contextActivateRequestStatus, contextActiveStatus); |
|
1152 |
|
1153 User::WaitForRequest(contextActivateRequestStatus); |
|
1154 ASSERT_EQUALS(KErrNone, contextActivateRequestStatus.Int()); |
|
1155 ASSERT_EQUALS(RPacketContext::EStatusActive, contextActiveStatus); |
|
1156 |
|
1157 // Prepare context configuration for GPRS |
|
1158 setConfigGPRS.iAccessPointName.Copy(KPointNameGPRS); |
|
1159 setConfigGPRS.iPdpType = RPacketContext::EPdpTypeIPv6; |
|
1160 setConfigGPRS.iPdpAddress.Copy(KPdpAddGPRS); |
|
1161 TPckg<RPacketContext::TContextConfigGPRS> pckgConfigGPRS2(setConfigGPRS); |
|
1162 |
|
1163 packetContext.SetConfig(setConfigStatus, pckgConfigGPRS2); |
|
1164 User::WaitForRequest(setConfigStatus); |
|
1165 ASSERT_EQUALS(KErrNone, setConfigStatus.Int()); |
|
1166 |
|
1167 /* Request modification, modification should be successful */ |
|
1168 TRequestStatus modifyActiveContextStatus; |
|
1169 packetContext.ModifyActiveContext(modifyActiveContextStatus); |
|
1170 User::WaitForRequest(modifyActiveContextStatus); |
|
1171 ASSERT_EQUALS(KErrNone, modifyActiveContextStatus.Int()); |
|
1172 |
|
1173 /* Request second modification, should fail */ |
|
1174 packetContext.ModifyActiveContext(modifyActiveContextStatus); |
|
1175 User::WaitForRequest(modifyActiveContextStatus); |
|
1176 ASSERT_EQUALS(KErrGeneral, modifyActiveContextStatus.Int()); |
|
1177 |
|
1178 TRequestStatus deactivateContextStatus; |
|
1179 packetContext.Deactivate(deactivateContextStatus); |
|
1180 User::WaitForRequest(deactivateContextStatus); |
|
1181 ASSERT_EQUALS(KErrNone, deactivateContextStatus.Int()) |
|
1182 |
|
1183 packetQoS.Close(); |
|
1184 packetContext.Close(); |
|
1185 packetService.Close(); |
|
1186 |
|
1187 // Let the mock-LTSY finish up before asserting. |
|
1188 User::After(1000000); |
|
1189 |
|
1190 AssertMockLtsyStatusL(); |
|
1191 CleanupStack::PopAndDestroy(5, this); // data, packetQoS, packetService, packetContext, this |
|
1192 } |
|
1193 |
|
1194 /** |
|
1195 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UC0005 |
|
1196 @SYMComponent telephony_ctsy |
|
1197 @SYMTestCaseDesc Test support in CTSY for activation of two primary contexts (QoS configuration provided only for the first context). |
|
1198 @SYMTestPriority High |
|
1199 @SYMTestActions Invokes RPacketContext::OpenNewContext(), RPacketContext::InitialiseContext(), RPacketContext::SetConfig(), RPacketQoS::OpenNewQoS(), RPacketQoS::SetProfileParameters(), RPacketQoS::NotifyProfileChanged(), RPacketContext::Activate(), RPacketContext::NotifyStatusChange() for R97 |
|
1200 @SYMTestExpectedResults Pass |
|
1201 @SYMTestType UT |
|
1202 */ |
|
1203 void CCTsyPacketServicesFU::TestUseCase0005L() |
|
1204 { |
|
1205 OpenEtelServerL(EUseExtendedError); |
|
1206 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1207 OpenPhoneL(); |
|
1208 |
|
1209 TInfoName contextId; |
|
1210 contextId.Copy(KFirstAllocatedContextName); |
|
1211 |
|
1212 RPacketService packetService; |
|
1213 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
1214 |
|
1215 RPacketContext packetContext; |
|
1216 |
|
1217 // Open the first primary context |
|
1218 TInt err = packetContext.OpenNewContext(packetService, contextId); |
|
1219 CleanupClosePushL(packetContext); |
|
1220 ASSERT_EQUALS(KErrNone, err); |
|
1221 |
|
1222 // QoS for first context |
|
1223 TName qosName; |
|
1224 RPacketQoS packetQoS; |
|
1225 packetQoS.OpenNewQoS(packetContext, qosName); |
|
1226 CleanupClosePushL(packetQoS); |
|
1227 |
|
1228 AssertMockLtsyStatusL(); |
|
1229 |
|
1230 // Prepare context configuration for GPRS |
|
1231 RPacketContext::TContextConfigGPRS* setConfigGPRS = new (ELeave) RPacketContext::TContextConfigGPRS(); |
|
1232 CleanupStack::PushL(setConfigGPRS); |
|
1233 setConfigGPRS->iAccessPointName.Copy(KPointNameGPRS); |
|
1234 setConfigGPRS->iPdpType = RPacketContext::EPdpTypeIPv4; |
|
1235 setConfigGPRS->iPdpAddress.Copy(KPdpAddGPRS); |
|
1236 setConfigGPRS->iProtocolConfigOption.iDnsAddresses.iPrimaryDns.Copy(KPrimaryDns); |
|
1237 setConfigGPRS->iProtocolConfigOption.iDnsAddresses.iSecondaryDns.Copy(KSecondaryDns); |
|
1238 setConfigGPRS->iProtocolConfigOption.iAuthInfo.iProtocol = RPacketContext::EProtocolCHAP; |
|
1239 setConfigGPRS->iProtocolConfigOption.iAuthInfo.iUsername.Copy(KUsername); |
|
1240 setConfigGPRS->iProtocolConfigOption.iAuthInfo.iPassword.Copy(KPassword); |
|
1241 setConfigGPRS->iProtocolConfigOption.iId = KRequestID; |
|
1242 setConfigGPRS->iProtocolConfigOption.iMiscBuffer.Copy(KDummyMiscBuffer); |
|
1243 TPckg<RPacketContext::TContextConfigGPRS> pckgConfigGPRS(*setConfigGPRS); |
|
1244 |
|
1245 // Create the PCO buffer |
|
1246 RPacketContext::TMiscProtocolBuffer pcoBuffer; |
|
1247 pcoBuffer.Zero(); |
|
1248 |
|
1249 // Generate a PCO buffer |
|
1250 PCOGeneratorL(setConfigGPRS->iProtocolConfigOption, pcoBuffer); |
|
1251 setConfigGPRS->iProtocolConfigOption.iId = KRequestID; |
|
1252 |
|
1253 // Inititialise context |
|
1254 DriverInitialiseContextL(); |
|
1255 |
|
1256 RPacketContext::TDataChannelV2 dataChannel; |
|
1257 RPacketContext::TDataChannelV2Pckg dataChannelPk(dataChannel); |
|
1258 TRequestStatus initialiseContextStatus; |
|
1259 |
|
1260 packetContext.InitialiseContext(initialiseContextStatus,dataChannelPk); |
|
1261 User::WaitForRequest(initialiseContextStatus); |
|
1262 |
|
1263 AssertMockLtsyStatusL(); |
|
1264 |
|
1265 ASSERT_EQUALS(KErrNone, initialiseContextStatus.Int()); |
|
1266 ASSERT_TRUE(dataChannel.iPort == KFirstAllocatedContextName); |
|
1267 ASSERT_TRUE(dataChannel.iChannelId == KDefaultChannelId); // Now deprecated |
|
1268 |
|
1269 DriverSetConfigContextL(contextId, setConfigGPRS->iAccessPointName, setConfigGPRS->iPdpType, setConfigGPRS->iPdpAddress, pcoBuffer); |
|
1270 |
|
1271 TRequestStatus setConfigStatus; |
|
1272 packetContext.SetConfig(setConfigStatus, pckgConfigGPRS); |
|
1273 User::WaitForRequest(setConfigStatus); |
|
1274 |
|
1275 AssertMockLtsyStatusL(); |
|
1276 ASSERT_EQUALS(KErrNone, setConfigStatus.Int()); |
|
1277 |
|
1278 RPacketQoS::TQoSGPRSRequested* qosExpectedRequestedGPRSProfile = new (ELeave) RPacketQoS::TQoSGPRSRequested(); |
|
1279 CleanupStack::PushL(qosExpectedRequestedGPRSProfile); |
|
1280 qosExpectedRequestedGPRSProfile->iReqPrecedence = RPacketQoS::EUnspecifiedPrecedence; |
|
1281 qosExpectedRequestedGPRSProfile->iMinPrecedence = RPacketQoS::EUnspecifiedPrecedence; |
|
1282 qosExpectedRequestedGPRSProfile->iReqDelay = RPacketQoS::EDelayClass1; |
|
1283 qosExpectedRequestedGPRSProfile->iMinDelay = RPacketQoS::EUnspecifiedDelayClass; |
|
1284 qosExpectedRequestedGPRSProfile->iReqReliability = RPacketQoS::EUnspecifiedReliabilityClass; |
|
1285 qosExpectedRequestedGPRSProfile->iMinReliability = RPacketQoS::EReliabilityClass1; |
|
1286 qosExpectedRequestedGPRSProfile->iReqPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput; |
|
1287 qosExpectedRequestedGPRSProfile->iMinPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput; |
|
1288 qosExpectedRequestedGPRSProfile->iReqMeanThroughput = RPacketQoS::EUnspecifiedMeanThroughput; |
|
1289 qosExpectedRequestedGPRSProfile->iMinMeanThroughput = RPacketQoS::EMeanThroughput500; |
|
1290 |
|
1291 RBuf8 data; |
|
1292 CleanupClosePushL(data); |
|
1293 |
|
1294 TMockLtsyData2<TInfoName, RPacketQoS::TQoSGPRSRequested> packetSetConfigGPRSData(contextId, *qosExpectedRequestedGPRSProfile); |
|
1295 data.Close(); |
|
1296 packetSetConfigGPRSData.SerialiseL(data); |
|
1297 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
1298 |
|
1299 TMockLtsyData1<TInfoName> callbackSetPdpGPRSContextNameData(contextId); |
|
1300 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
1301 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
1302 |
|
1303 // |
|
1304 // SetProfileParameters for GPRS Configurations |
|
1305 // |
|
1306 |
|
1307 RPacketQoS::TQoSGPRSRequested* qosGPRSRequestedProfile = new (ELeave) RPacketQoS::TQoSGPRSRequested(); |
|
1308 CleanupStack::PushL(qosGPRSRequestedProfile); |
|
1309 qosGPRSRequestedProfile->iReqPrecedence = RPacketQoS::EUnspecifiedPrecedence; |
|
1310 qosGPRSRequestedProfile->iMinPrecedence = RPacketQoS::EUnspecifiedPrecedence; |
|
1311 qosGPRSRequestedProfile->iReqDelay = RPacketQoS::EDelayClass1; |
|
1312 qosGPRSRequestedProfile->iMinDelay = RPacketQoS::EUnspecifiedDelayClass; |
|
1313 qosGPRSRequestedProfile->iReqReliability = RPacketQoS::EUnspecifiedReliabilityClass; |
|
1314 qosGPRSRequestedProfile->iMinReliability = RPacketQoS::EReliabilityClass1; |
|
1315 qosGPRSRequestedProfile->iReqPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput; |
|
1316 qosGPRSRequestedProfile->iMinPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput; |
|
1317 qosGPRSRequestedProfile->iReqMeanThroughput = RPacketQoS::EUnspecifiedMeanThroughput; |
|
1318 qosGPRSRequestedProfile->iMinMeanThroughput = RPacketQoS::EMeanThroughput500; |
|
1319 TPckg< RPacketQoS::TQoSGPRSRequested > profilePckgGPRS(*qosGPRSRequestedProfile); |
|
1320 |
|
1321 TRequestStatus notifyProfileChangeStatus; |
|
1322 RPacketQoS::TQoSGPRSNegotiated profile; |
|
1323 TPckg<RPacketQoS::TQoSGPRSNegotiated> qosGPRSNegotiatedProfilePk(profile); |
|
1324 packetQoS.NotifyProfileChanged(notifyProfileChangeStatus, qosGPRSNegotiatedProfilePk); |
|
1325 |
|
1326 TRequestStatus requestStatusGPRS; |
|
1327 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
1328 User::WaitForRequest(requestStatusGPRS); |
|
1329 |
|
1330 AssertMockLtsyStatusL(); |
|
1331 |
|
1332 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
1333 |
|
1334 TRequestStatus contextConfigStatus; |
|
1335 RPacketContext::TContextConfigGPRS setConfigGPRSActiveNotifyConfigChanged; |
|
1336 TPckg<RPacketContext::TContextConfigGPRS> pckgConfigGPRSNotifyConfigChanged(setConfigGPRSActiveNotifyConfigChanged); |
|
1337 packetContext.NotifyConfigChanged(contextConfigStatus, pckgConfigGPRSNotifyConfigChanged); |
|
1338 |
|
1339 TRequestStatus contextActivatingRequestStatus; |
|
1340 RPacketContext::TContextStatus contextStatus; |
|
1341 packetContext.NotifyStatusChange(contextActivatingRequestStatus, contextStatus); |
|
1342 |
|
1343 TMockLtsyData1<TInfoName> expectedActivateContextNameData(contextId); |
|
1344 data.Close(); |
|
1345 expectedActivateContextNameData.SerialiseL(data); |
|
1346 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesActivatePdpContext::KLtsyDispatchPacketServicesActivatePdpContextApiId, data, KErrNone); |
|
1347 |
|
1348 TMockLtsyData3<TInfoName, RPacketContext::TGSNAddress, RPacketContext::TProtocolType> |
|
1349 completedActivateContextNameData(contextId, setConfigGPRS->iAccessPointName, setConfigGPRS->iPdpType); |
|
1350 data.Close(); |
|
1351 completedActivateContextNameData.SerialiseL(data); |
|
1352 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesActivatePdpContext::KLtsyDispatchPacketServicesActivatePdpContextApiId, KErrNone, data); |
|
1353 |
|
1354 RPacketQoS::TQoSGPRSNegotiated completedProfile; |
|
1355 TMockLtsyData2<TInfoName, RPacketQoS::TQoSGPRSNegotiated> |
|
1356 expLtsyQosProfileChangedInd(contextId, completedProfile); |
|
1357 data.Close(); |
|
1358 expLtsyQosProfileChangedInd.SerialiseL(data); |
|
1359 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
1360 |
|
1361 // Prepare context configuration for GPRS |
|
1362 RPacketContext::TContextConfigGPRS* setConfigGPRSActive = new (ELeave) RPacketContext::TContextConfigGPRS(); |
|
1363 CleanupStack::PushL(setConfigGPRSActive); |
|
1364 setConfigGPRSActive->iAccessPointName.Copy(KPointNameGPRS); |
|
1365 setConfigGPRSActive->iPdpType = RPacketContext::EPdpTypeIPv4; |
|
1366 setConfigGPRSActive->iPdpCompression = 0; |
|
1367 setConfigGPRSActive->iPdpAddress.Copy(KPdpAddGPRSActive); |
|
1368 |
|
1369 TMockLtsyData5<TInfoName, RPacketContext::TGSNAddress, RPacketContext::TProtocolAddress, TUint, RPacketContext::TMiscProtocolBuffer> |
|
1370 expLtsyProfileChangedInd(contextId, setConfigGPRSActive->iAccessPointName, |
|
1371 setConfigGPRSActive->iPdpAddress, setConfigGPRSActive->iPdpCompression, pcoBuffer); |
|
1372 data.Close(); |
|
1373 expLtsyProfileChangedInd.SerialiseL(data); |
|
1374 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyPdpContextConfigChangedIndId, KErrNone, data); |
|
1375 |
|
1376 // Activate first primary context |
|
1377 TRequestStatus activateStatus; |
|
1378 packetContext.Activate(activateStatus); |
|
1379 User::WaitForRequest(activateStatus); |
|
1380 ASSERT_EQUALS(KErrNone, activateStatus.Int()); |
|
1381 ASSERT_EQUALS(RPacketContext::EStatusActivating, contextStatus); |
|
1382 |
|
1383 packetContext.NotifyStatusChange(contextActivatingRequestStatus, contextStatus); |
|
1384 |
|
1385 User::WaitForRequest(contextActivatingRequestStatus); |
|
1386 ASSERT_EQUALS(KErrNone, contextConfigStatus.Int()); |
|
1387 ASSERT_EQUALS(RPacketContext::EStatusActive, contextStatus); |
|
1388 |
|
1389 AssertMockLtsyStatusL(); |
|
1390 |
|
1391 // |
|
1392 |
|
1393 // open the second primary context |
|
1394 RPacketContext secondPacketContext; |
|
1395 |
|
1396 TInfoName secondContextId; |
|
1397 err = secondPacketContext.OpenNewContext(packetService, secondContextId); |
|
1398 CleanupClosePushL(secondPacketContext); |
|
1399 ASSERT_EQUALS(KErrNone, err); |
|
1400 |
|
1401 TInfoName emptyContextId; |
|
1402 emptyContextId.Copy(KDefaultContextName); |
|
1403 |
|
1404 |
|
1405 DriverInitialiseContextL(secondContextId, emptyContextId); |
|
1406 |
|
1407 RPacketContext::TDataChannelV2 secondDataChannel; |
|
1408 RPacketContext::TDataChannelV2Pckg secondDataChannelPk(secondDataChannel); |
|
1409 TRequestStatus secondInitialiseContextStatus; |
|
1410 |
|
1411 // Initialize the second primary context |
|
1412 secondPacketContext.InitialiseContext(secondInitialiseContextStatus, secondDataChannelPk); |
|
1413 User::WaitForRequest(secondInitialiseContextStatus); |
|
1414 |
|
1415 ASSERT_EQUALS(KErrNone, secondInitialiseContextStatus.Int()); |
|
1416 ASSERT_TRUE(dataChannel.iPort == KFirstAllocatedContextName); |
|
1417 ASSERT_TRUE(secondDataChannel.iChannelId == KSecondaryContextChannelId); // Now deprecated |
|
1418 |
|
1419 AssertMockLtsyStatusL(); |
|
1420 |
|
1421 TRequestStatus secondcontextConfigStatus; |
|
1422 secondPacketContext.NotifyConfigChanged(secondcontextConfigStatus, pckgConfigGPRSNotifyConfigChanged); |
|
1423 |
|
1424 TRequestStatus secondcontextActivatingRequestStatus; |
|
1425 RPacketContext::TContextStatus secondcontextStatus; |
|
1426 secondPacketContext.NotifyStatusChange(secondcontextActivatingRequestStatus, secondcontextStatus); |
|
1427 |
|
1428 TMockLtsyData1<TInfoName> secondexpectedActivateContextNameData(secondContextId); |
|
1429 data.Close(); |
|
1430 secondexpectedActivateContextNameData.SerialiseL(data); |
|
1431 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesActivatePdpContext::KLtsyDispatchPacketServicesActivatePdpContextApiId, data, KErrNone); |
|
1432 |
|
1433 TMockLtsyData3<TInfoName, RPacketContext::TGSNAddress, RPacketContext::TProtocolType> |
|
1434 secondcompletedActivateContextNameData(secondContextId, setConfigGPRS->iAccessPointName, setConfigGPRS->iPdpType); |
|
1435 data.Close(); |
|
1436 secondcompletedActivateContextNameData.SerialiseL(data); |
|
1437 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesActivatePdpContext::KLtsyDispatchPacketServicesActivatePdpContextApiId, KErrNone, data); |
|
1438 |
|
1439 // Prepare context configuration for GPRS |
|
1440 RPacketContext::TContextConfigGPRS* secondSetConfigGPRSActive = new (ELeave) RPacketContext::TContextConfigGPRS(); |
|
1441 CleanupStack::PushL(secondSetConfigGPRSActive); |
|
1442 secondSetConfigGPRSActive->iAccessPointName.Copy(KPointNameGPRS); |
|
1443 secondSetConfigGPRSActive->iPdpType = RPacketContext::EPdpTypeIPv4; |
|
1444 secondSetConfigGPRSActive->iPdpCompression = 0; |
|
1445 secondSetConfigGPRSActive->iPdpAddress.Copy(KPdpAddGPRSActive); |
|
1446 |
|
1447 TMockLtsyData5<TInfoName, RPacketContext::TGSNAddress, RPacketContext::TProtocolAddress, TUint, RPacketContext::TMiscProtocolBuffer> |
|
1448 secondexpLtsyProfileChangedInd(secondContextId, secondSetConfigGPRSActive->iAccessPointName, |
|
1449 secondSetConfigGPRSActive->iPdpAddress, secondSetConfigGPRSActive->iPdpCompression, pcoBuffer); |
|
1450 data.Close(); |
|
1451 secondexpLtsyProfileChangedInd.SerialiseL(data); |
|
1452 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyPdpContextConfigChangedIndId, KErrNone, data); |
|
1453 |
|
1454 // Activate second primary context |
|
1455 TRequestStatus secondactivateStatus; |
|
1456 secondPacketContext.Activate(secondactivateStatus); |
|
1457 User::WaitForRequest(secondactivateStatus); |
|
1458 ASSERT_EQUALS(KErrNone, secondactivateStatus.Int()); |
|
1459 ASSERT_EQUALS(RPacketContext::EStatusActivating, secondcontextStatus); |
|
1460 |
|
1461 secondPacketContext.NotifyStatusChange(secondcontextActivatingRequestStatus, secondcontextStatus); |
|
1462 |
|
1463 User::WaitForRequest(secondcontextActivatingRequestStatus); |
|
1464 ASSERT_EQUALS(KErrNone, secondcontextConfigStatus.Int()); |
|
1465 ASSERT_EQUALS(RPacketContext::EStatusActive, secondcontextStatus); |
|
1466 |
|
1467 DriverDeleteContextL(contextId); |
|
1468 DriverDeleteContextL(secondContextId); |
|
1469 |
|
1470 packetQoS.Close(); |
|
1471 packetContext.Close(); |
|
1472 packetService.Close(); |
|
1473 secondPacketContext.Close(); |
|
1474 |
|
1475 // Let the mock-LTSY finish up before asserting. |
|
1476 User::After(1000000); |
|
1477 |
|
1478 AssertMockLtsyStatusL(); |
|
1479 CleanupStack::PopAndDestroy(11, this); // secondSetConfigGPRSActive, secondPacketContext, data, packetQoS, packetService, packetContext, this |
|
1480 } |
|
1481 |
|
1482 /** |
|
1483 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UC0006 |
|
1484 @SYMComponent telephony_ctsy |
|
1485 @SYMTestCaseDesc Test support in CTSY for activation of a primary and secondary contexts. |
|
1486 @SYMTestPriority High |
|
1487 @SYMTestActions Invokes RPacketContext::OpenNewContext(), RPacketContext::InitialiseContext(), RPacketContext::SetDefaultContextParams(), RPacketContext::OpenNewSecondaryContext(), RPacketContext::AddPacketFilter() for R97 |
|
1488 @SYMTestExpectedResults Pass |
|
1489 @SYMTestType UT |
|
1490 */ |
|
1491 void CCTsyPacketServicesFU::TestUseCase0006L() |
|
1492 { |
|
1493 OpenEtelServerL(EUseExtendedError); |
|
1494 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1495 OpenPhoneL(); |
|
1496 |
|
1497 RPacketService packetService; |
|
1498 RPacketContext packetContext; |
|
1499 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
1500 |
|
1501 // Open the primary context |
|
1502 TInfoName contextId; |
|
1503 TInt err = packetContext.OpenNewContext(packetService, contextId); |
|
1504 CleanupClosePushL(packetContext); |
|
1505 ASSERT_EQUALS(KErrNone, err); |
|
1506 |
|
1507 TName qosName; |
|
1508 RPacketQoS packetQoS; |
|
1509 packetQoS.OpenNewQoS(packetContext, qosName); |
|
1510 CleanupClosePushL(packetQoS); |
|
1511 |
|
1512 AssertMockLtsyStatusL(); |
|
1513 |
|
1514 // Prepare context configuration for GPRS |
|
1515 RPacketContext::TContextConfigGPRS* setConfigGPRS = new (ELeave) RPacketContext::TContextConfigGPRS(); |
|
1516 CleanupStack::PushL(setConfigGPRS); |
|
1517 setConfigGPRS->iAccessPointName.Copy(KPointNameGPRS); |
|
1518 setConfigGPRS->iPdpType = RPacketContext::EPdpTypeIPv4; |
|
1519 setConfigGPRS->iPdpAddress.Copy(KPdpAddGPRS); |
|
1520 setConfigGPRS->iProtocolConfigOption.iDnsAddresses.iPrimaryDns.Copy(KPrimaryDns); |
|
1521 setConfigGPRS->iProtocolConfigOption.iDnsAddresses.iSecondaryDns.Copy(KSecondaryDns); |
|
1522 setConfigGPRS->iProtocolConfigOption.iAuthInfo.iProtocol = RPacketContext::EProtocolCHAP; |
|
1523 setConfigGPRS->iProtocolConfigOption.iAuthInfo.iUsername.Copy(KUsername); |
|
1524 setConfigGPRS->iProtocolConfigOption.iAuthInfo.iPassword.Copy(KPassword); |
|
1525 setConfigGPRS->iProtocolConfigOption.iId = KRequestID; |
|
1526 setConfigGPRS->iProtocolConfigOption.iMiscBuffer.Copy(KDummyMiscBuffer); |
|
1527 TPckg<RPacketContext::TContextConfigGPRS> pckgConfigGPRS(*setConfigGPRS); |
|
1528 |
|
1529 // Create the PCO buffer |
|
1530 RPacketContext::TMiscProtocolBuffer pcoBuffer; |
|
1531 pcoBuffer.Zero(); |
|
1532 |
|
1533 // Generate a PCO buffer |
|
1534 PCOGeneratorL(setConfigGPRS->iProtocolConfigOption, pcoBuffer); |
|
1535 setConfigGPRS->iProtocolConfigOption.iId = KRequestID; |
|
1536 |
|
1537 DriverInitialiseContextL(); |
|
1538 |
|
1539 RPacketContext::TDataChannelV2 dataChannel; |
|
1540 RPacketContext::TDataChannelV2Pckg dataChannelPk(dataChannel); |
|
1541 TRequestStatus initialiseContextStatus; |
|
1542 |
|
1543 // Initialise primary context |
|
1544 packetContext.InitialiseContext(initialiseContextStatus,dataChannelPk); |
|
1545 User::WaitForRequest(initialiseContextStatus); |
|
1546 |
|
1547 ASSERT_EQUALS(KErrNone, initialiseContextStatus.Int()); |
|
1548 ASSERT_TRUE(dataChannel.iPort == KFirstAllocatedContextName); |
|
1549 ASSERT_TRUE(dataChannel.iChannelId == KDefaultChannelId); // Now deprecated |
|
1550 |
|
1551 AssertMockLtsyStatusL(); |
|
1552 |
|
1553 // Setting default GPRS context parameters. |
|
1554 RPacketContext::TContextConfigGPRS expContextConfigGprs; |
|
1555 expContextConfigGprs.iAccessPointName = KDefaultAccessPoint; |
|
1556 expContextConfigGprs.iPdpType = KDefaultPdpType; |
|
1557 |
|
1558 TMockLtsyData1<RPacketContext::TContextConfigGPRS> expLtsyGprsData(expContextConfigGprs); |
|
1559 RBuf8 data; |
|
1560 CleanupClosePushL(data); |
|
1561 |
|
1562 expLtsyGprsData.SerialiseL(data); |
|
1563 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetDefaultPdpContextGprsParams::KLtsyDispatchPacketServicesSetDefaultPdpContextGprsParamsApiId, data); |
|
1564 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetDefaultPdpContextGprsParams::KLtsyDispatchPacketServicesSetDefaultPdpContextGprsParamsApiId, KErrNone); |
|
1565 |
|
1566 RPacketContext::TContextConfigGPRS defaultGprsContextConfig; |
|
1567 defaultGprsContextConfig.iAccessPointName = KDefaultAccessPoint; |
|
1568 defaultGprsContextConfig.iPdpType = KDefaultPdpType; |
|
1569 TPckg<RPacketContext::TContextConfigGPRS> defaultContextGprsConfigPckg(defaultGprsContextConfig); |
|
1570 TRequestStatus setDefaultContextParamsStatus; |
|
1571 packetService.SetDefaultContextParams(setDefaultContextParamsStatus, defaultContextGprsConfigPckg); |
|
1572 User::WaitForRequest(setDefaultContextParamsStatus); |
|
1573 |
|
1574 ASSERT_EQUALS(KErrNone, setDefaultContextParamsStatus.Int()); |
|
1575 |
|
1576 AssertMockLtsyStatusL(); |
|
1577 |
|
1578 DriverSetConfigContextL(contextId, setConfigGPRS->iAccessPointName, setConfigGPRS->iPdpType, setConfigGPRS->iPdpAddress, pcoBuffer); |
|
1579 |
|
1580 TRequestStatus setConfigStatus; |
|
1581 packetContext.SetConfig(setConfigStatus, pckgConfigGPRS); |
|
1582 User::WaitForRequest(setConfigStatus); |
|
1583 ASSERT_EQUALS(KErrNone, setConfigStatus.Int()); |
|
1584 |
|
1585 |
|
1586 // |
|
1587 // SetProfileParameters for GPRS Configurations |
|
1588 // |
|
1589 |
|
1590 RPacketQoS::TQoSGPRSRequested* qosExpectedRequestedGPRSProfile = new (ELeave) RPacketQoS::TQoSGPRSRequested(); |
|
1591 qosExpectedRequestedGPRSProfile->iReqPrecedence = RPacketQoS::EUnspecifiedPrecedence; |
|
1592 qosExpectedRequestedGPRSProfile->iMinPrecedence = RPacketQoS::EUnspecifiedPrecedence; |
|
1593 qosExpectedRequestedGPRSProfile->iReqDelay = RPacketQoS::EDelayClass1; |
|
1594 qosExpectedRequestedGPRSProfile->iMinDelay = RPacketQoS::EUnspecifiedDelayClass; |
|
1595 qosExpectedRequestedGPRSProfile->iReqReliability = RPacketQoS::EUnspecifiedReliabilityClass; |
|
1596 qosExpectedRequestedGPRSProfile->iMinReliability = RPacketQoS::EReliabilityClass1; |
|
1597 qosExpectedRequestedGPRSProfile->iReqPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput; |
|
1598 qosExpectedRequestedGPRSProfile->iMinPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput; |
|
1599 qosExpectedRequestedGPRSProfile->iReqMeanThroughput = RPacketQoS::EUnspecifiedMeanThroughput; |
|
1600 qosExpectedRequestedGPRSProfile->iMinMeanThroughput = RPacketQoS::EMeanThroughput500; |
|
1601 |
|
1602 TMockLtsyData2<TInfoName, RPacketQoS::TQoSGPRSRequested> packetSetConfigGPRSData(contextId, *qosExpectedRequestedGPRSProfile); |
|
1603 data.Close(); |
|
1604 packetSetConfigGPRSData.SerialiseL(data); |
|
1605 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
1606 |
|
1607 TMockLtsyData1<TInfoName> callbackSetPdpGPRSContextNameData(contextId); |
|
1608 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
1609 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
1610 |
|
1611 RPacketQoS::TQoSGPRSRequested* qosGPRSRequestedProfile = new (ELeave) RPacketQoS::TQoSGPRSRequested(); |
|
1612 qosGPRSRequestedProfile->iReqPrecedence = RPacketQoS::EUnspecifiedPrecedence; |
|
1613 qosGPRSRequestedProfile->iMinPrecedence = RPacketQoS::EUnspecifiedPrecedence; |
|
1614 qosGPRSRequestedProfile->iReqDelay = RPacketQoS::EDelayClass1; |
|
1615 qosGPRSRequestedProfile->iMinDelay = RPacketQoS::EUnspecifiedDelayClass; |
|
1616 qosGPRSRequestedProfile->iReqReliability = RPacketQoS::EUnspecifiedReliabilityClass; |
|
1617 qosGPRSRequestedProfile->iMinReliability = RPacketQoS::EReliabilityClass1; |
|
1618 qosGPRSRequestedProfile->iReqPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput; |
|
1619 qosGPRSRequestedProfile->iMinPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput; |
|
1620 qosGPRSRequestedProfile->iReqMeanThroughput = RPacketQoS::EUnspecifiedMeanThroughput; |
|
1621 qosGPRSRequestedProfile->iMinMeanThroughput = RPacketQoS::EMeanThroughput500; |
|
1622 TPckg< RPacketQoS::TQoSGPRSRequested > profilePckgGPRS(*qosGPRSRequestedProfile); |
|
1623 |
|
1624 TRequestStatus notifyProfileChangeStatus; |
|
1625 RPacketQoS::TQoSGPRSNegotiated profile; |
|
1626 TPckg<RPacketQoS::TQoSGPRSNegotiated> qosGPRSNegotiatedProfilePk(profile); |
|
1627 packetQoS.NotifyProfileChanged(notifyProfileChangeStatus, qosGPRSNegotiatedProfilePk); |
|
1628 |
|
1629 TRequestStatus requestStatusGPRS; |
|
1630 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
1631 User::WaitForRequest(requestStatusGPRS); |
|
1632 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
1633 |
|
1634 AssertMockLtsyStatusL(); |
|
1635 |
|
1636 TRequestStatus contextConfigStatus; |
|
1637 RPacketContext::TContextConfigGPRS* setConfigGPRSActiveNotifyConfigChanged = new (ELeave) RPacketContext::TContextConfigGPRS(); |
|
1638 CleanupStack::PushL(setConfigGPRSActiveNotifyConfigChanged); |
|
1639 TPckg<RPacketContext::TContextConfigGPRS> pckgConfigGPRSNotifyConfigChanged(*setConfigGPRSActiveNotifyConfigChanged); |
|
1640 packetContext.NotifyConfigChanged(contextConfigStatus, pckgConfigGPRSNotifyConfigChanged); |
|
1641 |
|
1642 TRequestStatus contextActivatingRequestStatus; |
|
1643 RPacketContext::TContextStatus contextStatus; |
|
1644 packetContext.NotifyStatusChange(contextActivatingRequestStatus, contextStatus); |
|
1645 |
|
1646 TMockLtsyData1<TInfoName> expectedActivateContextNameData(contextId); |
|
1647 data.Close(); |
|
1648 expectedActivateContextNameData.SerialiseL(data); |
|
1649 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesActivatePdpContext::KLtsyDispatchPacketServicesActivatePdpContextApiId, data, KErrNone); |
|
1650 |
|
1651 TMockLtsyData3<TInfoName, RPacketContext::TGSNAddress, RPacketContext::TProtocolType> |
|
1652 completedActivateContextNameData(contextId, setConfigGPRS->iAccessPointName, setConfigGPRS->iPdpType); |
|
1653 data.Close(); |
|
1654 completedActivateContextNameData.SerialiseL(data); |
|
1655 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesActivatePdpContext::KLtsyDispatchPacketServicesActivatePdpContextApiId, KErrNone, data); |
|
1656 |
|
1657 RPacketQoS::TQoSGPRSNegotiated completedProfile; |
|
1658 TMockLtsyData2<TInfoName, RPacketQoS::TQoSGPRSNegotiated> |
|
1659 expLtsyQosProfileChangedInd(contextId, completedProfile); |
|
1660 data.Close(); |
|
1661 expLtsyQosProfileChangedInd.SerialiseL(data); |
|
1662 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
1663 |
|
1664 // Prepare context configuration for GPRS |
|
1665 RPacketContext::TContextConfigGPRS* setConfigGPRSActive = new (ELeave) RPacketContext::TContextConfigGPRS(); |
|
1666 setConfigGPRSActive->iAccessPointName.Copy(KPointNameGPRS); |
|
1667 setConfigGPRSActive->iPdpType = RPacketContext::EPdpTypeIPv4; |
|
1668 setConfigGPRSActive->iPdpCompression = 0; |
|
1669 setConfigGPRSActive->iPdpAddress.Copy(KPdpAddGPRSActive); |
|
1670 setConfigGPRSActive->iProtocolConfigOption.iDnsAddresses.iSecondaryDns.Copy(KSecondaryDns); |
|
1671 setConfigGPRSActive->iProtocolConfigOption.iAuthInfo.iProtocol = RPacketContext::EProtocolCHAP; |
|
1672 setConfigGPRSActive->iProtocolConfigOption.iAuthInfo.iUsername.Copy(KUsername); |
|
1673 setConfigGPRSActive->iProtocolConfigOption.iAuthInfo.iPassword.Copy(KPassword); |
|
1674 setConfigGPRSActive->iProtocolConfigOption.iId = KRequestID; |
|
1675 |
|
1676 TMockLtsyData5<TInfoName, RPacketContext::TGSNAddress, RPacketContext::TProtocolAddress, TUint, RPacketContext::TMiscProtocolBuffer> |
|
1677 expLtsyProfileChangedInd(contextId, setConfigGPRSActive->iAccessPointName, |
|
1678 setConfigGPRSActive->iPdpAddress, setConfigGPRSActive->iPdpCompression, pcoBuffer); |
|
1679 data.Close(); |
|
1680 expLtsyProfileChangedInd.SerialiseL(data); |
|
1681 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyPdpContextConfigChangedIndId, KErrNone, data); |
|
1682 |
|
1683 // Activate primary context |
|
1684 TRequestStatus activateStatus; |
|
1685 packetContext.Activate(activateStatus); |
|
1686 User::WaitForRequest(activateStatus); |
|
1687 |
|
1688 // Complete NotifyProfileChanged |
|
1689 User::WaitForRequest(notifyProfileChangeStatus); |
|
1690 ASSERT_EQUALS(KErrNone, notifyProfileChangeStatus.Int()); |
|
1691 |
|
1692 User::WaitForRequest(contextActivatingRequestStatus); |
|
1693 ASSERT_EQUALS(KErrNone, activateStatus.Int()); |
|
1694 ASSERT_EQUALS(RPacketContext::EStatusActivating, contextStatus); |
|
1695 |
|
1696 packetContext.NotifyStatusChange(contextActivatingRequestStatus, contextStatus); |
|
1697 |
|
1698 User::WaitForRequest(contextActivatingRequestStatus); |
|
1699 ASSERT_EQUALS(RPacketContext::EStatusActive, contextStatus); |
|
1700 |
|
1701 AssertMockLtsyStatusL(); |
|
1702 |
|
1703 //Open Secondary Packet Context |
|
1704 TInfoName secondaryContextId; |
|
1705 RPacketContext secondaryContext; |
|
1706 err = secondaryContext.OpenNewSecondaryContext(packetService, contextId, secondaryContextId); |
|
1707 CleanupClosePushL(secondaryContext); |
|
1708 ASSERT_EQUALS(KErrNone, err); |
|
1709 |
|
1710 AssertMockLtsyStatusL(); |
|
1711 |
|
1712 DriverInitialiseContextL(contextId, secondaryContextId); |
|
1713 |
|
1714 RPacketContext::TDataChannelV2* secondDataChannel = new (ELeave) RPacketContext::TDataChannelV2(); |
|
1715 RPacketContext::TDataChannelV2Pckg secondDataChannelPk(*secondDataChannel); |
|
1716 TRequestStatus secondInitialiseContextStatus; |
|
1717 |
|
1718 // Initialise secondary context |
|
1719 secondaryContext.InitialiseContext(secondInitialiseContextStatus, secondDataChannelPk); |
|
1720 User::WaitForRequest(secondInitialiseContextStatus); |
|
1721 ASSERT_EQUALS(KErrNone, secondInitialiseContextStatus.Int()); |
|
1722 ASSERT_TRUE(dataChannel.iPort == KFirstAllocatedContextName); |
|
1723 ASSERT_TRUE(secondDataChannel->iChannelId == KSecondaryContextChannelId); // Now deprecated |
|
1724 |
|
1725 AssertMockLtsyStatusL(); |
|
1726 |
|
1727 // Open QoS for secondaty context |
|
1728 RPacketQoS secondaryPacketQoS; |
|
1729 secondaryPacketQoS.OpenNewQoS(secondaryContext, secondaryContextId); |
|
1730 CleanupClosePushL(secondaryPacketQoS); |
|
1731 |
|
1732 RPacketQoS::TQoSGPRSRequested* qosExpectedRequestedGPRSProfileSecondaryContext = new (ELeave) RPacketQoS::TQoSGPRSRequested(); |
|
1733 qosExpectedRequestedGPRSProfileSecondaryContext->iMinMeanThroughput = RPacketQoS::EMeanThroughput500; |
|
1734 |
|
1735 TMockLtsyData2<TInfoName, RPacketQoS::TQoSGPRSRequested> packetSetConfigGPRSDataSecondaryContext(secondaryContextId, *qosExpectedRequestedGPRSProfileSecondaryContext); |
|
1736 data.Close(); |
|
1737 packetSetConfigGPRSDataSecondaryContext.SerialiseL(data); |
|
1738 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
1739 |
|
1740 TMockLtsyData1<TInfoName> callbackSetPdpGPRSContextNameDataSecondaryContext(secondaryContextId); |
|
1741 callbackSetPdpGPRSContextNameDataSecondaryContext.SerialiseL(data); |
|
1742 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
1743 |
|
1744 //Define qos params for secondaty context |
|
1745 RPacketQoS::TQoSGPRSRequested* qosGPRSRequestedProfilesecondaryPacket = new (ELeave) RPacketQoS::TQoSGPRSRequested(); |
|
1746 qosGPRSRequestedProfilesecondaryPacket->iMinMeanThroughput = RPacketQoS::EMeanThroughput500; |
|
1747 TPckg<RPacketQoS::TQoSGPRSRequested> qosGPRSRequestedProfilePk(*qosGPRSRequestedProfilesecondaryPacket); |
|
1748 |
|
1749 //Set QoS Params GPRS for secondaty context |
|
1750 TRequestStatus setProfileParametersSt; |
|
1751 secondaryPacketQoS.SetProfileParameters(setProfileParametersSt, qosGPRSRequestedProfilePk); |
|
1752 User::WaitForRequest(setProfileParametersSt); |
|
1753 ASSERT_EQUALS(KErrNone, setProfileParametersSt.Int()); |
|
1754 |
|
1755 AssertMockLtsyStatusL(); |
|
1756 |
|
1757 // Configure packet filter secondary context |
|
1758 RPacketContext::TPacketFilterV2* packetFilterV2 = new (ELeave) RPacketContext::TPacketFilterV2(); |
|
1759 packetFilterV2->iId = 1; |
|
1760 packetFilterV2->iEvaluationPrecedenceIndex = 100; |
|
1761 packetFilterV2->iDestPortMax = 4001; |
|
1762 packetFilterV2->iDestPortMin = 4000; |
|
1763 packetFilterV2->iIPSecSPI = 1; |
|
1764 packetFilterV2->iProtocolNumberOrNextHeader = 0; |
|
1765 packetFilterV2->iSrcAddr[12] = 0; |
|
1766 memcpy(&(packetFilterV2->iSrcAddr[0]), "200.12.13.19", 12); |
|
1767 packetFilterV2->iSrcAddrSubnetMask[13] = 0; |
|
1768 memcpy(&(packetFilterV2->iSrcAddrSubnetMask[0]), "255.255.255.0", 13); |
|
1769 packetFilterV2->iSrcPortMin = 5000; |
|
1770 packetFilterV2->iSrcPortMax = 5001; |
|
1771 packetFilterV2->iTOSorTrafficClass = 0; |
|
1772 RPacketContext::TPacketFilterV2Pckg packetFilterV2Pckg(*packetFilterV2); |
|
1773 CArrayFixFlat<RPacketContext::TPacketFilterV2>* filterTemporaryArray = new ( ELeave ) CArrayFixFlat<RPacketContext::TPacketFilterV2>( 1 ); |
|
1774 CleanupStack::PushL(filterTemporaryArray); |
|
1775 filterTemporaryArray->AppendL( *packetFilterV2 ); |
|
1776 |
|
1777 TMockLtsyData2<TInfoName, CArrayFixFlat<RPacketContext::TPacketFilterV2>*> expectedAddFilterContextNameData(secondaryContextId, filterTemporaryArray); |
|
1778 data.Close(); |
|
1779 expectedAddFilterContextNameData.SerialiseL(data); |
|
1780 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesAddPacketFilter::KLtsyDispatchPacketServicesAddPacketFilterApiId, data, KErrNone); |
|
1781 |
|
1782 TMockLtsyData1<TInfoName> callbackContextIdData(secondaryContextId); |
|
1783 data.Close(); |
|
1784 callbackContextIdData.SerialiseL(data); |
|
1785 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextConfig::KLtsyDispatchPacketServicesSetPdpContextConfigApiId, KErrNone, data); |
|
1786 |
|
1787 TRequestStatus addPacketFilterStatus; |
|
1788 |
|
1789 // Add filter to secondary context |
|
1790 secondaryContext.AddPacketFilter(addPacketFilterStatus, packetFilterV2Pckg); |
|
1791 User::WaitForRequest(addPacketFilterStatus); |
|
1792 ASSERT_EQUALS(KErrNone, addPacketFilterStatus.Int()); |
|
1793 |
|
1794 AssertMockLtsyStatusL(); |
|
1795 |
|
1796 TMockLtsyData1<TInfoName> secondaryExpectedActivateContextNameData(secondaryContextId); |
|
1797 data.Close(); |
|
1798 secondaryExpectedActivateContextNameData.SerialiseL(data); |
|
1799 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesActivatePdpContext::KLtsyDispatchPacketServicesActivatePdpContextApiId, data, KErrNone); |
|
1800 |
|
1801 TMockLtsyData3<TInfoName, RPacketContext::TGSNAddress, RPacketContext::TProtocolType> |
|
1802 secondaryCompletedActivateContextNameData(secondaryContextId, setConfigGPRS->iAccessPointName, setConfigGPRS->iPdpType); |
|
1803 data.Close(); |
|
1804 secondaryCompletedActivateContextNameData.SerialiseL(data); |
|
1805 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesActivatePdpContext::KLtsyDispatchPacketServicesActivatePdpContextApiId, KErrNone, data); |
|
1806 |
|
1807 RPacketContext::TContextConfigGPRS* setSecondaryConfigGPRSActiveNotifyConfigChanged = new (ELeave)RPacketContext::TContextConfigGPRS(); |
|
1808 CleanupStack::PushL(setSecondaryConfigGPRSActiveNotifyConfigChanged); |
|
1809 TPckg<RPacketContext::TContextConfigGPRS> pckgConfigGPRSNotifySecondaryConfigChanged(*setSecondaryConfigGPRSActiveNotifyConfigChanged); |
|
1810 |
|
1811 TRequestStatus secondaryContextConfigStatus; |
|
1812 secondaryContext.NotifyConfigChanged(secondaryContextConfigStatus, pckgConfigGPRSNotifySecondaryConfigChanged); |
|
1813 secondaryContext.NotifyStatusChange(contextActivatingRequestStatus, contextStatus); |
|
1814 |
|
1815 // Prepare context configuration for GPRS |
|
1816 RPacketContext::TContextConfigGPRS* secondarySetConfigGPRSActive = new (ELeave)RPacketContext::TContextConfigGPRS(); |
|
1817 CleanupStack::PushL(secondarySetConfigGPRSActive); |
|
1818 |
|
1819 secondarySetConfigGPRSActive->iAccessPointName.Copy(KPointNameGPRS); |
|
1820 secondarySetConfigGPRSActive->iPdpType = RPacketContext::EPdpTypeIPv4; |
|
1821 secondarySetConfigGPRSActive->iPdpCompression = 1; |
|
1822 secondarySetConfigGPRSActive->iPdpAddress.Copy(KPdpAddGPRSActive); |
|
1823 |
|
1824 TMockLtsyData5<TInfoName, RPacketContext::TGSNAddress, RPacketContext::TProtocolAddress, TUint, RPacketContext::TMiscProtocolBuffer> |
|
1825 secondaryexpLtsyProfileChangedInd(secondaryContextId, secondarySetConfigGPRSActive->iAccessPointName, |
|
1826 secondarySetConfigGPRSActive->iPdpAddress, secondarySetConfigGPRSActive->iPdpCompression, pcoBuffer); |
|
1827 data.Close(); |
|
1828 secondaryexpLtsyProfileChangedInd.SerialiseL(data); |
|
1829 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyPdpContextConfigChangedIndId, KErrNone, data); |
|
1830 |
|
1831 TRequestStatus secondaryActivateStatus; |
|
1832 |
|
1833 // Activate secondary context. |
|
1834 secondaryContext.Activate(secondaryActivateStatus); |
|
1835 User::WaitForRequest(secondaryActivateStatus); |
|
1836 ASSERT_EQUALS(KErrNone, secondaryActivateStatus.Int()); |
|
1837 ASSERT_EQUALS(RPacketContext::EStatusActivating, contextStatus); |
|
1838 |
|
1839 AssertMockLtsyStatusL(); |
|
1840 |
|
1841 RPacketContext::TContextConfigGPRS* secondarysetConfigGPRSActiveNotifyConfigChanged = new (ELeave)RPacketContext::TContextConfigGPRS(); |
|
1842 CleanupStack::PushL(secondarysetConfigGPRSActiveNotifyConfigChanged); |
|
1843 TPckg<RPacketContext::TContextConfigGPRS> secondarypckgConfigGPRSNotifyConfigChanged(*secondarysetConfigGPRSActiveNotifyConfigChanged); |
|
1844 |
|
1845 secondaryContext.NotifyStatusChange(secondaryActivateStatus, contextStatus); |
|
1846 |
|
1847 User::WaitForRequest(secondaryActivateStatus); |
|
1848 ASSERT_EQUALS(KErrNone, secondaryContextConfigStatus.Int()); |
|
1849 ASSERT_EQUALS(RPacketContext::EStatusActive, contextStatus); |
|
1850 |
|
1851 AssertMockLtsyStatusL(); |
|
1852 |
|
1853 TMockLtsyData1<TInfoName> deactivateSecondaryContextNameData(secondaryContextId); |
|
1854 |
|
1855 data.Close(); |
|
1856 deactivateSecondaryContextNameData.SerialiseL(data); |
|
1857 |
|
1858 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesDeactivatePdpContext::KLtsyDispatchPacketServicesDeactivatePdpContextApiId, data, KErrNone); |
|
1859 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesDeactivatePdpContext::KLtsyDispatchPacketServicesDeactivatePdpContextApiId, KErrNone, data); |
|
1860 |
|
1861 // Deactivate secondary context |
|
1862 TRequestStatus deactivateContextStatus; |
|
1863 secondaryContext.Deactivate(deactivateContextStatus); |
|
1864 User::WaitForRequest(deactivateContextStatus); |
|
1865 ASSERT_EQUALS(KErrNone, deactivateContextStatus.Int()) |
|
1866 |
|
1867 AssertMockLtsyStatusL(); |
|
1868 |
|
1869 TMockLtsyData1<TInfoName> deactivateContextNameData(contextId); |
|
1870 data.Close(); |
|
1871 deactivateContextNameData.SerialiseL(data); |
|
1872 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesDeactivatePdpContext::KLtsyDispatchPacketServicesDeactivatePdpContextApiId, data, KErrNone); |
|
1873 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesDeactivatePdpContext::KLtsyDispatchPacketServicesDeactivatePdpContextApiId, KErrNone, data); |
|
1874 |
|
1875 // Deactivate primary context |
|
1876 packetContext.Deactivate(deactivateContextStatus); |
|
1877 User::WaitForRequest(deactivateContextStatus); |
|
1878 ASSERT_EQUALS(KErrNone, deactivateContextStatus.Int()); |
|
1879 |
|
1880 AssertMockLtsyStatusL(); |
|
1881 |
|
1882 DriverDeleteContextL(secondaryContextId); |
|
1883 DriverDeleteContextL(contextId); |
|
1884 |
|
1885 secondaryPacketQoS.Close(); |
|
1886 packetQoS.Close(); |
|
1887 |
|
1888 secondaryContext.Close(); |
|
1889 packetContext.Close(); |
|
1890 packetService.Close(); |
|
1891 |
|
1892 // Let the mock-LTSY finish up before asserting. |
|
1893 User::After(1000000); |
|
1894 |
|
1895 AssertMockLtsyStatusL(); |
|
1896 |
|
1897 CleanupStack::PopAndDestroy(13, this); |
|
1898 } |
|
1899 |
|
1900 /** |
|
1901 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UC0007 |
|
1902 @SYMComponent telephony_ctsy |
|
1903 @SYMTestCaseDesc Test support in CTSY for activation and modification of a secondary context with two filters and removal of the first filter. |
|
1904 @SYMTestPriority High |
|
1905 @SYMTestActions Invokes RPacketContext::OpenNewContext(), RPacketContext::InitialiseContext(), RPacketContext::SetDefaultContextParams(), RPacketContext::OpenNewSecondaryContext(), RPacketContext::AddPacketFilter(), RPacketContext::ModifyActiveContext() for R97 |
|
1906 @SYMTestExpectedResults Pass |
|
1907 @SYMTestType UT |
|
1908 */ |
|
1909 void CCTsyPacketServicesFU::TestUseCase0007L() |
|
1910 { |
|
1911 OpenEtelServerL(EUseExtendedError); |
|
1912 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1913 OpenPhoneL(); |
|
1914 |
|
1915 RPacketService packetService; |
|
1916 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
1917 RPacketContext packetContext; |
|
1918 |
|
1919 // Open the primary context |
|
1920 TInfoName contextId; |
|
1921 TInt err = packetContext.OpenNewContext(packetService, contextId); |
|
1922 CleanupClosePushL(packetContext); |
|
1923 ASSERT_EQUALS(KErrNone, err); |
|
1924 |
|
1925 TName qosName; |
|
1926 RPacketQoS packetQoS; |
|
1927 packetQoS.OpenNewQoS(packetContext, qosName); |
|
1928 CleanupClosePushL(packetQoS); |
|
1929 |
|
1930 AssertMockLtsyStatusL(); |
|
1931 |
|
1932 // Prepare context configuration for GPRS |
|
1933 RPacketContext::TContextConfigGPRS* setConfigGPRS = new (ELeave) RPacketContext::TContextConfigGPRS(); |
|
1934 CleanupStack::PushL(setConfigGPRS); |
|
1935 setConfigGPRS->iAccessPointName.Copy(KPointNameGPRS); |
|
1936 setConfigGPRS->iPdpType = RPacketContext::EPdpTypeIPv4; |
|
1937 setConfigGPRS->iPdpAddress.Copy(KPdpAddGPRS); |
|
1938 setConfigGPRS->iProtocolConfigOption.iDnsAddresses.iPrimaryDns.Copy(KPrimaryDns); |
|
1939 setConfigGPRS->iProtocolConfigOption.iDnsAddresses.iSecondaryDns.Copy(KSecondaryDns); |
|
1940 setConfigGPRS->iProtocolConfigOption.iAuthInfo.iProtocol = RPacketContext::EProtocolCHAP; |
|
1941 setConfigGPRS->iProtocolConfigOption.iAuthInfo.iUsername.Copy(KUsername); |
|
1942 setConfigGPRS->iProtocolConfigOption.iAuthInfo.iPassword.Copy(KPassword); |
|
1943 setConfigGPRS->iProtocolConfigOption.iId = KRequestID; |
|
1944 setConfigGPRS->iProtocolConfigOption.iMiscBuffer.Copy(KDummyMiscBuffer); |
|
1945 TPckg<RPacketContext::TContextConfigGPRS> pckgConfigGPRS(*setConfigGPRS); |
|
1946 |
|
1947 // Create the PCO buffer |
|
1948 RPacketContext::TMiscProtocolBuffer pcoBuffer; |
|
1949 pcoBuffer.Zero(); |
|
1950 |
|
1951 // Generate a PCO buffer |
|
1952 PCOGeneratorL(setConfigGPRS->iProtocolConfigOption, pcoBuffer); |
|
1953 setConfigGPRS->iProtocolConfigOption.iId = KRequestID; |
|
1954 |
|
1955 DriverInitialiseContextL(); |
|
1956 |
|
1957 RPacketContext::TDataChannelV2* dataChannel = new (ELeave) RPacketContext::TDataChannelV2(); |
|
1958 RPacketContext::TDataChannelV2Pckg dataChannelPk(*dataChannel); |
|
1959 TRequestStatus initialiseContextStatus; |
|
1960 |
|
1961 // Initialise primary context |
|
1962 packetContext.InitialiseContext(initialiseContextStatus,dataChannelPk); |
|
1963 User::WaitForRequest(initialiseContextStatus); |
|
1964 ASSERT_EQUALS(KErrNone, initialiseContextStatus.Int()); |
|
1965 ASSERT_TRUE(dataChannel->iPort == KFirstAllocatedContextName); |
|
1966 ASSERT_TRUE(dataChannel->iChannelId == KDefaultChannelId); // Now deprecated |
|
1967 |
|
1968 AssertMockLtsyStatusL(); |
|
1969 |
|
1970 // Setting default GPRS context parameters. |
|
1971 RPacketContext::TContextConfigGPRS* expContextConfigGprs = new (ELeave) RPacketContext::TContextConfigGPRS(); |
|
1972 expContextConfigGprs->iAccessPointName = KDefaultAccessPoint; |
|
1973 expContextConfigGprs->iPdpType = KDefaultPdpType; |
|
1974 |
|
1975 TMockLtsyData1<RPacketContext::TContextConfigGPRS> expLtsyGprsData(*expContextConfigGprs); |
|
1976 RBuf8 data; |
|
1977 CleanupClosePushL(data); |
|
1978 |
|
1979 expLtsyGprsData.SerialiseL(data); |
|
1980 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetDefaultPdpContextGprsParams::KLtsyDispatchPacketServicesSetDefaultPdpContextGprsParamsApiId, data); |
|
1981 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetDefaultPdpContextGprsParams::KLtsyDispatchPacketServicesSetDefaultPdpContextGprsParamsApiId, KErrNone); |
|
1982 |
|
1983 RPacketContext::TContextConfigGPRS* defaultGprsContextConfig = new (ELeave) RPacketContext::TContextConfigGPRS(); |
|
1984 defaultGprsContextConfig->iAccessPointName = KDefaultAccessPoint; |
|
1985 defaultGprsContextConfig->iPdpType = KDefaultPdpType; |
|
1986 TPckg<RPacketContext::TContextConfigGPRS> defaultContextGprsConfigPckg(*defaultGprsContextConfig); |
|
1987 TRequestStatus setDefaultContextParamsStatus; |
|
1988 packetService.SetDefaultContextParams(setDefaultContextParamsStatus, defaultContextGprsConfigPckg); |
|
1989 User::WaitForRequest(setDefaultContextParamsStatus); |
|
1990 |
|
1991 ASSERT_EQUALS(KErrNone, setDefaultContextParamsStatus.Int()); |
|
1992 |
|
1993 AssertMockLtsyStatusL(); |
|
1994 |
|
1995 DriverSetConfigContextL(contextId, setConfigGPRS->iAccessPointName, setConfigGPRS->iPdpType, setConfigGPRS->iPdpAddress, pcoBuffer); |
|
1996 |
|
1997 // Set configuration for primary context |
|
1998 TRequestStatus setConfigStatus; |
|
1999 packetContext.SetConfig(setConfigStatus, pckgConfigGPRS); |
|
2000 User::WaitForRequest(setConfigStatus); |
|
2001 ASSERT_EQUALS(KErrNone, setConfigStatus.Int()); |
|
2002 |
|
2003 AssertMockLtsyStatusL(); |
|
2004 |
|
2005 RPacketQoS::TQoSGPRSRequested* qosExpectedRequestedGPRSProfile = new (ELeave) RPacketQoS::TQoSGPRSRequested(); |
|
2006 qosExpectedRequestedGPRSProfile->iReqPrecedence = RPacketQoS::EUnspecifiedPrecedence; |
|
2007 qosExpectedRequestedGPRSProfile->iMinPrecedence = RPacketQoS::EUnspecifiedPrecedence; |
|
2008 qosExpectedRequestedGPRSProfile->iReqDelay = RPacketQoS::EDelayClass1; |
|
2009 qosExpectedRequestedGPRSProfile->iMinDelay = RPacketQoS::EUnspecifiedDelayClass; |
|
2010 qosExpectedRequestedGPRSProfile->iReqReliability = RPacketQoS::EUnspecifiedReliabilityClass; |
|
2011 qosExpectedRequestedGPRSProfile->iMinReliability = RPacketQoS::EReliabilityClass1; |
|
2012 qosExpectedRequestedGPRSProfile->iReqPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput; |
|
2013 qosExpectedRequestedGPRSProfile->iMinPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput; |
|
2014 qosExpectedRequestedGPRSProfile->iReqMeanThroughput = RPacketQoS::EUnspecifiedMeanThroughput; |
|
2015 qosExpectedRequestedGPRSProfile->iMinMeanThroughput = RPacketQoS::EMeanThroughput500; |
|
2016 |
|
2017 TMockLtsyData2<TInfoName, RPacketQoS::TQoSGPRSRequested> packetSetConfigGPRSData(contextId, *qosExpectedRequestedGPRSProfile); |
|
2018 data.Close(); |
|
2019 packetSetConfigGPRSData.SerialiseL(data); |
|
2020 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
2021 TMockLtsyData1<TInfoName> callbackSetPdpGPRSContextNameData(contextId); |
|
2022 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
2023 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
2024 |
|
2025 // |
|
2026 // SetProfileParameters for GPRS Configurations |
|
2027 // |
|
2028 |
|
2029 RPacketQoS::TQoSGPRSRequested* qosGPRSRequestedProfile = new (ELeave)RPacketQoS::TQoSGPRSRequested(); |
|
2030 qosGPRSRequestedProfile->iReqPrecedence = RPacketQoS::EUnspecifiedPrecedence; |
|
2031 qosGPRSRequestedProfile->iMinPrecedence = RPacketQoS::EUnspecifiedPrecedence; |
|
2032 qosGPRSRequestedProfile->iReqDelay = RPacketQoS::EDelayClass1; |
|
2033 qosGPRSRequestedProfile->iMinDelay = RPacketQoS::EUnspecifiedDelayClass; |
|
2034 qosGPRSRequestedProfile->iReqReliability = RPacketQoS::EUnspecifiedReliabilityClass; |
|
2035 qosGPRSRequestedProfile->iMinReliability = RPacketQoS::EReliabilityClass1; |
|
2036 qosGPRSRequestedProfile->iReqPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput; |
|
2037 qosGPRSRequestedProfile->iMinPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput; |
|
2038 qosGPRSRequestedProfile->iReqMeanThroughput = RPacketQoS::EUnspecifiedMeanThroughput; |
|
2039 qosGPRSRequestedProfile->iMinMeanThroughput = RPacketQoS::EMeanThroughput500; |
|
2040 TPckg< RPacketQoS::TQoSGPRSRequested > profilePckgGPRS(*qosGPRSRequestedProfile); |
|
2041 |
|
2042 TRequestStatus notifyProfileChangeStatus; |
|
2043 RPacketQoS::TQoSGPRSNegotiated profile; |
|
2044 TPckg<RPacketQoS::TQoSGPRSNegotiated> qosGPRSNegotiatedProfilePk(profile); |
|
2045 packetQoS.NotifyProfileChanged(notifyProfileChangeStatus, qosGPRSNegotiatedProfilePk); |
|
2046 |
|
2047 TRequestStatus requestStatusGPRS; |
|
2048 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
2049 User::WaitForRequest(requestStatusGPRS); |
|
2050 |
|
2051 AssertMockLtsyStatusL(); |
|
2052 |
|
2053 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
2054 |
|
2055 TRequestStatus contextConfigStatus; |
|
2056 RPacketContext::TContextConfigGPRS* setConfigGPRSActiveNotifyConfigChanged = new (ELeave) RPacketContext::TContextConfigGPRS(); |
|
2057 CleanupStack::PushL(setConfigGPRSActiveNotifyConfigChanged); |
|
2058 TPckg<RPacketContext::TContextConfigGPRS> pckgConfigGPRSNotifyConfigChanged(*setConfigGPRSActiveNotifyConfigChanged); |
|
2059 packetContext.NotifyConfigChanged(contextConfigStatus, pckgConfigGPRSNotifyConfigChanged); |
|
2060 |
|
2061 TRequestStatus contextActivatingRequestStatus; |
|
2062 RPacketContext::TContextStatus contextStatus; |
|
2063 packetContext.NotifyStatusChange(contextActivatingRequestStatus, contextStatus); |
|
2064 |
|
2065 TMockLtsyData1<TInfoName> expectedActivateContextNameData(contextId); |
|
2066 data.Close(); |
|
2067 expectedActivateContextNameData.SerialiseL(data); |
|
2068 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesActivatePdpContext::KLtsyDispatchPacketServicesActivatePdpContextApiId, data, KErrNone); |
|
2069 |
|
2070 TMockLtsyData3<TInfoName, RPacketContext::TGSNAddress, RPacketContext::TProtocolType> |
|
2071 completedActivateContextNameData(contextId, setConfigGPRS->iAccessPointName, setConfigGPRS->iPdpType); |
|
2072 data.Close(); |
|
2073 completedActivateContextNameData.SerialiseL(data); |
|
2074 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesActivatePdpContext::KLtsyDispatchPacketServicesActivatePdpContextApiId, KErrNone, data); |
|
2075 |
|
2076 RPacketQoS::TQoSGPRSNegotiated completedProfile; |
|
2077 TMockLtsyData2<TInfoName, RPacketQoS::TQoSGPRSNegotiated> |
|
2078 expLtsyQosProfileChangedInd(contextId, completedProfile); |
|
2079 data.Close(); |
|
2080 expLtsyQosProfileChangedInd.SerialiseL(data); |
|
2081 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
2082 |
|
2083 // Prepare context configuration for GPRS |
|
2084 RPacketContext::TContextConfigGPRS* setConfigGPRSActive = new (ELeave)RPacketContext::TContextConfigGPRS(); |
|
2085 setConfigGPRSActive->iAccessPointName.Copy(KPointNameGPRS); |
|
2086 setConfigGPRSActive->iPdpType = RPacketContext::EPdpTypeIPv4; |
|
2087 setConfigGPRSActive->iPdpCompression = 0; |
|
2088 setConfigGPRSActive->iPdpAddress.Copy(KPdpAddGPRSActive); |
|
2089 |
|
2090 TMockLtsyData5<TInfoName, RPacketContext::TGSNAddress, RPacketContext::TProtocolAddress, TUint, RPacketContext::TMiscProtocolBuffer> |
|
2091 expLtsyProfileChangedInd(contextId, setConfigGPRSActive->iAccessPointName, |
|
2092 setConfigGPRSActive->iPdpAddress, setConfigGPRSActive->iPdpCompression, pcoBuffer); |
|
2093 data.Close(); |
|
2094 expLtsyProfileChangedInd.SerialiseL(data); |
|
2095 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyPdpContextConfigChangedIndId, KErrNone, data); |
|
2096 |
|
2097 // Activate primary context |
|
2098 TRequestStatus activateStatus; |
|
2099 packetContext.Activate(activateStatus); |
|
2100 User::WaitForRequest(activateStatus); |
|
2101 ASSERT_EQUALS(KErrNone, activateStatus.Int()); |
|
2102 ASSERT_EQUALS(RPacketContext::EStatusActivating, contextStatus); |
|
2103 |
|
2104 packetContext.NotifyStatusChange(contextActivatingRequestStatus, contextStatus); |
|
2105 |
|
2106 User::WaitForRequest(contextActivatingRequestStatus); |
|
2107 User::WaitForRequest(contextConfigStatus); |
|
2108 ASSERT_EQUALS(KErrNone, contextConfigStatus.Int()); |
|
2109 ASSERT_EQUALS(RPacketContext::EStatusActive, contextStatus); |
|
2110 |
|
2111 AssertMockLtsyStatusL(); |
|
2112 |
|
2113 //Open Secondary Packet Context |
|
2114 TInfoName secondaryContextId; |
|
2115 RPacketContext secondaryContext; |
|
2116 err = secondaryContext.OpenNewSecondaryContext(packetService, contextId, secondaryContextId); |
|
2117 CleanupClosePushL(secondaryContext); |
|
2118 ASSERT_EQUALS(KErrNone, err); |
|
2119 |
|
2120 AssertMockLtsyStatusL(); |
|
2121 |
|
2122 DriverInitialiseContextL(contextId, secondaryContextId); |
|
2123 |
|
2124 RPacketContext::TDataChannelV2* secondDataChannel = new (ELeave) RPacketContext::TDataChannelV2(); |
|
2125 RPacketContext::TDataChannelV2Pckg* secondDataChannelPk = new (ELeave) RPacketContext::TDataChannelV2Pckg (*secondDataChannel); |
|
2126 TRequestStatus secondInitialiseContextStatus; |
|
2127 |
|
2128 // Initialise secondary context |
|
2129 secondaryContext.InitialiseContext(secondInitialiseContextStatus, *secondDataChannelPk); |
|
2130 User::WaitForRequest(secondInitialiseContextStatus); |
|
2131 ASSERT_EQUALS(KErrNone, secondInitialiseContextStatus.Int()); |
|
2132 ASSERT_TRUE(dataChannel->iPort == KFirstAllocatedContextName); |
|
2133 ASSERT_TRUE(secondDataChannel->iChannelId == KSecondaryContextChannelId); // Now deprecated |
|
2134 |
|
2135 AssertMockLtsyStatusL(); |
|
2136 |
|
2137 // Open QoS for secondaty context |
|
2138 RPacketQoS secondaryPacketQoS; |
|
2139 secondaryPacketQoS.OpenNewQoS(secondaryContext, secondaryContextId); |
|
2140 CleanupClosePushL(secondaryPacketQoS); |
|
2141 |
|
2142 RPacketQoS::TQoSGPRSRequested* qosExpectedRequestedGPRSProfileSecondaryContext = new (ELeave) RPacketQoS::TQoSGPRSRequested(); |
|
2143 qosExpectedRequestedGPRSProfileSecondaryContext->iMinMeanThroughput = RPacketQoS::EMeanThroughput500; |
|
2144 TMockLtsyData2<TInfoName, RPacketQoS::TQoSGPRSRequested> packetSetConfigGPRSDataSecondaryContext(secondaryContextId, *qosExpectedRequestedGPRSProfileSecondaryContext); |
|
2145 data.Close(); |
|
2146 packetSetConfigGPRSDataSecondaryContext.SerialiseL(data); |
|
2147 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
2148 |
|
2149 TMockLtsyData1<TInfoName> callbackSetPdpGPRSContextNameDataSecondaryContext(secondaryContextId); |
|
2150 callbackSetPdpGPRSContextNameDataSecondaryContext.SerialiseL(data); |
|
2151 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
2152 |
|
2153 // Define QoS params for secondaty context |
|
2154 RPacketQoS::TQoSGPRSRequested qosGPRSRequestedProfilesecondaryPacket; |
|
2155 qosGPRSRequestedProfilesecondaryPacket.iMinMeanThroughput = RPacketQoS::EMeanThroughput500; |
|
2156 TPckg<RPacketQoS::TQoSGPRSRequested> qosGPRSRequestedProfilePk(qosGPRSRequestedProfilesecondaryPacket); |
|
2157 |
|
2158 // Set QoS Params GPRS for secondaty context |
|
2159 TRequestStatus setProfileParametersSt; |
|
2160 secondaryPacketQoS.SetProfileParameters(setProfileParametersSt, qosGPRSRequestedProfilePk); |
|
2161 User::WaitForRequest(setProfileParametersSt); |
|
2162 ASSERT_EQUALS(KErrNone, setProfileParametersSt.Int()); |
|
2163 |
|
2164 AssertMockLtsyStatusL(); |
|
2165 |
|
2166 RPacketContext::TPacketFilterV2* packetFilterV2 = new (ELeave) RPacketContext::TPacketFilterV2(); |
|
2167 CleanupStack::PushL(packetFilterV2); |
|
2168 packetFilterV2->iId = 1; |
|
2169 packetFilterV2->iEvaluationPrecedenceIndex = 100; |
|
2170 packetFilterV2->iDestPortMax = 4001; |
|
2171 packetFilterV2->iDestPortMin = 4000; |
|
2172 RPacketContext::TPacketFilterV2Pckg packetFilterV2Pckg(*packetFilterV2); |
|
2173 CArrayFixFlat<RPacketContext::TPacketFilterV2>* filterTemporaryArray = new ( ELeave ) CArrayFixFlat<RPacketContext::TPacketFilterV2>( 1 ); |
|
2174 CleanupStack::PushL(filterTemporaryArray); |
|
2175 filterTemporaryArray->AppendL( *packetFilterV2 ); |
|
2176 |
|
2177 TMockLtsyData2<TInfoName, CArrayFixFlat<RPacketContext::TPacketFilterV2>*> expectedAddFilterContextNameData(secondaryContextId, filterTemporaryArray); |
|
2178 data.Close(); |
|
2179 expectedAddFilterContextNameData.SerialiseL(data); |
|
2180 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesAddPacketFilter::KLtsyDispatchPacketServicesAddPacketFilterApiId, data, KErrNone); |
|
2181 |
|
2182 TMockLtsyData1<TInfoName> callbackContextIdData(secondaryContextId); |
|
2183 data.Close(); |
|
2184 callbackContextIdData.SerialiseL(data); |
|
2185 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextConfig::KLtsyDispatchPacketServicesSetPdpContextConfigApiId, KErrNone, data); |
|
2186 |
|
2187 // Add filter to secondary filter |
|
2188 TRequestStatus addPacketFilterStatus; |
|
2189 secondaryContext.AddPacketFilter(addPacketFilterStatus, packetFilterV2Pckg); |
|
2190 User::WaitForRequest(addPacketFilterStatus); |
|
2191 ASSERT_EQUALS(KErrNone, addPacketFilterStatus.Int()); |
|
2192 |
|
2193 AssertMockLtsyStatusL(); |
|
2194 |
|
2195 // Prepare second filter |
|
2196 packetFilterV2->iId = 2; |
|
2197 filterTemporaryArray->AppendL(*packetFilterV2); |
|
2198 |
|
2199 TMockLtsyData2<TInfoName, CArrayFixFlat<RPacketContext::TPacketFilterV2>*> expectedAddSecondFilterContextNameData(secondaryContextId, filterTemporaryArray); |
|
2200 data.Close(); |
|
2201 expectedAddSecondFilterContextNameData.SerialiseL(data); |
|
2202 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesAddPacketFilter::KLtsyDispatchPacketServicesAddPacketFilterApiId, data, KErrNone); |
|
2203 |
|
2204 TMockLtsyData1<TInfoName> callbackSecondContextIdData(secondaryContextId); |
|
2205 data.Close(); |
|
2206 callbackSecondContextIdData.SerialiseL(data); |
|
2207 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextConfig::KLtsyDispatchPacketServicesSetPdpContextConfigApiId, KErrNone, data); |
|
2208 |
|
2209 // Add a second filter to the secondary filter |
|
2210 secondaryContext.AddPacketFilter(addPacketFilterStatus, packetFilterV2Pckg); |
|
2211 User::WaitForRequest(addPacketFilterStatus); |
|
2212 ASSERT_EQUALS(KErrNone, addPacketFilterStatus.Int()); |
|
2213 |
|
2214 AssertMockLtsyStatusL(); |
|
2215 |
|
2216 TMockLtsyData1<TInfoName> secondaryExpectedActivateContextNameData(secondaryContextId); |
|
2217 data.Close(); |
|
2218 secondaryExpectedActivateContextNameData.SerialiseL(data); |
|
2219 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesActivatePdpContext::KLtsyDispatchPacketServicesActivatePdpContextApiId, data, KErrNone); |
|
2220 TMockLtsyData3<TInfoName, RPacketContext::TGSNAddress, RPacketContext::TProtocolType> |
|
2221 secondaryCompletedActivateContextNameData(secondaryContextId, setConfigGPRS->iAccessPointName, setConfigGPRS->iPdpType); |
|
2222 data.Close(); |
|
2223 secondaryCompletedActivateContextNameData.SerialiseL(data); |
|
2224 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesActivatePdpContext::KLtsyDispatchPacketServicesActivatePdpContextApiId, KErrNone, data); |
|
2225 |
|
2226 RPacketContext::TContextConfigGPRS* setSecondaryConfigGPRSActiveNotifyConfigChanged = new (ELeave)RPacketContext::TContextConfigGPRS(); |
|
2227 CleanupStack::PushL(setSecondaryConfigGPRSActiveNotifyConfigChanged); |
|
2228 TPckg<RPacketContext::TContextConfigGPRS> pckgConfigGPRSNotifySecondaryConfigChanged(*setSecondaryConfigGPRSActiveNotifyConfigChanged); |
|
2229 |
|
2230 TRequestStatus secondaryContextConfigStatus; |
|
2231 secondaryContext.NotifyConfigChanged(secondaryContextConfigStatus, pckgConfigGPRSNotifySecondaryConfigChanged); |
|
2232 |
|
2233 TRequestStatus secondaryContextActivatingRequestStatus; |
|
2234 RPacketContext::TContextStatus secondaryContextStatus; |
|
2235 secondaryContext.NotifyStatusChange(secondaryContextActivatingRequestStatus, secondaryContextStatus); |
|
2236 |
|
2237 // Prepare context configuration for GPRS |
|
2238 RPacketContext::TContextConfigGPRS* secondarySetConfigGPRSActive = new (ELeave)RPacketContext::TContextConfigGPRS(); |
|
2239 CleanupStack::PushL(secondarySetConfigGPRSActive); |
|
2240 secondarySetConfigGPRSActive->iAccessPointName.Copy(KPointNameGPRS); |
|
2241 secondarySetConfigGPRSActive->iPdpType = RPacketContext::EPdpTypeIPv4; |
|
2242 secondarySetConfigGPRSActive->iPdpCompression = 1; |
|
2243 secondarySetConfigGPRSActive->iPdpAddress.Copy(KPdpAddGPRSActive); |
|
2244 |
|
2245 TMockLtsyData5<TInfoName, RPacketContext::TGSNAddress, RPacketContext::TProtocolAddress, TUint, RPacketContext::TMiscProtocolBuffer> |
|
2246 secondaryexpLtsyProfileChangedInd(secondaryContextId, secondarySetConfigGPRSActive->iAccessPointName, |
|
2247 secondarySetConfigGPRSActive->iPdpAddress, secondarySetConfigGPRSActive->iPdpCompression, pcoBuffer); |
|
2248 data.Close(); |
|
2249 secondaryexpLtsyProfileChangedInd.SerialiseL(data); |
|
2250 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyPdpContextConfigChangedIndId, KErrNone, data); |
|
2251 |
|
2252 // Activate secondary context. |
|
2253 TRequestStatus secondaryActivateStatus; |
|
2254 secondaryContext.Activate(secondaryActivateStatus); |
|
2255 User::WaitForRequest(secondaryActivateStatus); |
|
2256 ASSERT_EQUALS(RPacketContext::EStatusActivating, secondaryContextStatus); |
|
2257 |
|
2258 AssertMockLtsyStatusL(); |
|
2259 |
|
2260 secondaryContext.NotifyStatusChange(secondaryContextActivatingRequestStatus, secondaryContextStatus); |
|
2261 User::WaitForRequest(secondaryContextActivatingRequestStatus); |
|
2262 ASSERT_EQUALS(KErrNone, secondaryContextConfigStatus.Int()); |
|
2263 ASSERT_EQUALS(RPacketContext::EStatusActive, secondaryContextStatus); |
|
2264 |
|
2265 AssertMockLtsyStatusL(); |
|
2266 |
|
2267 // ModifyActiveContext pass test |
|
2268 TInt8 KRejectionCodePass = 0; |
|
2269 TInt8 KRejectionCodeFail = 1; |
|
2270 |
|
2271 TMockLtsyData1<TInfoName> |
|
2272 modifyActiveContextNameData(secondaryContextId); |
|
2273 data.Close(); |
|
2274 modifyActiveContextNameData.SerialiseL(data); |
|
2275 |
|
2276 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesModifyActivePdpContext::KLtsyDispatchPacketServicesModifyActivePdpContextApiId, data, KErrNone); |
|
2277 |
|
2278 TMockLtsyData2<TInfoName, TInt8> completeModifyActiveContextData(secondaryContextId, KRejectionCodePass); // Context name and rejection code |
|
2279 data.Close(); |
|
2280 completeModifyActiveContextData.SerialiseL(data); |
|
2281 |
|
2282 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesModifyActivePdpContext::KLtsyDispatchPacketServicesModifyActivePdpContextApiId, KErrNone, data); |
|
2283 |
|
2284 // Request modification, modification should be successful |
|
2285 TRequestStatus modifyActiveContextStatus; |
|
2286 secondaryContext.ModifyActiveContext(modifyActiveContextStatus); |
|
2287 User::WaitForRequest(modifyActiveContextStatus); |
|
2288 ASSERT_EQUALS(KErrNone, modifyActiveContextStatus.Int()); |
|
2289 |
|
2290 AssertMockLtsyStatusL(); |
|
2291 |
|
2292 TMockLtsyData1<TInfoName> |
|
2293 failedModifyActiveContextNameData(secondaryContextId); |
|
2294 data.Close(); |
|
2295 failedModifyActiveContextNameData.SerialiseL(data); |
|
2296 |
|
2297 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesModifyActivePdpContext::KLtsyDispatchPacketServicesModifyActivePdpContextApiId, data, KErrNone); |
|
2298 TMockLtsyData2<TInfoName, TInt8 > |
|
2299 completeFailedModifyActiveContextData(secondaryContextId, KRejectionCodeFail); // Context name and rejection code |
|
2300 data.Close(); |
|
2301 completeFailedModifyActiveContextData.SerialiseL(data); |
|
2302 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesModifyActivePdpContext::KLtsyDispatchPacketServicesModifyActivePdpContextApiId, KErrGeneral, data); |
|
2303 |
|
2304 // Request second modification, should fail |
|
2305 secondaryContext.ModifyActiveContext(modifyActiveContextStatus); |
|
2306 User::WaitForRequest(modifyActiveContextStatus); |
|
2307 ASSERT_EQUALS(KErrGeneral, modifyActiveContextStatus.Int()); |
|
2308 |
|
2309 AssertMockLtsyStatusL(); |
|
2310 |
|
2311 // Remove packet filter |
|
2312 TInt filterId = 2; |
|
2313 TMockLtsyData2<TInfoName, TInt > expectedRemoveSecondFilterContextNameData(secondaryContextId, filterId); |
|
2314 data.Close(); |
|
2315 expectedRemoveSecondFilterContextNameData.SerialiseL(data); |
|
2316 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesRemovePacketFilter::KLtsyDispatchPacketServicesRemovePacketFilterApiId, data, KErrNone); |
|
2317 |
|
2318 TMockLtsyData1<TInfoName> callbackRemoveFilterData(secondaryContextId); |
|
2319 data.Close(); |
|
2320 callbackRemoveFilterData.SerialiseL(data); |
|
2321 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextConfig::KLtsyDispatchPacketServicesSetPdpContextConfigApiId, KErrNone, data); |
|
2322 |
|
2323 //------------------------------------------------------------------------- |
|
2324 // TEST Successful completion request of |
|
2325 // RPacketContext::ModifyActiveContext with removal of first filter |
|
2326 //------------------------------------------------------------------------- |
|
2327 TRequestStatus removeFilterRequestStatus; |
|
2328 secondaryContext.RemovePacketFilter(removeFilterRequestStatus, filterId); |
|
2329 User::WaitForRequest(removeFilterRequestStatus); |
|
2330 ASSERT_EQUALS(KErrNone, removeFilterRequestStatus.Int()); |
|
2331 AssertMockLtsyStatusL(); |
|
2332 |
|
2333 TMockLtsyData1<TInfoName> removeFilterModifyActiveContextNameData(secondaryContextId); |
|
2334 data.Close(); |
|
2335 removeFilterModifyActiveContextNameData.SerialiseL(data); |
|
2336 |
|
2337 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesModifyActivePdpContext::KLtsyDispatchPacketServicesModifyActivePdpContextApiId, data, KErrNone); |
|
2338 |
|
2339 TMockLtsyData2<TInfoName, TInt8 > |
|
2340 completeRemoveFilterModifyActiveContextData(secondaryContextId, KRejectionCodePass); // Context name and rejection code |
|
2341 data.Close(); |
|
2342 completeRemoveFilterModifyActiveContextData.SerialiseL(data); |
|
2343 |
|
2344 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesModifyActivePdpContext::KLtsyDispatchPacketServicesModifyActivePdpContextApiId, KErrNone, data); |
|
2345 |
|
2346 secondaryContext.ModifyActiveContext(modifyActiveContextStatus); |
|
2347 User::WaitForRequest(modifyActiveContextStatus); |
|
2348 ASSERT_EQUALS(KErrNone, modifyActiveContextStatus.Int()); |
|
2349 |
|
2350 AssertMockLtsyStatusL(); |
|
2351 |
|
2352 DriverDeleteContextL(contextId); |
|
2353 DriverDeleteContextL(secondaryContextId); |
|
2354 |
|
2355 secondaryContext.Close(); |
|
2356 packetContext.Close(); |
|
2357 |
|
2358 packetQoS.Close(); |
|
2359 packetService.Close(); |
|
2360 secondaryPacketQoS.Close(); |
|
2361 |
|
2362 // Let the mock-LTSY finish up before asserting. |
|
2363 User::After(1000000); |
|
2364 |
|
2365 AssertMockLtsyStatusL(); |
|
2366 |
|
2367 CleanupStack::PopAndDestroy(13, this); // secondarySetConfigGPRSActive, setSecondaryConfigGPRSActiveNotifyConfigChanged, secondarysetConfigGPRSActiveNotifyConfigChanged, |
|
2368 //filterTemporaryArray, packetFilterV2, secondaryPacketQoS, secondaryContext, setConfigGPRSActive, setConfigGPRSActiveNotifyConfigChanged |
|
2369 //data, setConfigGPRS, packetQoS, packetContext, packetService, this |
|
2370 } |
|
2371 |
|
2372 // |
|
2373 // Unit Tests |
|
2374 // |
|
2375 |
|
2376 /** |
|
2377 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN0001 |
|
2378 @SYMComponent telephony_ctsy |
|
2379 @SYMTestCaseDesc Test support in CTSY for SetDefaultContextParams |
|
2380 @SYMTestPriority High |
|
2381 @SYMTestActions Invokes SetDefaultContextParams only for GPRS, R99 and CDMA |
|
2382 @SYMTestExpectedResults Pass |
|
2383 @SYMTestType UT |
|
2384 */ |
|
2385 |
|
2386 void CCTsyPacketServicesFU::TestUnit0001L() |
|
2387 { |
|
2388 OpenEtelServerL(EUseExtendedError); |
|
2389 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2390 OpenPhoneL(); |
|
2391 |
|
2392 RPacketService packetService; |
|
2393 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
2394 |
|
2395 RBuf8 data; |
|
2396 CleanupClosePushL(data); |
|
2397 |
|
2398 RPacketContext::TContextConfigGPRS expContextConfigGprs; |
|
2399 expContextConfigGprs.iAccessPointName = KDefaultAccessPoint; |
|
2400 expContextConfigGprs.iPdpType = KDefaultPdpType; |
|
2401 |
|
2402 TMockLtsyData1<RPacketContext::TContextConfigGPRS> expLtsyGprsData(expContextConfigGprs); |
|
2403 data.Close(); |
|
2404 expLtsyGprsData.SerialiseL(data); |
|
2405 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetDefaultPdpContextGprsParams::KLtsyDispatchPacketServicesSetDefaultPdpContextGprsParamsApiId, data); |
|
2406 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetDefaultPdpContextGprsParams::KLtsyDispatchPacketServicesSetDefaultPdpContextGprsParamsApiId, KErrNone); |
|
2407 |
|
2408 /* Client side test */ |
|
2409 RPacketContext::TContextConfigGPRS defaultGprsContextConfig; |
|
2410 defaultGprsContextConfig.iAccessPointName = KDefaultAccessPoint; |
|
2411 defaultGprsContextConfig.iPdpType = KDefaultPdpType; |
|
2412 TPckg<RPacketContext::TContextConfigGPRS> defaultContextGprsConfigPckg(defaultGprsContextConfig); |
|
2413 TRequestStatus setDefaultContextParamsStatus; |
|
2414 packetService.SetDefaultContextParams(setDefaultContextParamsStatus, defaultContextGprsConfigPckg); |
|
2415 User::WaitForRequest(setDefaultContextParamsStatus); |
|
2416 |
|
2417 ASSERT_EQUALS(KErrNone, setDefaultContextParamsStatus.Int()); |
|
2418 |
|
2419 RPacketContext::TContextConfigR99_R4 expContextConfigR99R4; |
|
2420 expContextConfigGprs.iAccessPointName = KDefaultAccessPoint; |
|
2421 expContextConfigGprs.iPdpType = KDefaultPdpType; |
|
2422 |
|
2423 TMockLtsyData1<RPacketContext::TContextConfigR99_R4> expLtsyR99R4Data(expContextConfigR99R4); |
|
2424 data.Close(); |
|
2425 expLtsyR99R4Data.SerialiseL(data); |
|
2426 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetDefaultPdpContextR99R4Params::KLtsyDispatchPacketServicesSetDefaultPdpContextR99R4ParamsApiId, data); |
|
2427 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetDefaultPdpContextR99R4Params::KLtsyDispatchPacketServicesSetDefaultPdpContextR99R4ParamsApiId, KErrNone); |
|
2428 |
|
2429 /* Client side test */ |
|
2430 RPacketContext::TContextConfigR99_R4 defaultR99R4ContextConfig; |
|
2431 defaultR99R4ContextConfig.iAccessPointName = KDefaultAccessPoint; |
|
2432 defaultR99R4ContextConfig.iPdpType = KDefaultPdpType; |
|
2433 TPckg<RPacketContext::TContextConfigR99_R4> defaultContextR99R4ConfigPckg(defaultR99R4ContextConfig); |
|
2434 packetService.SetDefaultContextParams(setDefaultContextParamsStatus, defaultContextR99R4ConfigPckg); |
|
2435 User::WaitForRequest(setDefaultContextParamsStatus); |
|
2436 |
|
2437 ASSERT_EQUALS(KErrNone, setDefaultContextParamsStatus.Int()); |
|
2438 |
|
2439 RPacketContext::TContextConfigCDMA expContextConfigCDMA; |
|
2440 expContextConfigCDMA.iServiceOption = KDefaultServiceOption; |
|
2441 expContextConfigCDMA.iProtocolType = KDefaultPdpType; |
|
2442 |
|
2443 TMockLtsyData1<RPacketContext::TContextConfigCDMA> expLtsyCDMAData(expContextConfigCDMA); |
|
2444 data.Close(); |
|
2445 expLtsyCDMAData.SerialiseL(data); |
|
2446 |
|
2447 /* Client side test */ |
|
2448 RPacketContext::TContextConfigCDMA defaultCDMAContextConfig; |
|
2449 defaultCDMAContextConfig.iServiceOption = KDefaultServiceOption; |
|
2450 defaultCDMAContextConfig.iProtocolType = KDefaultPdpType; |
|
2451 TPckg<RPacketContext::TContextConfigCDMA> defaultContextCDMAConfigPckg(defaultCDMAContextConfig); |
|
2452 packetService.SetDefaultContextParams(setDefaultContextParamsStatus, defaultContextCDMAConfigPckg); |
|
2453 User::WaitForRequest(setDefaultContextParamsStatus); |
|
2454 |
|
2455 ASSERT_EQUALS(KErrArgument, setDefaultContextParamsStatus.Int()); |
|
2456 |
|
2457 AssertMockLtsyStatusL(); |
|
2458 CleanupStack::PopAndDestroy(3, this); // data, packetService, this |
|
2459 } |
|
2460 |
|
2461 /** |
|
2462 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN0002 |
|
2463 @SYMComponent telephony_ctsy |
|
2464 @SYMTestCaseDesc Test support in CTSY for InitialiseContext with port |
|
2465 @SYMTestPriority High |
|
2466 @SYMTestActions Invokes InitialiseContext only, successfully obtaining the port |
|
2467 @SYMTestExpectedResults Pass |
|
2468 @SYMTestType UT |
|
2469 */ |
|
2470 void CCTsyPacketServicesFU::TestUnit0002L() |
|
2471 { |
|
2472 OpenEtelServerL(EUseExtendedError); |
|
2473 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2474 OpenPhoneL(); |
|
2475 |
|
2476 RPacketService packetService; |
|
2477 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
2478 |
|
2479 RBuf8 data; |
|
2480 CleanupClosePushL(data); |
|
2481 |
|
2482 //Open a New Packet Context |
|
2483 RPacketContext packetContext; |
|
2484 CleanupClosePushL(packetContext); |
|
2485 TName contextName; |
|
2486 TInt err = packetContext.OpenNewContext(packetService,contextName); |
|
2487 |
|
2488 ASSERT_EQUALS(KErrNone, err); |
|
2489 |
|
2490 TInfoName primaryContext; |
|
2491 TInfoName secondaryContext; |
|
2492 primaryContext.Copy(KFirstAllocatedContextName); |
|
2493 secondaryContext.Copy(KDefaultContextName); |
|
2494 |
|
2495 //------------------------------------------------------------------------- |
|
2496 // TEST A: failure to dispatch request to LTSY |
|
2497 //------------------------------------------------------------------------- |
|
2498 TMockLtsyData2<TInfoName, TInfoName> expLtsyContextNamesData2(primaryContext, secondaryContext); |
|
2499 data.Close(); |
|
2500 expLtsyContextNamesData2.SerialiseL(data); |
|
2501 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesInitialisePdpContext::KLtsyDispatchPacketServicesInitialisePdpContextApiId, data, KErrNotSupported); |
|
2502 |
|
2503 //Client side test |
|
2504 RPacketContext::TDataChannelV2 dataChannel; |
|
2505 RPacketContext::TDataChannelV2Pckg dataChannelPk(dataChannel); |
|
2506 TRequestStatus initialiseContextStatus; |
|
2507 |
|
2508 packetContext.InitialiseContext(initialiseContextStatus,dataChannelPk); |
|
2509 User::WaitForRequest(initialiseContextStatus); |
|
2510 |
|
2511 ASSERT_EQUALS(KErrNotSupported, initialiseContextStatus.Int()); |
|
2512 |
|
2513 AssertMockLtsyStatusL(); |
|
2514 //------------------------------------------------------------------------- |
|
2515 // TEST B: failure on completion of pending request from LTSY->CTSY |
|
2516 //------------------------------------------------------------------------- |
|
2517 |
|
2518 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesInitialisePdpContext::KLtsyDispatchPacketServicesInitialisePdpContextApiId, data, KErrNone); |
|
2519 |
|
2520 TDesC* contextNamePtr = &primaryContext; |
|
2521 TDesC* channelIdPtr = const_cast<TDesC*>(&KDefaultChannelId); |
|
2522 TMockLtsyData2<TDesC*, TDesC*> expLtsyContextNameAndChannelData(contextNamePtr, channelIdPtr); |
|
2523 data.Close(); |
|
2524 expLtsyContextNameAndChannelData.SerialiseL(data); |
|
2525 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesInitialisePdpContext::KLtsyDispatchPacketServicesInitialisePdpContextApiId, KErrNotSupported, data); |
|
2526 |
|
2527 //Client side test |
|
2528 packetContext.InitialiseContext(initialiseContextStatus,dataChannelPk); |
|
2529 User::WaitForRequest(initialiseContextStatus); |
|
2530 |
|
2531 ASSERT_EQUALS(KErrNotSupported, initialiseContextStatus.Int()); |
|
2532 AssertMockLtsyStatusL(); |
|
2533 |
|
2534 //------------------------------------------------------------------------- |
|
2535 // TEST C: Successful completion request of |
|
2536 // RPacketContext::InitialiseContext |
|
2537 //------------------------------------------------------------------------- |
|
2538 |
|
2539 TMockLtsyData2<TInfoName, TInfoName> expLtsyContextNamesData3(primaryContext, secondaryContext); |
|
2540 data.Close(); |
|
2541 expLtsyContextNamesData3.SerialiseL(data); |
|
2542 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesInitialisePdpContext::KLtsyDispatchPacketServicesInitialisePdpContextApiId, data); |
|
2543 |
|
2544 TMockLtsyData2<TDesC*, TDesC*> expLtsyContextNameAndChannelData2(contextNamePtr, channelIdPtr); |
|
2545 data.Close(); |
|
2546 expLtsyContextNameAndChannelData2.SerialiseL(data); |
|
2547 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesInitialisePdpContext::KLtsyDispatchPacketServicesInitialisePdpContextApiId, KErrNone, data); |
|
2548 |
|
2549 //Client side test |
|
2550 packetContext.InitialiseContext(initialiseContextStatus,dataChannelPk); |
|
2551 User::WaitForRequest(initialiseContextStatus); |
|
2552 |
|
2553 ASSERT_EQUALS(KErrNone, initialiseContextStatus.Int()); |
|
2554 ASSERT_TRUE(dataChannel.iPort == KFirstAllocatedContextName); |
|
2555 ASSERT_TRUE(dataChannel.iChannelId == KDefaultChannelId); // Now deprecated |
|
2556 |
|
2557 AssertMockLtsyStatusL(); |
|
2558 //------------------------------------------------------------------------- |
|
2559 // TEST E: Unsolicited completion of RPacketContext::InitialiseContext |
|
2560 // from LTSY. |
|
2561 //------------------------------------------------------------------------- |
|
2562 |
|
2563 TRequestStatus terminatedStatus; |
|
2564 iMockLTSY.NotifyTerminated(terminatedStatus); |
|
2565 |
|
2566 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesInitialisePdpContext::KLtsyDispatchPacketServicesInitialisePdpContextApiId, KErrNone, data); |
|
2567 |
|
2568 //Client side test |
|
2569 User::WaitForRequest(terminatedStatus); |
|
2570 ASSERT_EQUALS(KErrNone, initialiseContextStatus.Int()); |
|
2571 |
|
2572 DriverDeleteContextL(primaryContext); |
|
2573 |
|
2574 packetContext.Close(); |
|
2575 AssertMockLtsyStatusL(); |
|
2576 |
|
2577 //------------------------------------------------------------------------- |
|
2578 // TEST F: Coverage test(s) for RPacketContext::InitialiseContext |
|
2579 //------------------------------------------------------------------------- |
|
2580 |
|
2581 // Open two contexts and attempt to issue multiple initialise context requests |
|
2582 |
|
2583 //Open a New Packet Context |
|
2584 CleanupClosePushL(packetContext); |
|
2585 err = packetContext.OpenNewContext(packetService,contextName); |
|
2586 ASSERT_EQUALS(KErrNone, err); |
|
2587 |
|
2588 //Open a New Packet Context 2 |
|
2589 RPacketContext packetContext2; |
|
2590 CleanupClosePushL(packetContext2); |
|
2591 err = packetContext2.OpenNewContext(packetService,contextName); |
|
2592 ASSERT_EQUALS(KErrNone, err); |
|
2593 |
|
2594 TInfoName primaryContext2; |
|
2595 primaryContext.Copy(KSecondAllocatedContextName); |
|
2596 primaryContext2.Copy(KThirdAllocatedContextName); |
|
2597 |
|
2598 TMockLtsyData2<TInfoName, TInfoName> expLtsyContextNamesData4(primaryContext, secondaryContext); |
|
2599 data.Close(); |
|
2600 expLtsyContextNamesData4.SerialiseL(data); |
|
2601 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesInitialisePdpContext::KLtsyDispatchPacketServicesInitialisePdpContextApiId, data); |
|
2602 |
|
2603 packetContext.InitialiseContext(initialiseContextStatus,dataChannelPk); |
|
2604 |
|
2605 TRequestStatus initialiseContextStatus2; |
|
2606 |
|
2607 /* This request is queued by ETEL as being a duplicate and does not reach the C-TSY at this point */ |
|
2608 packetContext2.InitialiseContext(initialiseContextStatus2,dataChannelPk); |
|
2609 |
|
2610 TMockLtsyData2<TDesC*, TDesC*> expLtsyContextNameAndChannelData3(contextNamePtr, channelIdPtr); |
|
2611 data.Close(); |
|
2612 expLtsyContextNameAndChannelData3.SerialiseL(data); |
|
2613 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesInitialisePdpContext::KLtsyDispatchPacketServicesInitialisePdpContextApiId, KErrNone, data); |
|
2614 |
|
2615 TMockLtsyData2<TInfoName, TInfoName> expLtsyContextNamesData5(primaryContext2, secondaryContext); |
|
2616 data.Close(); |
|
2617 expLtsyContextNamesData5.SerialiseL(data); |
|
2618 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesInitialisePdpContext::KLtsyDispatchPacketServicesInitialisePdpContextApiId, data); |
|
2619 |
|
2620 User::WaitForRequest(initialiseContextStatus); |
|
2621 |
|
2622 contextNamePtr = &primaryContext2; |
|
2623 TMockLtsyData2<TDesC*, TDesC*> expLtsyContextNameAndChannelData4(contextNamePtr, channelIdPtr); |
|
2624 data.Close(); |
|
2625 expLtsyContextNameAndChannelData4.SerialiseL(data); |
|
2626 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesInitialisePdpContext::KLtsyDispatchPacketServicesInitialisePdpContextApiId, KErrNone, data); |
|
2627 |
|
2628 User::WaitForRequest(initialiseContextStatus2); |
|
2629 |
|
2630 ASSERT_EQUALS(KErrNone, initialiseContextStatus.Int()); |
|
2631 ASSERT_EQUALS(KErrNone, initialiseContextStatus2.Int()); |
|
2632 |
|
2633 DriverDeleteContextL(primaryContext2); |
|
2634 packetContext2.Close(); |
|
2635 |
|
2636 DriverDeleteContextL(primaryContext); |
|
2637 packetContext.Close(); |
|
2638 |
|
2639 // Let the mock-LTSY finish up before asserting. |
|
2640 User::After(1000000); |
|
2641 |
|
2642 AssertMockLtsyStatusL(); |
|
2643 CleanupStack::PopAndDestroy(6, this); // packetContext2, packetContext, packetContext, data, packetService, this |
|
2644 } |
|
2645 |
|
2646 /** |
|
2647 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN0003 |
|
2648 @SYMComponent telephony_ctsy |
|
2649 @SYMTestCaseDesc Test support in CTSY for InitialiseContext with port |
|
2650 @SYMTestPriority High |
|
2651 @SYMTestActions Invokes InitialiseContext only, allows it to timeout |
|
2652 @SYMTestExpectedResults Pass |
|
2653 @SYMTestType UT |
|
2654 */ |
|
2655 void CCTsyPacketServicesFU::TestUnit0003L() |
|
2656 { |
|
2657 OpenEtelServerL(EUseExtendedError); |
|
2658 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2659 OpenPhoneL(); |
|
2660 |
|
2661 RPacketService packetService; |
|
2662 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
2663 |
|
2664 RBuf8 data; |
|
2665 CleanupClosePushL(data); |
|
2666 |
|
2667 //Open a New Packet Context |
|
2668 RPacketContext packetContext; |
|
2669 CleanupClosePushL(packetContext); |
|
2670 TName contextName; |
|
2671 TInt err = packetContext.OpenNewContext(packetService,contextName); |
|
2672 |
|
2673 ASSERT_EQUALS(KErrNone, err); |
|
2674 |
|
2675 TInfoName primaryContext; |
|
2676 TInfoName secondaryContext; |
|
2677 primaryContext.Copy(KFirstAllocatedContextName); |
|
2678 secondaryContext.Copy(KDefaultContextName); |
|
2679 |
|
2680 //------------------------------------------------------------------------- |
|
2681 // TEST: timeout on completion of pending request from LTSY->CTSY |
|
2682 //------------------------------------------------------------------------- |
|
2683 TMockLtsyData2<TInfoName, TInfoName> expLtsyContextNamesData2(primaryContext, secondaryContext); |
|
2684 data.Close(); |
|
2685 expLtsyContextNamesData2.SerialiseL(data); |
|
2686 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesInitialisePdpContext::KLtsyDispatchPacketServicesInitialisePdpContextApiId, data); |
|
2687 |
|
2688 RPacketContext::TDataChannelV2 dataChannel; |
|
2689 RPacketContext::TDataChannelV2Pckg dataChannelPk(dataChannel); |
|
2690 TRequestStatus initialiseContextStatus; |
|
2691 |
|
2692 //Deliberately leave out the Complete in order to induce a timeout |
|
2693 |
|
2694 //Client side test |
|
2695 packetContext.InitialiseContext(initialiseContextStatus,dataChannelPk); |
|
2696 User::WaitForRequest(initialiseContextStatus); |
|
2697 |
|
2698 ASSERT_EQUALS(KErrTimedOut, initialiseContextStatus.Int()); |
|
2699 |
|
2700 DriverDeleteContextL(primaryContext); |
|
2701 packetContext.Close(); |
|
2702 |
|
2703 // Let the mock-LTSY finish up before asserting. |
|
2704 User::After(1000000); |
|
2705 |
|
2706 AssertMockLtsyStatusL(); |
|
2707 CleanupStack::PopAndDestroy(4, this); // packetContext, data, packetService, this |
|
2708 } |
|
2709 |
|
2710 /** |
|
2711 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN0004 |
|
2712 @SYMComponent telephony_ctsy |
|
2713 @SYMTestCaseDesc Test support in CTSY for open the packet service when packet service status is set to EStatusUnattached |
|
2714 @SYMTestPriority High |
|
2715 @SYMTestActions Invokes RPacketService::Open() |
|
2716 @SYMTestExpectedResults Pass |
|
2717 @SYMTestType UT |
|
2718 */ |
|
2719 void CCTsyPacketServicesFU::TestUnit0004L() |
|
2720 { |
|
2721 OpenEtelServerL(EUseExtendedError); |
|
2722 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2723 OpenPhoneL(); |
|
2724 |
|
2725 // client side test |
|
2726 RPacketService packetService; |
|
2727 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
2728 |
|
2729 RPacketService::TStatus getStatus; |
|
2730 ASSERT_EQUALS(KErrNone, packetService.GetStatus(getStatus)); |
|
2731 ASSERT_EQUALS(RPacketService::EStatusUnattached, getStatus); |
|
2732 |
|
2733 packetService.Close(); |
|
2734 |
|
2735 // Let the mock-LTSY finish up before asserting. |
|
2736 User::After(1000000); |
|
2737 |
|
2738 AssertMockLtsyStatusL(); |
|
2739 CleanupStack::PopAndDestroy(2, this); // packetService, this |
|
2740 } |
|
2741 |
|
2742 /** |
|
2743 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN0005 |
|
2744 @SYMComponent telephony_ctsy |
|
2745 @SYMTestCaseDesc Test support in CTSY for open the packet service when packet service status is set to EStatusAttached. |
|
2746 @SYMTestPriority High |
|
2747 @SYMTestActions Invokes RPacketService::Open() |
|
2748 @SYMTestExpectedResults Pass |
|
2749 @SYMTestType UT |
|
2750 */ |
|
2751 void CCTsyPacketServicesFU::TestUnit0005L() |
|
2752 { |
|
2753 OpenEtelServerL(EUseExtendedError); |
|
2754 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2755 OpenPhoneL(); |
|
2756 |
|
2757 // client side test |
|
2758 RPacketService packetService; |
|
2759 OpenPacketServiceLC(packetService,RPacketService::EStatusAttached); |
|
2760 |
|
2761 RPacketService::TStatus getStatus; |
|
2762 ASSERT_EQUALS(KErrNone, packetService.GetStatus(getStatus)); |
|
2763 ASSERT_EQUALS(RPacketService::EStatusAttached, getStatus); |
|
2764 |
|
2765 packetService.Close(); |
|
2766 |
|
2767 // Let the mock-LTSY finish up before asserting. |
|
2768 User::After(1000000); |
|
2769 |
|
2770 AssertMockLtsyStatusL(); |
|
2771 CleanupStack::PopAndDestroy(2, this); // packetService, this |
|
2772 } |
|
2773 |
|
2774 |
|
2775 /** |
|
2776 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN0006 |
|
2777 @SYMComponent telephony_ctsy |
|
2778 @SYMTestCaseDesc Test support in CTSY for configuration settings using R99/R4 |
|
2779 @SYMTestPriority High |
|
2780 @SYMTestActions SetConfig for R99R4 |
|
2781 @SYMTestExpectedResults Pass |
|
2782 @SYMTestType UT |
|
2783 */ |
|
2784 void CCTsyPacketServicesFU::TestUnit0006L() |
|
2785 { |
|
2786 OpenEtelServerL(EUseExtendedError); |
|
2787 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2788 OpenPhoneL(); |
|
2789 // client side test |
|
2790 RPacketService packetService; |
|
2791 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
2792 |
|
2793 // Prepare context configuration |
|
2794 RPacketContext::TContextConfigR99_R4 setConfig99; |
|
2795 setConfig99.iAccessPointName.Copy(KPointName99); |
|
2796 setConfig99.iPdpType = RPacketContext::EPdpTypeIPv4; |
|
2797 setConfig99.iPdpAddress.Copy(KPdpAdd99); |
|
2798 // PCO Configurations |
|
2799 setConfig99.iProtocolConfigOption.iDnsAddresses.iPrimaryDns.Copy(KPrimaryDns99ForUN0006); |
|
2800 setConfig99.iProtocolConfigOption.iDnsAddresses.iSecondaryDns.Copy(KSecondaryDns99); |
|
2801 setConfig99.iProtocolConfigOption.iAuthInfo.iProtocol = RPacketContext::EProtocolCHAP; |
|
2802 setConfig99.iProtocolConfigOption.iAuthInfo.iUsername.Copy(KLongUsername); |
|
2803 setConfig99.iProtocolConfigOption.iAuthInfo.iPassword.Copy(KPassword); |
|
2804 setConfig99.iProtocolConfigOption.iId = KRequestID; |
|
2805 RPacketContext::TMiscProtocolBuffer miscBuffer; |
|
2806 miscBuffer.SetLength(KMaxMiscBufferSize); |
|
2807 miscBuffer.FillZ(); |
|
2808 TPtr8 miscPtr(miscBuffer.LeftTPtr(miscBuffer.MaxLength())); |
|
2809 miscPtr.SetLength(0); |
|
2810 |
|
2811 // TLV struct to store the Misc buffer: |
|
2812 TTlvStruct<RPacketContext::TPcoId, RPacketContext::TPcoItemDataLength> tlv(miscPtr,0); |
|
2813 |
|
2814 const TUint16 XId=1; |
|
2815 const TUint16 YId=10; |
|
2816 |
|
2817 RPacketContext::TPcoId pcoIdX(XId); |
|
2818 RPacketContext::TPcoId pcoIdY(YId); |
|
2819 |
|
2820 // BufferX |
|
2821 TBuf8<KAppendableBufferSize> appendableBufferX(_L8("xxx")); |
|
2822 appendableBufferX.SetLength(KAppendableBufferSize); |
|
2823 TPtr8 appendablePtrX(const_cast<TUint8*>(appendableBufferX.Ptr()),appendableBufferX.Length(),appendableBufferX.Length()); |
|
2824 // BufferY |
|
2825 TBuf8<KAppendableBufferSize> appendableBufferY(_L8("yyy")); |
|
2826 appendableBufferY.SetLength(KAppendableBufferSize); |
|
2827 TPtr8 appendablePtrY(const_cast<TUint8*>(appendableBufferY.Ptr()),appendableBufferY.Length(),appendableBufferY.Length()); |
|
2828 |
|
2829 // Append 3 Items to the misc buffer - X + Y + X |
|
2830 tlv.AppendItemL(pcoIdX,appendablePtrX); |
|
2831 tlv.AppendItemL(pcoIdY,appendablePtrY); |
|
2832 tlv.AppendItemL(pcoIdX,appendablePtrX); |
|
2833 |
|
2834 setConfig99.iProtocolConfigOption.iMiscBuffer.Copy(miscBuffer); |
|
2835 setConfig99.iProtocolConfigOption.iMiscBuffer.SetLength(miscBuffer.Length()); |
|
2836 |
|
2837 TPckg<RPacketContext::TContextConfigR99_R4> pckgConfig(setConfig99); |
|
2838 // |
|
2839 |
|
2840 DriverInitialiseContextL(); |
|
2841 |
|
2842 RBuf8 data; |
|
2843 CleanupClosePushL(data); |
|
2844 |
|
2845 TInfoName contextId; |
|
2846 contextId.Copy(KFirstAllocatedContextName); |
|
2847 RPacketContext::TGSNAddress accessPointName; |
|
2848 accessPointName.Copy(KPointName99); |
|
2849 RPacketContext::TProtocolType pdpType = RPacketContext::EPdpTypeIPv4; |
|
2850 RPacketContext::TProtocolAddress pdpAddress; |
|
2851 pdpAddress.Copy(KPdpAdd99); |
|
2852 |
|
2853 // Create the PCO buffer |
|
2854 RPacketContext::TMiscProtocolBuffer pcoBuffer; |
|
2855 pcoBuffer.Zero(); |
|
2856 |
|
2857 // Generate a PCO buffer out of the packet service configuration |
|
2858 PCOGeneratorL(setConfig99.iProtocolConfigOption, pcoBuffer); |
|
2859 setConfig99.iProtocolConfigOption.iId = KRequestID; |
|
2860 |
|
2861 TMockLtsyData5<TInfoName,RPacketContext::TGSNAddress, RPacketContext::TProtocolType, RPacketContext::TProtocolAddress, RPacketContext::TMiscProtocolBuffer> |
|
2862 packetSetConfigData(contextId, accessPointName, pdpType, pdpAddress, pcoBuffer); |
|
2863 data.Close(); |
|
2864 packetSetConfigData.SerialiseL(data); |
|
2865 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextConfig::KLtsyDispatchPacketServicesSetPdpContextConfigApiId, data, KErrNone); |
|
2866 |
|
2867 // Indicate that the context name is due to comeback from the SetConfig callback |
|
2868 TMockLtsyData1<TInfoName> callbackContextIdData(contextId); |
|
2869 data.Close(); |
|
2870 callbackContextIdData.SerialiseL(data); |
|
2871 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextConfig::KLtsyDispatchPacketServicesSetPdpContextConfigApiId, KErrNone, data); |
|
2872 |
|
2873 DriverDeleteContextL(contextId); |
|
2874 |
|
2875 // |
|
2876 |
|
2877 RPacketContext packetContext; |
|
2878 |
|
2879 // Open a new context |
|
2880 packetContext.OpenNewContext(packetService, contextId); |
|
2881 CleanupClosePushL(packetContext); |
|
2882 |
|
2883 //Client side test |
|
2884 RPacketContext::TDataChannelV2 dataChannel; |
|
2885 RPacketContext::TDataChannelV2Pckg dataChannelPk(dataChannel); |
|
2886 TRequestStatus initialiseContextStatus; |
|
2887 |
|
2888 packetContext.InitialiseContext(initialiseContextStatus,dataChannelPk); |
|
2889 User::WaitForRequest(initialiseContextStatus); |
|
2890 ASSERT_EQUALS(KErrNone, initialiseContextStatus.Int()); |
|
2891 ASSERT_TRUE(dataChannel.iPort == KFirstAllocatedContextName); |
|
2892 ASSERT_TRUE(dataChannel.iChannelId == KDefaultChannelId); // Now deprecated |
|
2893 |
|
2894 TRequestStatus setConfigStatus; |
|
2895 packetContext.SetConfig(setConfigStatus, pckgConfig); |
|
2896 |
|
2897 User::WaitForRequest(setConfigStatus); |
|
2898 ASSERT_EQUALS(KErrNone, setConfigStatus.Int()); |
|
2899 |
|
2900 packetContext.Close(); |
|
2901 packetService.Close(); |
|
2902 |
|
2903 // Let the mock-LTSY finish up before asserting. |
|
2904 User::After(1000000); |
|
2905 |
|
2906 AssertMockLtsyStatusL(); |
|
2907 CleanupStack::PopAndDestroy(4, this); // data, packetService, packetContext, this |
|
2908 } |
|
2909 |
|
2910 /** |
|
2911 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN0007 |
|
2912 @SYMComponent telephony_ctsy |
|
2913 @SYMTestCaseDesc Test support in CTSY for configuration settings using R5 |
|
2914 @SYMTestPriority High |
|
2915 @SYMTestActions SetConfig for R5 |
|
2916 @SYMTestExpectedResults Pass |
|
2917 @SYMTestType UT |
|
2918 */ |
|
2919 void CCTsyPacketServicesFU::TestUnit0007L() |
|
2920 { |
|
2921 OpenEtelServerL(EUseExtendedError); |
|
2922 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
2923 OpenPhoneL(); |
|
2924 // client side test |
|
2925 RPacketService packetService; |
|
2926 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
2927 |
|
2928 |
|
2929 // Prepare context configuration |
|
2930 RPacketContext::TContextConfig_R5 setConfigR5; |
|
2931 setConfigR5.iAccessPointName.Copy(KPointName99); |
|
2932 setConfigR5.iPdpType = RPacketContext::EPdpTypeIPv4; |
|
2933 setConfigR5.iPdpAddress.Copy(KPdpAdd99); |
|
2934 // PCO Configurations |
|
2935 setConfigR5.iProtocolConfigOption.iDnsAddresses.iPrimaryDns.Copy(KPrimaryDns99); |
|
2936 setConfigR5.iProtocolConfigOption.iDnsAddresses.iSecondaryDns.Copy(KSecondaryDns99); |
|
2937 setConfigR5.iProtocolConfigOption.iAuthInfo.iProtocol = RPacketContext::EProtocolCHAP; |
|
2938 setConfigR5.iProtocolConfigOption.iAuthInfo.iUsername.Copy(KUsername); |
|
2939 setConfigR5.iProtocolConfigOption.iAuthInfo.iPassword.Copy(KPassword); |
|
2940 setConfigR5.iProtocolConfigOption.iId = KRequestID; |
|
2941 RPacketContext::TMiscProtocolBuffer miscBuffer; |
|
2942 miscBuffer.SetLength(KMaxMiscBufferSize); |
|
2943 miscBuffer.FillZ(); |
|
2944 TPtr8 miscPtr(miscBuffer.LeftTPtr(miscBuffer.MaxLength())); |
|
2945 miscPtr.SetLength(0); |
|
2946 |
|
2947 // TLV struct to store the Misc buffer: |
|
2948 TTlvStruct<RPacketContext::TPcoId, RPacketContext::TPcoItemDataLength> tlv(miscPtr,0); |
|
2949 |
|
2950 const TUint16 XId=1; |
|
2951 const TUint16 YId=10; |
|
2952 |
|
2953 RPacketContext::TPcoId pcoIdX(XId); |
|
2954 RPacketContext::TPcoId pcoIdY(YId); |
|
2955 |
|
2956 // BufferX |
|
2957 TBuf8<KAppendableBufferSize> appendableBufferX(_L8("xxx")); |
|
2958 appendableBufferX.SetLength(KAppendableBufferSize); |
|
2959 TPtr8 appendablePtrX(const_cast<TUint8*>(appendableBufferX.Ptr()),appendableBufferX.Length(),appendableBufferX.Length()); |
|
2960 // BufferY |
|
2961 TBuf8<KAppendableBufferSize> appendableBufferY(_L8("yyy")); |
|
2962 appendableBufferY.SetLength(KAppendableBufferSize); |
|
2963 TPtr8 appendablePtrY(const_cast<TUint8*>(appendableBufferY.Ptr()),appendableBufferY.Length(),appendableBufferY.Length()); |
|
2964 |
|
2965 // Append 3 Items to the misc buffer - X + Y + X |
|
2966 tlv.AppendItemL(pcoIdX,appendablePtrX); |
|
2967 tlv.AppendItemL(pcoIdY,appendablePtrY); |
|
2968 tlv.AppendItemL(pcoIdX,appendablePtrX); |
|
2969 |
|
2970 setConfigR5.iProtocolConfigOption.iMiscBuffer.Copy(miscBuffer); |
|
2971 setConfigR5.iProtocolConfigOption.iMiscBuffer.SetLength(miscBuffer.Length()); |
|
2972 |
|
2973 TPckg<RPacketContext::TContextConfig_R5> pckgConfig(setConfigR5); |
|
2974 |
|
2975 // |
|
2976 |
|
2977 DriverInitialiseContextL(); |
|
2978 |
|
2979 RBuf8 data; |
|
2980 CleanupClosePushL(data); |
|
2981 |
|
2982 TInfoName contextId; |
|
2983 contextId.Copy(KFirstAllocatedContextName); |
|
2984 RPacketContext::TGSNAddress accessPointName; |
|
2985 accessPointName.Copy(KPointName99); |
|
2986 RPacketContext::TProtocolType pdpType = RPacketContext::EPdpTypeIPv4; |
|
2987 RPacketContext::TProtocolAddress pdpAddress; |
|
2988 pdpAddress.Copy(KPdpAdd99); |
|
2989 |
|
2990 // Create the PCO buffer |
|
2991 RPacketContext::TMiscProtocolBuffer pcoBuffer; |
|
2992 pcoBuffer.Zero(); |
|
2993 |
|
2994 // Generate a PCO buffer |
|
2995 PCOGeneratorL(setConfigR5.iProtocolConfigOption, pcoBuffer); |
|
2996 setConfigR5.iProtocolConfigOption.iId = KRequestID; |
|
2997 |
|
2998 TMockLtsyData5<TInfoName,RPacketContext::TGSNAddress, RPacketContext::TProtocolType, RPacketContext::TProtocolAddress, RPacketContext::TMiscProtocolBuffer> |
|
2999 packetSetConfigData(contextId, accessPointName, pdpType, pdpAddress, pcoBuffer); |
|
3000 data.Close(); |
|
3001 packetSetConfigData.SerialiseL(data); |
|
3002 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextConfig::KLtsyDispatchPacketServicesSetPdpContextConfigApiId, data, KErrNone); |
|
3003 |
|
3004 // Indicate that the context name is due to comeback from the SetConfig callback |
|
3005 TMockLtsyData1<TInfoName> callbackContextIdData(contextId); |
|
3006 data.Close(); |
|
3007 callbackContextIdData.SerialiseL(data); |
|
3008 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextConfig::KLtsyDispatchPacketServicesSetPdpContextConfigApiId, KErrNone, data); |
|
3009 |
|
3010 DriverDeleteContextL(contextId); |
|
3011 |
|
3012 // |
|
3013 |
|
3014 RPacketContext packetContext; |
|
3015 |
|
3016 // Open a new context |
|
3017 packetContext.OpenNewContext(packetService, contextId); |
|
3018 CleanupClosePushL(packetContext); |
|
3019 |
|
3020 //Client side test |
|
3021 RPacketContext::TDataChannelV2 dataChannel; |
|
3022 RPacketContext::TDataChannelV2Pckg dataChannelPk(dataChannel); |
|
3023 TRequestStatus initialiseContextStatus; |
|
3024 |
|
3025 packetContext.InitialiseContext(initialiseContextStatus,dataChannelPk); |
|
3026 User::WaitForRequest(initialiseContextStatus); |
|
3027 ASSERT_EQUALS(KErrNone, initialiseContextStatus.Int()); |
|
3028 ASSERT_TRUE(dataChannel.iPort == KFirstAllocatedContextName); |
|
3029 ASSERT_TRUE(dataChannel.iChannelId == KDefaultChannelId); // Now deprecated |
|
3030 |
|
3031 TRequestStatus setConfigStatus; |
|
3032 packetContext.SetConfig(setConfigStatus, pckgConfig); |
|
3033 |
|
3034 User::WaitForRequest(setConfigStatus); |
|
3035 ASSERT_EQUALS(KErrNone, setConfigStatus.Int()); |
|
3036 |
|
3037 packetContext.Close(); |
|
3038 packetService.Close(); |
|
3039 |
|
3040 // Let the mock-LTSY finish up before asserting. |
|
3041 User::After(1000000); |
|
3042 |
|
3043 AssertMockLtsyStatusL(); |
|
3044 CleanupStack::PopAndDestroy(4, this); // data, packetService, packetContext, this |
|
3045 } |
|
3046 |
|
3047 /** |
|
3048 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN0008 |
|
3049 @SYMComponent telephony_ctsy |
|
3050 @SYMTestCaseDesc Test support in CTSY for QoS profile parameters |
|
3051 @SYMTestPriority High |
|
3052 @SYMTestActions Invokes RPacketQoS::SetProfileParameters() only for GPRS, R99 and R5 |
|
3053 @SYMTestExpectedResults Pass |
|
3054 @SYMTestType UT |
|
3055 */ |
|
3056 void CCTsyPacketServicesFU::TestUnit0008L() |
|
3057 { |
|
3058 |
|
3059 OpenEtelServerL(EUseExtendedError); |
|
3060 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
3061 OpenPhoneL(); |
|
3062 |
|
3063 RPacketService packetService; |
|
3064 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
3065 |
|
3066 RBuf8 data; |
|
3067 CleanupClosePushL(data); |
|
3068 |
|
3069 TInfoName contextId; |
|
3070 contextId.Copy(KFirstAllocatedContextName); |
|
3071 |
|
3072 // |
|
3073 |
|
3074 DriverInitialiseContextL(); |
|
3075 |
|
3076 // GPRS Configuration |
|
3077 RPacketQoS::TQoSGPRSRequested qosExpectedRequestedGPRSProfile; |
|
3078 qosExpectedRequestedGPRSProfile.iReqPrecedence = RPacketQoS::EUnspecifiedPrecedence; |
|
3079 qosExpectedRequestedGPRSProfile.iMinPrecedence = RPacketQoS::EUnspecifiedPrecedence; |
|
3080 qosExpectedRequestedGPRSProfile.iReqDelay = RPacketQoS::EUnspecifiedDelayClass; |
|
3081 qosExpectedRequestedGPRSProfile.iMinDelay = RPacketQoS::EUnspecifiedDelayClass; |
|
3082 qosExpectedRequestedGPRSProfile.iReqReliability = RPacketQoS::EUnspecifiedReliabilityClass; |
|
3083 qosExpectedRequestedGPRSProfile.iMinReliability = RPacketQoS::EUnspecifiedReliabilityClass; |
|
3084 qosExpectedRequestedGPRSProfile.iReqPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput; |
|
3085 qosExpectedRequestedGPRSProfile.iMinPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput; |
|
3086 qosExpectedRequestedGPRSProfile.iReqMeanThroughput = RPacketQoS::EUnspecifiedMeanThroughput; |
|
3087 qosExpectedRequestedGPRSProfile.iMinMeanThroughput = RPacketQoS::EUnspecifiedMeanThroughput; |
|
3088 TMockLtsyData2<TInfoName, RPacketQoS::TQoSGPRSRequested> packetSetConfigGPRSData(contextId, |
|
3089 qosExpectedRequestedGPRSProfile); |
|
3090 data.Close(); |
|
3091 packetSetConfigGPRSData.SerialiseL(data); |
|
3092 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
3093 |
|
3094 TMockLtsyData1<TInfoName> callbackSetPdpGPRSContextNameData(contextId); |
|
3095 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
3096 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
3097 |
|
3098 RPacketQoS::TQoSGPRSNegotiated completedProfileGPRS; |
|
3099 TMockLtsyData2<TInfoName, RPacketQoS::TQoSGPRSNegotiated> expLtsyQosProfileGPRSChangedInd(contextId, completedProfileGPRS); |
|
3100 data.Close(); |
|
3101 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
3102 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
3103 |
|
3104 // R99_R4 Configuration |
|
3105 RPacketQoS::TQoSR99_R4Requested expectedPacketR99_R4Profile; |
|
3106 expectedPacketR99_R4Profile.iMinTrafficClass = RPacketQoS::ETrafficClassUnspecified; |
|
3107 expectedPacketR99_R4Profile.iMinDeliveryOrderReqd = RPacketQoS::EDeliveryOrderUnspecified; |
|
3108 expectedPacketR99_R4Profile.iMinDeliverErroneousSDU = RPacketQoS::EErroneousSDUDeliveryUnspecified; |
|
3109 expectedPacketR99_R4Profile.iMaxBER = RPacketQoS::EBERUnspecified; |
|
3110 expectedPacketR99_R4Profile.iMaxSDUErrorRatio = RPacketQoS::ESDUErrorRatioUnspecified; |
|
3111 expectedPacketR99_R4Profile.iMinTrafficHandlingPriority = RPacketQoS::ETrafficPriorityUnspecified; |
|
3112 expectedPacketR99_R4Profile.iReqTrafficClass = RPacketQoS::ETrafficClassUnspecified; |
|
3113 expectedPacketR99_R4Profile.iReqDeliveryOrderReqd = RPacketQoS::EDeliveryOrderUnspecified; |
|
3114 expectedPacketR99_R4Profile.iReqDeliverErroneousSDU = RPacketQoS::EErroneousSDUDeliveryUnspecified; |
|
3115 expectedPacketR99_R4Profile.iReqBER = RPacketQoS::EBERUnspecified; |
|
3116 expectedPacketR99_R4Profile.iReqSDUErrorRatio = RPacketQoS::ESDUErrorRatioUnspecified; |
|
3117 expectedPacketR99_R4Profile.iReqTrafficHandlingPriority = RPacketQoS::ETrafficPriorityUnspecified; |
|
3118 expectedPacketR99_R4Profile.iMaxTransferDelay = 0; |
|
3119 expectedPacketR99_R4Profile.iMinAcceptableMaxRate.iDownlinkRate = 0; |
|
3120 expectedPacketR99_R4Profile.iMinAcceptableMaxRate.iUplinkRate = 0; |
|
3121 expectedPacketR99_R4Profile.iMinAcceptableMaxSDUSize = 0; |
|
3122 expectedPacketR99_R4Profile.iMinGuaranteedRate.iDownlinkRate = 0; |
|
3123 expectedPacketR99_R4Profile.iMinGuaranteedRate.iUplinkRate = 0; |
|
3124 expectedPacketR99_R4Profile.iReqGuaranteedRate.iDownlinkRate = 0; |
|
3125 expectedPacketR99_R4Profile.iReqGuaranteedRate.iUplinkRate = 0; |
|
3126 expectedPacketR99_R4Profile.iReqMaxRate.iDownlinkRate = 0; |
|
3127 expectedPacketR99_R4Profile.iReqMaxRate.iUplinkRate = 0; |
|
3128 expectedPacketR99_R4Profile.iReqMaxSDUSize = 0; |
|
3129 expectedPacketR99_R4Profile.iReqTransferDelay = 0; |
|
3130 TMockLtsyData2<TInfoName, RPacketQoS::TQoSR99_R4Requested> packetSetConfigR99_R4Data(contextId, |
|
3131 expectedPacketR99_R4Profile); |
|
3132 data.Close(); |
|
3133 packetSetConfigR99_R4Data.SerialiseL(data); |
|
3134 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
3135 |
|
3136 TMockLtsyData1<TInfoName> callbackSetPdpR99_R4ContextNameData(contextId); |
|
3137 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
3138 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
3139 |
|
3140 RPacketQoS::TQoSR99_R4Negotiated completedProfileR99; |
|
3141 TMockLtsyData2<TInfoName, RPacketQoS::TQoSR99_R4Negotiated> expLtsyQosProfileR99ChangedInd(contextId, completedProfileR99); |
|
3142 data.Close(); |
|
3143 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
3144 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
3145 |
|
3146 // R5 Configuration |
|
3147 RPacketQoS::TQoSR5Requested expectedPacketR5Profile; |
|
3148 expectedPacketR5Profile.iSignallingIndication = EFalse; |
|
3149 expectedPacketR5Profile.iSourceStatisticsDescriptor = RPacketQoS::ESourceStatisticsDescriptorUnknown; |
|
3150 expectedPacketR5Profile.iMaxBER = RPacketQoS::EBERUnspecified; |
|
3151 expectedPacketR5Profile.iMaxSDUErrorRatio = RPacketQoS::ESDUErrorRatioUnspecified; |
|
3152 expectedPacketR5Profile.iMinDeliverErroneousSDU = RPacketQoS::EErroneousSDUDeliveryUnspecified; |
|
3153 expectedPacketR5Profile.iMinDeliveryOrderReqd = RPacketQoS::EDeliveryOrderUnspecified; |
|
3154 expectedPacketR5Profile.iMinTrafficClass = RPacketQoS::ETrafficClassUnspecified; |
|
3155 expectedPacketR5Profile.iMinTrafficHandlingPriority = RPacketQoS::ETrafficPriorityUnspecified; |
|
3156 expectedPacketR5Profile.iReqBER = RPacketQoS::EBERUnspecified; |
|
3157 expectedPacketR5Profile.iReqSDUErrorRatio = RPacketQoS::ESDUErrorRatioUnspecified; |
|
3158 expectedPacketR5Profile.iReqDeliverErroneousSDU = RPacketQoS::EErroneousSDUDeliveryUnspecified; |
|
3159 expectedPacketR5Profile.iReqDeliveryOrderReqd = RPacketQoS::EDeliveryOrderUnspecified; |
|
3160 expectedPacketR5Profile.iReqTrafficClass = RPacketQoS::ETrafficClassUnspecified; |
|
3161 expectedPacketR5Profile.iReqTrafficHandlingPriority = RPacketQoS::ETrafficPriorityUnspecified; |
|
3162 |
|
3163 TMockLtsyData2<TInfoName, RPacketQoS::TQoSR5Requested> packetSetConfigR5Data(contextId, expectedPacketR5Profile); |
|
3164 data.Close(); |
|
3165 packetSetConfigR5Data.SerialiseL(data); |
|
3166 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR5::KLtsyDispatchPacketServicesSetPdpContextQosR5ApiId, data, KErrNone); |
|
3167 |
|
3168 TMockLtsyData1<TInfoName> callbackSetPdpR5ContextNameData(contextId); |
|
3169 callbackSetPdpR5ContextNameData.SerialiseL(data); |
|
3170 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR5::KLtsyDispatchPacketServicesSetPdpContextQosR5ApiId, KErrNone, data); |
|
3171 |
|
3172 RPacketQoS::TQoSR5Negotiated completedProfileR5; |
|
3173 TMockLtsyData2<TInfoName, RPacketQoS::TQoSR5Negotiated> expLtsyQosProfileR5ChangedInd(contextId, completedProfileR5); |
|
3174 data.Close(); |
|
3175 expLtsyQosProfileR5ChangedInd.SerialiseL(data); |
|
3176 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
3177 |
|
3178 DriverDeleteContextL(contextId); |
|
3179 |
|
3180 // |
|
3181 |
|
3182 // client side test |
|
3183 RPacketContext packetContext; |
|
3184 |
|
3185 // Open a new context |
|
3186 TInt err = packetContext.OpenNewContext(packetService, contextId); |
|
3187 CleanupClosePushL(packetContext); |
|
3188 ASSERT_EQUALS(KErrNone, err); |
|
3189 |
|
3190 RPacketContext::TDataChannelV2 dataChannel; |
|
3191 RPacketContext::TDataChannelV2Pckg dataChannelPk(dataChannel); |
|
3192 TRequestStatus initialiseContextStatus; |
|
3193 |
|
3194 packetContext.InitialiseContext(initialiseContextStatus,dataChannelPk); |
|
3195 User::WaitForRequest(initialiseContextStatus); |
|
3196 ASSERT_EQUALS(KErrNone, initialiseContextStatus.Int()); |
|
3197 ASSERT_TRUE(dataChannel.iPort == KFirstAllocatedContextName); |
|
3198 ASSERT_TRUE(dataChannel.iChannelId == KDefaultChannelId); // Now depreciated |
|
3199 |
|
3200 TName qosName; |
|
3201 RPacketQoS packetQoS; |
|
3202 packetQoS.OpenNewQoS(packetContext, qosName); |
|
3203 CleanupClosePushL(packetQoS); |
|
3204 |
|
3205 // |
|
3206 // SetProfileParameters for GPRS Configurations |
|
3207 // |
|
3208 |
|
3209 RPacketQoS::TQoSGPRSRequested qosGPRSRequestedProfile; |
|
3210 qosGPRSRequestedProfile.iReqPrecedence = RPacketQoS::EUnspecifiedPrecedence; |
|
3211 qosGPRSRequestedProfile.iMinPrecedence = RPacketQoS::EUnspecifiedPrecedence; |
|
3212 qosGPRSRequestedProfile.iReqDelay = RPacketQoS::EUnspecifiedDelayClass; |
|
3213 qosGPRSRequestedProfile.iMinDelay = RPacketQoS::EUnspecifiedDelayClass; |
|
3214 qosGPRSRequestedProfile.iReqReliability = RPacketQoS::EUnspecifiedReliabilityClass; |
|
3215 qosGPRSRequestedProfile.iMinReliability = RPacketQoS::EUnspecifiedReliabilityClass; |
|
3216 qosGPRSRequestedProfile.iReqPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput; |
|
3217 qosGPRSRequestedProfile.iMinPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput; |
|
3218 qosGPRSRequestedProfile.iReqMeanThroughput = RPacketQoS::EUnspecifiedMeanThroughput; |
|
3219 qosGPRSRequestedProfile.iMinMeanThroughput = RPacketQoS::EUnspecifiedMeanThroughput; |
|
3220 TPckg<RPacketQoS::TQoSGPRSRequested> profilePckgGPRS(qosGPRSRequestedProfile); |
|
3221 |
|
3222 TRequestStatus notifyGPRSChangeStatus; |
|
3223 RPacketQoS::TQoSGPRSNegotiated profileGPRS; |
|
3224 TPckg<RPacketQoS::TQoSGPRSNegotiated> qosGPRSNegotiatedProfilePk(profileGPRS); |
|
3225 packetQoS.NotifyProfileChanged(notifyGPRSChangeStatus, qosGPRSNegotiatedProfilePk); |
|
3226 |
|
3227 TRequestStatus requestStatusGPRS; |
|
3228 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
3229 User::WaitForRequest(requestStatusGPRS); |
|
3230 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
3231 |
|
3232 // Complete NotifyProfileChanged |
|
3233 User::WaitForRequest(notifyGPRSChangeStatus); |
|
3234 ASSERT_EQUALS(KErrNone, notifyGPRSChangeStatus.Int()); |
|
3235 |
|
3236 // |
|
3237 // SetProfileParameters for R99R4 Configurations |
|
3238 // |
|
3239 |
|
3240 RPacketQoS::TQoSR99_R4Requested packetR99_R4; |
|
3241 packetR99_R4.iMinTrafficClass = RPacketQoS::ETrafficClassUnspecified; |
|
3242 packetR99_R4.iMinDeliveryOrderReqd = RPacketQoS::EDeliveryOrderUnspecified; |
|
3243 packetR99_R4.iMinDeliverErroneousSDU = RPacketQoS::EErroneousSDUDeliveryUnspecified; |
|
3244 packetR99_R4.iMaxBER = RPacketQoS::EBERUnspecified; |
|
3245 packetR99_R4.iMaxSDUErrorRatio = RPacketQoS::ESDUErrorRatioUnspecified; |
|
3246 packetR99_R4.iMinTrafficHandlingPriority = RPacketQoS::ETrafficPriorityUnspecified; |
|
3247 packetR99_R4.iReqTrafficClass = RPacketQoS::ETrafficClassUnspecified; |
|
3248 packetR99_R4.iReqDeliveryOrderReqd = RPacketQoS::EDeliveryOrderUnspecified; |
|
3249 packetR99_R4.iReqDeliverErroneousSDU = RPacketQoS::EErroneousSDUDeliveryUnspecified; |
|
3250 packetR99_R4.iReqBER = RPacketQoS::EBERUnspecified; |
|
3251 packetR99_R4.iReqSDUErrorRatio = RPacketQoS::ESDUErrorRatioUnspecified; |
|
3252 packetR99_R4.iReqTrafficHandlingPriority = RPacketQoS::ETrafficPriorityUnspecified; |
|
3253 packetR99_R4.iMaxTransferDelay = 0; |
|
3254 packetR99_R4.iMinAcceptableMaxRate.iDownlinkRate = 0; |
|
3255 packetR99_R4.iMinAcceptableMaxRate.iUplinkRate = 0; |
|
3256 packetR99_R4.iMinAcceptableMaxSDUSize = 0; |
|
3257 packetR99_R4.iMinGuaranteedRate.iDownlinkRate = 0; |
|
3258 packetR99_R4.iMinGuaranteedRate.iUplinkRate = 0; |
|
3259 packetR99_R4.iReqGuaranteedRate.iDownlinkRate = 0; |
|
3260 packetR99_R4.iReqGuaranteedRate.iUplinkRate = 0; |
|
3261 packetR99_R4.iReqMaxRate.iDownlinkRate = 0; |
|
3262 packetR99_R4.iReqMaxRate.iUplinkRate = 0; |
|
3263 packetR99_R4.iReqMaxSDUSize = 0; |
|
3264 packetR99_R4.iReqTransferDelay = 0; |
|
3265 TPckg< RPacketQoS::TQoSR99_R4Requested > profilePckgR99_R4(packetR99_R4); |
|
3266 |
|
3267 TRequestStatus notifyR99ChangeStatus; |
|
3268 RPacketQoS::TQoSR99_R4Negotiated profileR99; |
|
3269 TPckg<RPacketQoS::TQoSR99_R4Negotiated> qos99NegotiatedProfilePk(profileR99); |
|
3270 packetQoS.NotifyProfileChanged(notifyR99ChangeStatus, qos99NegotiatedProfilePk); |
|
3271 |
|
3272 TRequestStatus requestStatusR99_R4; |
|
3273 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
3274 User::WaitForRequest(requestStatusR99_R4); |
|
3275 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
3276 |
|
3277 // Complete NotifyProfileChanged |
|
3278 User::WaitForRequest(notifyR99ChangeStatus); |
|
3279 ASSERT_EQUALS(KErrNone, notifyR99ChangeStatus.Int()); |
|
3280 |
|
3281 // |
|
3282 // SetProfileParameters for R5 Configurations |
|
3283 // |
|
3284 |
|
3285 RPacketQoS::TQoSR5Requested packetR5; |
|
3286 packetR5.iSignallingIndication = EFalse; |
|
3287 packetR5.iSourceStatisticsDescriptor = RPacketQoS::ESourceStatisticsDescriptorUnknown; |
|
3288 packetR5.iMaxBER = RPacketQoS::EBERUnspecified; |
|
3289 packetR5.iMaxSDUErrorRatio = RPacketQoS::ESDUErrorRatioUnspecified; |
|
3290 packetR5.iMinDeliverErroneousSDU = RPacketQoS::EErroneousSDUDeliveryUnspecified; |
|
3291 packetR5.iMinDeliveryOrderReqd = RPacketQoS::EDeliveryOrderUnspecified; |
|
3292 packetR5.iMinTrafficClass = RPacketQoS::ETrafficClassUnspecified; |
|
3293 packetR5.iMinTrafficHandlingPriority = RPacketQoS::ETrafficPriorityUnspecified; |
|
3294 packetR5.iReqBER = RPacketQoS::EBERUnspecified; |
|
3295 packetR5.iReqSDUErrorRatio = RPacketQoS::ESDUErrorRatioUnspecified; |
|
3296 packetR5.iReqDeliverErroneousSDU = RPacketQoS::EErroneousSDUDeliveryUnspecified; |
|
3297 packetR5.iReqDeliveryOrderReqd = RPacketQoS::EDeliveryOrderUnspecified; |
|
3298 packetR5.iReqTrafficClass = RPacketQoS::ETrafficClassUnspecified; |
|
3299 packetR5.iReqTrafficHandlingPriority = RPacketQoS::ETrafficPriorityUnspecified; |
|
3300 TPckg< RPacketQoS::TQoSR5Requested > profilePckgR5(packetR5); |
|
3301 |
|
3302 TRequestStatus notifyR5ChangeStatus; |
|
3303 RPacketQoS::TQoSR5Negotiated profileR5; |
|
3304 TPckg<RPacketQoS::TQoSR5Negotiated> qosR5NegotiatedProfilePk(profileR5); |
|
3305 packetQoS.NotifyProfileChanged(notifyR5ChangeStatus, qosR5NegotiatedProfilePk); |
|
3306 |
|
3307 TRequestStatus requestStatusR5; |
|
3308 packetQoS.SetProfileParameters(requestStatusR5, profilePckgR5); |
|
3309 User::WaitForRequest(requestStatusR5); |
|
3310 ASSERT_EQUALS(KErrNone, requestStatusR5.Int()); |
|
3311 |
|
3312 // Complete NotifyProfileChanged |
|
3313 User::WaitForRequest(notifyR5ChangeStatus); |
|
3314 ASSERT_EQUALS(KErrNone, notifyR5ChangeStatus.Int()); |
|
3315 |
|
3316 packetQoS.Close(); |
|
3317 packetContext.Close(); |
|
3318 packetService.Close(); |
|
3319 |
|
3320 // Let the mock-LTSY finish up before asserting. |
|
3321 User::After(1000000); |
|
3322 |
|
3323 AssertMockLtsyStatusL(); |
|
3324 CleanupStack::PopAndDestroy(5, this); // data, packetService, packetContext, this |
|
3325 } |
|
3326 |
|
3327 /** |
|
3328 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN0009 |
|
3329 @SYMComponent telephony_ctsy |
|
3330 @SYMTestCaseDesc Test support in CTSY for RPacketService::RejectActivationRequest |
|
3331 @SYMTestPriority High |
|
3332 @SYMTestActions Invokes RPacketService::RejectActivationRequest() |
|
3333 @SYMTestExpectedResults Pass |
|
3334 @SYMTestType UT |
|
3335 */ |
|
3336 void CCTsyPacketServicesFU::TestUnit0009L() |
|
3337 { |
|
3338 OpenEtelServerL(EUseExtendedError); |
|
3339 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
3340 OpenPhoneL(); |
|
3341 |
|
3342 RPacketService packetService; |
|
3343 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
3344 |
|
3345 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesRejectNetworkInitiatedContextActivationRequest::KLtsyDispatchPacketServicesRejectNetworkInitiatedContextActivationRequestApiId); |
|
3346 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesRejectNetworkInitiatedContextActivationRequest::KLtsyDispatchPacketServicesRejectNetworkInitiatedContextActivationRequestApiId, KErrNone); |
|
3347 |
|
3348 TRequestStatus requestStatus; |
|
3349 packetService.RejectActivationRequest(requestStatus); |
|
3350 |
|
3351 User::WaitForRequest(requestStatus); |
|
3352 ASSERT_EQUALS(KErrNone, requestStatus.Int()); |
|
3353 |
|
3354 packetService.Close(); |
|
3355 |
|
3356 // Let the mock-LTSY finish up before asserting. |
|
3357 User::After(1000000); |
|
3358 |
|
3359 AssertMockLtsyStatusL(); |
|
3360 CleanupStack::PopAndDestroy(2, this); |
|
3361 } |
|
3362 |
|
3363 /** |
|
3364 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN00010 |
|
3365 @SYMComponent telephony_ctsy |
|
3366 @SYMTestCaseDesc Test support in CTSY for notification of transfer capability. |
|
3367 @SYMTestPriority High |
|
3368 @SYMTestActions Invokes RPacketContext::NotifyDynamicCapsChange() |
|
3369 @SYMTestExpectedResults Pass |
|
3370 @SYMTestType UT |
|
3371 */ |
|
3372 void CCTsyPacketServicesFU::TestUnit00010L() |
|
3373 { |
|
3374 OpenEtelServerL(EUseExtendedError); |
|
3375 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
3376 OpenPhoneL(); |
|
3377 RBuf8 data; |
|
3378 CleanupClosePushL(data); |
|
3379 |
|
3380 RPacketService packetService; |
|
3381 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
3382 |
|
3383 |
|
3384 TDynamicTransferCapsFlags transferCaps = KCapsHSDPA; |
|
3385 TMockLtsyData1< TDynamicTransferCapsFlags > ltsyData(transferCaps); |
|
3386 ltsyData.SerialiseL(data); |
|
3387 |
|
3388 |
|
3389 TInfoName contextId; |
|
3390 contextId.Copy(KFirstAllocatedContextName); |
|
3391 |
|
3392 // |
|
3393 // client side test |
|
3394 |
|
3395 //send request |
|
3396 TRequestStatus requestStatus; |
|
3397 RPacketService::TDynamicCapsFlags dynamicCapsFlags; |
|
3398 |
|
3399 // Required as changes to transfer capability changes the dynamic capabilities |
|
3400 packetService.NotifyDynamicCapsChange(requestStatus, dynamicCapsFlags); |
|
3401 // Issue the Complete... |
|
3402 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyRatTransferCapsChangeIndId, KErrNone, data); |
|
3403 |
|
3404 User::WaitForRequest(requestStatus); |
|
3405 |
|
3406 //expected dynamic caps according to transferCaps being KCapsHSDPA |
|
3407 RPacketService::TDynamicCapsFlags dynamicCaps; |
|
3408 dynamicCaps = 0; |
|
3409 dynamicCaps |= RPacketService::KCapsHSDPA; |
|
3410 |
|
3411 ASSERT_EQUALS(KErrNone, requestStatus.Int()); |
|
3412 ASSERT_EQUALS(dynamicCapsFlags, dynamicCaps); |
|
3413 |
|
3414 packetService.Close(); |
|
3415 |
|
3416 // Let the mock-LTSY finish up before asserting. |
|
3417 User::After(1000000); |
|
3418 |
|
3419 AssertMockLtsyStatusL(); |
|
3420 CleanupStack::PopAndDestroy(3, this); |
|
3421 } |
|
3422 |
|
3423 /** |
|
3424 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN00011A |
|
3425 @SYMComponent telephony_ctsy |
|
3426 @SYMTestCaseDesc Test support in CTSY for NotifyContextActivationRequested GPRS |
|
3427 @SYMTestPriority High |
|
3428 @SYMTestActions Invokes NotifyContextActivationRequested |
|
3429 @SYMTestExpectedResults Pass |
|
3430 @SYMTestType UT |
|
3431 */ |
|
3432 void CCTsyPacketServicesFU::TestUnit00011AL() |
|
3433 { |
|
3434 OpenEtelServerL(EUseExtendedError); |
|
3435 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
3436 OpenPhoneL(); |
|
3437 |
|
3438 RPacketService packetService; |
|
3439 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
3440 |
|
3441 RBuf8 data; |
|
3442 CleanupClosePushL(data); |
|
3443 |
|
3444 //------------------------------------------------------------------------- |
|
3445 // TEST A: Successful completion request of |
|
3446 // RPacketService::NotifyContextActivationRequested |
|
3447 //------------------------------------------------------------------------- |
|
3448 |
|
3449 // GPRS test |
|
3450 RPacketContext::TContextConfigGPRS contextConfigGPRS; |
|
3451 contextConfigGPRS.iPdpType = RPacketContext::EPdpTypeIPv6; |
|
3452 contextConfigGPRS.iPdpAddress.Copy(KAddress); |
|
3453 contextConfigGPRS.iAccessPointName.Copy(KAPN); |
|
3454 |
|
3455 TMockLtsyData1 <RPacketContext::TContextConfigGPRS> ltsyData(contextConfigGPRS); |
|
3456 data.Close(); |
|
3457 ltsyData.SerialiseL(data); |
|
3458 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyNetworkInitiatedContextActivationRequestIndId, KErrNone, data); |
|
3459 |
|
3460 TRequestStatus requestStatus; |
|
3461 RPacketContext::TContextConfigGPRS getContextParam; |
|
3462 TPckg<RPacketContext::TContextConfigGPRS> pckgParam(getContextParam); |
|
3463 packetService.NotifyContextActivationRequested(requestStatus, pckgParam); |
|
3464 User::WaitForRequest(requestStatus); |
|
3465 |
|
3466 ASSERT_EQUALS(KErrNone, requestStatus.Int()); |
|
3467 ASSERT_EQUALS(getContextParam.iPdpType, contextConfigGPRS.iPdpType); |
|
3468 ASSERT_EQUALS(getContextParam.iPdpAddress, contextConfigGPRS.iPdpAddress); |
|
3469 ASSERT_EQUALS(getContextParam.iAccessPointName, contextConfigGPRS.iAccessPointName); |
|
3470 |
|
3471 |
|
3472 AssertMockLtsyStatusL(); |
|
3473 CleanupStack::PopAndDestroy(3, this); // data, packetService, this |
|
3474 } |
|
3475 |
|
3476 /** |
|
3477 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN00011B |
|
3478 @SYMComponent telephony_ctsy |
|
3479 @SYMTestCaseDesc Test support in CTSY for NotifyContextActivationRequested R99_R4 |
|
3480 @SYMTestPriority High |
|
3481 @SYMTestActions Invokes NotifyContextActivationRequested |
|
3482 @SYMTestExpectedResults Pass |
|
3483 @SYMTestType UT |
|
3484 */ |
|
3485 void CCTsyPacketServicesFU::TestUnit00011BL() |
|
3486 { |
|
3487 OpenEtelServerL(EUseExtendedError); |
|
3488 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
3489 OpenPhoneL(); |
|
3490 |
|
3491 RPacketService packetService; |
|
3492 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
3493 |
|
3494 RBuf8 data; |
|
3495 CleanupClosePushL(data); |
|
3496 |
|
3497 //------------------------------------------------------------------------- |
|
3498 // TEST A: Successful completion request of |
|
3499 // RPacketService::NotifyContextActivationRequested |
|
3500 //------------------------------------------------------------------------- |
|
3501 |
|
3502 // R99_R4 test |
|
3503 RPacketContext::TContextConfigR99_R4 contextConfigR99; |
|
3504 contextConfigR99.iAccessPointName.Copy(KPointName99); |
|
3505 contextConfigR99.iPdpType = RPacketContext::EPdpTypeIPv4; |
|
3506 contextConfigR99.iPdpAddress.Copy(KPdpAdd99); |
|
3507 contextConfigR99.iProtocolConfigOption.iDnsAddresses.iPrimaryDns.Copy(KPrimaryDns); |
|
3508 contextConfigR99.iProtocolConfigOption.iDnsAddresses.iSecondaryDns.Copy(KSecondaryDns); |
|
3509 contextConfigR99.iProtocolConfigOption.iAuthInfo.iProtocol = RPacketContext::EProtocolCHAP; |
|
3510 contextConfigR99.iProtocolConfigOption.iAuthInfo.iUsername.Copy(KUsername); |
|
3511 contextConfigR99.iProtocolConfigOption.iAuthInfo.iPassword.Copy(KPassword); |
|
3512 contextConfigR99.iProtocolConfigOption.iId = KRequestID; |
|
3513 |
|
3514 TMockLtsyData1 <RPacketContext::TContextConfigR99_R4> ltsyData(contextConfigR99); |
|
3515 data.Close(); |
|
3516 ltsyData.SerialiseL(data); |
|
3517 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyNetworkInitiatedContextActivationRequestIndId, KErrNone, data); |
|
3518 |
|
3519 TRequestStatus requestStatus; |
|
3520 RPacketContext::TContextConfigR99_R4 getContextParam; |
|
3521 TPckg<RPacketContext::TContextConfigR99_R4> pckgParam(getContextParam); |
|
3522 packetService.NotifyContextActivationRequested(requestStatus, pckgParam); |
|
3523 User::WaitForRequest(requestStatus); |
|
3524 |
|
3525 ASSERT_EQUALS(KErrNone, requestStatus.Int()); |
|
3526 ASSERT_EQUALS(getContextParam.iPdpType, contextConfigR99.iPdpType); |
|
3527 ASSERT_EQUALS(getContextParam.iPdpAddress, contextConfigR99.iPdpAddress); |
|
3528 ASSERT_EQUALS(getContextParam.iAccessPointName, contextConfigR99.iAccessPointName); |
|
3529 |
|
3530 ASSERT_EQUALS(getContextParam.iProtocolConfigOption.iDnsAddresses.iPrimaryDns, contextConfigR99.iProtocolConfigOption.iDnsAddresses.iPrimaryDns); |
|
3531 ASSERT_EQUALS(getContextParam.iProtocolConfigOption.iDnsAddresses.iSecondaryDns, contextConfigR99.iProtocolConfigOption.iDnsAddresses.iSecondaryDns); |
|
3532 ASSERT_EQUALS(getContextParam.iProtocolConfigOption.iAuthInfo.iProtocol, contextConfigR99.iProtocolConfigOption.iAuthInfo.iProtocol); |
|
3533 ASSERT_EQUALS(getContextParam.iProtocolConfigOption.iAuthInfo.iUsername, contextConfigR99.iProtocolConfigOption.iAuthInfo.iUsername); |
|
3534 ASSERT_EQUALS(getContextParam.iProtocolConfigOption.iAuthInfo.iPassword, contextConfigR99.iProtocolConfigOption.iAuthInfo.iPassword); |
|
3535 ASSERT_EQUALS(getContextParam.iProtocolConfigOption.iId, contextConfigR99.iProtocolConfigOption.iId); |
|
3536 |
|
3537 AssertMockLtsyStatusL(); |
|
3538 CleanupStack::PopAndDestroy(3, this); // data, packetService, this |
|
3539 } |
|
3540 |
|
3541 /** |
|
3542 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN00011C |
|
3543 @SYMComponent telephony_ctsy |
|
3544 @SYMTestCaseDesc Test support in CTSY for NotifyContextActivationRequested R5 |
|
3545 @SYMTestPriority High |
|
3546 @SYMTestActions Invokes NotifyContextActivationRequested |
|
3547 @SYMTestExpectedResults Pass |
|
3548 @SYMTestType UT |
|
3549 */ |
|
3550 void CCTsyPacketServicesFU::TestUnit00011CL() |
|
3551 { |
|
3552 OpenEtelServerL(EUseExtendedError); |
|
3553 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
3554 OpenPhoneL(); |
|
3555 |
|
3556 RPacketService packetService; |
|
3557 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
3558 |
|
3559 RBuf8 data; |
|
3560 CleanupClosePushL(data); |
|
3561 |
|
3562 //------------------------------------------------------------------------- |
|
3563 // TEST A: Successful completion request of |
|
3564 // RPacketService::NotifyContextActivationRequested |
|
3565 //------------------------------------------------------------------------- |
|
3566 |
|
3567 // R5 test |
|
3568 |
|
3569 RPacketContext::TContextConfig_R5 contextConfigR5; |
|
3570 contextConfigR5.iAccessPointName.Copy(KPointName99); |
|
3571 contextConfigR5.iPdpType = RPacketContext::EPdpTypeIPv4; |
|
3572 contextConfigR5.iPdpAddress.Copy(KPdpAdd99); |
|
3573 // PCO Configurations |
|
3574 contextConfigR5.iProtocolConfigOption.iDnsAddresses.iPrimaryDns.Copy(KPrimaryDns99); |
|
3575 contextConfigR5.iProtocolConfigOption.iDnsAddresses.iSecondaryDns.Copy(KSecondaryDns99); |
|
3576 contextConfigR5.iProtocolConfigOption.iAuthInfo.iProtocol = RPacketContext::EProtocolCHAP; |
|
3577 contextConfigR5.iProtocolConfigOption.iAuthInfo.iUsername.Copy(KUsername); |
|
3578 contextConfigR5.iProtocolConfigOption.iAuthInfo.iPassword.Copy(KPassword); |
|
3579 contextConfigR5.iProtocolConfigOption.iId = KRequestID; |
|
3580 RPacketContext::TMiscProtocolBuffer miscBuffer; |
|
3581 miscBuffer.SetLength(KMaxMiscBufferSize); |
|
3582 miscBuffer.FillZ(); |
|
3583 TPtr8 miscPtr(miscBuffer.LeftTPtr(miscBuffer.MaxLength())); |
|
3584 miscPtr.SetLength(0); |
|
3585 |
|
3586 // TLV struct to store the Misc buffer: |
|
3587 TTlvStruct<RPacketContext::TPcoId, RPacketContext::TPcoItemDataLength> tlv(miscPtr,0); |
|
3588 |
|
3589 const TUint16 XId=1; |
|
3590 const TUint16 YId=10; |
|
3591 |
|
3592 RPacketContext::TPcoId pcoIdX(XId); |
|
3593 RPacketContext::TPcoId pcoIdY(YId); |
|
3594 |
|
3595 // BufferX |
|
3596 TBuf8<KAppendableBufferSize> appendableBufferX(_L8("xxx")); |
|
3597 appendableBufferX.SetLength(KAppendableBufferSize); |
|
3598 TPtr8 appendablePtrX(const_cast<TUint8*>(appendableBufferX.Ptr()),appendableBufferX.Length(),appendableBufferX.Length()); |
|
3599 // BufferY |
|
3600 TBuf8<KAppendableBufferSize> appendableBufferY(_L8("yyy")); |
|
3601 appendableBufferY.SetLength(KAppendableBufferSize); |
|
3602 TPtr8 appendablePtrY(const_cast<TUint8*>(appendableBufferY.Ptr()),appendableBufferY.Length(),appendableBufferY.Length()); |
|
3603 |
|
3604 // Append 3 Items to the misc buffer - X + Y + X |
|
3605 tlv.AppendItemL(pcoIdX,appendablePtrX); |
|
3606 tlv.AppendItemL(pcoIdY,appendablePtrY); |
|
3607 tlv.AppendItemL(pcoIdX,appendablePtrX); |
|
3608 |
|
3609 contextConfigR5.iProtocolConfigOption.iMiscBuffer.Copy(miscBuffer); |
|
3610 contextConfigR5.iProtocolConfigOption.iMiscBuffer.SetLength(miscBuffer.Length()); |
|
3611 |
|
3612 TMockLtsyData1 <RPacketContext::TContextConfig_R5> ltsyData(contextConfigR5); |
|
3613 data.Close(); |
|
3614 ltsyData.SerialiseL(data); |
|
3615 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyNetworkInitiatedContextActivationRequestIndId, KErrNone, data); |
|
3616 |
|
3617 TRequestStatus requestStatus; |
|
3618 RPacketContext::TContextConfig_R5 getContextParam; |
|
3619 TPckg<RPacketContext::TContextConfig_R5> pckgParam(getContextParam); |
|
3620 packetService.NotifyContextActivationRequested(requestStatus, pckgParam); |
|
3621 User::WaitForRequest(requestStatus); |
|
3622 |
|
3623 ASSERT_EQUALS(KErrNone, requestStatus.Int()); |
|
3624 ASSERT_EQUALS(getContextParam.iPdpType, contextConfigR5.iPdpType); |
|
3625 ASSERT_EQUALS(getContextParam.iPdpAddress, contextConfigR5.iPdpAddress); |
|
3626 ASSERT_EQUALS(getContextParam.iAccessPointName, contextConfigR5.iAccessPointName); |
|
3627 |
|
3628 ASSERT_EQUALS(getContextParam.iProtocolConfigOption.iDnsAddresses.iPrimaryDns, contextConfigR5.iProtocolConfigOption.iDnsAddresses.iPrimaryDns); |
|
3629 ASSERT_EQUALS(getContextParam.iProtocolConfigOption.iDnsAddresses.iSecondaryDns, contextConfigR5.iProtocolConfigOption.iDnsAddresses.iSecondaryDns); |
|
3630 ASSERT_EQUALS(getContextParam.iProtocolConfigOption.iAuthInfo.iProtocol, contextConfigR5.iProtocolConfigOption.iAuthInfo.iProtocol); |
|
3631 ASSERT_EQUALS(getContextParam.iProtocolConfigOption.iAuthInfo.iUsername, contextConfigR5.iProtocolConfigOption.iAuthInfo.iUsername); |
|
3632 ASSERT_EQUALS(getContextParam.iProtocolConfigOption.iAuthInfo.iPassword, contextConfigR5.iProtocolConfigOption.iAuthInfo.iPassword); |
|
3633 ASSERT_EQUALS(getContextParam.iProtocolConfigOption.iId, contextConfigR5.iProtocolConfigOption.iId); |
|
3634 ASSERT_EQUALS(getContextParam.iProtocolConfigOption.iMiscBuffer, contextConfigR5.iProtocolConfigOption.iMiscBuffer); |
|
3635 |
|
3636 |
|
3637 AssertMockLtsyStatusL(); |
|
3638 CleanupStack::PopAndDestroy(3, this); // data, packetService, this |
|
3639 } |
|
3640 |
|
3641 |
|
3642 /** |
|
3643 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN00012 |
|
3644 @SYMComponent telephony_ctsy |
|
3645 @SYMTestCaseDesc Test support in CTSY for NotifyMSClassChange |
|
3646 @SYMTestPriority High |
|
3647 @SYMTestActions Invokes NotifyMSClassChange |
|
3648 @SYMTestExpectedResults Pass |
|
3649 @SYMTestType UT |
|
3650 */ |
|
3651 void CCTsyPacketServicesFU::TestUnit00012L() |
|
3652 { |
|
3653 OpenEtelServerL(EUseExtendedError); |
|
3654 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
3655 OpenPhoneL(); |
|
3656 |
|
3657 RPacketService packetService; |
|
3658 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
3659 |
|
3660 RBuf8 data; |
|
3661 CleanupClosePushL(data); |
|
3662 |
|
3663 //pack context param for completion into data |
|
3664 RPacketService::TMSClass tMSclassReturn = RPacketService::EMSClassDualMode; |
|
3665 TMockLtsyData1<RPacketService::TMSClass> expLtsyMSClassChangeInd(tMSclassReturn); |
|
3666 data.Close(); |
|
3667 expLtsyMSClassChangeInd.SerialiseL(data); |
|
3668 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyPacketMsClassChangeIndId, KErrNone, data); |
|
3669 |
|
3670 //------------------------------------------------------------------------- |
|
3671 // TEST: Notify MS Class Change |
|
3672 //------------------------------------------------------------------------- |
|
3673 TRequestStatus notifyMSClassChangeStatus; |
|
3674 RPacketService::TMSClass tMSClass; |
|
3675 packetService.NotifyMSClassChange(notifyMSClassChangeStatus, tMSClass); |
|
3676 User::WaitForRequest(notifyMSClassChangeStatus); |
|
3677 |
|
3678 ASSERT_EQUALS(tMSclassReturn, tMSClass); |
|
3679 ASSERT_EQUALS(KErrNone, notifyMSClassChangeStatus.Int()); |
|
3680 |
|
3681 AssertMockLtsyStatusL(); |
|
3682 CleanupStack::PopAndDestroy(3, this); // data, this |
|
3683 |
|
3684 } |
|
3685 |
|
3686 /** |
|
3687 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN00013 |
|
3688 @SYMComponent telephony_ctsy |
|
3689 @SYMTestCaseDesc Test support in CTSY for NotifyDynamicCapsChange |
|
3690 @SYMTestPriority High |
|
3691 @SYMTestActions Invokes NotifyDynamicCapsChange |
|
3692 @SYMTestExpectedResults Pass |
|
3693 @SYMTestType UT |
|
3694 */ |
|
3695 void CCTsyPacketServicesFU::TestUnit00013L() |
|
3696 { |
|
3697 OpenEtelServerL(EUseExtendedError); |
|
3698 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
3699 OpenPhoneL(); |
|
3700 |
|
3701 RPacketService packetService; |
|
3702 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
3703 |
|
3704 RBuf8 data; |
|
3705 CleanupClosePushL(data); |
|
3706 |
|
3707 //pack context param for completion into data |
|
3708 TBool gprsIsSupportedOnCell; |
|
3709 TBool csServicesIsSupportedOnCell; |
|
3710 TMockLtsyData2<TBool, TBool> expLtsyDynamicCapsFlags(gprsIsSupportedOnCell, csServicesIsSupportedOnCell); |
|
3711 data.Close(); |
|
3712 expLtsyDynamicCapsFlags.SerialiseL(data); |
|
3713 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyPacketDynamicCapsChangeIndId, KErrNone, data); |
|
3714 |
|
3715 //------------------------------------------------------------------------- |
|
3716 // TEST: Notify Dynamic Caps Change |
|
3717 //------------------------------------------------------------------------- |
|
3718 |
|
3719 TRequestStatus notifyDynamicCapsChangeStatus; |
|
3720 RPacketService::TDynamicCapsFlags dynamicCapsFlags; |
|
3721 packetService.NotifyDynamicCapsChange(notifyDynamicCapsChangeStatus, dynamicCapsFlags); |
|
3722 User::WaitForRequest(notifyDynamicCapsChangeStatus); |
|
3723 |
|
3724 //expected dynamic caps according to the set gprsIsSupportedOnCell and csServicesIsSupportedOnCell |
|
3725 //and the initial state of the CTSY |
|
3726 RPacketService::TDynamicCapsFlags dynamicCaps; |
|
3727 dynamicCaps = 0; |
|
3728 dynamicCaps |= RPacketService::KCapsManualAttach; |
|
3729 dynamicCaps &= ~( RPacketService::KCapsSMSTransfer | |
|
3730 RPacketService::KCapsManualDetach | |
|
3731 RPacketService::KCapsRxContextActivationReq ); |
|
3732 dynamicCaps |= RPacketService::KCapsRxCSCall; |
|
3733 |
|
3734 ASSERT_EQUALS(dynamicCapsFlags, dynamicCaps); |
|
3735 ASSERT_EQUALS(KErrNone, notifyDynamicCapsChangeStatus.Int()); |
|
3736 |
|
3737 AssertMockLtsyStatusL(); |
|
3738 CleanupStack::PopAndDestroy(3, this); // data, this |
|
3739 |
|
3740 } |
|
3741 |
|
3742 /** |
|
3743 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN00014 |
|
3744 @SYMComponent telephony_ctsy |
|
3745 @SYMTestCaseDesc Test support in CTSY for NotifyChangeOfNtwkRegStatus |
|
3746 @SYMTestPriority High |
|
3747 @SYMTestActions Invokes NotifyChangeOfNtwkRegStatus |
|
3748 @SYMTestExpectedResults Pass |
|
3749 @SYMTestType UT |
|
3750 */ |
|
3751 void CCTsyPacketServicesFU::TestUnit00014L() |
|
3752 { |
|
3753 OpenEtelServerL(EUseExtendedError); |
|
3754 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
3755 OpenPhoneL(); |
|
3756 |
|
3757 RPacketService packetService; |
|
3758 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
3759 |
|
3760 RBuf8 data; |
|
3761 CleanupClosePushL(data); |
|
3762 |
|
3763 RPacketService::TRegistrationStatus registrationStatusReturn; |
|
3764 registrationStatusReturn = RPacketService::ENotRegisteredAndNotAvailable; |
|
3765 TMockLtsyData1<RPacketService::TRegistrationStatus> expLtsyRegistrationStatus(registrationStatusReturn); |
|
3766 data.Close(); |
|
3767 expLtsyRegistrationStatus.SerialiseL(data); |
|
3768 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyPacketNetworkRegistrationStatusIndId, KErrNone, data); |
|
3769 |
|
3770 //------------------------------------------------------------------------- |
|
3771 // TEST: notify change of network registration status |
|
3772 //------------------------------------------------------------------------- |
|
3773 TRequestStatus notifyChangeOfNtwkRegStatusStatus; |
|
3774 RPacketService::TRegistrationStatus registrationStatus; |
|
3775 packetService.NotifyChangeOfNtwkRegStatus(notifyChangeOfNtwkRegStatusStatus, registrationStatus); |
|
3776 |
|
3777 User::WaitForRequest(notifyChangeOfNtwkRegStatusStatus); |
|
3778 |
|
3779 ASSERT_EQUALS(registrationStatus, registrationStatusReturn); |
|
3780 ASSERT_EQUALS(KErrNone, notifyChangeOfNtwkRegStatusStatus.Int()); |
|
3781 |
|
3782 AssertMockLtsyStatusL(); |
|
3783 CleanupStack::PopAndDestroy(3, this); // data, this |
|
3784 |
|
3785 } |
|
3786 |
|
3787 /** |
|
3788 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN00015 |
|
3789 @SYMComponent telephony_ctsy |
|
3790 @SYMTestCaseDesc Test support in CTSY for NotifyContextAdded |
|
3791 @SYMTestPriority High |
|
3792 @SYMTestActions Invokes NotifyContextAdded |
|
3793 @SYMTestExpectedResults Pass |
|
3794 @SYMTestType UT |
|
3795 */ |
|
3796 void CCTsyPacketServicesFU::TestUnit00015L() |
|
3797 { |
|
3798 OpenEtelServerL(EUseExtendedError); |
|
3799 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
3800 OpenPhoneL(); |
|
3801 |
|
3802 RPacketService packetService; |
|
3803 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
3804 RBuf8 data; |
|
3805 CleanupClosePushL(data); |
|
3806 |
|
3807 //------------------------------------------------------------------------- |
|
3808 // TEST: open a new context and notify a new context was added |
|
3809 //------------------------------------------------------------------------- |
|
3810 |
|
3811 RPacketContext packetContext; |
|
3812 TRequestStatus notifyContextAddedStatus; |
|
3813 TName contextNameNotify; |
|
3814 packetService.NotifyContextAdded(notifyContextAddedStatus, contextNameNotify); |
|
3815 |
|
3816 //open a context and get a context name |
|
3817 TName contextName; |
|
3818 TInt err = packetContext.OpenNewContext(packetService, contextName); |
|
3819 ASSERT_EQUALS(KErrNone, err); |
|
3820 |
|
3821 //complete the context added notification |
|
3822 TMockLtsyData1<TName> expLtsyContextNameData2(contextName); |
|
3823 data.Close(); |
|
3824 expLtsyContextNameData2.SerialiseL(data); |
|
3825 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyPdpContextAddedIndId, KErrNone, data); |
|
3826 User::WaitForRequest(notifyContextAddedStatus); |
|
3827 |
|
3828 ASSERT_EQUALS(contextName, contextNameNotify); |
|
3829 ASSERT_EQUALS(KErrNone, notifyContextAddedStatus.Int()); |
|
3830 |
|
3831 DriverDeleteContextL(contextName); |
|
3832 packetContext.Close(); |
|
3833 |
|
3834 // Let the mock-LTSY finish up before asserting. |
|
3835 User::After(1000000); |
|
3836 |
|
3837 AssertMockLtsyStatusL(); |
|
3838 CleanupStack::PopAndDestroy(3, this); // data, this |
|
3839 } |
|
3840 |
|
3841 |
|
3842 /** |
|
3843 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN00016 |
|
3844 @SYMComponent telephony_ctsy |
|
3845 @SYMTestCaseDesc Test support in CTSY for NotifyStatusChange |
|
3846 @SYMTestPriority High |
|
3847 @SYMTestActions Invokes NotifyStatusChange |
|
3848 @SYMTestExpectedResults Pass |
|
3849 @SYMTestType UT |
|
3850 */ |
|
3851 void CCTsyPacketServicesFU::TestUnit00016L() |
|
3852 { |
|
3853 OpenEtelServerL(EUseExtendedError); |
|
3854 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
3855 OpenPhoneL(); |
|
3856 |
|
3857 RPacketService packetService; |
|
3858 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
3859 |
|
3860 RBuf8 data; |
|
3861 CleanupClosePushL(data); |
|
3862 |
|
3863 //open a context and get a context name |
|
3864 TInfoName contextName; |
|
3865 |
|
3866 RPacketContext packetContext; |
|
3867 TInt err = packetContext.OpenNewContext(packetService, contextName); |
|
3868 ASSERT_EQUALS(KErrNone, err); |
|
3869 |
|
3870 //-------------------------------------------------------------------------------- |
|
3871 // TEST: open a new context and notify context status changed without reject cause |
|
3872 //-------------------------------------------------------------------------------- |
|
3873 |
|
3874 TRequestStatus notifyContextStatusChangeStatus; |
|
3875 RPacketContext::TContextStatus contextStatusNotify; |
|
3876 packetContext.NotifyStatusChange(notifyContextStatusChangeStatus, contextStatusNotify); |
|
3877 |
|
3878 //complete the context status change notification |
|
3879 TContextMisc contextMiscReturn; |
|
3880 contextMiscReturn.iStatus = RPacketContext::EStatusActive; |
|
3881 |
|
3882 TMockLtsyData2<TInfoName, TContextMisc> expLtsyContextNameData(contextName, contextMiscReturn); |
|
3883 data.Close(); |
|
3884 expLtsyContextNameData.SerialiseL(data); |
|
3885 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyPdpContextStatusChangeIndId, KErrNone, data); |
|
3886 User::WaitForRequest(notifyContextStatusChangeStatus); |
|
3887 |
|
3888 ASSERT_EQUALS(contextStatusNotify, contextMiscReturn.iStatus); |
|
3889 ASSERT_EQUALS(KErrNone, notifyContextStatusChangeStatus.Int()); |
|
3890 |
|
3891 //-------------------------------------------------------------------------------- |
|
3892 // TEST: notify context status changed with reject cause |
|
3893 //-------------------------------------------------------------------------------- |
|
3894 |
|
3895 TRequestStatus notifyContextStatusChangeStatus2; |
|
3896 RPacketContext::TContextStatus contextStatusNotify2; |
|
3897 packetContext.NotifyStatusChange(notifyContextStatusChangeStatus2, contextStatusNotify2); |
|
3898 |
|
3899 //complete the context status change notification |
|
3900 _LIT8(KRejectCode, "1"); |
|
3901 TContextMisc contextMiscReturn2; |
|
3902 contextMiscReturn2.iStatus = RPacketContext::EStatusInactive; |
|
3903 contextMiscReturn2.iRejectionCause.Copy(KRejectCode); |
|
3904 |
|
3905 TMockLtsyData2<TInfoName, TContextMisc> expLtsyContextNameData2(contextName, contextMiscReturn2); |
|
3906 data.Close(); |
|
3907 expLtsyContextNameData2.SerialiseL(data); |
|
3908 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyPdpContextStatusChangeIndId, KErrNone, data); |
|
3909 User::WaitForRequest(notifyContextStatusChangeStatus2); |
|
3910 |
|
3911 ASSERT_EQUALS(contextStatusNotify2, contextMiscReturn2.iStatus); |
|
3912 ASSERT_EQUALS(KErrNone, notifyContextStatusChangeStatus2.Int()); |
|
3913 |
|
3914 |
|
3915 //close context |
|
3916 DriverDeleteContextL(contextName); |
|
3917 packetContext.Close(); |
|
3918 |
|
3919 // Let the mock-LTSY finish up before asserting. |
|
3920 User::After(1000000); |
|
3921 |
|
3922 AssertMockLtsyStatusL(); |
|
3923 CleanupStack::PopAndDestroy(3, this); // data, this |
|
3924 |
|
3925 } |
|
3926 /** |
|
3927 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN00017 |
|
3928 @SYMComponent telephony_ctsy |
|
3929 @SYMTestCaseDesc Test support in CTSY for getting the network registration status |
|
3930 @SYMTestPriority High |
|
3931 @SYMTestActions Invokes RPacketService::GetNtwkRegStatus |
|
3932 @SYMTestExpectedResults Pass |
|
3933 @SYMTestType UT |
|
3934 */ |
|
3935 void CCTsyPacketServicesFU::TestUnit00017L() |
|
3936 { |
|
3937 OpenEtelServerL(EUseExtendedError); |
|
3938 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
3939 OpenPhoneL(); |
|
3940 |
|
3941 RBuf8 data; |
|
3942 CleanupClosePushL(data); |
|
3943 |
|
3944 RPacketService packetService; |
|
3945 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
3946 |
|
3947 //------------------------------------------------------------------------- |
|
3948 // TEST: get the current network status |
|
3949 //------------------------------------------------------------------------- |
|
3950 |
|
3951 RPacketService::TRegistrationStatus registrationStatusReturn; |
|
3952 registrationStatusReturn = RPacketService::ERegisteredRoaming; |
|
3953 TMockLtsyData1<RPacketService::TRegistrationStatus> completeRegistrationStatus(registrationStatusReturn); |
|
3954 data.Close(); |
|
3955 completeRegistrationStatus.SerialiseL(data); |
|
3956 |
|
3957 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesGetPacketNetworkRegistrationStatus::KLtsyDispatchPacketServicesGetPacketNetworkRegistrationStatusApiId, KErrNone); |
|
3958 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesGetPacketNetworkRegistrationStatus::KLtsyDispatchPacketServicesGetPacketNetworkRegistrationStatusApiId, KErrNone, data); |
|
3959 |
|
3960 TRequestStatus getNetworkStatus; |
|
3961 RPacketService::TRegistrationStatus registrationStatus; |
|
3962 |
|
3963 packetService.GetNtwkRegStatus(getNetworkStatus, registrationStatus); |
|
3964 User::WaitForRequest(getNetworkStatus); |
|
3965 |
|
3966 ASSERT_EQUALS(registrationStatusReturn, registrationStatus); |
|
3967 ASSERT_EQUALS(KErrNone, getNetworkStatus.Int()); |
|
3968 |
|
3969 AssertMockLtsyStatusL(); |
|
3970 CleanupStack::PopAndDestroy(3, this); // data, this |
|
3971 } |
|
3972 |
|
3973 /** |
|
3974 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN00018 |
|
3975 @SYMComponent telephony_ctsy |
|
3976 @SYMTestCaseDesc Test support in CTSY for NotifyConnectionSpeedChange |
|
3977 @SYMTestPriority High |
|
3978 @SYMTestActions Invokes NotifyConnectionSpeedChange |
|
3979 @SYMTestExpectedResults Pass |
|
3980 @SYMTestType UT |
|
3981 */ |
|
3982 void CCTsyPacketServicesFU::TestUnit00018L() |
|
3983 { |
|
3984 OpenEtelServerL(EUseExtendedError); |
|
3985 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
3986 OpenPhoneL(); |
|
3987 |
|
3988 RPacketService packetService; |
|
3989 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
3990 |
|
3991 RBuf8 data; |
|
3992 CleanupClosePushL(data); |
|
3993 |
|
3994 RPacketContext packetContext; |
|
3995 CleanupClosePushL(packetContext); |
|
3996 |
|
3997 //open a context and get a context name |
|
3998 TInfoName contextName; |
|
3999 TInt err = packetContext.OpenNewContext(packetService, contextName); |
|
4000 ASSERT_EQUALS(KErrNone, err); |
|
4001 |
|
4002 //--------------------------------------------------------------------- |
|
4003 // TEST: open a new context and notify context connection speed change |
|
4004 //--------------------------------------------------------------------- |
|
4005 |
|
4006 TRequestStatus notifyContextConnectionSpeedChangeStatus; |
|
4007 TUint contextConnectionSpeedNotify; |
|
4008 |
|
4009 packetContext.NotifyConnectionSpeedChange(notifyContextConnectionSpeedChangeStatus, contextConnectionSpeedNotify); |
|
4010 |
|
4011 //complete the context connection speed change notification |
|
4012 TUint contextConnectionSpeedReturn = 1234569; |
|
4013 TMockLtsyData2<TInfoName, TUint> expLtsyContextNameData(contextName, contextConnectionSpeedReturn); |
|
4014 data.Close(); |
|
4015 expLtsyContextNameData.SerialiseL(data); |
|
4016 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyPdpContextConnectionSpeedChangeIndId, KErrNone, data); |
|
4017 |
|
4018 User::WaitForRequest(notifyContextConnectionSpeedChangeStatus); |
|
4019 |
|
4020 ASSERT_EQUALS(contextConnectionSpeedNotify, contextConnectionSpeedReturn); |
|
4021 ASSERT_EQUALS(KErrNone, notifyContextConnectionSpeedChangeStatus.Int()); |
|
4022 |
|
4023 //close context |
|
4024 DriverDeleteContextL(contextName); |
|
4025 packetContext.Close(); |
|
4026 packetService.Close(); |
|
4027 |
|
4028 // Let the mock-LTSY finish up before asserting. |
|
4029 User::After(1000000); |
|
4030 |
|
4031 AssertMockLtsyStatusL(); |
|
4032 CleanupStack::PopAndDestroy(4, this); // packetService, packetContext, data, this |
|
4033 } |
|
4034 |
|
4035 /** |
|
4036 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN00019 |
|
4037 @SYMComponent telephony_ctsy |
|
4038 @SYMTestCaseDesc Test support in CTSY for RPacketMbmsContext::InitialiseContext, RPacketMbmsContext::NotifyConfigChanged |
|
4039 @SYMTestPriority High |
|
4040 @SYMTestActions Invokes InitialiseContext, NotifyConfigChanged |
|
4041 @SYMTestExpectedResults Pass |
|
4042 @SYMTestType UT |
|
4043 */ |
|
4044 void CCTsyPacketServicesFU::TestUnit00019L() |
|
4045 { |
|
4046 OpenEtelServerL(EUseExtendedError); |
|
4047 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
4048 OpenPhoneL(); |
|
4049 |
|
4050 TRequestStatus reqStatus; |
|
4051 |
|
4052 RBuf8 data; |
|
4053 CleanupClosePushL(data); |
|
4054 |
|
4055 RPacketService packetService; |
|
4056 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
4057 |
|
4058 // Open new Mbms context - complete with KErrNone |
|
4059 TInfoName contextName1; |
|
4060 RPacketMbmsContext packetContext1; |
|
4061 _LIT(KCHANNEL1,"CHANNEL1"); |
|
4062 OpenInitialiseMbmsContextLC(packetService,packetContext1,contextName1,KCHANNEL1,KErrNone); |
|
4063 |
|
4064 // Open new Mbms context - complete with KErrNone (demonstrates each new context causes the initialise IPCs) |
|
4065 TInfoName contextName2; |
|
4066 RPacketMbmsContext packetContext2; |
|
4067 _LIT(KCHANNEL2,"CHANNEL2"); |
|
4068 OpenInitialiseMbmsContextLC(packetService,packetContext2,contextName2,KCHANNEL2,KErrNone); |
|
4069 |
|
4070 // Open new Mbms context - complete with KErrGeneral |
|
4071 TInfoName contextName3; |
|
4072 RPacketMbmsContext packetContext3; |
|
4073 _LIT(KCHANNEL3,"CHANNEL3"); |
|
4074 OpenInitialiseMbmsContextLC(packetService,packetContext3,contextName3,KCHANNEL3,KErrGeneral); |
|
4075 |
|
4076 //test a NotifyConfigChanged - KErrNone case |
|
4077 TDesC* contextNamePtr = &contextName1; |
|
4078 RPacketMbmsContext::TContextConfigMbmsV1 compContextConfig; |
|
4079 compContextConfig.iTmgi.SetMCC(1); |
|
4080 compContextConfig.iTmgi.SetMNC(2); |
|
4081 compContextConfig.iTmgi.SetServiceId(3); |
|
4082 compContextConfig.iMbmsAccessBearer = E2GBearer; |
|
4083 compContextConfig.iMbmsServicePriority = EMbmsMediumServicePriority; |
|
4084 compContextConfig.iMbmsServiceMode = KBroadcast; |
|
4085 compContextConfig.iMbmsSessionFlag = EFalse; |
|
4086 TMockLtsyData2<TDesC*, RPacketMbmsContext::TContextConfigMbmsV1> contextConfigCompData(contextNamePtr,compContextConfig); |
|
4087 contextConfigCompData.SerialiseL(data); |
|
4088 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyMbmsContextConfigChangedIndId, KErrNone, data); |
|
4089 data.Close(); |
|
4090 |
|
4091 RPacketMbmsContext::TContextConfigMbmsV1 contextConfig; |
|
4092 RPacketMbmsContext::TContextConfigMbmsV1Pckg contextConfigPckg(contextConfig); |
|
4093 packetContext1.NotifyConfigChanged(reqStatus,contextConfigPckg); |
|
4094 User::WaitForRequest(reqStatus); |
|
4095 ASSERT_EQUALS(reqStatus.Int(), KErrNone); |
|
4096 ASSERT_EQUALS(compContextConfig.iTmgi.GetMCC(),contextConfig.iTmgi.GetMCC()); |
|
4097 ASSERT_EQUALS(compContextConfig.iTmgi.GetMNC(),contextConfig.iTmgi.GetMNC()); |
|
4098 ASSERT_EQUALS(compContextConfig.iTmgi.GetServiceId(),contextConfig.iTmgi.GetServiceId()); |
|
4099 ASSERT_EQUALS(compContextConfig.iMbmsAccessBearer,contextConfig.iMbmsAccessBearer); |
|
4100 ASSERT_EQUALS(compContextConfig.iMbmsServicePriority,contextConfig.iMbmsServicePriority); |
|
4101 ASSERT_EQUALS(compContextConfig.iMbmsServiceMode,contextConfig.iMbmsServiceMode); |
|
4102 ASSERT_EQUALS(compContextConfig.iMbmsSessionFlag,contextConfig.iMbmsSessionFlag); |
|
4103 |
|
4104 AssertMockLtsyStatusL(); |
|
4105 |
|
4106 //test a NotifyConfigChanged - KErrGeneral case |
|
4107 contextConfigCompData.SerialiseL(data); |
|
4108 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyMbmsContextConfigChangedIndId, KErrGeneral, data); |
|
4109 data.Close(); |
|
4110 |
|
4111 packetContext1.NotifyConfigChanged(reqStatus,contextConfigPckg); |
|
4112 User::WaitForRequest(reqStatus); |
|
4113 ASSERT_EQUALS(reqStatus.Int(), KErrGeneral); |
|
4114 |
|
4115 AssertMockLtsyStatusL(); |
|
4116 |
|
4117 CleanupStack::PopAndDestroy(&packetContext3); |
|
4118 CleanupStack::PopAndDestroy(&packetContext2); |
|
4119 CleanupStack::PopAndDestroy(&packetContext1); |
|
4120 CleanupStack::PopAndDestroy(&packetService); |
|
4121 CleanupStack::PopAndDestroy(2, this); // data, this |
|
4122 } |
|
4123 |
|
4124 /** |
|
4125 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN00020 |
|
4126 @SYMComponent telephony_ctsy |
|
4127 @SYMTestCaseDesc Test support in CTSY for RPacketService::GetMbmsNetworkServiceStatus RPacketService::NotifyMbmsNetworkServiceStatusChange |
|
4128 @SYMTestPriority High |
|
4129 @SYMTestActions Invokes GetMbmsNetworkServiceStatus, NotifyMbmsNetworkServiceStatusChange |
|
4130 @SYMTestExpectedResults Pass |
|
4131 @SYMTestType UT |
|
4132 */ |
|
4133 void CCTsyPacketServicesFU::TestUnit00020L() |
|
4134 { |
|
4135 OpenEtelServerL(EUseExtendedError); |
|
4136 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
4137 OpenPhoneL(); |
|
4138 |
|
4139 TRequestStatus reqStatus; |
|
4140 |
|
4141 RBuf8 data; |
|
4142 CleanupClosePushL(data); |
|
4143 |
|
4144 RPacketService packetService; |
|
4145 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
4146 |
|
4147 TBool attemptAttach = ETrue; //in |
|
4148 |
|
4149 //test the get with a KErrNone comp |
|
4150 TMockLtsyData1<TBool> getMbmsNetworkServiceStatusExpData(attemptAttach); |
|
4151 getMbmsNetworkServiceStatusExpData.SerialiseL(data); |
|
4152 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesGetMbmsNetworkServiceStatus::KLtsyDispatchPacketServicesGetMbmsNetworkServiceStatusApiId,data); |
|
4153 data.Close(); |
|
4154 |
|
4155 TMbmsNetworkServiceStatus mbmsNetworkServiceStatusReturn = EMbmsSupported; |
|
4156 TMockLtsyData1<TMbmsNetworkServiceStatus> getMbmsNetworkServiceStatusCompData(mbmsNetworkServiceStatusReturn); |
|
4157 getMbmsNetworkServiceStatusCompData.SerialiseL(data); |
|
4158 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesGetMbmsNetworkServiceStatus::KLtsyDispatchPacketServicesGetMbmsNetworkServiceStatusApiId, KErrNone, data); |
|
4159 data.Close(); |
|
4160 |
|
4161 TMbmsNetworkServiceStatus mbmsNetworkServiceStatus = EMbmsSupportUnknown;; //out |
|
4162 packetService.GetMbmsNetworkServiceStatus(reqStatus,attemptAttach,mbmsNetworkServiceStatus); |
|
4163 User::WaitForRequest(reqStatus); |
|
4164 ASSERT_EQUALS(reqStatus.Int(), KErrNone); |
|
4165 ASSERT_EQUALS(mbmsNetworkServiceStatus, mbmsNetworkServiceStatusReturn); |
|
4166 AssertMockLtsyStatusL(); |
|
4167 |
|
4168 //result is now cached (a call will not cause an LTSY call) |
|
4169 mbmsNetworkServiceStatus = EMbmsSupportUnknown; |
|
4170 packetService.GetMbmsNetworkServiceStatus(reqStatus,attemptAttach,mbmsNetworkServiceStatus); |
|
4171 User::WaitForRequest(reqStatus); |
|
4172 ASSERT_EQUALS(reqStatus.Int(), KErrNone); |
|
4173 ASSERT_EQUALS(mbmsNetworkServiceStatus, mbmsNetworkServiceStatusReturn); |
|
4174 AssertMockLtsyStatusL(); |
|
4175 |
|
4176 //update the cache via notifier - KErrNone case |
|
4177 mbmsNetworkServiceStatusReturn = EMbmsNotSupported; |
|
4178 getMbmsNetworkServiceStatusCompData.SerialiseL(data); |
|
4179 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyMbmsNetworkServiceStatusChangeIndId, KErrNone, data); |
|
4180 data.Close(); |
|
4181 mbmsNetworkServiceStatus = EMbmsSupportUnknown; |
|
4182 packetService.NotifyMbmsNetworkServiceStatusChange(reqStatus,mbmsNetworkServiceStatus); |
|
4183 User::WaitForRequest(reqStatus); |
|
4184 ASSERT_EQUALS(reqStatus.Int(), KErrNone); |
|
4185 ASSERT_EQUALS(mbmsNetworkServiceStatusReturn, mbmsNetworkServiceStatus); |
|
4186 AssertMockLtsyStatusL(); |
|
4187 |
|
4188 //a cached get (should return notified status) |
|
4189 mbmsNetworkServiceStatus = EMbmsSupportUnknown; |
|
4190 packetService.GetMbmsNetworkServiceStatus(reqStatus,attemptAttach,mbmsNetworkServiceStatus); |
|
4191 User::WaitForRequest(reqStatus); |
|
4192 ASSERT_EQUALS(reqStatus.Int(), KErrNone); |
|
4193 ASSERT_EQUALS(mbmsNetworkServiceStatus, mbmsNetworkServiceStatusReturn); |
|
4194 AssertMockLtsyStatusL(); |
|
4195 |
|
4196 |
|
4197 //update the cache via notifier - KErrGeneral case |
|
4198 mbmsNetworkServiceStatusReturn = EMbmsSupported; |
|
4199 getMbmsNetworkServiceStatusCompData.SerialiseL(data); |
|
4200 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyMbmsNetworkServiceStatusChangeIndId, KErrGeneral, data); |
|
4201 data.Close(); |
|
4202 mbmsNetworkServiceStatus = EMbmsSupportUnknown; |
|
4203 packetService.NotifyMbmsNetworkServiceStatusChange(reqStatus,mbmsNetworkServiceStatus); |
|
4204 User::WaitForRequest(reqStatus); |
|
4205 ASSERT_EQUALS(reqStatus.Int(), KErrGeneral); |
|
4206 ASSERT_EQUALS(EMbmsSupportUnknown, mbmsNetworkServiceStatus); |
|
4207 AssertMockLtsyStatusL(); |
|
4208 |
|
4209 |
|
4210 |
|
4211 // we need to close packetservice and re-open so we can test the error cases as to null the cache |
|
4212 CleanupStack::PopAndDestroy(&packetService); |
|
4213 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
4214 |
|
4215 //test the get with a KErrGeneral comp |
|
4216 getMbmsNetworkServiceStatusExpData.SerialiseL(data); |
|
4217 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesGetMbmsNetworkServiceStatus::KLtsyDispatchPacketServicesGetMbmsNetworkServiceStatusApiId,data); |
|
4218 data.Close(); |
|
4219 |
|
4220 getMbmsNetworkServiceStatusCompData.SerialiseL(data); |
|
4221 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesGetMbmsNetworkServiceStatus::KLtsyDispatchPacketServicesGetMbmsNetworkServiceStatusApiId, KErrGeneral, data); |
|
4222 data.Close(); |
|
4223 |
|
4224 mbmsNetworkServiceStatus = EMbmsSupportUnknown; |
|
4225 packetService.GetMbmsNetworkServiceStatus(reqStatus,attemptAttach,mbmsNetworkServiceStatus); |
|
4226 User::WaitForRequest(reqStatus); |
|
4227 ASSERT_EQUALS(reqStatus.Int(), KErrGeneral); |
|
4228 ASSERT_EQUALS(mbmsNetworkServiceStatus, EMbmsSupportUnknown); |
|
4229 AssertMockLtsyStatusL(); |
|
4230 |
|
4231 CleanupStack::PopAndDestroy(&packetService); |
|
4232 CleanupStack::PopAndDestroy(&data); |
|
4233 CleanupStack::PopAndDestroy(this); |
|
4234 } |
|
4235 |
|
4236 |
|
4237 /** |
|
4238 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN00021 |
|
4239 @SYMComponent telephony_ctsy |
|
4240 @SYMTestCaseDesc Test support in CTSY for RPacketService::UpdateMbmsMonitorServiceListL, RPacketService::NotifyMbmsServiceAvailabilityChange |
|
4241 @SYMTestPriority High |
|
4242 @SYMTestActions Invokes UpdateMbmsMonitorServiceListL, NotifyMbmsServiceAvailabilityChange, CRetrievePcktMbmsMonitoredServices |
|
4243 @SYMTestExpectedResults Pass |
|
4244 @SYMTestType UT |
|
4245 */ |
|
4246 void CCTsyPacketServicesFU::TestUnit00021L() |
|
4247 { |
|
4248 OpenEtelServerL(EUseExtendedError); |
|
4249 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
4250 OpenPhoneL(); |
|
4251 |
|
4252 TRequestStatus reqStatus; |
|
4253 TRequestStatus notifyReqStatus; |
|
4254 |
|
4255 RBuf8 data; |
|
4256 CleanupClosePushL(data); |
|
4257 |
|
4258 RPacketService packetService; |
|
4259 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
4260 |
|
4261 CGetMbmsMonitorServiceListAO* getMbmsMonitorServiceListAO = CGetMbmsMonitorServiceListAO::NewLC(packetService); |
|
4262 |
|
4263 RPacketService::TMbmsServiceAvailabilityV1 entry1; |
|
4264 entry1.iTmgi.SetMCC(1); |
|
4265 entry1.iTmgi.SetMNC(1); |
|
4266 entry1.iTmgi.SetServiceId(1); |
|
4267 entry1.iMbmsAccessBearer = E2GBearer; |
|
4268 entry1.iMbmsAvailabilityStatus = EMbmsUnavailable; |
|
4269 entry1.iMbmsServiceMode = KBroadcast; |
|
4270 |
|
4271 RPacketService::TMbmsServiceAvailabilityV1 entry2; |
|
4272 entry2.iTmgi.SetMCC(2); |
|
4273 entry2.iTmgi.SetMNC(2); |
|
4274 entry2.iTmgi.SetServiceId(2); |
|
4275 entry2.iMbmsAccessBearer = E3GBearer; |
|
4276 entry2.iMbmsAvailabilityStatus = EMbmsAvailable; |
|
4277 entry2.iMbmsServiceMode = KSelectedBroadcast; |
|
4278 |
|
4279 CPcktMbmsMonitoredServiceList* nullList = CPcktMbmsMonitoredServiceList ::NewL(); |
|
4280 CleanupStack::PushL(nullList); |
|
4281 |
|
4282 CPcktMbmsMonitoredServiceList* list = CPcktMbmsMonitoredServiceList ::NewL(); |
|
4283 CleanupStack::PushL(list); |
|
4284 |
|
4285 list->AddEntryL(entry1); |
|
4286 list->AddEntryL(entry2); |
|
4287 |
|
4288 RArray<TUint> serviceIds; |
|
4289 CleanupClosePushL(serviceIds); |
|
4290 |
|
4291 //add entries (KErrNone complete case) |
|
4292 TMbmsAction action = EAddEntries; |
|
4293 CPcktMbmsMonitoredServiceList* serviceList = nullList; |
|
4294 CPcktMbmsMonitoredServiceList* changeList = list; |
|
4295 |
|
4296 TMockLtsyData3<TMbmsAction, CPcktMbmsMonitoredServiceList*, CPcktMbmsMonitoredServiceList*> updateMbmsMonitorServiceListExpData(action,serviceList,changeList); |
|
4297 updateMbmsMonitorServiceListExpData.SerialiseL(data); |
|
4298 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesUpdateMbmsMonitorServiceList::KLtsyDispatchPacketServicesUpdateMbmsMonitorServiceListApiId,data); |
|
4299 data.Close(); |
|
4300 |
|
4301 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesUpdateMbmsMonitorServiceList::KLtsyDispatchPacketServicesUpdateMbmsMonitorServiceListApiId, KErrNone); |
|
4302 |
|
4303 packetService.UpdateMbmsMonitorServiceListL(reqStatus,action,list); |
|
4304 packetService.NotifyMbmsServiceAvailabilityChange(notifyReqStatus); |
|
4305 User::WaitForRequest(reqStatus); |
|
4306 ASSERT_EQUALS(reqStatus.Int(), KErrNone); |
|
4307 User::WaitForRequest(notifyReqStatus); |
|
4308 ASSERT_EQUALS(notifyReqStatus.Int(), KErrNone); |
|
4309 AssertMockLtsyStatusL(); |
|
4310 |
|
4311 //check the results |
|
4312 getMbmsMonitorServiceListAO->TestRetrieveL(); |
|
4313 ASSERT_EQUALS(getMbmsMonitorServiceListAO->CheckResultsL(*list), static_cast<TBool>(ETrue)); |
|
4314 |
|
4315 |
|
4316 //remove entries (KErrNone complete case) |
|
4317 action = ERemoveEntries; |
|
4318 serviceList = list; |
|
4319 changeList = list; |
|
4320 |
|
4321 updateMbmsMonitorServiceListExpData.SerialiseL(data); |
|
4322 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesUpdateMbmsMonitorServiceList::KLtsyDispatchPacketServicesUpdateMbmsMonitorServiceListApiId,data); |
|
4323 data.Close(); |
|
4324 |
|
4325 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesUpdateMbmsMonitorServiceList::KLtsyDispatchPacketServicesUpdateMbmsMonitorServiceListApiId, KErrNone); |
|
4326 |
|
4327 packetService.UpdateMbmsMonitorServiceListL(reqStatus,action,list); |
|
4328 packetService.NotifyMbmsServiceAvailabilityChange(notifyReqStatus); |
|
4329 User::WaitForRequest(reqStatus); |
|
4330 ASSERT_EQUALS(reqStatus.Int(), KErrNone); |
|
4331 User::WaitForRequest(notifyReqStatus); |
|
4332 ASSERT_EQUALS(notifyReqStatus.Int(), KErrNone); |
|
4333 AssertMockLtsyStatusL(); |
|
4334 |
|
4335 //check the results |
|
4336 getMbmsMonitorServiceListAO->TestRetrieveL(); |
|
4337 ASSERT_EQUALS(getMbmsMonitorServiceListAO->CheckResultsL(*nullList), static_cast<TBool>(ETrue)); |
|
4338 |
|
4339 |
|
4340 //add entries (KErrMbmsImpreciseServiceEntries complete case) |
|
4341 action = EAddEntries; |
|
4342 serviceList = nullList; |
|
4343 changeList = list; |
|
4344 |
|
4345 updateMbmsMonitorServiceListExpData.SerialiseL(data); |
|
4346 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesUpdateMbmsMonitorServiceList::KLtsyDispatchPacketServicesUpdateMbmsMonitorServiceListApiId,data); |
|
4347 data.Close(); |
|
4348 |
|
4349 serviceIds.AppendL(1); |
|
4350 TMockLtsyData1<RArray<TUint> > updateMbmsMonitorServiceListCompData(serviceIds); |
|
4351 updateMbmsMonitorServiceListCompData.SerialiseL(data); |
|
4352 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesUpdateMbmsMonitorServiceList::KLtsyDispatchPacketServicesUpdateMbmsMonitorServiceListApiId, KErrMbmsImpreciseServiceEntries, data); |
|
4353 data.Close(); |
|
4354 |
|
4355 packetService.UpdateMbmsMonitorServiceListL(reqStatus,action,list); |
|
4356 //can't do a NotifyMbmsServiceAvailabilityChange as not completed in the error case |
|
4357 User::WaitForRequest(reqStatus); |
|
4358 ASSERT_EQUALS(reqStatus.Int(), KErrMbmsImpreciseServiceEntries); |
|
4359 AssertMockLtsyStatusL(); |
|
4360 |
|
4361 |
|
4362 //check the results |
|
4363 getMbmsMonitorServiceListAO->TestRetrieveL(); |
|
4364 list->DeleteEntryL(0); //remove entry in serviceId error list |
|
4365 ASSERT_EQUALS(getMbmsMonitorServiceListAO->CheckResultsL(*list), static_cast<TBool>(ETrue)); |
|
4366 |
|
4367 |
|
4368 //test the service change to unavailable |
|
4369 packetService.NotifyMbmsServiceAvailabilityChange(reqStatus); |
|
4370 |
|
4371 //all services are unavailable |
|
4372 serviceIds.Reset(); |
|
4373 TMockLtsyData1<RArray<TUint> > notifyMbmsServiceAvailabilityChangeCompData(serviceIds); |
|
4374 notifyMbmsServiceAvailabilityChangeCompData.SerialiseL(data); |
|
4375 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyMbmsServiceAvailabilityChangeIndId, KErrNone, data); |
|
4376 data.Close(); |
|
4377 |
|
4378 User::WaitForRequest(reqStatus); |
|
4379 ASSERT_EQUALS(reqStatus.Int(), KErrNone); |
|
4380 AssertMockLtsyStatusL(); |
|
4381 |
|
4382 //check the results |
|
4383 getMbmsMonitorServiceListAO->TestRetrieveL(); |
|
4384 //update the test data |
|
4385 entry2.iMbmsAvailabilityStatus = EMbmsUnavailable; |
|
4386 list->ChangeEntryL(0,entry2); |
|
4387 ASSERT_EQUALS(getMbmsMonitorServiceListAO->CheckResultsL(*list), static_cast<TBool>(ETrue)); |
|
4388 |
|
4389 |
|
4390 //test the service change to available |
|
4391 packetService.NotifyMbmsServiceAvailabilityChange(reqStatus); |
|
4392 |
|
4393 //services 1 is available |
|
4394 serviceIds.Reset(); |
|
4395 serviceIds.AppendL(entry2.iTmgi.GetServiceId()); |
|
4396 notifyMbmsServiceAvailabilityChangeCompData.SerialiseL(data); |
|
4397 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyMbmsServiceAvailabilityChangeIndId, KErrNone, data); |
|
4398 data.Close(); |
|
4399 |
|
4400 User::WaitForRequest(reqStatus); |
|
4401 ASSERT_EQUALS(reqStatus.Int(), KErrNone); |
|
4402 AssertMockLtsyStatusL(); |
|
4403 |
|
4404 //check the results |
|
4405 getMbmsMonitorServiceListAO->TestRetrieveL(); |
|
4406 //update the test data |
|
4407 entry2.iMbmsAvailabilityStatus = EMbmsAvailable; |
|
4408 list->ChangeEntryL(0,entry2); |
|
4409 ASSERT_EQUALS(getMbmsMonitorServiceListAO->CheckResultsL(*list), static_cast<TBool>(ETrue)); |
|
4410 |
|
4411 |
|
4412 //test the service change to unavailable (error case) |
|
4413 packetService.NotifyMbmsServiceAvailabilityChange(reqStatus); |
|
4414 |
|
4415 //services 1 is unavailable |
|
4416 serviceIds.Reset(); |
|
4417 notifyMbmsServiceAvailabilityChangeCompData.SerialiseL(data); |
|
4418 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyMbmsServiceAvailabilityChangeIndId, KErrGeneral, data); |
|
4419 data.Close(); |
|
4420 |
|
4421 User::WaitForRequest(reqStatus); |
|
4422 ASSERT_EQUALS(reqStatus.Int(), KErrGeneral); |
|
4423 AssertMockLtsyStatusL(); |
|
4424 |
|
4425 //check the results (no change) |
|
4426 getMbmsMonitorServiceListAO->TestRetrieveL(); |
|
4427 ASSERT_EQUALS(getMbmsMonitorServiceListAO->CheckResultsL(*list), static_cast<TBool>(ETrue)); |
|
4428 |
|
4429 |
|
4430 //test cancel for code coverage (CTSY test) |
|
4431 getMbmsMonitorServiceListAO->TestCancel(); |
|
4432 |
|
4433 //check #ifdef defect fix of PopAndDestroy when iMBMSMonitoredList is null |
|
4434 packetService.Close(); |
|
4435 RPacketService packetService2; |
|
4436 OpenPacketServiceLC(packetService2,RPacketService::EStatusUnattached); |
|
4437 |
|
4438 packetService2.NotifyMbmsServiceAvailabilityChange(reqStatus); |
|
4439 |
|
4440 //services 1 is available |
|
4441 serviceIds.Reset(); |
|
4442 notifyMbmsServiceAvailabilityChangeCompData.SerialiseL(data); |
|
4443 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyMbmsServiceAvailabilityChangeIndId, KErrNone, data); |
|
4444 data.Close(); |
|
4445 |
|
4446 User::WaitForRequest(reqStatus); |
|
4447 ASSERT_EQUALS(reqStatus.Int(), KErrNone); |
|
4448 AssertMockLtsyStatusL(); |
|
4449 |
|
4450 |
|
4451 CleanupStack::PopAndDestroy(&packetService2); |
|
4452 CleanupStack::PopAndDestroy(&serviceIds); |
|
4453 CleanupStack::PopAndDestroy(list); |
|
4454 CleanupStack::PopAndDestroy(nullList); |
|
4455 CleanupStack::PopAndDestroy(getMbmsMonitorServiceListAO); |
|
4456 CleanupStack::PopAndDestroy(&packetService); |
|
4457 CleanupStack::PopAndDestroy(&data); |
|
4458 CleanupStack::PopAndDestroy(this); |
|
4459 } |
|
4460 |
|
4461 /** |
|
4462 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN00022 |
|
4463 @SYMComponent telephony_ctsy |
|
4464 @SYMTestCaseDesc Test support in CTSY for RPacketMbmsContext::UpdateMbmsSessionList |
|
4465 @SYMTestPriority High |
|
4466 @SYMTestActions Invokes UpdateMbmsSessionList |
|
4467 @SYMTestExpectedResults Pass |
|
4468 @SYMTestType UT |
|
4469 */ |
|
4470 void CCTsyPacketServicesFU::TestUnit00022L() |
|
4471 { |
|
4472 OpenEtelServerL(EUseExtendedError); |
|
4473 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
4474 OpenPhoneL(); |
|
4475 |
|
4476 TRequestStatus reqStatus; |
|
4477 |
|
4478 RBuf8 data; |
|
4479 CleanupClosePushL(data); |
|
4480 |
|
4481 RPacketService packetService; |
|
4482 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
4483 |
|
4484 // Open new Mbms context |
|
4485 TInfoName contextName; |
|
4486 RPacketMbmsContext packetMbmsContext; |
|
4487 _LIT(KCHANNEL1,"CHANNEL1"); |
|
4488 OpenInitialiseMbmsContextLC(packetService,packetMbmsContext,contextName,KCHANNEL1,KErrNone); |
|
4489 |
|
4490 // retriever for the session list (to test results) |
|
4491 CGetMbmsSessionListAO* getMbmsSessionListAO = CGetMbmsSessionListAO::NewLC(packetMbmsContext); |
|
4492 |
|
4493 RPacketMbmsContext::CMbmsSession* sessionIdList = RPacketMbmsContext::CMbmsSession::NewL(); |
|
4494 CleanupStack::PushL(sessionIdList); |
|
4495 |
|
4496 //test adding in KErrNone complete case |
|
4497 TDesC* contextNamePtr = &contextName; |
|
4498 TMbmsAction action; |
|
4499 TMbmsSessionId session; |
|
4500 TMockLtsyData4<TDesC*,TMbmsAction,TMbmsSessionId,TMbmsSessionIdList> updateMbmsSessionListExpData(contextNamePtr,action,session,sessionIdList->iSessionIdList); |
|
4501 |
|
4502 TMockLtsyData1<TDesC*> updateMbmsSessionListCompData(contextNamePtr); |
|
4503 |
|
4504 for (session = 0; session < 10; ++session) |
|
4505 { |
|
4506 action = EAddEntries; |
|
4507 |
|
4508 updateMbmsSessionListExpData.SerialiseL(data); |
|
4509 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesUpdateMbmsSessionList::KLtsyDispatchPacketServicesUpdateMbmsSessionListApiId, data); |
|
4510 data.Close(); |
|
4511 |
|
4512 updateMbmsSessionListCompData.SerialiseL(data); |
|
4513 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesUpdateMbmsSessionList::KLtsyDispatchPacketServicesUpdateMbmsSessionListApiId, KErrNone, data); |
|
4514 data.Close(); |
|
4515 |
|
4516 packetMbmsContext.UpdateMbmsSessionList(reqStatus, action, session); |
|
4517 User::WaitForRequest(reqStatus); |
|
4518 ASSERT_EQUALS(reqStatus.Int(), KErrNone); |
|
4519 AssertMockLtsyStatusL(); |
|
4520 |
|
4521 //check the results |
|
4522 sessionIdList->iSessionIdList.AppendL(session); |
|
4523 getMbmsSessionListAO->TestRetrieveL(); |
|
4524 getMbmsSessionListAO->CheckResultsL(*sessionIdList); |
|
4525 } |
|
4526 |
|
4527 //test adding in KErrGeneral complete case |
|
4528 action = EAddEntries; |
|
4529 session += 1; |
|
4530 updateMbmsSessionListExpData.SerialiseL(data); |
|
4531 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesUpdateMbmsSessionList::KLtsyDispatchPacketServicesUpdateMbmsSessionListApiId, data); |
|
4532 data.Close(); |
|
4533 |
|
4534 updateMbmsSessionListCompData.SerialiseL(data); |
|
4535 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesUpdateMbmsSessionList::KLtsyDispatchPacketServicesUpdateMbmsSessionListApiId, KErrGeneral, data); |
|
4536 data.Close(); |
|
4537 |
|
4538 packetMbmsContext.UpdateMbmsSessionList(reqStatus, action, session); |
|
4539 User::WaitForRequest(reqStatus); |
|
4540 ASSERT_EQUALS(reqStatus.Int(), KErrGeneral); |
|
4541 AssertMockLtsyStatusL(); |
|
4542 |
|
4543 //check the results |
|
4544 getMbmsSessionListAO->TestRetrieveL(); |
|
4545 getMbmsSessionListAO->CheckResultsL(*sessionIdList); |
|
4546 |
|
4547 //test remove in KErrNone complete case |
|
4548 action = ERemoveEntries; |
|
4549 session = 0; |
|
4550 updateMbmsSessionListExpData.SerialiseL(data); |
|
4551 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesUpdateMbmsSessionList::KLtsyDispatchPacketServicesUpdateMbmsSessionListApiId, data); |
|
4552 data.Close(); |
|
4553 |
|
4554 updateMbmsSessionListCompData.SerialiseL(data); |
|
4555 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesUpdateMbmsSessionList::KLtsyDispatchPacketServicesUpdateMbmsSessionListApiId, KErrNone, data); |
|
4556 data.Close(); |
|
4557 |
|
4558 packetMbmsContext.UpdateMbmsSessionList(reqStatus, action, session); |
|
4559 User::WaitForRequest(reqStatus); |
|
4560 ASSERT_EQUALS(reqStatus.Int(), KErrNone); |
|
4561 AssertMockLtsyStatusL(); |
|
4562 |
|
4563 //check the results |
|
4564 getMbmsSessionListAO->TestRetrieveL(); |
|
4565 sessionIdList->iSessionIdList.Remove(session); |
|
4566 getMbmsSessionListAO->CheckResultsL(*sessionIdList); |
|
4567 |
|
4568 |
|
4569 //test removeall in KErrNone complete case |
|
4570 action = ERemoveAllEntries; |
|
4571 session = 0; |
|
4572 updateMbmsSessionListExpData.SerialiseL(data); |
|
4573 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesUpdateMbmsSessionList::KLtsyDispatchPacketServicesUpdateMbmsSessionListApiId, data); |
|
4574 data.Close(); |
|
4575 |
|
4576 updateMbmsSessionListCompData.SerialiseL(data); |
|
4577 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesUpdateMbmsSessionList::KLtsyDispatchPacketServicesUpdateMbmsSessionListApiId, KErrNone, data); |
|
4578 data.Close(); |
|
4579 |
|
4580 packetMbmsContext.UpdateMbmsSessionList(reqStatus, action, session); |
|
4581 User::WaitForRequest(reqStatus); |
|
4582 ASSERT_EQUALS(reqStatus.Int(), KErrNone); |
|
4583 AssertMockLtsyStatusL(); |
|
4584 |
|
4585 //check the results |
|
4586 getMbmsSessionListAO->TestRetrieveL(); |
|
4587 sessionIdList->iSessionIdList.Reset(); |
|
4588 getMbmsSessionListAO->CheckResultsL(*sessionIdList); |
|
4589 |
|
4590 //for coverage |
|
4591 getMbmsSessionListAO->TestCancel(); |
|
4592 |
|
4593 CleanupStack::PopAndDestroy(sessionIdList); |
|
4594 CleanupStack::PopAndDestroy(getMbmsSessionListAO); |
|
4595 CleanupStack::PopAndDestroy(&packetMbmsContext); |
|
4596 CleanupStack::PopAndDestroy(&packetService); |
|
4597 CleanupStack::PopAndDestroy(&data); |
|
4598 CleanupStack::PopAndDestroy(this); |
|
4599 } |
|
4600 |
|
4601 /** |
|
4602 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN00023 |
|
4603 @SYMComponent telephony_ctsy |
|
4604 @SYMTestCaseDesc Test support in CTSY for RPacketService::NotifyConnectionInfoChange |
|
4605 @SYMTestPriority High |
|
4606 @SYMTestActions Invokes NotifyConnectionInfoChange, GetConnectionInfo |
|
4607 @SYMTestExpectedResults Pass |
|
4608 @SYMTestType UT |
|
4609 */ |
|
4610 void CCTsyPacketServicesFU::TestUnit00023L() |
|
4611 { |
|
4612 #ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW |
|
4613 OpenEtelServerL(EUseExtendedError); |
|
4614 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
4615 OpenPhoneL(); |
|
4616 |
|
4617 RBuf8 data; |
|
4618 CleanupClosePushL(data); |
|
4619 |
|
4620 RPacketService packetService; |
|
4621 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
4622 |
|
4623 TInfoName contextName; |
|
4624 RPacketContext packetContext; |
|
4625 packetContext.OpenNewContext(packetService, contextName); |
|
4626 CleanupClosePushL(packetContext); |
|
4627 |
|
4628 TRequestStatus notifyRequestStatus; |
|
4629 TRequestStatus mockLtsyStatus; |
|
4630 TRequestStatus requestStatus; |
|
4631 RPacketContext::TConnectionInfoV1 notifyConnectionInfoV1; |
|
4632 RPacketContext::TConnectionInfoV1 reqConnectionInfoV1; |
|
4633 RPacketContext::TConnectionInfoV1 respConnectionInfoV1; |
|
4634 |
|
4635 //Initialize connectionInfoV1 |
|
4636 notifyConnectionInfoV1.iValid = 0; |
|
4637 notifyConnectionInfoV1.iHSDPACategory = 0; |
|
4638 notifyConnectionInfoV1.iHSUPACategory = 0; |
|
4639 |
|
4640 TPckg<RPacketContext::TConnectionInfoV1> pckgNotifyConnectionInfoV1(notifyConnectionInfoV1); |
|
4641 packetContext.NotifyConnectionInfoChange(notifyRequestStatus, pckgNotifyConnectionInfoV1); |
|
4642 |
|
4643 //------------------------------------------------------------------------- |
|
4644 // TEST A1: Successful completion of RPacketContext::GetConnectionInfo |
|
4645 // request. |
|
4646 //------------------------------------------------------------------------- |
|
4647 |
|
4648 TPckg<RPacketContext::TConnectionInfoV1> pckgReqConnectionInfoV1(reqConnectionInfoV1); |
|
4649 |
|
4650 //Get connection info |
|
4651 packetContext.GetConnectionInfo(requestStatus, pckgReqConnectionInfoV1); |
|
4652 User::WaitForRequest(requestStatus); |
|
4653 AssertMockLtsyStatusL(); |
|
4654 |
|
4655 ASSERT_EQUALS(KErrNone, requestStatus.Int()); |
|
4656 ASSERT_EQUALS((TInt)TConnectionInfoBase::KConnectionInfoV1, reqConnectionInfoV1.ExtensionId()); |
|
4657 ASSERT_EQUALS((TUint32)0, reqConnectionInfoV1.iValid); |
|
4658 |
|
4659 //------------------------------------------------------------------------- |
|
4660 // TEST A2: Successful completion of RPacketContext::GetConnectionInfo |
|
4661 // request where RPacketContext::TConnectionInfoV1 parameter contains |
|
4662 // valid data. |
|
4663 //------------------------------------------------------------------------- |
|
4664 |
|
4665 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
4666 TDesC* contextNamePtr = &contextName; |
|
4667 respConnectionInfoV1.iValid = RPacketContext::KHSDPACategory; |
|
4668 respConnectionInfoV1.iHSDPACategory = 5; |
|
4669 respConnectionInfoV1.iValid |= RPacketContext::KHSUPACategory; |
|
4670 respConnectionInfoV1.iHSUPACategory = 6; |
|
4671 TMockLtsyData2< TDesC*, RPacketContext::TConnectionInfoV1 > ltsyData(contextNamePtr, respConnectionInfoV1); |
|
4672 ltsyData.SerialiseL(data); |
|
4673 |
|
4674 // Change connection information |
|
4675 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyConnectionInfoChangeIndId, KErrNone, data); |
|
4676 data.Close(); |
|
4677 |
|
4678 User::WaitForRequest(notifyRequestStatus); |
|
4679 ASSERT_EQUALS(KErrNone, notifyRequestStatus.Int()); |
|
4680 ASSERT_EQUALS(respConnectionInfoV1.ExtensionId(), notifyConnectionInfoV1.ExtensionId()); |
|
4681 ASSERT_EQUALS(respConnectionInfoV1.iValid, notifyConnectionInfoV1.iValid); |
|
4682 ASSERT_EQUALS(respConnectionInfoV1.iHSDPACategory, notifyConnectionInfoV1.iHSDPACategory); |
|
4683 ASSERT_EQUALS(respConnectionInfoV1.iHSUPACategory, notifyConnectionInfoV1.iHSUPACategory); |
|
4684 |
|
4685 User::WaitForRequest(mockLtsyStatus); |
|
4686 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
4687 |
|
4688 //Get connection info |
|
4689 packetContext.GetConnectionInfo(requestStatus, pckgReqConnectionInfoV1); |
|
4690 User::WaitForRequest(requestStatus); |
|
4691 AssertMockLtsyStatusL(); |
|
4692 |
|
4693 ASSERT_EQUALS(KErrNone, requestStatus.Int()); |
|
4694 ASSERT_EQUALS(respConnectionInfoV1.ExtensionId(), reqConnectionInfoV1.ExtensionId()); |
|
4695 ASSERT_EQUALS(respConnectionInfoV1.iValid, reqConnectionInfoV1.iValid); |
|
4696 ASSERT_EQUALS(respConnectionInfoV1.iHSDPACategory, reqConnectionInfoV1.iHSDPACategory); |
|
4697 ASSERT_EQUALS(respConnectionInfoV1.iHSUPACategory, reqConnectionInfoV1.iHSUPACategory); |
|
4698 |
|
4699 //close context |
|
4700 DriverDeleteContextL(contextName); |
|
4701 packetContext.Close(); |
|
4702 packetService.Close(); |
|
4703 |
|
4704 CleanupStack::PopAndDestroy(&packetContext); |
|
4705 CleanupStack::PopAndDestroy(&packetService); |
|
4706 CleanupStack::PopAndDestroy(&data); |
|
4707 CleanupStack::PopAndDestroy(this); |
|
4708 #endif |
|
4709 } |
|
4710 |
|
4711 /** |
|
4712 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN00024 |
|
4713 @SYMComponent telephony_ctsy |
|
4714 @SYMTestCaseDesc Test conversions function CPacketServicesDispatcher::EtelPcktR99R4NegToEtelPcktR97NegQoS |
|
4715 @SYMTestPriority High |
|
4716 @SYMTestActions Invokes EtelPcktR99R4NegToEtelPcktR97NegQoS |
|
4717 @SYMTestExpectedResults Pass |
|
4718 @SYMTestType UT |
|
4719 */ |
|
4720 void CCTsyPacketServicesFU::TestUnit00024L() |
|
4721 { |
|
4722 OpenEtelServerL(EUseExtendedError); |
|
4723 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
4724 OpenPhoneL(); |
|
4725 |
|
4726 RPacketService packetService; |
|
4727 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
4728 |
|
4729 RBuf8 data; |
|
4730 CleanupClosePushL(data); |
|
4731 |
|
4732 TInfoName contextId; |
|
4733 contextId.Copy(KFirstAllocatedContextName); |
|
4734 |
|
4735 DriverInitialiseContextL(); |
|
4736 |
|
4737 // R99_R4 Configuration |
|
4738 RPacketQoS::TQoSR99_R4Requested expectedPacketR99_R4Profile; |
|
4739 expectedPacketR99_R4Profile.iMinTrafficClass = RPacketQoS::ETrafficClassConversational; |
|
4740 expectedPacketR99_R4Profile.iMinDeliveryOrderReqd = RPacketQoS::EDeliveryOrderUnspecified; |
|
4741 expectedPacketR99_R4Profile.iMinDeliverErroneousSDU = RPacketQoS::EErroneousSDUDeliveryUnspecified; |
|
4742 expectedPacketR99_R4Profile.iMaxBER = RPacketQoS::EBERUnspecified; |
|
4743 expectedPacketR99_R4Profile.iMaxSDUErrorRatio = RPacketQoS::ESDUErrorRatioUnspecified; |
|
4744 expectedPacketR99_R4Profile.iMinTrafficHandlingPriority = RPacketQoS::ETrafficPriorityUnspecified; |
|
4745 expectedPacketR99_R4Profile.iReqTrafficClass = RPacketQoS::ETrafficClassUnspecified; |
|
4746 expectedPacketR99_R4Profile.iReqDeliveryOrderReqd = RPacketQoS::EDeliveryOrderUnspecified; |
|
4747 expectedPacketR99_R4Profile.iReqDeliverErroneousSDU = RPacketQoS::EErroneousSDUDeliveryUnspecified; |
|
4748 expectedPacketR99_R4Profile.iReqBER = RPacketQoS::EBERUnspecified; |
|
4749 expectedPacketR99_R4Profile.iReqSDUErrorRatio = RPacketQoS::ESDUErrorRatioUnspecified; |
|
4750 expectedPacketR99_R4Profile.iReqTrafficHandlingPriority = RPacketQoS::ETrafficPriorityUnspecified; |
|
4751 expectedPacketR99_R4Profile.iMaxTransferDelay = 0; |
|
4752 expectedPacketR99_R4Profile.iMinAcceptableMaxRate.iDownlinkRate = 0; |
|
4753 expectedPacketR99_R4Profile.iMinAcceptableMaxRate.iUplinkRate = 0; |
|
4754 expectedPacketR99_R4Profile.iMinAcceptableMaxSDUSize = 0; |
|
4755 expectedPacketR99_R4Profile.iMinGuaranteedRate.iDownlinkRate = 0; |
|
4756 expectedPacketR99_R4Profile.iMinGuaranteedRate.iUplinkRate = 0; |
|
4757 expectedPacketR99_R4Profile.iReqGuaranteedRate.iDownlinkRate = 0; |
|
4758 expectedPacketR99_R4Profile.iReqGuaranteedRate.iUplinkRate = 0; |
|
4759 expectedPacketR99_R4Profile.iReqMaxRate.iDownlinkRate = 0; |
|
4760 expectedPacketR99_R4Profile.iReqMaxRate.iUplinkRate = 0; |
|
4761 expectedPacketR99_R4Profile.iReqMaxSDUSize = 0; |
|
4762 expectedPacketR99_R4Profile.iReqTransferDelay = 0; |
|
4763 TMockLtsyData2<TInfoName, RPacketQoS::TQoSR99_R4Requested> packetSetConfigR99_R4Data(contextId, |
|
4764 expectedPacketR99_R4Profile); |
|
4765 data.Close(); |
|
4766 packetSetConfigR99_R4Data.SerialiseL(data); |
|
4767 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
4768 |
|
4769 TMockLtsyData1<TInfoName> callbackSetPdpR99_R4ContextNameData(contextId); |
|
4770 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
4771 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
4772 |
|
4773 RPacketQoS::TQoSR99_R4Negotiated completedProfileR99; |
|
4774 completedProfileR99.iTrafficClass = RPacketQoS::ETrafficClassConversational; |
|
4775 TMockLtsyData2<TInfoName, RPacketQoS::TQoSR99_R4Negotiated> expLtsyQosProfileR99ChangedInd(contextId, completedProfileR99); |
|
4776 data.Close(); |
|
4777 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
4778 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
4779 |
|
4780 data.Close(); |
|
4781 packetSetConfigR99_R4Data.SerialiseL(data); |
|
4782 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
4783 |
|
4784 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
4785 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
4786 |
|
4787 completedProfileR99.iTrafficClass = RPacketQoS::ETrafficClassStreaming; |
|
4788 data.Close(); |
|
4789 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
4790 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
4791 |
|
4792 data.Close(); |
|
4793 packetSetConfigR99_R4Data.SerialiseL(data); |
|
4794 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
4795 |
|
4796 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
4797 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
4798 |
|
4799 completedProfileR99.iTrafficClass = RPacketQoS::ETrafficClassInteractive; |
|
4800 completedProfileR99.iTrafficHandlingPriority = RPacketQoS::ETrafficPriority1; |
|
4801 data.Close(); |
|
4802 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
4803 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
4804 |
|
4805 data.Close(); |
|
4806 packetSetConfigR99_R4Data.SerialiseL(data); |
|
4807 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
4808 |
|
4809 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
4810 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
4811 |
|
4812 completedProfileR99.iTrafficClass = RPacketQoS::ETrafficClassInteractive; |
|
4813 completedProfileR99.iTrafficHandlingPriority = RPacketQoS::ETrafficPriority2; |
|
4814 data.Close(); |
|
4815 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
4816 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
4817 |
|
4818 data.Close(); |
|
4819 packetSetConfigR99_R4Data.SerialiseL(data); |
|
4820 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
4821 |
|
4822 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
4823 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
4824 |
|
4825 completedProfileR99.iTrafficClass = RPacketQoS::ETrafficClassInteractive; |
|
4826 completedProfileR99.iTrafficHandlingPriority = RPacketQoS::ETrafficPriority3; |
|
4827 data.Close(); |
|
4828 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
4829 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
4830 |
|
4831 data.Close(); |
|
4832 packetSetConfigR99_R4Data.SerialiseL(data); |
|
4833 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
4834 |
|
4835 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
4836 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
4837 |
|
4838 completedProfileR99.iTrafficClass = RPacketQoS::ETrafficClassBackground; |
|
4839 data.Close(); |
|
4840 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
4841 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
4842 |
|
4843 data.Close(); |
|
4844 packetSetConfigR99_R4Data.SerialiseL(data); |
|
4845 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
4846 |
|
4847 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
4848 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
4849 |
|
4850 completedProfileR99.iTrafficClass = RPacketQoS::ETrafficClassUnspecified; |
|
4851 data.Close(); |
|
4852 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
4853 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
4854 |
|
4855 data.Close(); |
|
4856 packetSetConfigR99_R4Data.SerialiseL(data); |
|
4857 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
4858 |
|
4859 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
4860 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
4861 |
|
4862 completedProfileR99.iSDUErrorRatio = RPacketQoS::ESDUErrorRatioOnePerHundredThousand; |
|
4863 data.Close(); |
|
4864 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
4865 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
4866 |
|
4867 data.Close(); |
|
4868 packetSetConfigR99_R4Data.SerialiseL(data); |
|
4869 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
4870 |
|
4871 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
4872 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
4873 |
|
4874 completedProfileR99.iSDUErrorRatio = RPacketQoS::ESDUErrorRatioOnePerTenThousand; |
|
4875 data.Close(); |
|
4876 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
4877 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
4878 |
|
4879 data.Close(); |
|
4880 packetSetConfigR99_R4Data.SerialiseL(data); |
|
4881 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
4882 |
|
4883 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
4884 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
4885 |
|
4886 completedProfileR99.iSDUErrorRatio = RPacketQoS::ESDUErrorRatioOnePerThousand; |
|
4887 completedProfileR99.iBER = RPacketQoS::EBEROnePerHundredThousand; |
|
4888 data.Close(); |
|
4889 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
4890 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
4891 |
|
4892 data.Close(); |
|
4893 packetSetConfigR99_R4Data.SerialiseL(data); |
|
4894 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
4895 |
|
4896 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
4897 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
4898 |
|
4899 completedProfileR99.iBER = RPacketQoS::EBEROnePerThousand; |
|
4900 data.Close(); |
|
4901 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
4902 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
4903 |
|
4904 data.Close(); |
|
4905 packetSetConfigR99_R4Data.SerialiseL(data); |
|
4906 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
4907 |
|
4908 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
4909 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
4910 |
|
4911 completedProfileR99.iSDUErrorRatio = RPacketQoS::ESDUErrorRatioUnspecified; |
|
4912 data.Close(); |
|
4913 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
4914 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
4915 |
|
4916 data.Close(); |
|
4917 packetSetConfigR99_R4Data.SerialiseL(data); |
|
4918 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
4919 |
|
4920 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
4921 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
4922 |
|
4923 completedProfileR99.iMaxRate.iDownlinkRate = 10; |
|
4924 completedProfileR99.iMaxRate.iUplinkRate = 10; |
|
4925 data.Close(); |
|
4926 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
4927 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
4928 |
|
4929 data.Close(); |
|
4930 packetSetConfigR99_R4Data.SerialiseL(data); |
|
4931 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
4932 |
|
4933 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
4934 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
4935 |
|
4936 completedProfileR99.iMaxRate.iDownlinkRate = 11; |
|
4937 completedProfileR99.iMaxRate.iUplinkRate = 11; |
|
4938 data.Close(); |
|
4939 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
4940 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
4941 |
|
4942 data.Close(); |
|
4943 packetSetConfigR99_R4Data.SerialiseL(data); |
|
4944 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
4945 |
|
4946 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
4947 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
4948 |
|
4949 completedProfileR99.iMaxRate.iDownlinkRate = 16; |
|
4950 completedProfileR99.iMaxRate.iUplinkRate = 16; |
|
4951 data.Close(); |
|
4952 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
4953 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
4954 |
|
4955 data.Close(); |
|
4956 packetSetConfigR99_R4Data.SerialiseL(data); |
|
4957 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
4958 |
|
4959 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
4960 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
4961 |
|
4962 completedProfileR99.iMaxRate.iDownlinkRate = 17; |
|
4963 completedProfileR99.iMaxRate.iUplinkRate = 17; |
|
4964 data.Close(); |
|
4965 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
4966 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
4967 |
|
4968 data.Close(); |
|
4969 packetSetConfigR99_R4Data.SerialiseL(data); |
|
4970 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
4971 |
|
4972 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
4973 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
4974 |
|
4975 completedProfileR99.iMaxRate.iDownlinkRate = 32; |
|
4976 completedProfileR99.iMaxRate.iUplinkRate = 32; |
|
4977 data.Close(); |
|
4978 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
4979 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
4980 |
|
4981 data.Close(); |
|
4982 packetSetConfigR99_R4Data.SerialiseL(data); |
|
4983 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
4984 |
|
4985 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
4986 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
4987 |
|
4988 completedProfileR99.iMaxRate.iDownlinkRate = 34; |
|
4989 completedProfileR99.iMaxRate.iUplinkRate = 34; |
|
4990 data.Close(); |
|
4991 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
4992 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
4993 |
|
4994 data.Close(); |
|
4995 packetSetConfigR99_R4Data.SerialiseL(data); |
|
4996 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
4997 |
|
4998 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
4999 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
5000 |
|
5001 completedProfileR99.iMaxRate.iDownlinkRate = 64; |
|
5002 completedProfileR99.iMaxRate.iUplinkRate = 64; |
|
5003 data.Close(); |
|
5004 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
5005 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5006 |
|
5007 data.Close(); |
|
5008 packetSetConfigR99_R4Data.SerialiseL(data); |
|
5009 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
5010 |
|
5011 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
5012 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
5013 |
|
5014 completedProfileR99.iMaxRate.iDownlinkRate = 127; |
|
5015 completedProfileR99.iMaxRate.iUplinkRate = 127; |
|
5016 data.Close(); |
|
5017 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
5018 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5019 |
|
5020 data.Close(); |
|
5021 packetSetConfigR99_R4Data.SerialiseL(data); |
|
5022 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
5023 |
|
5024 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
5025 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
5026 |
|
5027 completedProfileR99.iMaxRate.iDownlinkRate = 128; |
|
5028 completedProfileR99.iMaxRate.iUplinkRate = 128; |
|
5029 data.Close(); |
|
5030 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
5031 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5032 |
|
5033 data.Close(); |
|
5034 packetSetConfigR99_R4Data.SerialiseL(data); |
|
5035 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
5036 |
|
5037 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
5038 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
5039 |
|
5040 completedProfileR99.iMaxRate.iDownlinkRate = 255; |
|
5041 completedProfileR99.iMaxRate.iUplinkRate = 255; |
|
5042 data.Close(); |
|
5043 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
5044 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5045 |
|
5046 data.Close(); |
|
5047 packetSetConfigR99_R4Data.SerialiseL(data); |
|
5048 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
5049 |
|
5050 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
5051 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
5052 |
|
5053 completedProfileR99.iMaxRate.iDownlinkRate = 256; |
|
5054 completedProfileR99.iMaxRate.iUplinkRate = 256; |
|
5055 data.Close(); |
|
5056 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
5057 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5058 |
|
5059 data.Close(); |
|
5060 packetSetConfigR99_R4Data.SerialiseL(data); |
|
5061 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
5062 |
|
5063 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
5064 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
5065 |
|
5066 completedProfileR99.iMaxRate.iDownlinkRate = 511; |
|
5067 completedProfileR99.iMaxRate.iUplinkRate = 511; |
|
5068 data.Close(); |
|
5069 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
5070 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5071 |
|
5072 data.Close(); |
|
5073 packetSetConfigR99_R4Data.SerialiseL(data); |
|
5074 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
5075 |
|
5076 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
5077 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
5078 |
|
5079 completedProfileR99.iMaxRate.iDownlinkRate = 512; |
|
5080 completedProfileR99.iMaxRate.iUplinkRate = 512; |
|
5081 data.Close(); |
|
5082 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
5083 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5084 |
|
5085 data.Close(); |
|
5086 packetSetConfigR99_R4Data.SerialiseL(data); |
|
5087 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
5088 |
|
5089 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
5090 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
5091 |
|
5092 completedProfileR99.iMaxRate.iDownlinkRate = 1023; |
|
5093 completedProfileR99.iMaxRate.iUplinkRate = 1023; |
|
5094 data.Close(); |
|
5095 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
5096 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5097 |
|
5098 data.Close(); |
|
5099 packetSetConfigR99_R4Data.SerialiseL(data); |
|
5100 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
5101 |
|
5102 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
5103 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
5104 |
|
5105 completedProfileR99.iMaxRate.iDownlinkRate = 1024; |
|
5106 completedProfileR99.iMaxRate.iUplinkRate = 1024; |
|
5107 data.Close(); |
|
5108 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
5109 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5110 |
|
5111 data.Close(); |
|
5112 packetSetConfigR99_R4Data.SerialiseL(data); |
|
5113 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
5114 |
|
5115 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
5116 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
5117 |
|
5118 completedProfileR99.iMaxRate.iDownlinkRate = 2047; |
|
5119 completedProfileR99.iMaxRate.iUplinkRate = 2047; |
|
5120 data.Close(); |
|
5121 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
5122 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5123 |
|
5124 data.Close(); |
|
5125 packetSetConfigR99_R4Data.SerialiseL(data); |
|
5126 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
5127 |
|
5128 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
5129 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
5130 |
|
5131 completedProfileR99.iMaxRate.iDownlinkRate = 2048; |
|
5132 completedProfileR99.iMaxRate.iUplinkRate = 2048; |
|
5133 data.Close(); |
|
5134 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
5135 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5136 |
|
5137 data.Close(); |
|
5138 packetSetConfigR99_R4Data.SerialiseL(data); |
|
5139 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
5140 |
|
5141 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
5142 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
5143 |
|
5144 completedProfileR99.iTrafficHandlingPriority = RPacketQoS::ETrafficPriority1; |
|
5145 data.Close(); |
|
5146 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
5147 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5148 |
|
5149 data.Close(); |
|
5150 packetSetConfigR99_R4Data.SerialiseL(data); |
|
5151 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
5152 |
|
5153 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
5154 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
5155 |
|
5156 completedProfileR99.iTrafficHandlingPriority = RPacketQoS::ETrafficPriority2; |
|
5157 data.Close(); |
|
5158 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
5159 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5160 |
|
5161 data.Close(); |
|
5162 packetSetConfigR99_R4Data.SerialiseL(data); |
|
5163 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
5164 |
|
5165 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
5166 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
5167 |
|
5168 completedProfileR99.iTrafficHandlingPriority = RPacketQoS::ETrafficPriority3; |
|
5169 data.Close(); |
|
5170 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
5171 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5172 |
|
5173 data.Close(); |
|
5174 packetSetConfigR99_R4Data.SerialiseL(data); |
|
5175 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, data, KErrNone); |
|
5176 |
|
5177 callbackSetPdpR99_R4ContextNameData.SerialiseL(data); |
|
5178 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosR99R4::KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId, KErrNone, data); |
|
5179 |
|
5180 completedProfileR99.iTrafficHandlingPriority = RPacketQoS::ETrafficPriorityUnspecified; |
|
5181 data.Close(); |
|
5182 expLtsyQosProfileR99ChangedInd.SerialiseL(data); |
|
5183 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5184 |
|
5185 DriverDeleteContextL(contextId); |
|
5186 |
|
5187 // |
|
5188 |
|
5189 // client side test |
|
5190 RPacketContext packetContext; |
|
5191 |
|
5192 // Open a new context |
|
5193 TInt err = packetContext.OpenNewContext(packetService, contextId); |
|
5194 CleanupClosePushL(packetContext); |
|
5195 ASSERT_EQUALS(KErrNone, err); |
|
5196 |
|
5197 RPacketContext::TDataChannelV2 dataChannel; |
|
5198 RPacketContext::TDataChannelV2Pckg dataChannelPk(dataChannel); |
|
5199 TRequestStatus initialiseContextStatus; |
|
5200 |
|
5201 packetContext.InitialiseContext(initialiseContextStatus,dataChannelPk); |
|
5202 User::WaitForRequest(initialiseContextStatus); |
|
5203 ASSERT_EQUALS(KErrNone, initialiseContextStatus.Int()); |
|
5204 ASSERT_TRUE(dataChannel.iPort == KFirstAllocatedContextName); |
|
5205 ASSERT_TRUE(dataChannel.iChannelId == KDefaultChannelId); // Now depreciated |
|
5206 |
|
5207 TName qosName; |
|
5208 RPacketQoS packetQoS; |
|
5209 packetQoS.OpenNewQoS(packetContext, qosName); |
|
5210 CleanupClosePushL(packetQoS); |
|
5211 |
|
5212 RPacketQoS::TQoSR99_R4Requested packetR99_R4; |
|
5213 packetR99_R4.iMinTrafficClass = RPacketQoS::ETrafficClassConversational; |
|
5214 packetR99_R4.iMinDeliveryOrderReqd = RPacketQoS::EDeliveryOrderUnspecified; |
|
5215 packetR99_R4.iMinDeliverErroneousSDU = RPacketQoS::EErroneousSDUDeliveryUnspecified; |
|
5216 packetR99_R4.iMaxBER = RPacketQoS::EBERUnspecified; |
|
5217 packetR99_R4.iMaxSDUErrorRatio = RPacketQoS::ESDUErrorRatioUnspecified; |
|
5218 packetR99_R4.iMinTrafficHandlingPriority = RPacketQoS::ETrafficPriorityUnspecified; |
|
5219 packetR99_R4.iReqTrafficClass = RPacketQoS::ETrafficClassUnspecified; |
|
5220 packetR99_R4.iReqDeliveryOrderReqd = RPacketQoS::EDeliveryOrderUnspecified; |
|
5221 packetR99_R4.iReqDeliverErroneousSDU = RPacketQoS::EErroneousSDUDeliveryUnspecified; |
|
5222 packetR99_R4.iReqBER = RPacketQoS::EBERUnspecified; |
|
5223 packetR99_R4.iReqSDUErrorRatio = RPacketQoS::ESDUErrorRatioUnspecified; |
|
5224 packetR99_R4.iReqTrafficHandlingPriority = RPacketQoS::ETrafficPriorityUnspecified; |
|
5225 packetR99_R4.iMaxTransferDelay = 0; |
|
5226 packetR99_R4.iMinAcceptableMaxRate.iDownlinkRate = 0; |
|
5227 packetR99_R4.iMinAcceptableMaxRate.iUplinkRate = 0; |
|
5228 packetR99_R4.iMinAcceptableMaxSDUSize = 0; |
|
5229 packetR99_R4.iMinGuaranteedRate.iDownlinkRate = 0; |
|
5230 packetR99_R4.iMinGuaranteedRate.iUplinkRate = 0; |
|
5231 packetR99_R4.iReqGuaranteedRate.iDownlinkRate = 0; |
|
5232 packetR99_R4.iReqGuaranteedRate.iUplinkRate = 0; |
|
5233 packetR99_R4.iReqMaxRate.iDownlinkRate = 0; |
|
5234 packetR99_R4.iReqMaxRate.iUplinkRate = 0; |
|
5235 packetR99_R4.iReqMaxSDUSize = 0; |
|
5236 packetR99_R4.iReqTransferDelay = 0; |
|
5237 TPckg< RPacketQoS::TQoSR99_R4Requested > profilePckgR99_R4(packetR99_R4); |
|
5238 |
|
5239 TRequestStatus requestStatusR99_R4; |
|
5240 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5241 User::WaitForRequest(requestStatusR99_R4); |
|
5242 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5243 |
|
5244 TRequestStatus requestStatusGPRS; |
|
5245 RPacketQoS::TQoSGPRSNegotiated qosGPRSNegotiatedProfile; |
|
5246 TPckg<RPacketQoS::TQoSGPRSNegotiated> profilePckgGPRS(qosGPRSNegotiatedProfile); |
|
5247 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5248 User::WaitForRequest(requestStatusGPRS); |
|
5249 ASSERT_EQUALS(RPacketQoS::EDelayClass1, qosGPRSNegotiatedProfile.iDelay); |
|
5250 |
|
5251 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5252 User::WaitForRequest(requestStatusR99_R4); |
|
5253 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5254 |
|
5255 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5256 User::WaitForRequest(requestStatusGPRS); |
|
5257 ASSERT_EQUALS(RPacketQoS::EDelayClass1, qosGPRSNegotiatedProfile.iDelay); |
|
5258 |
|
5259 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5260 User::WaitForRequest(requestStatusR99_R4); |
|
5261 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5262 |
|
5263 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5264 User::WaitForRequest(requestStatusGPRS); |
|
5265 ASSERT_EQUALS(RPacketQoS::EDelayClass1, qosGPRSNegotiatedProfile.iDelay); |
|
5266 |
|
5267 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5268 User::WaitForRequest(requestStatusR99_R4); |
|
5269 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5270 |
|
5271 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5272 User::WaitForRequest(requestStatusGPRS); |
|
5273 ASSERT_EQUALS(RPacketQoS::EDelayClass2, qosGPRSNegotiatedProfile.iDelay); |
|
5274 |
|
5275 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5276 User::WaitForRequest(requestStatusR99_R4); |
|
5277 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5278 |
|
5279 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5280 User::WaitForRequest(requestStatusGPRS); |
|
5281 ASSERT_EQUALS(RPacketQoS::EDelayClass3, qosGPRSNegotiatedProfile.iDelay); |
|
5282 |
|
5283 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5284 User::WaitForRequest(requestStatusR99_R4); |
|
5285 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5286 |
|
5287 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5288 User::WaitForRequest(requestStatusGPRS); |
|
5289 ASSERT_EQUALS(RPacketQoS::EDelayClass4, qosGPRSNegotiatedProfile.iDelay); |
|
5290 |
|
5291 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5292 User::WaitForRequest(requestStatusR99_R4); |
|
5293 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5294 |
|
5295 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5296 User::WaitForRequest(requestStatusGPRS); |
|
5297 ASSERT_EQUALS(RPacketQoS::EUnspecifiedDelayClass, qosGPRSNegotiatedProfile.iDelay); |
|
5298 |
|
5299 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5300 User::WaitForRequest(requestStatusR99_R4); |
|
5301 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5302 |
|
5303 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5304 User::WaitForRequest(requestStatusGPRS); |
|
5305 ASSERT_EQUALS(RPacketQoS::EReliabilityClass2, qosGPRSNegotiatedProfile.iReliability); |
|
5306 |
|
5307 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5308 User::WaitForRequest(requestStatusR99_R4); |
|
5309 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5310 |
|
5311 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5312 User::WaitForRequest(requestStatusGPRS); |
|
5313 ASSERT_EQUALS(RPacketQoS::EReliabilityClass3, qosGPRSNegotiatedProfile.iReliability); |
|
5314 |
|
5315 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5316 User::WaitForRequest(requestStatusR99_R4); |
|
5317 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5318 |
|
5319 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5320 User::WaitForRequest(requestStatusGPRS); |
|
5321 ASSERT_EQUALS(RPacketQoS::EReliabilityClass4, qosGPRSNegotiatedProfile.iReliability); |
|
5322 |
|
5323 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5324 User::WaitForRequest(requestStatusR99_R4); |
|
5325 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5326 |
|
5327 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5328 User::WaitForRequest(requestStatusGPRS); |
|
5329 ASSERT_EQUALS(RPacketQoS::EReliabilityClass5, qosGPRSNegotiatedProfile.iReliability); |
|
5330 |
|
5331 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5332 User::WaitForRequest(requestStatusR99_R4); |
|
5333 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5334 |
|
5335 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5336 User::WaitForRequest(requestStatusGPRS); |
|
5337 ASSERT_EQUALS(RPacketQoS::EUnspecifiedReliabilityClass, qosGPRSNegotiatedProfile.iReliability); |
|
5338 |
|
5339 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5340 User::WaitForRequest(requestStatusR99_R4); |
|
5341 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5342 |
|
5343 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5344 User::WaitForRequest(requestStatusGPRS); |
|
5345 ASSERT_EQUALS(RPacketQoS::EPeakThroughput1000, qosGPRSNegotiatedProfile.iPeakThroughput); |
|
5346 |
|
5347 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5348 User::WaitForRequest(requestStatusR99_R4); |
|
5349 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5350 |
|
5351 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5352 User::WaitForRequest(requestStatusGPRS); |
|
5353 ASSERT_EQUALS(RPacketQoS::EPeakThroughput1000, qosGPRSNegotiatedProfile.iPeakThroughput); |
|
5354 |
|
5355 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5356 User::WaitForRequest(requestStatusR99_R4); |
|
5357 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5358 |
|
5359 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5360 User::WaitForRequest(requestStatusGPRS); |
|
5361 ASSERT_EQUALS(RPacketQoS::EPeakThroughput2000, qosGPRSNegotiatedProfile.iPeakThroughput); |
|
5362 |
|
5363 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5364 User::WaitForRequest(requestStatusR99_R4); |
|
5365 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5366 |
|
5367 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5368 User::WaitForRequest(requestStatusGPRS); |
|
5369 ASSERT_EQUALS(RPacketQoS::EPeakThroughput2000, qosGPRSNegotiatedProfile.iPeakThroughput); |
|
5370 |
|
5371 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5372 User::WaitForRequest(requestStatusR99_R4); |
|
5373 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5374 |
|
5375 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5376 User::WaitForRequest(requestStatusGPRS); |
|
5377 ASSERT_EQUALS(RPacketQoS::EPeakThroughput4000, qosGPRSNegotiatedProfile.iPeakThroughput); |
|
5378 |
|
5379 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5380 User::WaitForRequest(requestStatusR99_R4); |
|
5381 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5382 |
|
5383 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5384 User::WaitForRequest(requestStatusGPRS); |
|
5385 ASSERT_EQUALS(RPacketQoS::EPeakThroughput4000, qosGPRSNegotiatedProfile.iPeakThroughput); |
|
5386 |
|
5387 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5388 User::WaitForRequest(requestStatusR99_R4); |
|
5389 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5390 |
|
5391 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5392 User::WaitForRequest(requestStatusGPRS); |
|
5393 ASSERT_EQUALS(RPacketQoS::EPeakThroughput8000, qosGPRSNegotiatedProfile.iPeakThroughput); |
|
5394 |
|
5395 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5396 User::WaitForRequest(requestStatusR99_R4); |
|
5397 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5398 |
|
5399 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5400 User::WaitForRequest(requestStatusGPRS); |
|
5401 ASSERT_EQUALS(RPacketQoS::EPeakThroughput8000, qosGPRSNegotiatedProfile.iPeakThroughput); |
|
5402 |
|
5403 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5404 User::WaitForRequest(requestStatusR99_R4); |
|
5405 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5406 |
|
5407 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5408 User::WaitForRequest(requestStatusGPRS); |
|
5409 ASSERT_EQUALS(RPacketQoS::EPeakThroughput16000, qosGPRSNegotiatedProfile.iPeakThroughput); |
|
5410 |
|
5411 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5412 User::WaitForRequest(requestStatusR99_R4); |
|
5413 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5414 |
|
5415 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5416 User::WaitForRequest(requestStatusGPRS); |
|
5417 ASSERT_EQUALS(RPacketQoS::EPeakThroughput16000, qosGPRSNegotiatedProfile.iPeakThroughput); |
|
5418 |
|
5419 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5420 User::WaitForRequest(requestStatusR99_R4); |
|
5421 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5422 |
|
5423 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5424 User::WaitForRequest(requestStatusGPRS); |
|
5425 ASSERT_EQUALS(RPacketQoS::EPeakThroughput32000, qosGPRSNegotiatedProfile.iPeakThroughput); |
|
5426 |
|
5427 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5428 User::WaitForRequest(requestStatusR99_R4); |
|
5429 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5430 |
|
5431 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5432 User::WaitForRequest(requestStatusGPRS); |
|
5433 ASSERT_EQUALS(RPacketQoS::EPeakThroughput32000, qosGPRSNegotiatedProfile.iPeakThroughput); |
|
5434 |
|
5435 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5436 User::WaitForRequest(requestStatusR99_R4); |
|
5437 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5438 |
|
5439 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5440 User::WaitForRequest(requestStatusGPRS); |
|
5441 ASSERT_EQUALS(RPacketQoS::EPeakThroughput64000, qosGPRSNegotiatedProfile.iPeakThroughput); |
|
5442 |
|
5443 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5444 User::WaitForRequest(requestStatusR99_R4); |
|
5445 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5446 |
|
5447 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5448 User::WaitForRequest(requestStatusGPRS); |
|
5449 ASSERT_EQUALS(RPacketQoS::EPeakThroughput64000, qosGPRSNegotiatedProfile.iPeakThroughput); |
|
5450 |
|
5451 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5452 User::WaitForRequest(requestStatusR99_R4); |
|
5453 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5454 |
|
5455 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5456 User::WaitForRequest(requestStatusGPRS); |
|
5457 ASSERT_EQUALS(RPacketQoS::EPeakThroughput128000, qosGPRSNegotiatedProfile.iPeakThroughput); |
|
5458 |
|
5459 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5460 User::WaitForRequest(requestStatusR99_R4); |
|
5461 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5462 |
|
5463 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5464 User::WaitForRequest(requestStatusGPRS); |
|
5465 ASSERT_EQUALS(RPacketQoS::EPeakThroughput128000, qosGPRSNegotiatedProfile.iPeakThroughput); |
|
5466 |
|
5467 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5468 User::WaitForRequest(requestStatusR99_R4); |
|
5469 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5470 |
|
5471 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5472 User::WaitForRequest(requestStatusGPRS); |
|
5473 ASSERT_EQUALS(RPacketQoS::EPeakThroughput256000, qosGPRSNegotiatedProfile.iPeakThroughput); |
|
5474 |
|
5475 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5476 User::WaitForRequest(requestStatusR99_R4); |
|
5477 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5478 |
|
5479 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5480 User::WaitForRequest(requestStatusGPRS); |
|
5481 ASSERT_EQUALS(RPacketQoS::EPriorityHighPrecedence, qosGPRSNegotiatedProfile.iPrecedence); |
|
5482 |
|
5483 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5484 User::WaitForRequest(requestStatusR99_R4); |
|
5485 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5486 |
|
5487 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5488 User::WaitForRequest(requestStatusGPRS); |
|
5489 ASSERT_EQUALS(RPacketQoS::EPriorityMediumPrecedence, qosGPRSNegotiatedProfile.iPrecedence); |
|
5490 |
|
5491 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5492 User::WaitForRequest(requestStatusR99_R4); |
|
5493 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5494 |
|
5495 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5496 User::WaitForRequest(requestStatusGPRS); |
|
5497 ASSERT_EQUALS(RPacketQoS::EPriorityLowPrecedence, qosGPRSNegotiatedProfile.iPrecedence); |
|
5498 |
|
5499 packetQoS.SetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
5500 User::WaitForRequest(requestStatusR99_R4); |
|
5501 ASSERT_EQUALS(KErrNone, requestStatusR99_R4.Int()); |
|
5502 |
|
5503 packetQoS.GetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
5504 User::WaitForRequest(requestStatusGPRS); |
|
5505 ASSERT_EQUALS(RPacketQoS::EUnspecifiedPrecedence, qosGPRSNegotiatedProfile.iPrecedence); |
|
5506 |
|
5507 packetQoS.Close(); |
|
5508 packetContext.Close(); |
|
5509 packetService.Close(); |
|
5510 |
|
5511 // Let the mock-LTSY finish up before asserting. |
|
5512 User::After(1000000); |
|
5513 |
|
5514 AssertMockLtsyStatusL(); |
|
5515 CleanupStack::PopAndDestroy(5, this); // data, data, packetService, packetContext, this |
|
5516 } |
|
5517 |
|
5518 /** |
|
5519 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN00025 |
|
5520 @SYMComponent telephony_ctsy |
|
5521 @SYMTestCaseDesc Test conversions function CPacketServicesDispatcher::EtelPcktR97NegToEtelPcktR99R4NegQoS |
|
5522 @SYMTestPriority High |
|
5523 @SYMTestActions Invokes EtelPcktR97NegToEtelPcktR99R4NegQoS |
|
5524 @SYMTestExpectedResults Pass |
|
5525 @SYMTestType UT |
|
5526 */ |
|
5527 void CCTsyPacketServicesFU::TestUnit00025L() |
|
5528 { |
|
5529 OpenEtelServerL(EUseExtendedError); |
|
5530 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
5531 OpenPhoneL(); |
|
5532 |
|
5533 RPacketService packetService; |
|
5534 OpenPacketServiceLC(packetService,RPacketService::EStatusUnattached); |
|
5535 |
|
5536 RBuf8 data; |
|
5537 CleanupClosePushL(data); |
|
5538 |
|
5539 TInfoName contextId; |
|
5540 contextId.Copy(KFirstAllocatedContextName); |
|
5541 |
|
5542 // |
|
5543 |
|
5544 DriverInitialiseContextL(); |
|
5545 |
|
5546 // GPRS Configuration |
|
5547 RPacketQoS::TQoSGPRSRequested qosExpectedRequestedGPRSProfile; |
|
5548 qosExpectedRequestedGPRSProfile.iReqPrecedence = RPacketQoS::EUnspecifiedPrecedence; |
|
5549 qosExpectedRequestedGPRSProfile.iMinPrecedence = RPacketQoS::EUnspecifiedPrecedence; |
|
5550 qosExpectedRequestedGPRSProfile.iReqDelay = RPacketQoS::EUnspecifiedDelayClass; |
|
5551 qosExpectedRequestedGPRSProfile.iMinDelay = RPacketQoS::EUnspecifiedDelayClass; |
|
5552 qosExpectedRequestedGPRSProfile.iReqReliability = RPacketQoS::EUnspecifiedReliabilityClass; |
|
5553 qosExpectedRequestedGPRSProfile.iMinReliability = RPacketQoS::EUnspecifiedReliabilityClass; |
|
5554 qosExpectedRequestedGPRSProfile.iReqPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput; |
|
5555 qosExpectedRequestedGPRSProfile.iMinPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput; |
|
5556 qosExpectedRequestedGPRSProfile.iReqMeanThroughput = RPacketQoS::EUnspecifiedMeanThroughput; |
|
5557 qosExpectedRequestedGPRSProfile.iMinMeanThroughput = RPacketQoS::EUnspecifiedMeanThroughput; |
|
5558 TMockLtsyData2<TInfoName, RPacketQoS::TQoSGPRSRequested> packetSetConfigGPRSData(contextId, |
|
5559 qosExpectedRequestedGPRSProfile); |
|
5560 data.Close(); |
|
5561 packetSetConfigGPRSData.SerialiseL(data); |
|
5562 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5563 |
|
5564 TMockLtsyData1<TInfoName> callbackSetPdpGPRSContextNameData(contextId); |
|
5565 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5566 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5567 |
|
5568 RPacketQoS::TQoSGPRSNegotiated completedProfileGPRS; |
|
5569 completedProfileGPRS.iDelay = RPacketQoS::EDelayClass1; |
|
5570 TMockLtsyData2<TInfoName, RPacketQoS::TQoSGPRSNegotiated> expLtsyQosProfileGPRSChangedInd(contextId, completedProfileGPRS); |
|
5571 data.Close(); |
|
5572 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5573 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5574 |
|
5575 data.Close(); |
|
5576 |
|
5577 packetSetConfigGPRSData.SerialiseL(data); |
|
5578 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5579 |
|
5580 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5581 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5582 |
|
5583 completedProfileGPRS.iDelay = RPacketQoS::EDelayClass2; |
|
5584 data.Close(); |
|
5585 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5586 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5587 |
|
5588 data.Close(); |
|
5589 packetSetConfigGPRSData.SerialiseL(data); |
|
5590 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5591 |
|
5592 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5593 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5594 |
|
5595 completedProfileGPRS.iDelay = RPacketQoS::EDelayClass3; |
|
5596 data.Close(); |
|
5597 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5598 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5599 |
|
5600 data.Close(); |
|
5601 packetSetConfigGPRSData.SerialiseL(data); |
|
5602 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5603 |
|
5604 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5605 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5606 |
|
5607 completedProfileGPRS.iDelay = RPacketQoS::EDelayClass4; |
|
5608 data.Close(); |
|
5609 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5610 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5611 |
|
5612 data.Close(); |
|
5613 packetSetConfigGPRSData.SerialiseL(data); |
|
5614 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5615 |
|
5616 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5617 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5618 |
|
5619 completedProfileGPRS.iDelay = RPacketQoS::EUnspecifiedDelayClass; |
|
5620 data.Close(); |
|
5621 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5622 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5623 |
|
5624 data.Close(); |
|
5625 packetSetConfigGPRSData.SerialiseL(data); |
|
5626 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5627 |
|
5628 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5629 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5630 |
|
5631 completedProfileGPRS.iDelay = RPacketQoS::EDelayClass1; |
|
5632 data.Close(); |
|
5633 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5634 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5635 |
|
5636 data.Close(); |
|
5637 packetSetConfigGPRSData.SerialiseL(data); |
|
5638 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5639 |
|
5640 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5641 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5642 |
|
5643 completedProfileGPRS.iDelay = RPacketQoS::EDelayClass2; |
|
5644 data.Close(); |
|
5645 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5646 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5647 |
|
5648 data.Close(); |
|
5649 packetSetConfigGPRSData.SerialiseL(data); |
|
5650 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5651 |
|
5652 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5653 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5654 |
|
5655 completedProfileGPRS.iDelay = RPacketQoS::EDelayClass3; |
|
5656 data.Close(); |
|
5657 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5658 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5659 |
|
5660 data.Close(); |
|
5661 packetSetConfigGPRSData.SerialiseL(data); |
|
5662 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5663 |
|
5664 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5665 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5666 |
|
5667 completedProfileGPRS.iDelay = RPacketQoS::EUnspecifiedDelayClass; |
|
5668 data.Close(); |
|
5669 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5670 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5671 |
|
5672 data.Close(); |
|
5673 packetSetConfigGPRSData.SerialiseL(data); |
|
5674 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5675 |
|
5676 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5677 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5678 |
|
5679 completedProfileGPRS.iReliability = RPacketQoS::EReliabilityClass1; |
|
5680 data.Close(); |
|
5681 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5682 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5683 |
|
5684 data.Close(); |
|
5685 packetSetConfigGPRSData.SerialiseL(data); |
|
5686 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5687 |
|
5688 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5689 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5690 |
|
5691 completedProfileGPRS.iReliability = RPacketQoS::EReliabilityClass2; |
|
5692 data.Close(); |
|
5693 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5694 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5695 |
|
5696 data.Close(); |
|
5697 packetSetConfigGPRSData.SerialiseL(data); |
|
5698 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5699 |
|
5700 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5701 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5702 |
|
5703 completedProfileGPRS.iReliability = RPacketQoS::EReliabilityClass3; |
|
5704 data.Close(); |
|
5705 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5706 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5707 |
|
5708 data.Close(); |
|
5709 packetSetConfigGPRSData.SerialiseL(data); |
|
5710 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5711 |
|
5712 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5713 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5714 |
|
5715 completedProfileGPRS.iReliability = RPacketQoS::EReliabilityClass4; |
|
5716 data.Close(); |
|
5717 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5718 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5719 |
|
5720 data.Close(); |
|
5721 packetSetConfigGPRSData.SerialiseL(data); |
|
5722 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5723 |
|
5724 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5725 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5726 |
|
5727 completedProfileGPRS.iReliability = RPacketQoS::EReliabilityClass5; |
|
5728 data.Close(); |
|
5729 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5730 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5731 |
|
5732 data.Close(); |
|
5733 packetSetConfigGPRSData.SerialiseL(data); |
|
5734 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5735 |
|
5736 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5737 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5738 |
|
5739 completedProfileGPRS.iReliability = RPacketQoS::EUnspecifiedReliabilityClass; |
|
5740 data.Close(); |
|
5741 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5742 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5743 |
|
5744 data.Close(); |
|
5745 packetSetConfigGPRSData.SerialiseL(data); |
|
5746 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5747 |
|
5748 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5749 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5750 |
|
5751 completedProfileGPRS.iReliability = RPacketQoS::EReliabilityClass1; |
|
5752 data.Close(); |
|
5753 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5754 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5755 |
|
5756 data.Close(); |
|
5757 packetSetConfigGPRSData.SerialiseL(data); |
|
5758 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5759 |
|
5760 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5761 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5762 |
|
5763 completedProfileGPRS.iReliability = RPacketQoS::EReliabilityClass2; |
|
5764 data.Close(); |
|
5765 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5766 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5767 |
|
5768 data.Close(); |
|
5769 packetSetConfigGPRSData.SerialiseL(data); |
|
5770 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5771 |
|
5772 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5773 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5774 |
|
5775 completedProfileGPRS.iReliability = RPacketQoS::EReliabilityClass3; |
|
5776 data.Close(); |
|
5777 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5778 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5779 |
|
5780 data.Close(); |
|
5781 packetSetConfigGPRSData.SerialiseL(data); |
|
5782 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5783 |
|
5784 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5785 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5786 |
|
5787 completedProfileGPRS.iReliability = RPacketQoS::EReliabilityClass4; |
|
5788 data.Close(); |
|
5789 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5790 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5791 |
|
5792 data.Close(); |
|
5793 packetSetConfigGPRSData.SerialiseL(data); |
|
5794 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5795 |
|
5796 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5797 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5798 |
|
5799 completedProfileGPRS.iReliability = RPacketQoS::EReliabilityClass5; |
|
5800 data.Close(); |
|
5801 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5802 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5803 |
|
5804 data.Close(); |
|
5805 packetSetConfigGPRSData.SerialiseL(data); |
|
5806 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5807 |
|
5808 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5809 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5810 |
|
5811 completedProfileGPRS.iReliability = RPacketQoS::EUnspecifiedReliabilityClass; |
|
5812 data.Close(); |
|
5813 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5814 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5815 |
|
5816 data.Close(); |
|
5817 packetSetConfigGPRSData.SerialiseL(data); |
|
5818 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5819 |
|
5820 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5821 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5822 |
|
5823 completedProfileGPRS.iReliability = RPacketQoS::EReliabilityClass1; |
|
5824 data.Close(); |
|
5825 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5826 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5827 |
|
5828 data.Close(); |
|
5829 packetSetConfigGPRSData.SerialiseL(data); |
|
5830 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5831 |
|
5832 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5833 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5834 |
|
5835 completedProfileGPRS.iReliability = RPacketQoS::EReliabilityClass2; |
|
5836 data.Close(); |
|
5837 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5838 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5839 |
|
5840 data.Close(); |
|
5841 packetSetConfigGPRSData.SerialiseL(data); |
|
5842 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5843 |
|
5844 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5845 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5846 |
|
5847 completedProfileGPRS.iReliability = RPacketQoS::EReliabilityClass3; |
|
5848 data.Close(); |
|
5849 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5850 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5851 |
|
5852 data.Close(); |
|
5853 packetSetConfigGPRSData.SerialiseL(data); |
|
5854 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5855 |
|
5856 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5857 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5858 |
|
5859 completedProfileGPRS.iReliability = RPacketQoS::EReliabilityClass4; |
|
5860 data.Close(); |
|
5861 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5862 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5863 |
|
5864 data.Close(); |
|
5865 packetSetConfigGPRSData.SerialiseL(data); |
|
5866 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5867 |
|
5868 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5869 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5870 |
|
5871 completedProfileGPRS.iReliability = RPacketQoS::EReliabilityClass5; |
|
5872 data.Close(); |
|
5873 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5874 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5875 |
|
5876 data.Close(); |
|
5877 packetSetConfigGPRSData.SerialiseL(data); |
|
5878 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5879 |
|
5880 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5881 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5882 |
|
5883 completedProfileGPRS.iReliability = RPacketQoS::EUnspecifiedReliabilityClass; |
|
5884 data.Close(); |
|
5885 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5886 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5887 |
|
5888 data.Close(); |
|
5889 packetSetConfigGPRSData.SerialiseL(data); |
|
5890 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5891 |
|
5892 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5893 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5894 |
|
5895 completedProfileGPRS.iPeakThroughput = RPacketQoS::EPeakThroughput1000; |
|
5896 data.Close(); |
|
5897 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5898 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5899 |
|
5900 data.Close(); |
|
5901 packetSetConfigGPRSData.SerialiseL(data); |
|
5902 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5903 |
|
5904 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5905 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5906 |
|
5907 completedProfileGPRS.iPeakThroughput = RPacketQoS::EPeakThroughput2000; |
|
5908 data.Close(); |
|
5909 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5910 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5911 |
|
5912 data.Close(); |
|
5913 packetSetConfigGPRSData.SerialiseL(data); |
|
5914 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5915 |
|
5916 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5917 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5918 |
|
5919 completedProfileGPRS.iPeakThroughput = RPacketQoS::EPeakThroughput4000; |
|
5920 data.Close(); |
|
5921 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5922 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5923 |
|
5924 data.Close(); |
|
5925 packetSetConfigGPRSData.SerialiseL(data); |
|
5926 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5927 |
|
5928 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5929 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5930 |
|
5931 completedProfileGPRS.iPeakThroughput = RPacketQoS::EPeakThroughput8000; |
|
5932 data.Close(); |
|
5933 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5934 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5935 |
|
5936 data.Close(); |
|
5937 packetSetConfigGPRSData.SerialiseL(data); |
|
5938 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5939 |
|
5940 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5941 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5942 |
|
5943 completedProfileGPRS.iPeakThroughput = RPacketQoS::EPeakThroughput16000; |
|
5944 data.Close(); |
|
5945 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5946 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5947 |
|
5948 data.Close(); |
|
5949 packetSetConfigGPRSData.SerialiseL(data); |
|
5950 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5951 |
|
5952 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5953 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5954 |
|
5955 completedProfileGPRS.iPeakThroughput = RPacketQoS::EPeakThroughput32000; |
|
5956 data.Close(); |
|
5957 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5958 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5959 |
|
5960 data.Close(); |
|
5961 packetSetConfigGPRSData.SerialiseL(data); |
|
5962 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5963 |
|
5964 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5965 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5966 |
|
5967 completedProfileGPRS.iPeakThroughput = RPacketQoS::EPeakThroughput64000; |
|
5968 data.Close(); |
|
5969 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5970 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5971 |
|
5972 data.Close(); |
|
5973 packetSetConfigGPRSData.SerialiseL(data); |
|
5974 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5975 |
|
5976 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5977 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5978 |
|
5979 completedProfileGPRS.iPeakThroughput = RPacketQoS::EPeakThroughput128000; |
|
5980 data.Close(); |
|
5981 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5982 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5983 |
|
5984 data.Close(); |
|
5985 packetSetConfigGPRSData.SerialiseL(data); |
|
5986 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5987 |
|
5988 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
5989 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
5990 |
|
5991 completedProfileGPRS.iPeakThroughput = RPacketQoS::EPeakThroughput256000; |
|
5992 data.Close(); |
|
5993 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
5994 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
5995 |
|
5996 data.Close(); |
|
5997 packetSetConfigGPRSData.SerialiseL(data); |
|
5998 iMockLTSY.ExpectL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, data, KErrNone); |
|
5999 |
|
6000 callbackSetPdpGPRSContextNameData.SerialiseL(data); |
|
6001 iMockLTSY.CompleteL(MLtsyDispatchPacketServicesSetPdpContextQosGprs::KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId, KErrNone, data); |
|
6002 |
|
6003 completedProfileGPRS.iPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput; |
|
6004 data.Close(); |
|
6005 expLtsyQosProfileGPRSChangedInd.SerialiseL(data); |
|
6006 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyQosProfileChangedIndId, KErrNone, data); |
|
6007 |
|
6008 DriverDeleteContextL(contextId); |
|
6009 |
|
6010 // |
|
6011 |
|
6012 // client side test |
|
6013 RPacketContext packetContext; |
|
6014 |
|
6015 // Open a new context |
|
6016 TInt err = packetContext.OpenNewContext(packetService, contextId); |
|
6017 CleanupClosePushL(packetContext); |
|
6018 ASSERT_EQUALS(KErrNone, err); |
|
6019 |
|
6020 RPacketContext::TDataChannelV2 dataChannel; |
|
6021 RPacketContext::TDataChannelV2Pckg dataChannelPk(dataChannel); |
|
6022 TRequestStatus initialiseContextStatus; |
|
6023 |
|
6024 packetContext.InitialiseContext(initialiseContextStatus,dataChannelPk); |
|
6025 User::WaitForRequest(initialiseContextStatus); |
|
6026 ASSERT_EQUALS(KErrNone, initialiseContextStatus.Int()); |
|
6027 ASSERT_TRUE(dataChannel.iPort == KFirstAllocatedContextName); |
|
6028 ASSERT_TRUE(dataChannel.iChannelId == KDefaultChannelId); // Now depreciated |
|
6029 |
|
6030 TName qosName; |
|
6031 RPacketQoS packetQoS; |
|
6032 packetQoS.OpenNewQoS(packetContext, qosName); |
|
6033 CleanupClosePushL(packetQoS); |
|
6034 |
|
6035 // |
|
6036 // SetProfileParameters for GPRS Configurations |
|
6037 // |
|
6038 |
|
6039 RPacketQoS::TQoSGPRSRequested qosGPRSRequestedProfile; |
|
6040 qosGPRSRequestedProfile.iReqPrecedence = RPacketQoS::EUnspecifiedPrecedence; |
|
6041 qosGPRSRequestedProfile.iMinPrecedence = RPacketQoS::EUnspecifiedPrecedence; |
|
6042 qosGPRSRequestedProfile.iReqDelay = RPacketQoS::EUnspecifiedDelayClass; |
|
6043 qosGPRSRequestedProfile.iMinDelay = RPacketQoS::EUnspecifiedDelayClass; |
|
6044 qosGPRSRequestedProfile.iReqReliability = RPacketQoS::EUnspecifiedReliabilityClass; |
|
6045 qosGPRSRequestedProfile.iMinReliability = RPacketQoS::EUnspecifiedReliabilityClass; |
|
6046 qosGPRSRequestedProfile.iReqPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput; |
|
6047 qosGPRSRequestedProfile.iMinPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput; |
|
6048 qosGPRSRequestedProfile.iReqMeanThroughput = RPacketQoS::EUnspecifiedMeanThroughput; |
|
6049 qosGPRSRequestedProfile.iMinMeanThroughput = RPacketQoS::EUnspecifiedMeanThroughput; |
|
6050 TPckg<RPacketQoS::TQoSGPRSRequested> profilePckgGPRS(qosGPRSRequestedProfile); |
|
6051 |
|
6052 TRequestStatus requestStatusGPRS; |
|
6053 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6054 User::WaitForRequest(requestStatusGPRS); |
|
6055 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6056 |
|
6057 TRequestStatus requestStatusR99_R4; |
|
6058 RPacketQoS::TQoSR99_R4Negotiated qosR99_R4NegotiatedProfile; |
|
6059 TPckg<RPacketQoS::TQoSR99_R4Negotiated> profilePckgR99_R4(qosR99_R4NegotiatedProfile); |
|
6060 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6061 User::WaitForRequest(requestStatusR99_R4); |
|
6062 ASSERT_EQUALS(RPacketQoS::ETrafficClassInteractive, qosR99_R4NegotiatedProfile.iTrafficClass); |
|
6063 |
|
6064 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6065 User::WaitForRequest(requestStatusGPRS); |
|
6066 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6067 |
|
6068 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6069 User::WaitForRequest(requestStatusR99_R4); |
|
6070 ASSERT_EQUALS(RPacketQoS::ETrafficClassInteractive, qosR99_R4NegotiatedProfile.iTrafficClass); |
|
6071 |
|
6072 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6073 User::WaitForRequest(requestStatusGPRS); |
|
6074 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6075 |
|
6076 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6077 User::WaitForRequest(requestStatusR99_R4); |
|
6078 ASSERT_EQUALS(RPacketQoS::ETrafficClassInteractive, qosR99_R4NegotiatedProfile.iTrafficClass); |
|
6079 |
|
6080 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6081 User::WaitForRequest(requestStatusGPRS); |
|
6082 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6083 |
|
6084 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6085 User::WaitForRequest(requestStatusR99_R4); |
|
6086 ASSERT_EQUALS(RPacketQoS::ETrafficClassBackground, qosR99_R4NegotiatedProfile.iTrafficClass); |
|
6087 |
|
6088 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6089 User::WaitForRequest(requestStatusGPRS); |
|
6090 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6091 |
|
6092 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6093 User::WaitForRequest(requestStatusR99_R4); |
|
6094 ASSERT_EQUALS(RPacketQoS::ETrafficClassUnspecified, qosR99_R4NegotiatedProfile.iTrafficClass); |
|
6095 |
|
6096 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6097 User::WaitForRequest(requestStatusGPRS); |
|
6098 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6099 |
|
6100 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6101 User::WaitForRequest(requestStatusR99_R4); |
|
6102 ASSERT_EQUALS(RPacketQoS::ETrafficPriority1, qosR99_R4NegotiatedProfile.iTrafficHandlingPriority); |
|
6103 |
|
6104 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6105 User::WaitForRequest(requestStatusGPRS); |
|
6106 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6107 |
|
6108 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6109 User::WaitForRequest(requestStatusR99_R4); |
|
6110 ASSERT_EQUALS(RPacketQoS::ETrafficPriority2, qosR99_R4NegotiatedProfile.iTrafficHandlingPriority); |
|
6111 |
|
6112 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6113 User::WaitForRequest(requestStatusGPRS); |
|
6114 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6115 |
|
6116 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6117 User::WaitForRequest(requestStatusR99_R4); |
|
6118 ASSERT_EQUALS(RPacketQoS::ETrafficPriority3, qosR99_R4NegotiatedProfile.iTrafficHandlingPriority); |
|
6119 |
|
6120 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6121 User::WaitForRequest(requestStatusGPRS); |
|
6122 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6123 |
|
6124 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6125 User::WaitForRequest(requestStatusR99_R4); |
|
6126 ASSERT_EQUALS(RPacketQoS::ETrafficPriorityUnspecified, qosR99_R4NegotiatedProfile.iTrafficHandlingPriority); |
|
6127 |
|
6128 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6129 User::WaitForRequest(requestStatusGPRS); |
|
6130 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6131 |
|
6132 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6133 User::WaitForRequest(requestStatusR99_R4); |
|
6134 ASSERT_EQUALS(RPacketQoS::ESDUErrorRatioOnePerHundredThousand, qosR99_R4NegotiatedProfile.iSDUErrorRatio); |
|
6135 |
|
6136 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6137 User::WaitForRequest(requestStatusGPRS); |
|
6138 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6139 |
|
6140 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6141 User::WaitForRequest(requestStatusR99_R4); |
|
6142 ASSERT_EQUALS(RPacketQoS::ESDUErrorRatioOnePerHundredThousand, qosR99_R4NegotiatedProfile.iSDUErrorRatio); |
|
6143 |
|
6144 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6145 User::WaitForRequest(requestStatusGPRS); |
|
6146 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6147 |
|
6148 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6149 User::WaitForRequest(requestStatusR99_R4); |
|
6150 ASSERT_EQUALS(RPacketQoS::ESDUErrorRatioOnePerTenThousand, qosR99_R4NegotiatedProfile.iSDUErrorRatio); |
|
6151 |
|
6152 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6153 User::WaitForRequest(requestStatusGPRS); |
|
6154 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6155 |
|
6156 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6157 User::WaitForRequest(requestStatusR99_R4); |
|
6158 ASSERT_EQUALS(RPacketQoS::ESDUErrorRatioOnePerThousand, qosR99_R4NegotiatedProfile.iSDUErrorRatio); |
|
6159 |
|
6160 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6161 User::WaitForRequest(requestStatusGPRS); |
|
6162 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6163 |
|
6164 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6165 User::WaitForRequest(requestStatusR99_R4); |
|
6166 ASSERT_EQUALS(RPacketQoS::ESDUErrorRatioOnePerThousand, qosR99_R4NegotiatedProfile.iSDUErrorRatio); |
|
6167 |
|
6168 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6169 User::WaitForRequest(requestStatusGPRS); |
|
6170 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6171 |
|
6172 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6173 User::WaitForRequest(requestStatusR99_R4); |
|
6174 ASSERT_EQUALS(RPacketQoS::ESDUErrorRatioUnspecified, qosR99_R4NegotiatedProfile.iSDUErrorRatio); |
|
6175 |
|
6176 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6177 User::WaitForRequest(requestStatusGPRS); |
|
6178 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6179 |
|
6180 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6181 User::WaitForRequest(requestStatusR99_R4); |
|
6182 ASSERT_EQUALS(RPacketQoS::EBEROnePerHundredThousand, qosR99_R4NegotiatedProfile.iBER); |
|
6183 |
|
6184 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6185 User::WaitForRequest(requestStatusGPRS); |
|
6186 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6187 |
|
6188 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6189 User::WaitForRequest(requestStatusR99_R4); |
|
6190 ASSERT_EQUALS(RPacketQoS::EBEROnePerHundredThousand, qosR99_R4NegotiatedProfile.iBER); |
|
6191 |
|
6192 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6193 User::WaitForRequest(requestStatusGPRS); |
|
6194 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6195 |
|
6196 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6197 User::WaitForRequest(requestStatusR99_R4); |
|
6198 ASSERT_EQUALS(RPacketQoS::EBEROnePerHundredThousand, qosR99_R4NegotiatedProfile.iBER); |
|
6199 |
|
6200 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6201 User::WaitForRequest(requestStatusGPRS); |
|
6202 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6203 |
|
6204 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6205 User::WaitForRequest(requestStatusR99_R4); |
|
6206 ASSERT_EQUALS(RPacketQoS::EBEROnePerHundredThousand, qosR99_R4NegotiatedProfile.iBER); |
|
6207 |
|
6208 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6209 User::WaitForRequest(requestStatusGPRS); |
|
6210 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6211 |
|
6212 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6213 User::WaitForRequest(requestStatusR99_R4); |
|
6214 ASSERT_EQUALS(RPacketQoS::EBERFourPerThousand, qosR99_R4NegotiatedProfile.iBER); |
|
6215 |
|
6216 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6217 User::WaitForRequest(requestStatusGPRS); |
|
6218 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6219 |
|
6220 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6221 User::WaitForRequest(requestStatusR99_R4); |
|
6222 ASSERT_EQUALS(RPacketQoS::EBERUnspecified, qosR99_R4NegotiatedProfile.iBER); |
|
6223 |
|
6224 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6225 User::WaitForRequest(requestStatusGPRS); |
|
6226 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6227 |
|
6228 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6229 User::WaitForRequest(requestStatusR99_R4); |
|
6230 ASSERT_EQUALS(RPacketQoS::EErroneousSDUDeliveryNotRequired, qosR99_R4NegotiatedProfile.iDeliverErroneousSDU); |
|
6231 |
|
6232 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6233 User::WaitForRequest(requestStatusGPRS); |
|
6234 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6235 |
|
6236 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6237 User::WaitForRequest(requestStatusR99_R4); |
|
6238 ASSERT_EQUALS(RPacketQoS::EErroneousSDUDeliveryNotRequired, qosR99_R4NegotiatedProfile.iDeliverErroneousSDU); |
|
6239 |
|
6240 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6241 User::WaitForRequest(requestStatusGPRS); |
|
6242 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6243 |
|
6244 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6245 User::WaitForRequest(requestStatusR99_R4); |
|
6246 ASSERT_EQUALS(RPacketQoS::EErroneousSDUDeliveryNotRequired, qosR99_R4NegotiatedProfile.iDeliverErroneousSDU); |
|
6247 |
|
6248 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6249 User::WaitForRequest(requestStatusGPRS); |
|
6250 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6251 |
|
6252 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6253 User::WaitForRequest(requestStatusR99_R4); |
|
6254 ASSERT_EQUALS(RPacketQoS::EErroneousSDUDeliveryNotRequired, qosR99_R4NegotiatedProfile.iDeliverErroneousSDU); |
|
6255 |
|
6256 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6257 User::WaitForRequest(requestStatusGPRS); |
|
6258 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6259 |
|
6260 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6261 User::WaitForRequest(requestStatusR99_R4); |
|
6262 ASSERT_EQUALS(RPacketQoS::EErroneousSDUDeliveryRequired, qosR99_R4NegotiatedProfile.iDeliverErroneousSDU); |
|
6263 |
|
6264 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6265 User::WaitForRequest(requestStatusGPRS); |
|
6266 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6267 |
|
6268 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6269 User::WaitForRequest(requestStatusR99_R4); |
|
6270 ASSERT_EQUALS(RPacketQoS::EErroneousSDUDeliveryUnspecified, qosR99_R4NegotiatedProfile.iDeliverErroneousSDU); |
|
6271 |
|
6272 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6273 User::WaitForRequest(requestStatusGPRS); |
|
6274 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6275 |
|
6276 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6277 User::WaitForRequest(requestStatusR99_R4); |
|
6278 ASSERT_EQUALS(8, qosR99_R4NegotiatedProfile.iMaxRate.iDownlinkRate); |
|
6279 |
|
6280 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6281 User::WaitForRequest(requestStatusGPRS); |
|
6282 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6283 |
|
6284 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6285 User::WaitForRequest(requestStatusR99_R4); |
|
6286 ASSERT_EQUALS(16, qosR99_R4NegotiatedProfile.iMaxRate.iDownlinkRate); |
|
6287 |
|
6288 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6289 User::WaitForRequest(requestStatusGPRS); |
|
6290 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6291 |
|
6292 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6293 User::WaitForRequest(requestStatusR99_R4); |
|
6294 ASSERT_EQUALS(32, qosR99_R4NegotiatedProfile.iMaxRate.iDownlinkRate); |
|
6295 |
|
6296 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6297 User::WaitForRequest(requestStatusGPRS); |
|
6298 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6299 |
|
6300 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6301 User::WaitForRequest(requestStatusR99_R4); |
|
6302 ASSERT_EQUALS(64, qosR99_R4NegotiatedProfile.iMaxRate.iDownlinkRate); |
|
6303 |
|
6304 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6305 User::WaitForRequest(requestStatusGPRS); |
|
6306 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6307 |
|
6308 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6309 User::WaitForRequest(requestStatusR99_R4); |
|
6310 ASSERT_EQUALS(128, qosR99_R4NegotiatedProfile.iMaxRate.iDownlinkRate); |
|
6311 |
|
6312 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6313 User::WaitForRequest(requestStatusGPRS); |
|
6314 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6315 |
|
6316 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6317 User::WaitForRequest(requestStatusR99_R4); |
|
6318 ASSERT_EQUALS(256, qosR99_R4NegotiatedProfile.iMaxRate.iDownlinkRate); |
|
6319 |
|
6320 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6321 User::WaitForRequest(requestStatusGPRS); |
|
6322 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6323 |
|
6324 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6325 User::WaitForRequest(requestStatusR99_R4); |
|
6326 ASSERT_EQUALS(512, qosR99_R4NegotiatedProfile.iMaxRate.iDownlinkRate); |
|
6327 |
|
6328 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6329 User::WaitForRequest(requestStatusGPRS); |
|
6330 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6331 |
|
6332 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6333 User::WaitForRequest(requestStatusR99_R4); |
|
6334 ASSERT_EQUALS(1024, qosR99_R4NegotiatedProfile.iMaxRate.iDownlinkRate); |
|
6335 |
|
6336 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6337 User::WaitForRequest(requestStatusGPRS); |
|
6338 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6339 |
|
6340 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6341 User::WaitForRequest(requestStatusR99_R4); |
|
6342 ASSERT_EQUALS(2048, qosR99_R4NegotiatedProfile.iMaxRate.iDownlinkRate); |
|
6343 |
|
6344 packetQoS.SetProfileParameters(requestStatusGPRS, profilePckgGPRS); |
|
6345 User::WaitForRequest(requestStatusGPRS); |
|
6346 ASSERT_EQUALS(KErrNone, requestStatusGPRS.Int()); |
|
6347 |
|
6348 packetQoS.GetProfileParameters(requestStatusR99_R4, profilePckgR99_R4); |
|
6349 User::WaitForRequest(requestStatusR99_R4); |
|
6350 ASSERT_EQUALS(0, qosR99_R4NegotiatedProfile.iMaxRate.iDownlinkRate); |
|
6351 |
|
6352 packetQoS.Close(); |
|
6353 packetContext.Close(); |
|
6354 packetService.Close(); |
|
6355 |
|
6356 // Let the mock-LTSY finish up before asserting. |
|
6357 User::After(1000000); |
|
6358 |
|
6359 AssertMockLtsyStatusL(); |
|
6360 CleanupStack::PopAndDestroy(5, this); // data, data, packetService, packetContext, this |
|
6361 } |
|
6362 |
|
6363 /** |
|
6364 @SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN00026 |
|
6365 @SYMComponent telephony_ctsy |
|
6366 @SYMTestCaseDesc Test support in CTSY for RPacketService::GetPreferredBearer |
|
6367 @SYMTestPriority High |
|
6368 @SYMTestActions Invokes RPacketService::GetPreferredBearer |
|
6369 @SYMTestExpectedResults Pass |
|
6370 @SYMTestType UT |
|
6371 */ |
|
6372 void CCTsyPacketServicesFU::TestUnit00026L() |
|
6373 { |
|
6374 OpenEtelServerL(EUseExtendedError); |
|
6375 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
6376 OpenPhoneL(); |
|
6377 |
|
6378 RBuf8 data; |
|
6379 CleanupClosePushL(data); |
|
6380 |
|
6381 RPacketService packetService; |
|
6382 OpenPacketServiceLC(packetService, RPacketService::EStatusUnattached); |
|
6383 |
|
6384 //------------------------------------------------------------------------- |
|
6385 // TEST D: RPacketService::GetPreferredBearer again, this time CTSY |
|
6386 // will get result from the cache. |
|
6387 //------------------------------------------------------------------------- |
|
6388 TRequestStatus requestStatus; |
|
6389 RPacketService::TPreferredBearer bearer; |
|
6390 packetService.GetPreferredBearer(requestStatus, bearer); |
|
6391 User::WaitForRequest(requestStatus); |
|
6392 |
|
6393 AssertMockLtsyStatusL(); |
|
6394 ASSERT_EQUALS(KErrNone, requestStatus.Int()); |
|
6395 ASSERT_EQUALS(RPacketService::EBearerPacketSwitched, bearer); |
|
6396 |
|
6397 // --- change PreferredBearer ----------------------------------------------- |
|
6398 TRequestStatus mockLtsyStatus; |
|
6399 iMockLTSY.NotifyTerminated(mockLtsyStatus); |
|
6400 |
|
6401 // data for setting |
|
6402 RPacketService::TPreferredBearer newBearer = RPacketService::EBearerCircuitSwitched; |
|
6403 TMockLtsyData1 <RPacketService::TPreferredBearer> ltsyData(newBearer); |
|
6404 ltsyData.SerialiseL(data); |
|
6405 |
|
6406 iMockLTSY.CompleteL(KMockLtsyDispatchPacketServicesNotifyPacketAttachModeChangeIndId, KErrNone, data); |
|
6407 User::WaitForRequest(mockLtsyStatus); |
|
6408 AssertMockLtsyStatusL(); |
|
6409 ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); |
|
6410 |
|
6411 //------------------------------------------------------------------------- |
|
6412 // TEST D2: RPacketService::GetPreferredBearer again, this time CTSY |
|
6413 // will get result from the cache. |
|
6414 //------------------------------------------------------------------------- |
|
6415 packetService.GetPreferredBearer(requestStatus, bearer); |
|
6416 User::WaitForRequest(requestStatus); |
|
6417 |
|
6418 AssertMockLtsyStatusL(); |
|
6419 ASSERT_EQUALS(KErrNone, requestStatus.Int()); |
|
6420 ASSERT_EQUALS(newBearer, bearer); |
|
6421 |
|
6422 AssertMockLtsyStatusL(); |
|
6423 CleanupStack::PopAndDestroy(1); // packetService |
|
6424 CleanupStack::PopAndDestroy(2, this); // data, this |
|
6425 } |