--- a/telephonyserverplugins/ctsydispatchlayer/test/dispatchertests/dispatchsrc/cctsypacketcontextfu.cpp Mon May 03 13:37:20 2010 +0300
+++ b/telephonyserverplugins/ctsydispatchlayer/test/dispatchertests/dispatchsrc/cctsypacketcontextfu.cpp Thu May 06 15:10:38 2010 +0100
@@ -1,340 +1,340 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// The TEFUnit test suite for PacketContext in the Common TSY.
-//
-//
-
-#include "cctsypacketcontextfu.h"
-#include "cctsypacketservicesfu.h"
-
-#include <etel.h>
-#include <etelmm.h>
-#include <et_clsvr.h>
-#include <ctsy/mmtsy_names.h>
-#include <ctsy/serviceapi/mmtsy_ipcdefs.h>
-#include <test/tmockltsydata.h>
-#include <ctsy/ltsy/mltsydispatchpacketservicesinterface.h>
-
-CTestSuite* CCTsyPacketContextFU::CreateSuiteL(const TDesC& aName)
- {
- SUB_SUITE;
-
- ADD_TEST_STEP_ISO_CPP(CCTsyPacketContextFU, TestUnit00027L);
- ADD_TEST_STEP_ISO_CPP(CCTsyPacketContextFU, TestUnit00028L);
- ADD_TEST_STEP_ISO_CPP(CCTsyPacketContextFU, TestUnit00029L);
-
- END_SUITE;
- }
-
-
-//
-// Actual test cases
-//
-
-/**
-@SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN00027
-@SYMComponent telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RPacketContext::Delete
-@SYMTestPriority High
-@SYMTestActions Invokes RPacketContext::Delete
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyPacketContextFU::TestUnit00027L()
- {
-
- OpenEtelServerL(EUseExtendedError);
- CleanupStack::PushL(TCleanupItem(Cleanup,this));
- OpenPhoneL();
-
- RBuf8 data;
- CleanupClosePushL(data);
-
- RBuf8 expectData;
- CleanupClosePushL(expectData);
-
- RPacketService packetService;
- OpenPacketServiceLC(packetService, RPacketService::EStatusUnattached);
-
- // Open new context
- TInfoName contextId;
- RPacketContext packetContext;
- packetContext.OpenNewContext(packetService, contextId);
- CleanupClosePushL(packetContext);
-
- TInfoName primaryContext;
- TInfoName secondaryContext;
- primaryContext.Copy(KFirstAllocatedContextName);
- secondaryContext.Copy(KDefaultContextName);
-
- //-------------------------------------------------------------------------
- // SEND Delete request when ContextStatus is Unknown
- //-------------------------------------------------------------------------
- TRequestStatus requestStatus;
- packetContext.Delete(requestStatus);
-
- User::WaitForRequest(requestStatus);
- ASSERT_EQUALS(KErrNotReady, requestStatus.Int());
- AssertMockLtsyStatusL();
-
- // Set context in Active state
- SetContextActiveL(contextId);
-
- //----------------------------------
- // Send an unsupported request
- //----------------------------------
-
- RPacketContext::TDataVolume volume;
- packetContext.GetDataVolumeTransferred(requestStatus, volume);
- User::WaitForRequest(requestStatus);
- ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
- AssertMockLtsyStatusL();
-
-
- //-------------------------------------------------------------------------
- // TEST E: Unsolicited completion of RPacketContext::Delete
- // from LTSY.
- //-------------------------------------------------------------------------
- TMockLtsyData1 <TInfoName > ltsyData(contextId);
- data.Close();
- ltsyData.SerialiseL(data);
-
- TRequestStatus mockLtsyStatus;
-
- iMockLTSY.NotifyTerminated(mockLtsyStatus);
- // send completion
- iMockLTSY.CompleteL(MLtsyDispatchPacketServicesDeletePdpContext::KLtsyDispatchPacketServicesDeletePdpContextApiId, KErrNone, data);
-
- // wait for completion
- User::WaitForRequest(mockLtsyStatus);
- ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
- AssertMockLtsyStatusL();
-
- //-------------------------------------------------------------------------
- // TEST A: failure to dispatch request to LTSY
- //-------------------------------------------------------------------------
- //TMockLtsyData1 <TInfoName> expData(contextId);
- TMockLtsyData1<TInfoName> expData(primaryContext);
- expectData.Close();
- expData.SerialiseL(expectData);
-
- iMockLTSY.ExpectL(MLtsyDispatchPacketServicesDeletePdpContext::KLtsyDispatchPacketServicesDeletePdpContextApiId, expectData, KErrNotSupported);
-
- packetContext.Delete(requestStatus);
-
- User::WaitForRequest(requestStatus);
- ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
- AssertMockLtsyStatusL();
-
- //-------------------------------------------------------------------------
- // TEST B: failure on completion of pending request from LTSY->CTSY
- //-------------------------------------------------------------------------
- iMockLTSY.ExpectL (MLtsyDispatchPacketServicesDeletePdpContext::KLtsyDispatchPacketServicesDeletePdpContextApiId, expectData);
- iMockLTSY.CompleteL(MLtsyDispatchPacketServicesDeletePdpContext::KLtsyDispatchPacketServicesDeletePdpContextApiId, KErrGeneral, data);
-
- packetContext.Delete(requestStatus);
-
- User::WaitForRequest(requestStatus);
- ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
- AssertMockLtsyStatusL();
-
- //-------------------------------------------------------------------------
- // TEST C: Successful completion request of
- // RPacketContext::Delete when result is not cached.
- //-------------------------------------------------------------------------
- iMockLTSY.ExpectL (MLtsyDispatchPacketServicesDeletePdpContext::KLtsyDispatchPacketServicesDeletePdpContextApiId, expectData);
- iMockLTSY.CompleteL(MLtsyDispatchPacketServicesDeletePdpContext::KLtsyDispatchPacketServicesDeletePdpContextApiId, KErrNone, data);
-
- packetContext.Delete(requestStatus);
-
- User::WaitForRequest(requestStatus);
- ASSERT_EQUALS(KErrNone, requestStatus.Int());
- AssertMockLtsyStatusL();
-
- //-------------------------------------------------------------------------
- // TEST D: failure to modify context parameters when context deleted
- //-------------------------------------------------------------------------
- packetContext.ModifyActiveContext(requestStatus);
- User::WaitForRequest(requestStatus);
- AssertMockLtsyStatusL();
- ASSERT_EQUALS(KErrNotReady, requestStatus.Int());
-
- iMockLTSY.ExpectL (MLtsyDispatchPacketServicesDeletePdpContext::KLtsyDispatchPacketServicesDeletePdpContextApiId, expectData);
- CleanupStack::PopAndDestroy(5, this); //packetContext, packetService, expectData, data, this
-
- }
-
-/**
-@SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN00028
-@SYMComponent telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for multiple client requests to RPacketContext::Delete
-@SYMTestPriority High
-@SYMTestActions Invokes multiple client requests to RPacketContext::Delete
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyPacketContextFU::TestUnit00028L()
- {
- OpenEtelServerL(EUseExtendedError);
- CleanupStack::PushL(TCleanupItem(Cleanup,this));
- OpenPhoneL();
-
- RBuf8 data;
- CleanupClosePushL(data);
-
- RBuf8 data2;
- CleanupClosePushL(data2);
-
- RBuf8 expectData;
- CleanupClosePushL(expectData);
-
- RBuf8 expectData2;
- CleanupClosePushL(expectData2);
-
- // Open second client
- RTelServer telServer2;
- TInt ret = telServer2.Connect();
- ASSERT_EQUALS(KErrNone, ret);
- CleanupClosePushL(telServer2);
-
- RMobilePhone phone2;
- ret = phone2.Open(iTelServer,KMmTsyPhoneName);
- ASSERT_EQUALS(KErrNone, ret);
- CleanupClosePushL(phone2);
-
- RPacketService packetService;
- OpenPacketServiceLC(packetService, RPacketService::EStatusUnattached);
-
- RPacketService packetService2;
- ret = packetService2.Open(phone2);
- ASSERT_EQUALS(KErrNone, ret);
- CleanupClosePushL(packetService2);
-
- // Open first context
- TInfoName contextId;
- RPacketContext packetContext;
- packetContext.OpenNewContext(packetService, contextId);
- CleanupClosePushL(packetContext);
-
- // Open second context
- TInfoName contextId2;
- RPacketContext packetContext2;
- packetContext2.OpenNewContext(packetService2, contextId2);
- CleanupClosePushL(packetContext2);
-
- // Set first context in Active state
- SetContextActiveL(contextId);
-
- // Set second context in Active state
- SetContextActiveL(contextId2);
-
- //-------------------------------------------------------------------------
- // Test A: Test multiple clients requesting RPacketContext::Delete
- //-------------------------------------------------------------------------
-
- // data for first CompleteL
- TMockLtsyData1 <TInfoName > ltsyData(contextId);
- ltsyData.SerialiseL(data);
-
- // data for second CompleteL
- TMockLtsyData1 <TInfoName > ltsyData2(contextId2);
- ltsyData2.SerialiseL(data2);
-
- // for the first request
- TRequestStatus requestStatus;
- TMockLtsyData1 <TInfoName> expData(contextId);
- expData.SerialiseL(expectData);
-
- // for the second request
- TRequestStatus requestStatus2;
- TMockLtsyData1 <TInfoName> expData2(contextId2);
- expData2.SerialiseL(expectData2);
-
- iMockLTSY.ExpectL(MLtsyDispatchPacketServicesDeletePdpContext::KLtsyDispatchPacketServicesDeletePdpContextApiId, expectData);
- iMockLTSY.CompleteL(MLtsyDispatchPacketServicesDeletePdpContext::KLtsyDispatchPacketServicesDeletePdpContextApiId, KErrNone, data);
- iMockLTSY.ExpectL(MLtsyDispatchPacketServicesDeletePdpContext::KLtsyDispatchPacketServicesDeletePdpContextApiId, expectData2);
- iMockLTSY.CompleteL(MLtsyDispatchPacketServicesDeletePdpContext::KLtsyDispatchPacketServicesDeletePdpContextApiId, KErrNone, data2);
-
- // send first request
- packetContext.Delete(requestStatus);
-
- // send second request
- packetContext2.Delete(requestStatus2);
-
- // wait for first answer
- User::WaitForRequest(requestStatus);
- ASSERT_EQUALS(KErrNone, requestStatus.Int());
-
- // wait for second answer
- User::WaitForRequest(requestStatus2);
- ASSERT_EQUALS(KErrNone, requestStatus2.Int());
-
- AssertMockLtsyStatusL();
- iMockLTSY.ExpectL(MLtsyDispatchPacketServicesDeletePdpContext::KLtsyDispatchPacketServicesDeletePdpContextApiId, expectData2);
- iMockLTSY.ExpectL(MLtsyDispatchPacketServicesDeletePdpContext::KLtsyDispatchPacketServicesDeletePdpContextApiId, expectData);
- CleanupStack::PopAndDestroy(2); // expectData2, expectData
- CleanupStack::PopAndDestroy(9, this); //packetContext2, packetContext, packetService2, packetService, phone2, telServer2, data,data2 this
- }
-
-/**
-@SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN00029
-@SYMComponent telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RPacketContext::Delete with timeout
-@SYMTestPriority High
-@SYMTestActions Invokes RPacketContext::Delete and tests for timeout
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyPacketContextFU::TestUnit00029L()
- {
-
- OpenEtelServerL(EUseExtendedError);
- CleanupStack::PushL(TCleanupItem(Cleanup,this));
- OpenPhoneL();
-
- RBuf8 data;
- CleanupClosePushL(data);
-
- RBuf8 expectData;
- CleanupClosePushL(expectData);
-
- RPacketService packetService;
- OpenPacketServiceLC(packetService, RPacketService::EStatusUnattached);
-
- // Open new context
- TInfoName contextId;
- RPacketContext packetContext;
- packetContext.OpenNewContext(packetService, contextId);
- CleanupClosePushL(packetContext);
-
- // Set context in Active state
- SetContextActiveL(contextId);
-
- //-------------------------------------------------------------------------
- // Test A: Test timeout of RPacketContext::Delete
- //-------------------------------------------------------------------------
- TRequestStatus requestStatus;
- TMockLtsyData1 <TInfoName> expData(contextId);
- expData.SerialiseL(expectData);
- iMockLTSY.ExpectL(MLtsyDispatchPacketServicesDeletePdpContext::KLtsyDispatchPacketServicesDeletePdpContextApiId, expectData);
-
- packetContext.Delete(requestStatus);
-
- User::WaitForRequest(requestStatus);
- ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());
- AssertMockLtsyStatusL();
-
- iMockLTSY.ExpectL(MLtsyDispatchPacketServicesDeletePdpContext::KLtsyDispatchPacketServicesDeletePdpContextApiId, expectData);
- CleanupStack::PopAndDestroy(5, this); //packetContext, packetService, data, expectData, this
- }
+// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// The TEFUnit test suite for PacketContext in the Common TSY.
+//
+//
+
+#include "cctsypacketcontextfu.h"
+#include "cctsypacketservicesfu.h"
+
+#include <etel.h>
+#include <etelmm.h>
+#include <et_clsvr.h>
+#include <ctsy/mmtsy_names.h>
+#include <ctsy/serviceapi/mmtsy_ipcdefs.h>
+#include <test/tmockltsydata.h>
+#include <ctsy/ltsy/mltsydispatchpacketservicesinterface.h>
+
+CTestSuite* CCTsyPacketContextFU::CreateSuiteL(const TDesC& aName)
+ {
+ SUB_SUITE;
+
+ ADD_TEST_STEP_ISO_CPP(CCTsyPacketContextFU, TestUnit00027L);
+ ADD_TEST_STEP_ISO_CPP(CCTsyPacketContextFU, TestUnit00028L);
+ ADD_TEST_STEP_ISO_CPP(CCTsyPacketContextFU, TestUnit00029L);
+
+ END_SUITE;
+ }
+
+
+//
+// Actual test cases
+//
+
+/**
+@SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN00027
+@SYMComponent telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RPacketContext::Delete
+@SYMTestPriority High
+@SYMTestActions Invokes RPacketContext::Delete
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyPacketContextFU::TestUnit00027L()
+ {
+
+ OpenEtelServerL(EUseExtendedError);
+ CleanupStack::PushL(TCleanupItem(Cleanup,this));
+ OpenPhoneL();
+
+ RBuf8 data;
+ CleanupClosePushL(data);
+
+ RBuf8 expectData;
+ CleanupClosePushL(expectData);
+
+ RPacketService packetService;
+ OpenPacketServiceLC(packetService, RPacketService::EStatusUnattached);
+
+ // Open new context
+ TInfoName contextId;
+ RPacketContext packetContext;
+ packetContext.OpenNewContext(packetService, contextId);
+ CleanupClosePushL(packetContext);
+
+ TInfoName primaryContext;
+ TInfoName secondaryContext;
+ primaryContext.Copy(KFirstAllocatedContextName);
+ secondaryContext.Copy(KDefaultContextName);
+
+ //-------------------------------------------------------------------------
+ // SEND Delete request when ContextStatus is Unknown
+ //-------------------------------------------------------------------------
+ TRequestStatus requestStatus;
+ packetContext.Delete(requestStatus);
+
+ User::WaitForRequest(requestStatus);
+ ASSERT_EQUALS(KErrNotReady, requestStatus.Int());
+ AssertMockLtsyStatusL();
+
+ // Set context in Active state
+ SetContextActiveL(contextId);
+
+ //----------------------------------
+ // Send an unsupported request
+ //----------------------------------
+
+ RPacketContext::TDataVolume volume;
+ packetContext.GetDataVolumeTransferred(requestStatus, volume);
+ User::WaitForRequest(requestStatus);
+ ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+ AssertMockLtsyStatusL();
+
+
+ //-------------------------------------------------------------------------
+ // TEST E: Unsolicited completion of RPacketContext::Delete
+ // from LTSY.
+ //-------------------------------------------------------------------------
+ TMockLtsyData1 <TInfoName > ltsyData(contextId);
+ data.Close();
+ ltsyData.SerialiseL(data);
+
+ TRequestStatus mockLtsyStatus;
+
+ iMockLTSY.NotifyTerminated(mockLtsyStatus);
+ // send completion
+ iMockLTSY.CompleteL(MLtsyDispatchPacketServicesDeletePdpContext::KLtsyDispatchPacketServicesDeletePdpContextApiId, KErrNone, data);
+
+ // wait for completion
+ User::WaitForRequest(mockLtsyStatus);
+ ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+ AssertMockLtsyStatusL();
+
+ //-------------------------------------------------------------------------
+ // TEST A: failure to dispatch request to LTSY
+ //-------------------------------------------------------------------------
+ //TMockLtsyData1 <TInfoName> expData(contextId);
+ TMockLtsyData1<TInfoName> expData(primaryContext);
+ expectData.Close();
+ expData.SerialiseL(expectData);
+
+ iMockLTSY.ExpectL(MLtsyDispatchPacketServicesDeletePdpContext::KLtsyDispatchPacketServicesDeletePdpContextApiId, expectData, KErrNotSupported);
+
+ packetContext.Delete(requestStatus);
+
+ User::WaitForRequest(requestStatus);
+ ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+ AssertMockLtsyStatusL();
+
+ //-------------------------------------------------------------------------
+ // TEST B: failure on completion of pending request from LTSY->CTSY
+ //-------------------------------------------------------------------------
+ iMockLTSY.ExpectL (MLtsyDispatchPacketServicesDeletePdpContext::KLtsyDispatchPacketServicesDeletePdpContextApiId, expectData);
+ iMockLTSY.CompleteL(MLtsyDispatchPacketServicesDeletePdpContext::KLtsyDispatchPacketServicesDeletePdpContextApiId, KErrGeneral, data);
+
+ packetContext.Delete(requestStatus);
+
+ User::WaitForRequest(requestStatus);
+ ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
+ AssertMockLtsyStatusL();
+
+ //-------------------------------------------------------------------------
+ // TEST C: Successful completion request of
+ // RPacketContext::Delete when result is not cached.
+ //-------------------------------------------------------------------------
+ iMockLTSY.ExpectL (MLtsyDispatchPacketServicesDeletePdpContext::KLtsyDispatchPacketServicesDeletePdpContextApiId, expectData);
+ iMockLTSY.CompleteL(MLtsyDispatchPacketServicesDeletePdpContext::KLtsyDispatchPacketServicesDeletePdpContextApiId, KErrNone, data);
+
+ packetContext.Delete(requestStatus);
+
+ User::WaitForRequest(requestStatus);
+ ASSERT_EQUALS(KErrNone, requestStatus.Int());
+ AssertMockLtsyStatusL();
+
+ //-------------------------------------------------------------------------
+ // TEST D: failure to modify context parameters when context deleted
+ //-------------------------------------------------------------------------
+ packetContext.ModifyActiveContext(requestStatus);
+ User::WaitForRequest(requestStatus);
+ AssertMockLtsyStatusL();
+ ASSERT_EQUALS(KErrNotReady, requestStatus.Int());
+
+ iMockLTSY.ExpectL (MLtsyDispatchPacketServicesDeletePdpContext::KLtsyDispatchPacketServicesDeletePdpContextApiId, expectData);
+ CleanupStack::PopAndDestroy(5, this); //packetContext, packetService, expectData, data, this
+
+ }
+
+/**
+@SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN00028
+@SYMComponent telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for multiple client requests to RPacketContext::Delete
+@SYMTestPriority High
+@SYMTestActions Invokes multiple client requests to RPacketContext::Delete
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyPacketContextFU::TestUnit00028L()
+ {
+ OpenEtelServerL(EUseExtendedError);
+ CleanupStack::PushL(TCleanupItem(Cleanup,this));
+ OpenPhoneL();
+
+ RBuf8 data;
+ CleanupClosePushL(data);
+
+ RBuf8 data2;
+ CleanupClosePushL(data2);
+
+ RBuf8 expectData;
+ CleanupClosePushL(expectData);
+
+ RBuf8 expectData2;
+ CleanupClosePushL(expectData2);
+
+ // Open second client
+ RTelServer telServer2;
+ TInt ret = telServer2.Connect();
+ ASSERT_EQUALS(KErrNone, ret);
+ CleanupClosePushL(telServer2);
+
+ RMobilePhone phone2;
+ ret = phone2.Open(iTelServer,KMmTsyPhoneName);
+ ASSERT_EQUALS(KErrNone, ret);
+ CleanupClosePushL(phone2);
+
+ RPacketService packetService;
+ OpenPacketServiceLC(packetService, RPacketService::EStatusUnattached);
+
+ RPacketService packetService2;
+ ret = packetService2.Open(phone2);
+ ASSERT_EQUALS(KErrNone, ret);
+ CleanupClosePushL(packetService2);
+
+ // Open first context
+ TInfoName contextId;
+ RPacketContext packetContext;
+ packetContext.OpenNewContext(packetService, contextId);
+ CleanupClosePushL(packetContext);
+
+ // Open second context
+ TInfoName contextId2;
+ RPacketContext packetContext2;
+ packetContext2.OpenNewContext(packetService2, contextId2);
+ CleanupClosePushL(packetContext2);
+
+ // Set first context in Active state
+ SetContextActiveL(contextId);
+
+ // Set second context in Active state
+ SetContextActiveL(contextId2);
+
+ //-------------------------------------------------------------------------
+ // Test A: Test multiple clients requesting RPacketContext::Delete
+ //-------------------------------------------------------------------------
+
+ // data for first CompleteL
+ TMockLtsyData1 <TInfoName > ltsyData(contextId);
+ ltsyData.SerialiseL(data);
+
+ // data for second CompleteL
+ TMockLtsyData1 <TInfoName > ltsyData2(contextId2);
+ ltsyData2.SerialiseL(data2);
+
+ // for the first request
+ TRequestStatus requestStatus;
+ TMockLtsyData1 <TInfoName> expData(contextId);
+ expData.SerialiseL(expectData);
+
+ // for the second request
+ TRequestStatus requestStatus2;
+ TMockLtsyData1 <TInfoName> expData2(contextId2);
+ expData2.SerialiseL(expectData2);
+
+ iMockLTSY.ExpectL(MLtsyDispatchPacketServicesDeletePdpContext::KLtsyDispatchPacketServicesDeletePdpContextApiId, expectData);
+ iMockLTSY.CompleteL(MLtsyDispatchPacketServicesDeletePdpContext::KLtsyDispatchPacketServicesDeletePdpContextApiId, KErrNone, data);
+ iMockLTSY.ExpectL(MLtsyDispatchPacketServicesDeletePdpContext::KLtsyDispatchPacketServicesDeletePdpContextApiId, expectData2);
+ iMockLTSY.CompleteL(MLtsyDispatchPacketServicesDeletePdpContext::KLtsyDispatchPacketServicesDeletePdpContextApiId, KErrNone, data2);
+
+ // send first request
+ packetContext.Delete(requestStatus);
+
+ // send second request
+ packetContext2.Delete(requestStatus2);
+
+ // wait for first answer
+ User::WaitForRequest(requestStatus);
+ ASSERT_EQUALS(KErrNone, requestStatus.Int());
+
+ // wait for second answer
+ User::WaitForRequest(requestStatus2);
+ ASSERT_EQUALS(KErrNone, requestStatus2.Int());
+
+ AssertMockLtsyStatusL();
+ iMockLTSY.ExpectL(MLtsyDispatchPacketServicesDeletePdpContext::KLtsyDispatchPacketServicesDeletePdpContextApiId, expectData2);
+ iMockLTSY.ExpectL(MLtsyDispatchPacketServicesDeletePdpContext::KLtsyDispatchPacketServicesDeletePdpContextApiId, expectData);
+ CleanupStack::PopAndDestroy(2); // expectData2, expectData
+ CleanupStack::PopAndDestroy(9, this); //packetContext2, packetContext, packetService2, packetService, phone2, telServer2, data,data2 this
+ }
+
+/**
+@SYMTestCaseID BA-CTSYD-DIS-PACKETSERVICES-UN00029
+@SYMComponent telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RPacketContext::Delete with timeout
+@SYMTestPriority High
+@SYMTestActions Invokes RPacketContext::Delete and tests for timeout
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyPacketContextFU::TestUnit00029L()
+ {
+
+ OpenEtelServerL(EUseExtendedError);
+ CleanupStack::PushL(TCleanupItem(Cleanup,this));
+ OpenPhoneL();
+
+ RBuf8 data;
+ CleanupClosePushL(data);
+
+ RBuf8 expectData;
+ CleanupClosePushL(expectData);
+
+ RPacketService packetService;
+ OpenPacketServiceLC(packetService, RPacketService::EStatusUnattached);
+
+ // Open new context
+ TInfoName contextId;
+ RPacketContext packetContext;
+ packetContext.OpenNewContext(packetService, contextId);
+ CleanupClosePushL(packetContext);
+
+ // Set context in Active state
+ SetContextActiveL(contextId);
+
+ //-------------------------------------------------------------------------
+ // Test A: Test timeout of RPacketContext::Delete
+ //-------------------------------------------------------------------------
+ TRequestStatus requestStatus;
+ TMockLtsyData1 <TInfoName> expData(contextId);
+ expData.SerialiseL(expectData);
+ iMockLTSY.ExpectL(MLtsyDispatchPacketServicesDeletePdpContext::KLtsyDispatchPacketServicesDeletePdpContextApiId, expectData);
+
+ packetContext.Delete(requestStatus);
+
+ User::WaitForRequest(requestStatus);
+ ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());
+ AssertMockLtsyStatusL();
+
+ iMockLTSY.ExpectL(MLtsyDispatchPacketServicesDeletePdpContext::KLtsyDispatchPacketServicesDeletePdpContextApiId, expectData);
+ CleanupStack::PopAndDestroy(5, this); //packetContext, packetService, data, expectData, this
+ }