diff -r 000000000000 -r 3553901f7fa8 telephonyserver/etelsimtoolkit/tetel/Te_EtelSat/TE_EtelSatenvelopecmds.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telephonyserver/etelsimtoolkit/tetel/Te_EtelSat/TE_EtelSatenvelopecmds.cpp Tue Feb 02 01:41:59 2010 +0200 @@ -0,0 +1,544 @@ +// Copyright (c) 2002-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: +// + +#include "Te_EtelSatTestStepBase.h" +#include "TE_EtelSatenvelopecmds.h" + +CTestSatEnvelopeCmds::CTestSatEnvelopeCmds() +/** Each test step initialises it's own name +*/ + { + // store the name of this test case + // this is the name that is used by the script file + SetTestStepName(_L("TestSatEnvelopeCmds")); + } + +enum TVerdict CTestSatEnvelopeCmds::doTestStepL() + { + INFO_PRINTF1(_L("**************************************")); + INFO_PRINTF1(_L("Test RSat Envelope Cmds Functionality")); + INFO_PRINTF1(_L("**************************************")); + + RPhone phone; + TInt ret=phone.Open(iTelServer,DSATTSY_PHONE_NAME); + TEST(ret==KErrNone); + + RSat sat; + ret=sat.Open(phone); + TEST(ret==KErrNone); + + // + // Local variables used throughout the sat tests + // + TRequestStatus reqStatus; + iTestCount=1; + + // + // Get ME side SAT profile for V2 + // + RSat::TSatProfileV2 profile; + RSat::TSatProfileV2Pckg profilePckg(profile); + + TEST(profile.ExtensionId() == RSat::KSatV2); + + sat.GetMeSideSatProfile(reqStatus, profilePckg); + User::WaitForRequest(reqStatus); + TEST(reqStatus.Int()==KErrNone); + + TEST(profile.iSatProfileByte1==0x01); + TEST(profile.iSatProfileByte2==0x02); + TEST(profile.iSatProfileByte3==0x03); + TEST(profile.iSatProfileByte4==0x04); + TEST(profile.iSatProfileByte5==0x05); + TEST(profile.iSatProfileByte6==0x06); + TEST(profile.iSatProfileByte7==0x07); + TEST(profile.iSatProfileByte8==0x08); + TEST(profile.iSatProfileByte9==0x09); + TEST(profile.iSatProfileByte10==0x0A); + TEST(profile.iSatProfileByte11==0x0B); + TEST(profile.iSatProfileByte12==0x0C); + TEST(profile.iSatProfileByte13==0x0D); + TEST(profile.iSatProfileByte14==0x0E); + TEST(profile.iSatProfileByte15==0x0F); + TEST(profile.iSatProfileByte16==0x10); + TEST(profile.iSatProfileByte17==0x20); + TEST(profile.iSatProfileByte18==0x30); + TEST(profile.iNumOfChannels==DSATTSY_NUMBER_OF_CHANNELS); + TEST(profile.iScreenHeight==DSATTSY_SCREEN_HEIGHT); + TEST(profile.iScreenWidth==DSATTSY_SCREEN_WIDTH); + TEST(profile.iTiaEiaProtoVersion==DSATTSY_PROTO_VERSION); + TEST(profile.iWidthReduction==DSATTSY_WIDTH_REDUCTION); + + INFO_PRINTF2(_L("Test %d - RSat::GetMeSideSatProfile with RSat::TSatProfileV2 passed"),iTestCount++); + + sat.GetMeSideSatProfile(reqStatus, profilePckg); + sat.CancelAsyncRequest(ESatGetMeSideSatProfile); + User::WaitForRequest(reqStatus); + TEST(reqStatus.Int()==KErrCancel); + INFO_PRINTF2(_L("Test %d - RSat::GetMeSideSatProfileCancel with RSat::TSatProfileV2 passed"),iTestCount++); + + // + // Client SAT profile indication + // + TEST(sat.ClientSatProfileIndication(profilePckg)==KErrNone); + INFO_PRINTF2(_L("Test %d - RSat::ClientSatProfileIndication with RSat::TSatProfileV2 passed"),iTestCount++); + + // + // Get ME side SAT profile for V5 + // + RSat::TSatProfileV5 profileV5; + RSat::TSatProfileV5Pckg profileV5Pckg(profileV5); + + TEST(profileV5.ExtensionId() == RSat::KSatV5); + + sat.GetMeSideSatProfile(reqStatus, profileV5Pckg); + User::WaitForRequest(reqStatus); + TEST(reqStatus.Int()==KErrNone); + + // Pre-version 5 parameters in SAT profile + TEST(profileV5.iSatProfileByte1==0x01); + TEST(profileV5.iSatProfileByte2==0x02); + TEST(profileV5.iSatProfileByte3==0x03); + TEST(profileV5.iSatProfileByte4==0x04); + TEST(profileV5.iSatProfileByte5==0x05); + TEST(profileV5.iSatProfileByte6==0x06); + TEST(profileV5.iSatProfileByte7==0x07); + TEST(profileV5.iSatProfileByte8==0x08); + TEST(profileV5.iSatProfileByte9==0x09); + TEST(profileV5.iSatProfileByte10==0x0A); + TEST(profileV5.iSatProfileByte11==0x0B); + TEST(profileV5.iSatProfileByte12==0x0C); + TEST(profileV5.iSatProfileByte13==0x0D); + TEST(profileV5.iSatProfileByte14==0x0E); + TEST(profileV5.iSatProfileByte15==0x0F); + TEST(profileV5.iSatProfileByte16==0x10); + TEST(profileV5.iSatProfileByte17==0x20); + TEST(profileV5.iSatProfileByte18==0x30); + TEST(profileV5.iNumOfChannels==DSATTSY_NUMBER_OF_CHANNELS); + TEST(profileV5.iScreenHeight==DSATTSY_SCREEN_HEIGHT); + TEST(profileV5.iScreenWidth==DSATTSY_SCREEN_WIDTH); + TEST(profileV5.iTiaEiaProtoVersion==DSATTSY_PROTO_VERSION); + TEST(profileV5.iWidthReduction==DSATTSY_WIDTH_REDUCTION); + // Version 5 parameters in profile + // (test also that the TSatProfileByte28 and TSatProfileByte29 + // have been defined correctly as each should set a different bit). + TEST(profileV5.iSatProfileByte28== + (RSat::KCapsTextAttributeAlignmentLeft | RSat::KCapsTextAttributeAlignmentCentre | + RSat::KCapsTextAttributeAlignmentRight | RSat::KCapsTextAttributeFontSizeNormal | + RSat::KCapsTextAttributeFontSizeLarge | RSat::KCapsTextAttributeFontSizeSmall)); // 0x3F + TEST(profileV5.iSatProfileByte29==(RSat::KCapsTextAttributeStyleNormal | + RSat::KCapsTextAttributeStyleBold | + RSat::KCapsTextAttributeStyleItalic | + RSat::KCapsTextAttributeStyleUnderline | + RSat::KCapsTextAttributeStyleStrikethrough | + RSat::KCapsTextAttributeStyleForeground | + RSat::KCapsTextAttributeStyleBackground)); // 0x7F + + INFO_PRINTF2(_L("Test %d - RSat::GetMeSideSatProfile with RSat::TSatProfileV5 passed"),iTestCount++); + + sat.GetMeSideSatProfile(reqStatus, profileV5Pckg); + sat.CancelAsyncRequest(ESatGetMeSideSatProfile); + User::WaitForRequest(reqStatus); + TEST(reqStatus.Int()==KErrCancel); + INFO_PRINTF2(_L("Test %d - RSat::GetMeSideSatProfileCancel with RSat::TSatProfileV5 passed"),iTestCount++); + + // + // Client SAT profile indication for V5 + // + TEST(sat.ClientSatProfileIndication(profileV5Pckg)==KErrNone); + INFO_PRINTF2(_L("Test %d - RSat::ClientSatProfileIndication RSat::TSatProfileV5 passed"),iTestCount++); + + // Menu Selection + RSat::TMenuSelectionV1 selection; + RSat::TMenuSelectionV1Pckg selectionPckg(selection); + + selection.iHelp =DSATTSY_HELP_REQUESTED; + selection.iItemId =DSATTSY_ITEM_ID; + + sat.MenuSelection(reqStatus, selectionPckg); + User::WaitForRequest(reqStatus); + TEST(reqStatus.Int()==KErrNone); + INFO_PRINTF2(_L("Test %d - RSat::MenuSelection passed"),iTestCount++); + + // Menu Selection Cancel + sat.MenuSelection(reqStatus,selectionPckg); + sat.CancelAsyncRequest(ESatMenuSelection); + User::WaitForRequest(reqStatus); + TEST(reqStatus.Int()==KErrCancel); + INFO_PRINTF2(_L("Test %d - RSat::MenuSelectionCancel passed"),iTestCount++); + + // Event Download + + // Test each event + + RSat::TEventList eventList; + RSat::TEventDownloadBaseV2 eventBaseV2; + RSat::TEventDownloadBaseV2Pckg eventBaseV2Pckg( eventBaseV2 ); + + // KUserActivity + + eventList = RSat::KUserActivity; + + sat.EventDownload( reqStatus, eventList, eventBaseV2Pckg ); // No associated data + User::WaitForRequest(reqStatus); + TEST(reqStatus.Int()==KErrNone); + + INFO_PRINTF2(_L("Test %d - RSat::EventDownload(KUserActivity) passed"),iTestCount++); + + // Event Download Cancel + + sat.EventDownload( reqStatus, eventList, eventBaseV2Pckg ); // No associated data + sat.CancelAsyncRequest(ESatEventDownload); + User::WaitForRequest(reqStatus); + TEST(reqStatus.Int()==KErrCancel); + + INFO_PRINTF2(_L("Test %d - RSat::EventDownloadCancel passed"),iTestCount++); + + // KIdleScreenAvailable + + eventList = RSat::KIdleScreenAvailable; + + sat.EventDownload( reqStatus, eventList, eventBaseV2Pckg ); // No associated data + User::WaitForRequest(reqStatus); + TEST(reqStatus.Int()==KErrNone); + + INFO_PRINTF2(_L("Test %d - RSat::EventDownload(KIdleScreenAvailable) passed"),iTestCount++); + + sat.EventDownload( reqStatus, eventList, eventBaseV2Pckg ); // No associated data + sat.CancelAsyncRequest(ESatEventDownload); + User::WaitForRequest(reqStatus); + + // KCardReaderStatus + + RSat::TCardReaderStatusEventV2 eventCardStatus; + RSat::TCardReaderStatusEventV2Pckg eventCardStatusPckg(eventCardStatus); + + eventList = RSat::KCardReaderStatus; + eventCardStatus.iCardReaderStatus = DSATTSY_EVENT_CARD_READER_STATUS; + + sat.EventDownload( reqStatus, eventList, eventCardStatusPckg ); + User::WaitForRequest(reqStatus); + TEST(reqStatus.Int()==KErrNone); + + INFO_PRINTF2(_L("Test %d - RSat::EventDownload(KCardReaderStatus) passed"),iTestCount++); + + sat.EventDownload( reqStatus, eventList, eventCardStatusPckg ); + sat.CancelAsyncRequest(ESatEventDownload); + User::WaitForRequest(reqStatus); + + // KLanguageSelection + + RSat::TLanguageSelectionEventV2 languageSelect; + RSat::TLanguageSelectionEventV2Pckg languageSelectPckg(languageSelect); + + eventList = RSat::KLanguageSelection; + languageSelect.iLanguage = DSATTSY_EVENT_LANGUAGE_SELECTION; + + sat.EventDownload( reqStatus, eventList, languageSelectPckg ); + User::WaitForRequest(reqStatus); + TEST(reqStatus.Int()==KErrNone); + + INFO_PRINTF2(_L("Test %d - RSat::EventDownload(KLanguageSelection) passed"),iTestCount++); + + sat.EventDownload( reqStatus, eventList, languageSelectPckg ); + sat.CancelAsyncRequest(ESatEventDownload); + User::WaitForRequest(reqStatus); + + // KBrowserTermination + + RSat::TBrowserTerminationEventV2 browserTerm; + RSat::TBrowserTerminationEventV2Pckg browserTermPckg( browserTerm ); + + eventList = RSat::KBrowserTermination; + browserTerm.iCause = DSATTSY_EVENT_BROWSER_TERMINATION_CAUSE; + + sat.EventDownload( reqStatus, eventList, browserTermPckg ); + User::WaitForRequest(reqStatus); + TEST(reqStatus.Int()==KErrNone); + + INFO_PRINTF2(_L("Test %d - RSat::EventDownload(KBrowserTermination) passed"),iTestCount++); + + sat.EventDownload( reqStatus, eventList, browserTermPckg ); + sat.CancelAsyncRequest(ESatEventDownload); + User::WaitForRequest(reqStatus); + + // KDataAvailable + + RSat::TDataAvailableEventV2 dataAvailable; + RSat::TDataAvailableEventV2Pckg dataAvailablePckg( dataAvailable ); + + eventList = RSat::KDataAvailable; + + dataAvailable.iStatus.Append( DSATTSY_EVENT_DATA_AVAILABLE_STATUS ); + dataAvailable.iLength = DSATTSY_EVENT_DATA_AVAILABLE_LENGTH; + + sat.EventDownload( reqStatus, eventList, dataAvailablePckg ); + User::WaitForRequest(reqStatus); + TEST(reqStatus.Int()==KErrNone); + + INFO_PRINTF2(_L("Test %d - RSat::EventDownload(KDataAvailable) passed"),iTestCount++); + + sat.EventDownload( reqStatus, eventList, dataAvailablePckg ); + sat.CancelAsyncRequest(ESatEventDownload); + User::WaitForRequest(reqStatus); + + // KChannelStatus + + RSat::TChannelStatusEventV2 channelStatus; + RSat::TChannelStatusEventV2Pckg channelStatusPckg( channelStatus ); + + eventList = RSat::KChannelStatus; + channelStatus.iStatus = DSATTSY_EVENT_CHANNEL_STATUS; + + sat.EventDownload( reqStatus, eventList, channelStatusPckg ); + User::WaitForRequest(reqStatus); + TEST(reqStatus.Int()==KErrNone); + + INFO_PRINTF2(_L("Test %d - RSat::EventDownload(KChannelStatus) passed"),iTestCount++); + + sat.EventDownload( reqStatus, eventList, channelStatusPckg ); + sat.CancelAsyncRequest(ESatEventDownload); + User::WaitForRequest(reqStatus); + + // KDisplayParamsChanges + + RSat::TDisplayParamsEventV2 displayParams; + RSat::TDisplayParamsEventV2Pckg displayParamsPckg( displayParams ); + + eventList = RSat::KDisplayParamsChanges; + + displayParams.iSatProfileByte14 = DSATTSY_EVENT_DISPLAY_PROF14; + displayParams.iScreenHeight = DSATTSY_SCREEN_HEIGHT; + displayParams.iSatProfileByte15 = DSATTSY_EVENT_DISPLAY_PROF15; + displayParams.iScreenWidth = DSATTSY_SCREEN_WIDTH; + displayParams.iSatProfileByte16 = DSATTSY_EVENT_DISPLAY_PROF16; + displayParams.iWidthReduction = DSATTSY_WIDTH_REDUCTION; + + sat.EventDownload( reqStatus, eventList, displayParamsPckg ); + User::WaitForRequest(reqStatus); + TEST(reqStatus.Int()==KErrNone); + + INFO_PRINTF2(_L("Test %d - RSat::EventDownload(KDisplayParams) passed"),iTestCount++); + + sat.EventDownload( reqStatus, eventList, displayParamsPckg ); + sat.CancelAsyncRequest(ESatEventDownload); + User::WaitForRequest(reqStatus); + + // KLocalConnection + + RSat::TLocalConnectionEventV2 localConnection; + RSat::TLocalConnectionEventV2Pckg localConnectionPckg( localConnection ); + + eventList = RSat::KLocalConnection; + localConnection.iRecord.iBearerId = DSATTSY_EVENT_LOCAL_BEARER_ID; + localConnection.iRecord.iServiceId = DSATTSY_EVENT_LOCAL_SERVICE_ID; + localConnection.iRecord.iRecord = DSATTSY_EVENT_LOCAL_SERVICE_RECORD; + localConnection.iAddress.iCoding = DSATTSY_EVENT_LOCAL_ADDR_CODING ; + localConnection.iAddress.iAddress = DSATTSY_EVENT_LOCAL_ADDRESS; + + sat.EventDownload( reqStatus, eventList, localConnectionPckg ); + User::WaitForRequest(reqStatus); + TEST(reqStatus.Int()==KErrNone); + + INFO_PRINTF2(_L("Test %d - RSat::EventDownload(KLocalConnection) passed"),iTestCount++); + + sat.EventDownload( reqStatus, eventList, displayParamsPckg ); + sat.CancelAsyncRequest(ESatEventDownload); + User::WaitForRequest(reqStatus); + + /** Testing the Release 6 features supported by the envelope commands*/ + /** + Testing Event Download envelope command w.r.t NetworkSearchModeChangeEvent which has been updated + as part of the Release 6 Features of USIM Application ToolKit + @test TSAT324 + */ + RSat::TNetworkSearchModeChangeEventV6 networkSearchModeChangeEvent; + RSat::TNetworkSearchModeChangeEventV6Pckg networkSearchModeChangeEventPckg(networkSearchModeChangeEvent); + + eventList=RSat::KNetworkSearchModeChange; + networkSearchModeChangeEvent.iNetworkSearchMode=DSATTSY_NETWORK_SEARCH_MODE1; + + sat.EventDownload(reqStatus,eventList,networkSearchModeChangeEventPckg); + User::WaitForRequest(reqStatus); + TEST(reqStatus.Int()==KErrNone); + + INFO_PRINTF2(_L("Test %d - EventDownload - NetworkSearchModeChangeEvent- passed"),iTestCount++); + + /** + Testing Cancel API for the Event Download envelope command + @test TSAT325 + */ + + //Cancel + sat.EventDownload(reqStatus,eventList,networkSearchModeChangeEventPckg); + sat.CancelAsyncRequest(ESatEventDownload); + User::WaitForRequest(reqStatus); + TEST(reqStatus.Int()==KErrCancel); + + //BrowsingStatusEvent + + /** + Testing Event Download envelope command w.r.t TBrowsingStatusEventV6 which has been updated + as part of the Release 6 Features of USIM Application ToolKit + @test TSAT326 + */ + RSat::TBrowsingStatusEventV6 browsingStatusEvent; + RSat::TBrowsingStatusEventV6Pckg browsingStatusEventPckg(browsingStatusEvent); + + eventList=RSat::KBrowsingStatusChange; + browsingStatusEvent.iBrowserStatus = DSATTSY_BROWSING_STATUS1; + + sat.EventDownload(reqStatus,eventList,browsingStatusEventPckg); + User::WaitForRequest(reqStatus); + TEST(reqStatus.Int()==KErrNone); + + INFO_PRINTF2(_L("Test %d - EventDownload - BrowsingStatusEvent- passed"),iTestCount++); + + /** + Testing Cancel API for the Event Download envelope command + @test TSAT327 + */ + + //Cancel + sat.EventDownload(reqStatus,eventList, browsingStatusEventPckg); + sat.CancelAsyncRequest(ESatEventDownload); + User::WaitForRequest(reqStatus); + TEST(reqStatus.Int()==KErrCancel); + + //FramesInformationChangedEvent + + /** + Testing Event Download envelope command w.r.t FramesInformationChangedEvent which has been updated + as part of the Release 6 Features of USIM Application ToolKit + @test TSAT328 + */ + RSat::TFramesInformationChangedEventV6 framesInfoChangedEvent; + RSat::TFramesInformationChangedEventV6Pckg framesInfoChangedEventPckg(framesInfoChangedEvent); + + eventList=RSat::KFramesInformationChange; + framesInfoChangedEvent.iFramesInformation.iFrameId = DSATTSY_FRAMES_INFORMATION_FRAMEID; + framesInfoChangedEvent.iFramesInformation.iFrameList= DSATTSY_FRAMES_INFORMATION_FRAME_LIST; + + sat.EventDownload(reqStatus,eventList, framesInfoChangedEventPckg); + User::WaitForRequest(reqStatus); + TEST(reqStatus.Int()==KErrNone); + + INFO_PRINTF2(_L("Test %d - EventDownload - framesInformationChangedEvent- passed"),iTestCount++); + + /** + Testing Cancel API for the Event Download envelope command + @test TSAT329 + */ + + //Cancel + sat.EventDownload(reqStatus,eventList, framesInfoChangedEventPckg); + sat.CancelAsyncRequest(ESatEventDownload); + User::WaitForRequest(reqStatus); + TEST(reqStatus.Int()==KErrCancel); + + /** + Testing Multimedia Messaging Service Transfer Status envelope command which has been newly + added as part of the Release 6 Features of USIM Application ToolKit + @test TSAT299 + */ + RSat::TMmsTransferStatusV6 mmsTransferStatus; + RSat::TMmsTransferStatusV6Pckg mmsTransferStatusPckg(mmsTransferStatus); + + mmsTransferStatus.iDeviceId = DSATTSYV6_DEVICE_ID3; + mmsTransferStatus.iMultimediaMessageId =DSATTSYV6_MULTIMEDIA_MESSAGE_ID1; + mmsTransferStatus.iMultimediaMessageStatus =DSATTSYV6_MULTIMEDIA_MESSAGE_STATUS; + + sat.MmsTransferStatus(reqStatus, mmsTransferStatusPckg); + User::WaitForRequest(reqStatus); + TEST(reqStatus.Int()==KErrNone); + + INFO_PRINTF2(_L("Test %d - RSat::MmsTransferStatus - Multimedia Messaging Service Transfer Status - passed"),iTestCount++); + + /** + Testing Cancel API for the Multimedia Messaging Service Transfer Status envelope command + @test TSAT300 + */ + + //Cancel + sat.MmsTransferStatus(reqStatus, mmsTransferStatusPckg); + sat.CancelAsyncRequest(ESatMmsTransferStatus); + User::WaitForRequest(reqStatus); + TEST(reqStatus.Int()==KErrCancel); + + /** + Testing Multimedia Messaging Service Notificaiton Download envelope command which has been newly + added as part of the Release 6 Features of USIM Application ToolKit + @test TSAT301 + */ + RSat::TMmsNotificationDownloadV6 mmsNotificationDownload; + RSat::TMmsNotificationDownloadV6Pckg mmsNotificationDownloadPckg(mmsNotificationDownload); + + mmsNotificationDownload.iDeviceId = DSATTSYV6_DEVICE_ID1; + mmsNotificationDownload.iLastEnvelope = DSATTSYV6_LAST_ENVELOPE1; + mmsNotificationDownload.iMMSNotification = DSATTSYV6_MMS_NOTIFICATION1; + + sat.MmsNotificationDownload(reqStatus, mmsNotificationDownloadPckg); + User::WaitForRequest(reqStatus); + TEST(reqStatus.Int()==KErrNone); + + INFO_PRINTF2(_L("Test %d - RSat::MmsNotificationDownload - Multimedia Messaging Service Notificaiton Download - passed"),iTestCount++); + + /** + Testing Cancel API for the Multimedia Messaging Notification Download envelope command + @test TSAT302 + */ + + //Cancel + sat.MmsNotificationDownload(reqStatus, mmsNotificationDownloadPckg); + sat.CancelAsyncRequest(ESatMmsNotificationDownload); + User::WaitForRequest(reqStatus); + TEST(reqStatus.Int()==KErrCancel); + + + /** + Testing Ussd Data Download command which has been newly + added as part of the Release 6 Features of USIM Application ToolKit + @test TSAT303 + @test TSAT313 + */ + RSat::TUssdDataDownloadV6 ussdDataDownload; + RSat::TUssdDataDownloadV6Pckg ussdDataDownloadPckg(ussdDataDownload); + + ussdDataDownload.iDeviceId = DSATTSYV6_DEVICE_ID1; + ussdDataDownload.iUssdString.iUssdString = DSATTSY_USSD_STRING; + + sat.UssdDataDownload(reqStatus, ussdDataDownloadPckg); + User::WaitForRequest(reqStatus); + TEST(reqStatus.Int()==KErrNone); + INFO_PRINTF2(_L("Test %d - UssdDataDownload - Ussd Data Download command- passed"),iTestCount++); + + /** + Testing Cancel API for the Ussd Data Download command + @test TSAT304 + @test TSAT314 + */ + + //Cancel + sat.UssdDataDownload(reqStatus, ussdDataDownloadPckg); + sat.CancelAsyncRequest(ESatUssdDataDownload); + User::WaitForRequest(reqStatus); + TEST(reqStatus.Int()==KErrCancel); + + sat.Close(); + phone.Close(); + + return TestStepResult(); + + }