--- a/telephonyserverplugins/simtsy/test/Te_Sim/Te_SimSatTest.cpp Mon May 03 13:37:20 2010 +0300
+++ b/telephonyserverplugins/simtsy/test/Te_Sim/Te_SimSatTest.cpp Thu May 06 15:10:38 2010 +0100
@@ -1,6538 +1,6538 @@
-// Copyright (c) 2005-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 "SimConstants.h"
-#include "Te_SimSatTest.h"
-
-CSimSatTest::CSimSatTest()
- {
- SetTestStepName(_L("SatTest"));
- }
-
-TVerdict CSimSatTest::doTestStepL()
- {
- INFO_PRINTF1(_L("BeginSatTest"));
-
- CreateConfigFileL(_L("c:\\config4.txt"));
- SetTestNumberL(0);
-
- TInt ret = iPhone.Open(iTelServer,KPhoneName);
- INFO_PRINTF2(_L("Result: %d"),ret);
- TESTL(ret == KErrNone);
- INFO_PRINTF1(_L("Opened phone object"));
- TESTL(iSat.Open(iPhone)==KErrNone);
- INFO_PRINTF1(_L("Opened Sat object"));
-
- // local variables used throughout the sat tests
- TRequestStatus reqStatusPCmd;
- TRequestStatus reqStatusRequired;
- TRequestStatus reqStatusAllowed;
-
-
- // Refresh
- RSat::TRefreshV1 refresh;
- RSat::TRefreshV1Pckg refreshPckg(refresh);
-
- iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
- User::WaitForRequest(reqStatusPCmd);
- TESTL(reqStatusPCmd.Int()==KErrNone);
-
- TESTL(refresh.iType==SIMTSY_REFRESH_TYPE1);
- TESTL(refresh.iFileList.Length()==1);
- TESTL(refresh.iFileList[0]==SIMTSY_REFRESH_FILE1);
- INFO_PRINTF1(_L("SAT Refresh test 1 passed"));
-
- // Refresh Cancel
- iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
- iSat.CancelAsyncRequest(ESatNotifyRefreshPCmd);
- User::WaitForRequest(reqStatusPCmd);
- TESTL(reqStatusPCmd.Int()==KErrCancel);
- INFO_PRINTF1(_L("SAT Refresh Cancel test passed"));
-
- iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
- User::WaitForRequest(reqStatusPCmd);
- TESTL(reqStatusPCmd.Int()==KErrNone);
-
- TESTL(refresh.iType==SIMTSY_REFRESH_TYPE2);
- TESTL(refresh.iFileList.Length()==1);
- TESTL(refresh.iFileList[0]==SIMTSY_REFRESH_FILE2);
- INFO_PRINTF1(_L("SAT Refresh test 2 passed"));
-
- iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
- User::WaitForRequest(reqStatusPCmd);
- TESTL(reqStatusPCmd.Int()==KErrNone);
-
- TESTL(refresh.iType==SIMTSY_REFRESH_TYPE3);
- TESTL(refresh.iFileList.Length()==2);
- TESTL(refresh.iFileList[0]==SIMTSY_REFRESH_FILE1);
- TESTL(refresh.iFileList[1]==SIMTSY_REFRESH_FILE2);
- INFO_PRINTF1(_L("SAT Refresh test 3 passed"));
-
- // Refresh Required successful test
- iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
-
- iSat.NotifyRefreshRequired(reqStatusRequired);
- User::WaitForRequest(reqStatusRequired);
- TESTL(reqStatusRequired.Int()==KErrNone);
-
- // Refresh Required Response
- RSat::TRefreshRspV1* refreshAllowedRsp = new (ELeave) RSat::TRefreshRspV1;
- CleanupStack::PushL(refreshAllowedRsp);
- RSat::TRefreshRspV1Pckg* refreshAllowedRspPckg = new (ELeave) RSat::TRefreshRspV1Pckg(*refreshAllowedRsp);
- CleanupStack::PushL(refreshAllowedRspPckg);
-
- refreshAllowedRsp->iGeneralResult=SIMTSY_REFRESH_RESULT_SUCCESS;
- refreshAllowedRsp->iInfoType=SIMTSY_REFRESH_RSP_NO_INFO;
- refreshAllowedRsp->iAdditionalInfo=SIMTSY_REFRESH_NULL_BUF;
-
- iSat.RefreshAllowed(reqStatusAllowed, *refreshAllowedRspPckg);
- User::WaitForRequest(reqStatusAllowed);
- TESTL(reqStatusAllowed.Int()==KErrNone);
-
- // Wait for completion of outstanding PCmd now permission given
- User::WaitForRequest(reqStatusPCmd);
- TESTL(reqStatusPCmd.Int()==KErrNone);
-
- TESTL(refresh.iType==SIMTSY_REFRESH_TYPE1);
- TESTL(refresh.iFileList.Length()==1);
- TESTL(refresh.iFileList[0]==SIMTSY_REFRESH_FILE1);
- INFO_PRINTF1(_L("SAT NotifyRefreshRequired test 1 passed"));
-
- // Refresh Required unsuccessful test
- iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
-
- iSat.NotifyRefreshRequired(reqStatusRequired);
- User::WaitForRequest(reqStatusRequired);
- TESTL(reqStatusRequired.Int()==KErrNone);
-
- // Refresh Required Response
- refreshAllowedRsp->iGeneralResult=SIMTSY_REFRESH_RESULT_FAIL;
-
- iSat.RefreshAllowed(reqStatusAllowed, *refreshAllowedRspPckg);
- User::WaitForRequest(reqStatusAllowed);
- TESTL(reqStatusAllowed.Int()==KErrNone);
-
- // Cancel ESatNotifyRefreshPCmd due to failing RefreshAllowed
- iSat.CancelAsyncRequest(ESatNotifyRefreshPCmd);
- User::WaitForRequest(reqStatusPCmd);
- TESTL(reqStatusPCmd.Int()==KErrCancel);
- INFO_PRINTF1(_L("SAT NotifyRefreshPCmd Cancel test passed"));
-
- // Refresh Required second successful test
- iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
-
- iSat.NotifyRefreshRequired(reqStatusRequired);
- User::WaitForRequest(reqStatusRequired);
- TESTL(reqStatusRequired.Int()==KErrNone);
-
- // Refresh Required Response
- refreshAllowedRsp->iGeneralResult=SIMTSY_REFRESH_RESULT_SUCCESS;
-
- iSat.RefreshAllowed(reqStatusAllowed, *refreshAllowedRspPckg);
- User::WaitForRequest(reqStatusAllowed);
- TESTL(reqStatusAllowed.Int()==KErrNone);
-
- // Wait for completion of outstanding PCmd now permission given
- User::WaitForRequest(reqStatusPCmd);
- TESTL(reqStatusPCmd.Int()==KErrNone);
-
- TESTL(refresh.iType==SIMTSY_REFRESH_TYPE2);
- TESTL(refresh.iFileList.Length()==1);
- TESTL(refresh.iFileList[0]==SIMTSY_REFRESH_FILE2);
- INFO_PRINTF1(_L("SAT NotifyRefreshRequired test 2 passed"));
-
- // Refresh Required third successful test
- iSat.NotifyRefreshRequired(reqStatusRequired);
- User::WaitForRequest(reqStatusRequired);
- TESTL(reqStatusRequired.Int()==KErrNone);
-
- iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
-
- // Refresh Required Response
- iSat.RefreshAllowed(reqStatusAllowed, *refreshAllowedRspPckg);
- User::WaitForRequest(reqStatusAllowed);
- TESTL(reqStatusAllowed.Int()==KErrNone);
-
- // Wait for completion of outstanding PCmd now permission given
- User::WaitForRequest(reqStatusPCmd);
- TESTL(reqStatusPCmd.Int()==KErrNone);
-
- TESTL(refresh.iType==SIMTSY_REFRESH_TYPE3);
- TESTL(refresh.iFileList.Length()==2);
- TESTL(refresh.iFileList[0]==SIMTSY_REFRESH_FILE1);
- TESTL(refresh.iFileList[1]==SIMTSY_REFRESH_FILE2);
- INFO_PRINTF1(_L("SAT NotifyRefreshRequired test 3 passed"));
-
- // Refresh Required Cancel test
- iSat.NotifyRefreshRequired(reqStatusRequired);
- iSat.CancelAsyncRequest(ESatNotifyRefreshRequired);
- User::WaitForRequest(reqStatusRequired);
- TESTL(reqStatusRequired.Int()==KErrCancel);
- INFO_PRINTF1(_L("SAT NotifyRefreshRequired Cancel test passed"));
-
- // RefreshAllowed Cancel test
- iSat.RefreshAllowed(reqStatusAllowed, *refreshAllowedRspPckg);
- iSat.CancelAsyncRequest(ESatRefreshAllowed);
- User::WaitForRequest(reqStatusAllowed);
- // Test for either KErrNone or KErrCancel since we expect the request to be responded to immediately
- TESTL(reqStatusAllowed.Int()==KErrNone || reqStatusAllowed.Int()==KErrCancel);
- INFO_PRINTF1(_L("SAT RefreshAllowed Cancel test passed"));
-
- // Refresh Required test successful repeated with parameterised NotifyRefreshRequired
- iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
-
- // Refresh
- RSat::TRefreshV1 refreshRequired;
- RSat::TRefreshV1Pckg refreshRequiredPckg(refreshRequired);
-
- iSat.NotifyRefreshRequired(reqStatusRequired, refreshRequiredPckg);
- User::WaitForRequest(reqStatusRequired);
- TESTL(reqStatusRequired.Int()==KErrNone);
-
- TESTL(refreshRequired.iType==SIMTSY_REFRESH_TYPE1);
- TESTL(refreshRequired.iFileList.Length()==1);
- TESTL(refreshRequired.iFileList[0]==SIMTSY_REFRESH_FILE1);
-
- refreshAllowedRsp->iGeneralResult=SIMTSY_REFRESH_RESULT_SUCCESS;
- refreshAllowedRsp->iInfoType=SIMTSY_REFRESH_RSP_NO_INFO;
- refreshAllowedRsp->iAdditionalInfo=SIMTSY_REFRESH_NULL_BUF;
-
- iSat.RefreshAllowed(reqStatusAllowed, *refreshAllowedRspPckg);
-
- User::WaitForRequest(reqStatusAllowed);
- TESTL(reqStatusAllowed.Int()==KErrNone);
-
- // Wait for completion of outstanding PCmd now permission given
- User::WaitForRequest(reqStatusPCmd);
- TESTL(reqStatusPCmd.Int()==KErrNone);
-
- TESTL(refresh.iType==SIMTSY_REFRESH_TYPE1);
- TESTL(refresh.iFileList.Length()==1);
- TESTL(refresh.iFileList[0]==SIMTSY_REFRESH_FILE1);
-
- INFO_PRINTF1(_L("SAT NotifyRefreshRequiredParam test 1 passed"));
-
- // Refresh Required unsuccessful test
- iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
-
- iSat.NotifyRefreshRequired(reqStatusRequired, refreshRequiredPckg);
- User::WaitForRequest(reqStatusRequired);
- TESTL(reqStatusRequired.Int()==KErrNone);
-
- // Refresh Required Response
- refreshAllowedRsp->iGeneralResult=SIMTSY_REFRESH_RESULT_FAIL;
-
- iSat.RefreshAllowed(reqStatusAllowed, *refreshAllowedRspPckg);
- User::WaitForRequest(reqStatusAllowed);
- TESTL(reqStatusAllowed.Int()==KErrNone);
-
- // Cancel ESatNotifyRefreshPCmd due to failing RefreshAllowed
- iSat.CancelAsyncRequest(ESatNotifyRefreshPCmd);
- User::WaitForRequest(reqStatusPCmd);
- TESTL(reqStatusPCmd.Int()==KErrCancel);
- INFO_PRINTF1(_L("SAT NotifyRefreshPCmd Cancel test passed"));
-
- // Refresh Required second successful test
- iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
-
- iSat.NotifyRefreshRequired(reqStatusRequired, refreshRequiredPckg);
- User::WaitForRequest(reqStatusRequired);
- TESTL(reqStatusRequired.Int()==KErrNone);
-
- TESTL(refreshRequired.iType==SIMTSY_REFRESH_TYPE2);
- TESTL(refreshRequired.iFileList.Length()==1);
- TESTL(refreshRequired.iFileList[0]==SIMTSY_REFRESH_FILE2);
-
- // Refresh Required Response
- refreshAllowedRsp->iGeneralResult=SIMTSY_REFRESH_RESULT_SUCCESS;
-
- iSat.RefreshAllowed(reqStatusAllowed, *refreshAllowedRspPckg);
- User::WaitForRequest(reqStatusAllowed);
- TESTL(reqStatusAllowed.Int()==KErrNone);
-
- // Wait for completion of outstanding PCmd now permission given
- User::WaitForRequest(reqStatusPCmd);
- TESTL(reqStatusPCmd.Int()==KErrNone);
-
- TESTL(refresh.iType==SIMTSY_REFRESH_TYPE2);
- TESTL(refresh.iFileList.Length()==1);
- TESTL(refresh.iFileList[0]==SIMTSY_REFRESH_FILE2);
-
- INFO_PRINTF1(_L("SAT NotifyRefreshRequiredParam test 2 passed"));
-
- // Refresh Required third successful test
- iSat.NotifyRefreshRequired(reqStatusRequired, refreshRequiredPckg);
- User::WaitForRequest(reqStatusRequired);
- TESTL(reqStatusRequired.Int()==KErrNone);
-
- TESTL(refreshRequired.iType==SIMTSY_REFRESH_TYPE3);
- TESTL(refreshRequired.iFileList.Length()==2);
- TESTL(refreshRequired.iFileList[0]==SIMTSY_REFRESH_FILE1);
- TESTL(refreshRequired.iFileList[1]==SIMTSY_REFRESH_FILE2);
-
- iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
-
- // Refresh Required Response
- iSat.RefreshAllowed(reqStatusAllowed, *refreshAllowedRspPckg);
- User::WaitForRequest(reqStatusAllowed);
- TESTL(reqStatusAllowed.Int()==KErrNone);
-
- // Wait for completion of outstanding PCmd now permission given
- User::WaitForRequest(reqStatusPCmd);
- TESTL(reqStatusPCmd.Int()==KErrNone);
-
- TESTL(refreshRequired.iType==SIMTSY_REFRESH_TYPE3);
- TESTL(refreshRequired.iFileList.Length()==2);
- TESTL(refreshRequired.iFileList[0]==SIMTSY_REFRESH_FILE1);
- TESTL(refreshRequired.iFileList[1]==SIMTSY_REFRESH_FILE2);
-
- INFO_PRINTF1(_L("SAT NotifyRefreshRequiredParam test 3 passed"));
-
- // Refresh Required Cancel test
- iSat.NotifyRefreshRequired(reqStatusRequired, refreshRequiredPckg);
- iSat.CancelAsyncRequest(ESatNotifyRefreshRequiredParam);
- User::WaitForRequest(reqStatusRequired);
- TESTL(reqStatusRequired.Int()==KErrNone || reqStatusRequired.Int()==KErrCancel);
- INFO_PRINTF1(_L("SAT NotifyRefreshRequired Cancel test passed"));
-
- // RefreshAllowed Cancel test
- iSat.RefreshAllowed(reqStatusAllowed, *refreshAllowedRspPckg);
- iSat.CancelAsyncRequest(ESatRefreshAllowed);
- User::WaitForRequest(reqStatusAllowed);
- // Test for either KErrNone or KErrCancel since we expect the request to be responded to immediately
- TESTL(reqStatusAllowed.Int()==KErrNone || reqStatusAllowed.Int()==KErrCancel);
- INFO_PRINTF1(_L("SAT RefreshAllowed Cancel test passed"));
-
- CleanupStack::PopAndDestroy(2);
-
- iSat.Close();
- iPhone.Close();
- ASSERT(RThread().RequestCount()==0);
-
- return TestStepResult();
- }
-
-
-CSimSatRetMMPCmdTest::CSimSatRetMMPCmdTest()
- {
- SetTestStepName(_L("SatTestRetMMPCmd"));
- }
-
-
-TVerdict CSimSatRetMMPCmdTest::doTestStepL()
- {
- INFO_PRINTF1(_L("RETRIEVE MULTIMEDIA PCMD TESTING - START"));
-
- CreateConfigFileL(_L("c:\\config4.txt"));
- SetTestNumberL(0);
-
- TInt ret = iPhone.Open(iTelServer,KPhoneName);
- TESTL(ret == KErrNone);
- INFO_PRINTF1(_L("Opened phone object"));
- TESTL(iSat.Open(iPhone)==KErrNone);
- INFO_PRINTF1(_L("Opened Sat object"));
-
- testSAT8501L(); // For testing the TEL-SIMTSY-SAT-8501
- testSAT8502L(); // For testing the TEL-SIMTSY-SAT-8502
- testSAT8503L(); // For testing the TEL-SIMTSY-SAT-8503
- testSAT8504L(); // For testing the TEL-SIMTSY-SAT-8504
- testSAT8505L(); // For testing the TEL-SIMTSY-SAT-8505
- testSAT8506L(); // For testing the TEL-SIMTSY-SAT-8506
- testSAT8507L(); // For testing the TEL-SIMTSY-SAT-8507
- testSAT8508L(); // For testing the TEL-SIMTSY-SAT-8508
-
- iSat.Close();
- iPhone.Close();
- ASSERT(RThread().RequestCount()==0);
-
- INFO_PRINTF1(_L("RETRIEVE MULTIMEDIA PCMD TESTING - END"));
-
- return TestStepResult();
-
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8501
- *
- * SYMREQ REQ7329
- *
- * SYMTestCaseDesc UICC issues RETRIEVE MULTIMEDIA Proactive command to
- * ME successfully
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Client requests notification for RETRIEVE MM using RSat::NotifyRetrieveMultimediaMsgPCmd() API.
- * (ii) UICC issues RETRIEVE MULTIMEDIA MESSAGE command to the ME.
- * (iii) ME sends Terminal Response to the UICC using RSat::TerminalRsp ()
- *
- * SYMTestExpectedResults
- * ME is notified of the request.
- * Upon completion of the proactive command, details are returned in a
- * packaged version of TRetrieveMultimediaMessageV6 in the command
- * parameter.
- * ME responds with KSuccess in the Terminal response command for the
- * TRequestStatus variable
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatRetMMPCmdTest::testSAT8501L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8501"));
-
- TRequestStatus reqStatus;
-
- RSat::TRetrieveMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TRetrieveMultimediaMessageV6;
- CleanupStack::PushL(tMMMessageV6);
-
- RSat::TRetrieveMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave) RSat::TRetrieveMultimediaMessageV6Pckg
- (*tMMMessageV6);
- CleanupStack::PushL(tMMMessagePckg);
-
- iSat.NotifyRetrieveMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(tMMMessageV6->iDestination == SIMTSY_DEVICEID_ME);
- TESTL(tMMMessageV6->iAlphaId.iStatus == SIMTSY_ALPHAID_STATUS);
- TESTL(tMMMessageV6->iAlphaId.iAlphaId.Compare(SIMTSY_ALPHAID_BUF) == 0);
- TESTL(tMMMessageV6->iIconId.iQualifier == SIMTSY_ICONID_QLFR);
- TESTL(tMMMessageV6->iIconId.iIdentifier == SIMTSY_ICONID_ID);
- TESTL(tMMMessageV6->iMultimediaMessageRef.Compare(SIMTSY_MMMSG_REF_FILES) ==0);
- TESTL(tMMMessageV6->iReceptionFile.Compare(SIMTSY_RCPTION_FILES) ==0);
- TESTL(tMMMessageV6->iMultimediaContentId.Compare(SIMTSY_MMCONTENT_ID_DATA) ==0);
- TESTL(tMMMessageV6->iMultimediaMessageId.Compare(SIMTSY_MMMSG_ID_DATA) ==0);
- TESTL(tMMMessageV6->iTextAttribute.iStatus == SIMTSY_TXT_ATTR_STATUS);
- TESTL(tMMMessageV6->iTextAttribute.iTextAttributeData.Compare(SIMTSY_TXT_ATTR_DATA) ==0);
-
- RSat::TRetrieveMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TRetrieveMultimediaMessageRspV6;
- CleanupStack::PushL(tMMMessageRspV6);
-
- RSat::TRetrieveMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
- RSat::TRetrieveMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
- CleanupStack::PushL(tMMMessageRspPckgV6);
-
- tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
- tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
- tMMMessageRspV6->SetPCmdNumber(SIMTSY_RET_MM_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ERetrieveMultimediaMsg,*(tMMMessageRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()== KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8501 - Successful"));
- return KErrNone;
-
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8502
- *
- * SYMREQ REQ7329
- *
- * SYMTestCaseDesc Retrieve Multimedia command rejected by the ME as ME is busy on a MMS transaction.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Client requests notification for RETRIEVE MULTIMEDIA MESSAGE using NotifyRetrieveMultimediaMsgPCmd()
- * API.
- * (ii) UICC issues RETRIEVE MULTIMEDIA MESSAGE command to the ME.
- * (iii) ME is unable to execute the command as its busy processing some other MMS transaction.
- * (iv) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
- *
- * SYMTestExpectedResults
- * ME is notified of the request.
- * Upon completion of the proactive command, details are returned in a packaged version of
- * TRetrieveMultimediaMessageV6 in the command parameter.
- * ME responds with KMMSTemporaryProblem in the Terminal response as the TPCmdResult with the
- * additional information ‘KNoSpecificMeProblem’.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatRetMMPCmdTest::testSAT8502L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8502"));
-
- TRequestStatus reqStatus;
-
- RSat::TRetrieveMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TRetrieveMultimediaMessageV6;
- CleanupStack::PushL(tMMMessageV6);
-
- RSat::TRetrieveMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave) RSat::TRetrieveMultimediaMessageV6Pckg
- (*tMMMessageV6);
- CleanupStack::PushL(tMMMessagePckg);
-
- iSat.NotifyRetrieveMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(tMMMessageV6->iDestination == SIMTSY_DEVICEID_ME);
- TESTL(tMMMessageV6->iAlphaId.iStatus == SIMTSY_ALPHAID_STATUS);
- TESTL(tMMMessageV6->iAlphaId.iAlphaId.Compare(SIMTSY_ALPHAID_BUF) == 0);
- TESTL(tMMMessageV6->iIconId.iQualifier == SIMTSY_ICONID_QLFR);
- TESTL(tMMMessageV6->iIconId.iIdentifier == SIMTSY_ICONID_ID);
- TESTL(tMMMessageV6->iMultimediaMessageRef.Compare(SIMTSY_MMMSG_REF_FILES) ==0);
- TESTL(tMMMessageV6->iReceptionFile.Compare(SIMTSY_RCPTION_FILES) ==0);
- TESTL(tMMMessageV6->iMultimediaContentId.Compare(SIMTSY_MMCONTENT_ID_DATA) ==0);
- TESTL(tMMMessageV6->iMultimediaMessageId.Compare(SIMTSY_MMMSG_ID_DATA_2) ==0);
- TESTL(tMMMessageV6->iTextAttribute.iStatus == SIMTSY_TXT_ATTR_STATUS);
- TESTL(tMMMessageV6->iTextAttribute.iTextAttributeData.Compare(SIMTSY_TXT_ATTR_DATA) ==0);
-
- RSat::TRetrieveMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TRetrieveMultimediaMessageRspV6;
- CleanupStack::PushL(tMMMessageRspV6);
-
- RSat::TRetrieveMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 =
- new (ELeave) RSat::TRetrieveMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
- CleanupStack::PushL(tMMMessageRspPckgV6);
-
- _LIT(KText,"KNoSpecificMeProblem");
- TBuf<254> buf(KText);
- tMMMessageRspV6->iGeneralResult = RSat::KMMSTemporaryProblem;
- tMMMessageRspV6->iInfoType = RSat::KMeProblem;
- tMMMessageRspV6->iAdditionalInfo = buf;
- tMMMessageRspV6->SetPCmdNumber(SIMTSY_RET_MM_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ERetrieveMultimediaMsg,*(tMMMessageRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8502 - Successful"));
- return KErrNone;
-
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8503
- *
- * SYMREQ REQ REQ7329
- *
- * SYMTestCaseDesc RETRIEVE MULTIMEDIA MESSAGE command accepted
- * on the second attempt after the first attempt being replied as
- * ME busy on MMS transaction.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Client requests notification for RETRIEVE MULTIMEDIA MESSAGE
- * using NotifyRetrieveMultimediaMsgPCmd () API.
- * (ii) UICC issues RETRIEVE MULTIMEDIA MESSAGE Command to the ME.
- * (iii) ME is unable to execute the command as its busy processing
- * some other MMS transaction.
- * (iv) ME sends Terminal Response to the UICC using
- * RSat::TerminalRsp ().
- * (v) Client requests notification for RETRIEVE MULTIMEDIA MESSAGE
- * using NotifyRetrieveMultimediaMsgPCmd () API again.
- * (vi) UICC makes another attempt by resending the proactive command.
- * This time Clients responds to execute the command successfully.
- * (vii) ME sends Terminal Response to the UICC using
- * RSat::TerminalRsp ().
- *
- * SYMTestExpectedResults
- * Client is notified of the request.
- * ME responds with KMMSTemporaryProblem in the response parameter.
- * Upon completion of the proactive command in the second attempt,
- * details are returned in a packaged version of
- * TRetrieveMultimediaMessageV6 in the command parameter.
- * For the second attempt, Client responds with KSuccess in the
- * response parameter
- *
- * SYMTestType CIT
- */
-TInt CSimSatRetMMPCmdTest::testSAT8503L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8503"));
-
- TRequestStatus reqStatus;
-
- RSat::TRetrieveMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TRetrieveMultimediaMessageV6;
- CleanupStack::PushL(tMMMessageV6);
-
- RSat::TRetrieveMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave) RSat::TRetrieveMultimediaMessageV6Pckg
- (*tMMMessageV6);
- CleanupStack::PushL(tMMMessagePckg);
-
- iSat.NotifyRetrieveMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- RSat::TRetrieveMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TRetrieveMultimediaMessageRspV6;
- CleanupStack::PushL(tMMMessageRspV6);
-
- RSat::TRetrieveMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 =
- new (ELeave) RSat::TRetrieveMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
- CleanupStack::PushL(tMMMessageRspPckgV6);
-
- reqStatus = KErrNone;
-
- _LIT(KText,"KNoSpecificMeProblem");
- TBuf<254> buf(KText);
- tMMMessageRspV6->iGeneralResult = RSat::KMMSTemporaryProblem;
- tMMMessageRspV6->iInfoType = RSat::KMeProblem;
- tMMMessageRspV6->iAdditionalInfo = buf;
- tMMMessageRspV6->SetPCmdNumber(SIMTSY_RET_MM_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ERetrieveMultimediaMsg,*(tMMMessageRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- iSat.NotifyRetrieveMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
- tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
- tMMMessageRspV6->SetPCmdNumber(SIMTSY_RET_MM_PCMD_NUMBER);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8503 - Successful"));
- return KErrNone;
-
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8504
- *
- * SYMREQ REQ7329
- *
- * SYMTestCaseDesc ME rejects Retrieve Multimedia command as the ME is unable to process the MMS transaction
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Client requests notification for RETRIEVE MULTIMEDIA MESSAGE using
- * NotifyRetrieveMultimediaMsgPCmd () API.
- * (ii) UICC issues RETRIEVE MULTIMEDIA MESSAGE Command to the ME.
- * (iii) Client is unable to process the MMS transaction.
- * (iv) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
- *
- * SYMTestExpectedResults
- * Client is notified of the request.
- * Upon completion of the proactive command details are returned in a packaged version of
- * TRetrieveMultimediaMessageV6 in the command parameter.
- * ME responds with KMMSError in the Terminal response as the TPCmdResult with the
- * additional information ‘KNoSpecificMeProblem’.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatRetMMPCmdTest::testSAT8504L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8504"));
- TRequestStatus reqStatus;
-
- RSat::TRetrieveMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TRetrieveMultimediaMessageV6;
- CleanupStack::PushL(tMMMessageV6);
-
- RSat::TRetrieveMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
- RSat::TRetrieveMultimediaMessageV6Pckg(*tMMMessageV6);
- CleanupStack::PushL(tMMMessagePckg);
-
- iSat.NotifyRetrieveMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- RSat::TRetrieveMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TRetrieveMultimediaMessageRspV6;
- CleanupStack::PushL(tMMMessageRspV6);
-
- RSat::TRetrieveMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
- RSat::TRetrieveMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
- CleanupStack::PushL(tMMMessageRspPckgV6);
-
- _LIT(KText,"KNoSpecificMeProblem");
- TBuf<254> buf(KText);
- tMMMessageRspV6->iGeneralResult = RSat::KMMSError;
- tMMMessageRspV6->iInfoType = RSat::KMeProblem;
- tMMMessageRspV6->iAdditionalInfo = buf;
- tMMMessageRspV6->SetPCmdNumber(SIMTSY_RET_MM_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ERetrieveMultimediaMsg,*(tMMMessageRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8504 - Successful"));
- return KErrNone;
-
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8505
- *
- * SYMREQ REQ7329
- *
- * SYMTestCaseDesc Cancel notification of RETRIEVE MULTIMEDIA MESSAGE request
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Register to be notified of RETRIEVE MULTIMEDIA MESSAGE
- * command using NotifyRetrieveMultimediaMsgPCmd () API.
- * (ii) Cancel the request by calling CancelAsyncRequest (ESatNotifyRetrieveMultimediaMessagePCmd).
- *
- * SYMTestExpectedResults
- * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
- * SYMTestType CIT
- */
-
-TInt CSimSatRetMMPCmdTest::testSAT8505L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8505"));
-
- TRequestStatus reqStatus;
-
- RSat::TRetrieveMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TRetrieveMultimediaMessageV6;
- CleanupStack::PushL(tMMMessageV6);
-
- RSat::TRetrieveMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
- RSat::TRetrieveMultimediaMessageV6Pckg(*tMMMessageV6);
- CleanupStack::PushL(tMMMessagePckg);
-
- iSat.NotifyRetrieveMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- iSat.CancelAsyncRequest(ESatNotifyRetrieveMultimediaMsgPCmd);
- User::WaitForRequest(reqStatus);
-
- TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
-
- CleanupStack::PopAndDestroy(2);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8505 - Successful"));
- return KErrNone;
-
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8506
- *
- * SYMREQ REQ7329
- *
- * SYMTestCaseDesc Cancel the terminal response for the request placed for notification of
- * RETRIEVE MULTIMEDIA MESSAGE request
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Register to be notified of RETRIEVE MULTIMEDIA MESSAGE
- * command using NotifyRetrieveMultimediaMsgPCmd () API.
- * (ii) Call the Terminal response() API with the TPCmd as ERetrieveMultimediaMsg
- * (iii) Cancel the request by calling CancelAsyncRequest (ESatTerminalRsp).
- *
- * SYMTestExpectedResults
- * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatRetMMPCmdTest::testSAT8506L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8506"));
-
- TRequestStatus reqStatus;
-
- RSat::TRetrieveMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TRetrieveMultimediaMessageV6;
- CleanupStack::PushL(tMMMessageV6);
-
- RSat::TRetrieveMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
- RSat::TRetrieveMultimediaMessageV6Pckg(*tMMMessageV6);
- CleanupStack::PushL(tMMMessagePckg);
-
- iSat.NotifyRetrieveMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- RSat::TRetrieveMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TRetrieveMultimediaMessageRspV6;
- CleanupStack::PushL(tMMMessageRspV6);
-
- RSat::TRetrieveMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
- RSat::TRetrieveMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
- CleanupStack::PushL(tMMMessageRspPckgV6);
-
- tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
- tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
- tMMMessageRspV6->SetPCmdNumber(SIMTSY_RET_MM_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ERetrieveMultimediaMsg,*(tMMMessageRspPckgV6));
- iSat.CancelAsyncRequest(ESatTerminalRsp);
- User::WaitForRequest(reqStatus);
-
- TESTL((reqStatus.Int() == KErrNone) || (reqStatus.Int() == KErrCancel));
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8506 - Successful"));
- return KErrNone;
-
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8507
- *
- * SYMREQ REQ7329 and REQ7334
- *
- * SYMTestCaseDesc To verify the event of the envelope command for MMS TRANSFER STATUS envelope command
- * after the RETRIEVE MULTIMEDIA MESSAGE proactive command.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference.
- * (ii) Call the API RSat::ClientSatProfileIndication using the TSatProfileV6 with TSatProfileByte22
- * set to KCapsRetrieveMultimediaMessage and TSatProfileByte25 set to KCapsMmsTransferStatusEvent.
- * (iii) Client requests notification for RETRIEVE MULTIMEDIA MESSAGE using
- * NotifyRetrieveMultimediaMsgPCmd () API.
- * (iv) UICC issues RETRIEVE MULTIMEDIA MESSAGE Command to the ME.
- * (v) ME is able to process the MMS transaction and the response is sent using RSat::TerminalRsp ()
- * for NotifyRetrieveMultimediaMsgPCmd.
- * (vi) Call the API RSat::MMSTransferStatus with the parameter as object of TMMTransferStatusV6
- * to store the MM1_retrieve.RES message on to the UICC.
- *
- * SYMTestExpectedResults
- * GetMeSideSatProfile shall return the RSat::TSatProfileV6 with TSatProfileByte22 set to
- * KCapsRetrieveMultimediaMessage and TSatProfileByte25 set to KCapsMmsTransferStatusEvent.
- * The ClientSideSatProfile shall return with KErrNone.
- * The envelope command MMS TRANSFER STATUS is passed on from ME to UICC successfully.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatRetMMPCmdTest::testSAT8507L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8507"));
-
- TRequestStatus reqStatus;
-
- RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
- CleanupStack::PushL(profileV6);
-
- RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
- CleanupStack::PushL(profileV6Pckg);
-
- iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(profileV6->iSatProfileByte22 & (RSat::KCapsRetrieveMultimediaMessage));
- TESTL(profileV6->iSatProfileByte25 & (RSat::KCapsMmsTransferStatusEvent));
-
- TRequestStatus trr = KErrNone;
- trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
- TESTL(trr == KErrNone);
-
- RSat::TRetrieveMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TRetrieveMultimediaMessageV6;
- CleanupStack::PushL(tMMMessageV6);
-
- RSat::TRetrieveMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
- RSat::TRetrieveMultimediaMessageV6Pckg(*tMMMessageV6);
- CleanupStack::PushL(tMMMessagePckg);
-
- iSat.NotifyRetrieveMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- RSat::TRetrieveMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TRetrieveMultimediaMessageRspV6;
- CleanupStack::PushL(tMMMessageRspV6);
-
- RSat::TRetrieveMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
- RSat::TRetrieveMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
- CleanupStack::PushL(tMMMessageRspPckgV6);
-
- tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
- tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
- tMMMessageRspV6->SetPCmdNumber(SIMTSY_RET_MM_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ERetrieveMultimediaMsg,*(tMMMessageRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- RSat::TMmsTransferStatusV6 *tMMSTransferStsV6 = new (ELeave) RSat::TMmsTransferStatusV6;
- CleanupStack::PushL(tMMSTransferStsV6);
-
- RSat::TMmsTransferStatusV6Pckg *tMMSTransferStsV6Pckg = new (ELeave)
- RSat::TMmsTransferStatusV6Pckg(*tMMSTransferStsV6);
- CleanupStack::PushL(tMMSTransferStsV6Pckg);
-
- _LIT(KText,"TransferFilePath");
- TBuf<255> trfFileBuf(KText);
- _LIT(KText1,"MMMessageBuf");
- TBuf<255> trfFileMMMsgBuf(KText1);
- _LIT(KText2,"MMMessageIdentifier");
- TBuf<255> trfFileMMMsgId(KText2);
-
- tMMSTransferStsV6->iDeviceId = RSat::KME;
- tMMSTransferStsV6->iMMSTransferFile = trfFileBuf;
- tMMSTransferStsV6->iMultimediaMessageStatus = trfFileMMMsgBuf;
- tMMSTransferStsV6->iMultimediaMessageId = trfFileMMMsgId ;
-
- iSat.MmsTransferStatus(reqStatus,*tMMSTransferStsV6Pckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- CleanupStack::PopAndDestroy(8);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8507 - Successful"));
- return KErrNone;
-
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8508
- *
- * SYMREQ REQ7329 and REQ7334
- *
- * SYMTestCaseDesc To verify the event of cancellation of the envelope command for MMS TRANSFER STATUS
- * envelope command after the RETRIEVE MULTIMEDIA MESSAGE Proactive command is placed.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Client requests notification for RETRIEVE MULTIMEDIA MESSAGE
- * using NotifyRetrieveMultimediaMsgPCmd () API.
- * (ii) UICC issues RETRIEVE MULTIMEDIA MESSAGE Command to the ME.
- * (iii) ME is able to process the MMS transaction and the response is sent
- * using RSat::TerminalRsp for NotifyRetrieveMultimediaMsgPCmd.
- * (iv) Call the API RSat::MMSTransferStatus with the parameter as object of TMMTransferStatusV6.
- * (v) Cancel the request for the envelope command API placed using
- * RSat::CancelAsyncRequest(ESatMMTransferStatus).
- * (vi) ME is able to send the envelope command MULTIMEDIA TRANSFER STATUS
- * and the response is sent using RSat::TerminalRsp ().
- *
- * SYMTestExpectedResults
- * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
- * SYMTestType CIT
- */
-
-TInt CSimSatRetMMPCmdTest::testSAT8508L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8508"));
-
- TRequestStatus reqStatus;
-
- RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
- CleanupStack::PushL(profileV6);
-
- RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
- CleanupStack::PushL(profileV6Pckg);
-
- iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(profileV6->iSatProfileByte22 & (RSat::KCapsRetrieveMultimediaMessage));
- TESTL(profileV6->iSatProfileByte25 & (RSat::KCapsMmsTransferStatusEvent));
-
- TRequestStatus trr = KErrNone;
- trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
- TESTL(trr == KErrNone);
-
- RSat::TRetrieveMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TRetrieveMultimediaMessageV6;
- CleanupStack::PushL(tMMMessageV6);
-
- RSat::TRetrieveMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
- RSat::TRetrieveMultimediaMessageV6Pckg(*tMMMessageV6);
- CleanupStack::PushL(tMMMessagePckg);
-
- iSat.NotifyRetrieveMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- RSat::TRetrieveMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TRetrieveMultimediaMessageRspV6;
- CleanupStack::PushL(tMMMessageRspV6);
-
- RSat::TRetrieveMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
- RSat::TRetrieveMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
- CleanupStack::PushL(tMMMessageRspPckgV6);
-
- tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
- tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
- tMMMessageRspV6->SetPCmdNumber(SIMTSY_RET_MM_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ERetrieveMultimediaMsg,*(tMMMessageRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- RSat::TMmsTransferStatusV6 *tMMSTransferStsV6 = new (ELeave) RSat::TMmsTransferStatusV6;
- CleanupStack::PushL(tMMSTransferStsV6);
-
- RSat::TMmsTransferStatusV6Pckg *tMMSTransferStsV6Pckg = new (ELeave)
- RSat::TMmsTransferStatusV6Pckg(*tMMSTransferStsV6);
- CleanupStack::PushL(tMMSTransferStsV6Pckg);
-
- _LIT(KText,"TransferFilePath");
- TBuf<255> trfFileBuf(KText);
- _LIT(KText1,"MMMessageBuf");
- TBuf<255> trfFileMMMsgBuf(KText1);
- _LIT(KText2,"MMMessageIdentifier");
- TBuf<255> trfFileMMMsgId(KText2);
-
- tMMSTransferStsV6->iDeviceId = RSat::KME;
- tMMSTransferStsV6->iMMSTransferFile = trfFileBuf;
- tMMSTransferStsV6->iMultimediaMessageStatus = trfFileMMMsgBuf;
- tMMSTransferStsV6->iMultimediaMessageId = trfFileMMMsgId ;
-
- iSat.MmsTransferStatus(reqStatus,*tMMSTransferStsV6Pckg);
- iSat.CancelAsyncRequest(ESatMmsTransferStatus);
- User::WaitForRequest(reqStatus);
- TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
-
- CleanupStack::PopAndDestroy(8);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8508 - Successful"));
- return KErrNone;
- }
-
-
-CSimSatSubMMPCmdTest::CSimSatSubMMPCmdTest()
- {
- SetTestStepName(_L("SatTestSubMMPCmd"));
- }
-
-TVerdict CSimSatSubMMPCmdTest::doTestStepL()
- {
- INFO_PRINTF1(_L("SUBMIT MULTIMEDIA PCMD TESTING - START"));
-
- CreateConfigFileL(_L("c:\\config4.txt"));
- SetTestNumberL(0);
-
- TInt ret = iPhone.Open(iTelServer,KPhoneName);
- TESTL(ret == KErrNone);
- INFO_PRINTF1(_L("Opened phone object"));
- TESTL(iSat.Open(iPhone)==KErrNone);
- INFO_PRINTF1(_L("Opened Sat object"));
-
- testSAT8509L(); // For testing the TEL-SIMTSY-SAT-8509
- testSAT8510L(); // For testing the TEL-SIMTSY-SAT-8510
- testSAT8511L(); // For testing the TEL-SIMTSY-SAT-8511
- testSAT8512L(); // For testing the TEL-SIMTSY-SAT-8512
- testSAT8513L(); // For testing the TEL-SIMTSY-SAT-8513
- testSAT8514L(); // For testing the TEL-SIMTSY-SAT-8514
- testSAT8515L(); // For testing the TEL-SIMTSY-SAT-8515
-
- iSat.Close();
- iPhone.Close();
- ASSERT(RThread().RequestCount()==0);
-
- INFO_PRINTF1(_L("SUBMIT MULTIMEDIA PCMD TESTING - END"));
-
- return TestStepResult();
-
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8509
- *
- * SYMREQ REQ7330
- *
- * SYMTestCaseDesc UICC issues SUBMIT MULTIMEDIA MESSAGE command to ME successfully.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Client requests notification for SUBMIT MULTIMEDIA MESSAGE
- * using RSat::NotifySubmitMultimediaMsgPCmd () API.
- * (ii) UICC issues SUBMIT MULTIMEDIA MESSAGE command to the ME.
- * (iii) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
- *
- * SYMTestExpectedResults
- * Client is notified of the request.
- * Upon completion of the proactive command details are returned in a packaged version of
- * TSubmitMultimediaMessageV6 in the command parameter.
- * ME responds with KSuccess as the response parameter
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatSubMMPCmdTest::testSAT8509L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8509"));
-
- TRequestStatus reqStatus;
-
- RSat::TSubmitMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TSubmitMultimediaMessageV6;
- CleanupStack::PushL(tMMMessageV6);
-
- RSat::TSubmitMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
- RSat::TSubmitMultimediaMessageV6Pckg(*tMMMessageV6);
- CleanupStack::PushL(tMMMessagePckg);
-
- iSat.NotifySubmitMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(tMMMessageV6->iDestination == SIMTSY_DEVICEID_ME);
- TESTL(tMMMessageV6->iAlphaId.iStatus == SIMTSY_ALPHAID_STATUS);
- TESTL(tMMMessageV6->iAlphaId.iAlphaId.Compare(SIMTSY_ALPHAID_BUF) == 0);
- TESTL(tMMMessageV6->iIconId.iQualifier == SIMTSY_ICONID_QLFR);
- TESTL(tMMMessageV6->iIconId.iIdentifier == SIMTSY_ICONID_ID);
- TESTL(tMMMessageV6->iSubmissionFile.Compare(SIMTSY_SUBMISSION_FILES) ==0);
- TESTL(tMMMessageV6->iMultimediaMessageId.Compare(SIMTSY_MMMSG_ID_DATA) ==0);
- TESTL(tMMMessageV6->iTextAttribute.iStatus == SIMTSY_TXT_ATTR_STATUS);
- TESTL(tMMMessageV6->iTextAttribute.iTextAttributeData.Compare(SIMTSY_TXT_ATTR_DATA) ==0);
-
- RSat::TSubmitMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TSubmitMultimediaMessageRspV6;
- CleanupStack::PushL(tMMMessageRspV6);
-
- RSat::TSubmitMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
- RSat::TSubmitMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
- CleanupStack::PushL(tMMMessageRspPckgV6);
-
- tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
- tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
- tMMMessageRspV6->SetPCmdNumber(SIMTSY_SUB_MM_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ESubmitMultimediaMsg,*(tMMMessageRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8509 - Successful"));
- return KErrNone;
-
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8510
- *
- * SYMREQ REQ7330
- *
- * SYMTestCaseDesc Submit Multimedia command rejected by the client as the ME is busy on a MMS transaction
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Client requests notification for SUBMIT MULTIMEDIA MESSAGE using
- * NotifySubmitMultimediaMsgPCmd () API.
- * (ii) UICC issues SUBMIT MULTIMEDIA MESSAGE command to the ME.
- * (iii) ME is unable to execute the command as its busy processing some other MMS transaction.
- * (iv) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
- *
- * SYMTestExpectedResults
- * Client is notified of the request.
- * Upon completion of the proactive command details are returned in a packaged version of
- * TSubmitMultimediaMessageV6 in the command parameter.
- * ME responds with KMMSTemporaryProblem in the Terminal response as the TPCmdResult
- * with the additional information ‘KNoSpecificMeProblem’.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatSubMMPCmdTest::testSAT8510L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8510"));
-
- TRequestStatus reqStatus;
-
- RSat::TSubmitMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TSubmitMultimediaMessageV6;
- CleanupStack::PushL(tMMMessageV6);
-
- RSat::TSubmitMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
- RSat::TSubmitMultimediaMessageV6Pckg(*tMMMessageV6);
- CleanupStack::PushL(tMMMessagePckg);
-
- iSat.NotifySubmitMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(tMMMessageV6->iDestination == SIMTSY_DEVICEID_ME);
- TESTL(tMMMessageV6->iAlphaId.iStatus == SIMTSY_ALPHAID_STATUS);
- TESTL(tMMMessageV6->iAlphaId.iAlphaId.Compare(SIMTSY_ALPHAID_BUF) == 0);
- TESTL(tMMMessageV6->iIconId.iQualifier == SIMTSY_ICONID_QLFR);
- TESTL(tMMMessageV6->iIconId.iIdentifier == SIMTSY_ICONID_ID);
- TESTL(tMMMessageV6->iSubmissionFile.Compare(SIMTSY_SUBMISSION_FILES) ==0);
- TESTL(tMMMessageV6->iMultimediaMessageId.Compare(SIMTSY_MMMSG_ID_DATA) ==0);
- TESTL(tMMMessageV6->iTextAttribute.iStatus == SIMTSY_TXT_ATTR_STATUS);
- TESTL(tMMMessageV6->iTextAttribute.iTextAttributeData.Compare(SIMTSY_TXT_ATTR_DATA) ==0);
-
- RSat::TSubmitMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TSubmitMultimediaMessageRspV6;
- CleanupStack::PushL(tMMMessageRspV6);
-
- RSat::TSubmitMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
- RSat::TSubmitMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
- CleanupStack::PushL(tMMMessageRspPckgV6);
-
- _LIT(KText,"KNoSpecificMeProblem");
- TBuf<254> buf(KText);
- tMMMessageRspV6->iGeneralResult = RSat::KMMSTemporaryProblem;
- tMMMessageRspV6->iInfoType = RSat::KMeProblem;
- tMMMessageRspV6->iAdditionalInfo = buf;
- tMMMessageRspV6->SetPCmdNumber(SIMTSY_SUB_MM_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ESubmitMultimediaMsg,*(tMMMessageRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8510 - Successful"));
- return KErrNone;
-
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8511
- *
- * SYMREQ REQ7330
- *
- * SYMTestCaseDesc Submit Multimedia command accepted on the second attempt
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Client requests notification for SUBMIT MULTIMEDIA MESSAGE using
- * NotifySubmitMultimediaMsgPCmd () API.
- * (ii) UICC issues SUBMIT MULTIMEDIA MESSAGE Command to the ME.
- * (iii) ME is unable to execute the command as its busy processing some other MMS transaction.
- * (iv) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
- * (v) Client requests notification for SUBMIT MULTIMEDIA MESSAGE using
- * NotifySubmitMultimediaMsgPCmd () API again.
- * (vi) UICC makes another attempt by resending the proactive command.
- * This time ME responds to execute the command successfully.
- * (vii) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
- *
- * SYMTestExpectedResults
- * Client is notified of the request.
- * Upon completion of the proactive command details are returned in a packaged
- * version of TSubmitMultimediaMessageV6 in the command parameter.
- * ME responds with KMMSTemporaryProblem in the Terminal response as the TPCmdResult
- * with the additional information ‘KNoSpecificMeProblem’.
- * For the second attempt, ME responds with KSuccess in the response parameter
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatSubMMPCmdTest::testSAT8511L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8511"));
-
- TRequestStatus reqStatus;
-
- RSat::TSubmitMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TSubmitMultimediaMessageV6;
- CleanupStack::PushL(tMMMessageV6);
-
- RSat::TSubmitMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
- RSat::TSubmitMultimediaMessageV6Pckg(*tMMMessageV6);
- CleanupStack::PushL(tMMMessagePckg);
-
- iSat.NotifySubmitMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- RSat::TSubmitMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TSubmitMultimediaMessageRspV6;
- CleanupStack::PushL(tMMMessageRspV6);
-
- RSat::TSubmitMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
- RSat::TSubmitMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
- CleanupStack::PushL(tMMMessageRspPckgV6);
-
- _LIT(KText,"KNoSpecificMeProblem");
- TBuf<254> buf(KText);
- tMMMessageRspV6->iGeneralResult = RSat::KMMSTemporaryProblem;
- tMMMessageRspV6->iInfoType = RSat::KMeProblem;
- tMMMessageRspV6->iAdditionalInfo = buf;
- tMMMessageRspV6->SetPCmdNumber(SIMTSY_SUB_MM_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ESubmitMultimediaMsg,*(tMMMessageRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- iSat.NotifySubmitMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
- tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
- tMMMessageRspV6->SetPCmdNumber(SIMTSY_SUB_MM_PCMD_NUMBER);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8511 - Successful"));
- return KErrNone;
-
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8512
- *
- * SYMREQ REQ7330
- *
- * SYMTestCaseDesc Client rejects Submit Multimedia command as the ME is unable to process the MMS transaction
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Client requests notification for SUBMIT MULTIMEDIA MESSAGE using
- * NotifySubmitMultimediaMsgPCmd () API.
- * (ii) UICC issues Submit Command to the ME.
- * (iii) ME is unable to process the MMS transaction.
- * (iv) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
- *
- * SYMTestExpectedResults
- * Client is notified of the request.
- * Upon completion of the proactive command details are returned in a packaged version of
- * TSubmitMultimediaMessageV6 in the command parameter.
- * ME responds with KMMSError in the Terminal response as the TPCmdResult with the additional
- * information ‘KNoSpecificMeProblem’.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatSubMMPCmdTest::testSAT8512L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8512"));
-
- TRequestStatus reqStatus;
-
- RSat::TSubmitMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TSubmitMultimediaMessageV6;
- CleanupStack::PushL(tMMMessageV6);
-
- RSat::TSubmitMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
- RSat::TSubmitMultimediaMessageV6Pckg(*tMMMessageV6);
- CleanupStack::PushL(tMMMessagePckg);
-
- iSat.NotifySubmitMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- RSat::TSubmitMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TSubmitMultimediaMessageRspV6;
- CleanupStack::PushL(tMMMessageRspV6);
-
- RSat::TSubmitMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
- RSat::TSubmitMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
- CleanupStack::PushL(tMMMessageRspPckgV6);
-
- _LIT(KText,"KNoSpecificMeProblem");
- TBuf<254> buf(KText);
- tMMMessageRspV6->iGeneralResult = RSat::KMMSError;
- tMMMessageRspV6->iInfoType = RSat::KMeProblem;
- tMMMessageRspV6->iAdditionalInfo = buf;
- tMMMessageRspV6->SetPCmdNumber(SIMTSY_SUB_MM_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ESubmitMultimediaMsg,*(tMMMessageRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8512 - Successful"));
- return KErrNone;
-
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8513
- *
- * SYMREQ REQ7330
- *
- * SYMTestCaseDesc Cancel notification of Submit Multimedia request
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Register to be notified of SUBMIT MULTIMEDIA MESSAGE command using
- * NotifySubmitMultimediaMsgPCmd () API.
- * (ii) Cancel the request by calling CancelAsyncRequest(ESatNotifySubmitMultimediaMessagePCmd)
- *
- * SYMTestExpectedResults
- * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
- * SYMTestType CIT
- */
-TInt CSimSatSubMMPCmdTest::testSAT8513L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8513"));
-
- TRequestStatus reqStatus;
-
- RSat::TSubmitMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TSubmitMultimediaMessageV6;
- CleanupStack::PushL(tMMMessageV6);
-
- RSat::TSubmitMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
- RSat::TSubmitMultimediaMessageV6Pckg(*tMMMessageV6);
- CleanupStack::PushL(tMMMessagePckg);
-
- iSat.NotifySubmitMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- iSat.CancelAsyncRequest(ESatNotifySubmitMultimediaMsgPCmd);
- User::WaitForRequest(reqStatus);
- TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
-
- CleanupStack::PopAndDestroy(2);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8513 - Successful"));
- return KErrNone;
-
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8514
- *
- * SYMREQ REQ7330 and REQ7334
- *
- * SYMTestCaseDesc To verify the event of the envelope command for MMS TRANSFER STATUS envelope command
- * after the SUBMIT MULTIMEDIA MESSAGE proactive command.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference.
- * (ii) Call the API RSat::ClientSatProfileIndication using the TSatProfileV6 with TSatProfileByte22 \
- * set to KCapsSubmitMultimediaMessage and TSatProfileByte25 set to KCapsMmsTransferStatusEvent.
- * (iii) Client requests notification for RETRIEVE MULTIMEDIA MESSAGE using
- * NotifySubmtiMultimediaMsgPCmd () API.
- * (iv) UICC issues SUBMIT MULTIMEDIA MESSAGE Command to the ME.
- * (v) ME is able to process the MMS transaction and the response is sent using
- * RSat::TerminalRsp () for NotifySubmitMultimediaMsgPCmd.
- * (vi) Call the API RSat::MMSTransferStatus with the parameter as object of TMMTransferStatusV6 to
- * store the MM1_retrieve.RES message.
- *
- * SYMTestExpectedResults
- * GetMeSideSatProfile shall return TSatProfileV6 with TSatProfileByte22 set to KCapsSubmitMultimediaMessage
- * and TSatProfileByte25 set to KCapsMmsTransferStatusEvent.
- * ClientSatProfileIndication shall return KErrNone.
- * The envelope command is passed on from ME to UICC successfully.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatSubMMPCmdTest::testSAT8514L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8514"));
-
- TRequestStatus reqStatus;
-
- RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
- CleanupStack::PushL(profileV6);
-
- RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
- CleanupStack::PushL(profileV6Pckg);
-
- iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(profileV6->iSatProfileByte22 & (RSat::KCapsSubmitMultimediaMessage));
- TESTL(profileV6->iSatProfileByte25 & (RSat::KCapsMmsTransferStatusEvent));
-
- TRequestStatus trr = KErrNone;
- trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
- TESTL(trr == KErrNone);
-
- RSat::TSubmitMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TSubmitMultimediaMessageV6;
- CleanupStack::PushL(tMMMessageV6);
-
- RSat::TSubmitMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
- RSat::TSubmitMultimediaMessageV6Pckg(*tMMMessageV6);
- CleanupStack::PushL(tMMMessagePckg);
-
- iSat.NotifySubmitMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- RSat::TSubmitMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TSubmitMultimediaMessageRspV6;
- CleanupStack::PushL(tMMMessageRspV6);
-
- RSat::TSubmitMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
- RSat::TSubmitMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
- CleanupStack::PushL(tMMMessageRspPckgV6);
-
- tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
- tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
- tMMMessageRspV6->SetPCmdNumber(SIMTSY_SUB_MM_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ESubmitMultimediaMsg,*(tMMMessageRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- RSat::TMmsTransferStatusV6 *tMMSTransferStsV6 = new (ELeave) RSat::TMmsTransferStatusV6;
- CleanupStack::PushL(tMMSTransferStsV6);
-
- RSat::TMmsTransferStatusV6Pckg *tMMSTransferStsV6Pckg = new (ELeave)
- RSat::TMmsTransferStatusV6Pckg(*tMMSTransferStsV6);
- CleanupStack::PushL(tMMSTransferStsV6Pckg);
-
- _LIT(KText,"TransferFilePath");
- TBuf<255> trfFileBuf(KText);
- _LIT(KText1,"MMMessageBuf");
- TBuf<255> trfFileMMMsgBuf(KText1);
- _LIT(KText2,"MMMessageIdentifier");
- TBuf<255> trfFileMMMsgId(KText2);
-
- tMMSTransferStsV6->iDeviceId = RSat::KME;
- tMMSTransferStsV6->iMMSTransferFile = trfFileBuf;
- tMMSTransferStsV6->iMultimediaMessageStatus = trfFileMMMsgBuf;
- tMMSTransferStsV6->iMultimediaMessageId = trfFileMMMsgId ;
-
- iSat.MmsTransferStatus(reqStatus,*tMMSTransferStsV6Pckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- CleanupStack::PopAndDestroy(8);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8514 - Successful"));
- return KErrNone;
-
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8515
- *
- * SYMREQ REQ7330 and REQ7334
- *
- * SYMTestCaseDesc To verify the event of cancellation of the envelope command for MMS TRANSFER STATUS
- * envelope command after the SUBMIT MULTIMEDIA MESSAGE Proactive command is placed.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Client requests notification for SUBMIT MULTIMEDIA MESSAGE using
- * NotifySubmitMultimediaMsgPCmd () API.
- * (ii) UICC issues SUBMIT MULTIMEDIA MESSAGE Command to the ME.
- * (iii) ME is able to process the MMS transaction and the response is sent using
- * RSat::TerminalRsp () for NotifySubmitMultimediaMsgPCmd.
- * (iv) Call the API RSat::MMSTransferStatus with the parameter as object of TMMTransferStatusV6.
- * (v) Cancel the request for the envelope command API placed using
- * RSat::CancelAsyncRequest(ESatMMTransferStatus).
- *
- * SYMTestExpectedResults
- * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
- *
- * SYMTestType CIT
- */
-
-
-TInt CSimSatSubMMPCmdTest::testSAT8515L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8515"));
-
- TRequestStatus reqStatus;
-
- RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
- CleanupStack::PushL(profileV6);
-
- RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
- CleanupStack::PushL(profileV6Pckg);
-
- iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(profileV6->iSatProfileByte22 & (RSat::KCapsSubmitMultimediaMessage));
- TESTL(profileV6->iSatProfileByte25 & (RSat::KCapsMmsTransferStatusEvent));
-
- TRequestStatus trr = KErrNone;
- trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
- TESTL(trr == KErrNone);
-
- RSat::TSubmitMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TSubmitMultimediaMessageV6;
- CleanupStack::PushL(tMMMessageV6);
-
- RSat::TSubmitMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
- RSat::TSubmitMultimediaMessageV6Pckg(*tMMMessageV6);
- CleanupStack::PushL(tMMMessagePckg);
-
- iSat.NotifySubmitMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- RSat::TSubmitMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TSubmitMultimediaMessageRspV6;
- CleanupStack::PushL(tMMMessageRspV6);
-
- RSat::TSubmitMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
- RSat::TSubmitMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
- CleanupStack::PushL(tMMMessageRspPckgV6);
-
- tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
- tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
- tMMMessageRspV6->SetPCmdNumber(SIMTSY_SUB_MM_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ESubmitMultimediaMsg,*(tMMMessageRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- RSat::TMmsTransferStatusV6 *tMMSTransferStsV6 = new (ELeave) RSat::TMmsTransferStatusV6;
- CleanupStack::PushL(tMMSTransferStsV6);
-
- RSat::TMmsTransferStatusV6Pckg *tMMSTransferStsV6Pckg = new (ELeave)
- RSat::TMmsTransferStatusV6Pckg(*tMMSTransferStsV6);
- CleanupStack::PushL(tMMSTransferStsV6Pckg);
-
- _LIT(KText,"TransferFilePath");
- TBuf<255> trfFileBuf(KText);
- _LIT(KText1,"MMMessageBuf");
- TBuf<255> trfFileMMMsgBuf(KText1);
- _LIT(KText2,"MMMessageIdentifier");
- TBuf<255> trfFileMMMsgId(KText2);
-
- tMMSTransferStsV6->iDeviceId = RSat::KME;
- tMMSTransferStsV6->iMMSTransferFile = trfFileBuf;
- tMMSTransferStsV6->iMultimediaMessageStatus = trfFileMMMsgBuf;
- tMMSTransferStsV6->iMultimediaMessageId = trfFileMMMsgId ;
-
- iSat.MmsTransferStatus(reqStatus,*tMMSTransferStsV6Pckg);
- iSat.CancelAsyncRequest(ESatMmsTransferStatus);
- User::WaitForRequest(reqStatus);
-
- TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
-
- CleanupStack::PopAndDestroy(8);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8515 - Successful"));
- return KErrNone;
- }
-
-
-CSimSatDispMMPCmdTest::CSimSatDispMMPCmdTest()
- {
- SetTestStepName(_L("SatTestDispMMPCmd"));
- }
-
-
-TVerdict CSimSatDispMMPCmdTest::doTestStepL()
- {
- INFO_PRINTF1(_L("DISPLAY MULTIMEDIA PCMD TESTING - START"));
-
- CreateConfigFileL(_L("c:\\config4.txt"));
- SetTestNumberL(0);
-
- TInt ret = iPhone.Open(iTelServer,KPhoneName);
- TESTL(ret == KErrNone);
- INFO_PRINTF1(_L("Opened phone object"));
- TESTL(iSat.Open(iPhone)==KErrNone);
- INFO_PRINTF1(_L("Opened Sat object"));
-
- testSAT8516L(); // For testing the TEL-SIMTSY-SAT-8516
- testSAT8517L(); // For testing the TEL-SIMTSY-SAT-8517
- testSAT8518L(); // For testing the TEL-SIMTSY-SAT-8518
- testSAT8519L(); // For testing the TEL-SIMTSY-SAT-8519
- testSAT8520L(); // For testing the TEL-SIMTSY-SAT-8520
- testSAT8521L(); // For testing the TEL-SIMTSY-SAT-8521
- testSAT8522L(); // For testing the TEL-SIMTSY-SAT-8522
- testSAT8523L(); // For testing the TEL-SIMTSY-SAT-8523
- testSAT8524L(); // For testing the TEL-SIMTSY-SAT-8524
- testSAT8525L(); // For testing the TEL-SIMTSY-SAT-8525
- testSAT8526L(); // For testing the TEL-SIMTSY-SAT-8526
-
- iSat.Close();
- iPhone.Close();
- ASSERT(RThread().RequestCount()==0);
-
- INFO_PRINTF1(_L("DISPLAY MULTIMEDIA PCMD TESTING - END"));
-
- return TestStepResult();
-
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8516
- *
- * SYMREQ REQ7331
- *
- * SYMTestCaseDesc UICC issues normal priority DISPLAY MULTIMEDIA MESSAGE command to ME
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Client requests notification for DISPLAY MULTIMEDIA MESSAGE using
- * RSat::NotifyDisplayMultimediaMsgPCmd () API.
- * (ii) UICC issues normal priority DISPLAY MULTIMEDIA MESSAGE command to the
- * ME requesting for “No Immediate Response” from client.
- * (iii) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
- *
- * SYMTestExpectedResults
- * Client is notified of the request.
- * Upon completion of the proactive command details are returned in a packaged version of
- * TDisplayMultimediaMessageV6 with priority as ENormalPriority and ImmediateRsp as ENoImmediateRsp
- * and TClearScreenTrigger as EUserClear.
- * ME responds with KSuccess in the Terminal response.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatDispMMPCmdTest::testSAT8516L()
- {
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8516"));
-
- TRequestStatus reqStatus;
-
- RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
- CleanupStack::PushL(tMMMessageV6);
-
- RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
- RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
- CleanupStack::PushL(tMMMessagePckg);
-
- iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(tMMMessageV6->iDestination == RSat::KME);
- TESTL(tMMMessageV6->iDisplayPriority == RSat::ENormalPriority);
- TESTL(tMMMessageV6->iClearScreenTrigger == RSat::EUserClear);
- TESTL(tMMMessageV6->iSubmissionFile.Compare(SIMTSY_SUBMISSION_FILES)==0);
- TESTL(tMMMessageV6->iMultimediaMessageId.Compare(SIMTSY_MMMSG_ID_DATA_2)==0);
- TESTL(tMMMessageV6->iImmediateRsp == RSat::ENoImmediateRsp);
-
- RSat::TDisplayMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TDisplayMultimediaMessageRspV6;
- CleanupStack::PushL(tMMMessageRspV6);
-
- RSat::TDisplayMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
- RSat::TDisplayMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
- CleanupStack::PushL(tMMMessageRspPckgV6);
-
- tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
- tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
- tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8516 - Successful"));
- return KErrNone;
-
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8517
- *
- * SYMREQ REQ7331
- *
- * SYMTestCaseDesc UICC issues high priority DISPLAY MULTIMEDIA MESSAGE command to ME
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Client requests notification for DISPLAY MULTIMEDIA MESSAGE using
- * RSat::NotifyDisplayMultimediaMsgPCmd () API.
- * (ii) UICC issues high priority DISPLAY MULTIMEDIA MESSAGE command to the ME requesting
- * for “Immediate Response” and “clearing the display after some delay”.
- * (iii) Client responds indicating that the proactive command was successful using RSat::TerminalRsp()
- *
- * SYMTestExpectedResults
- * Client is notified of the request.
- * Upon completion of the proactive command details are returned in a packaged version of
- * TDisplayMultimediaMessageV6 with priority as EHighPriority, ImmediateRsp as EImmediateRsp and
- * TClearScreenTrigger as EClearAfterDelay.
- * Client responds with KSuccess in the Terminal response
- *
- * SYMTestType CIT
- */
-
-
-TInt CSimSatDispMMPCmdTest::testSAT8517L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8517"));
-
- TRequestStatus reqStatus;
-
- RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
- CleanupStack::PushL(tMMMessageV6);
-
- RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
- RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
- CleanupStack::PushL(tMMMessagePckg);
-
- iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(tMMMessageV6->iDestination == RSat::KME);
- TESTL(tMMMessageV6->iDisplayPriority == RSat::EHighPriority);
- TESTL(tMMMessageV6->iClearScreenTrigger == RSat::EClearAfterDelay);
- TESTL(tMMMessageV6->iSubmissionFile.Compare(SIMTSY_SUBMISSION_FILES)==0);
- TESTL(tMMMessageV6->iMultimediaMessageId.Compare(SIMTSY_MMMSG_ID_DATA_2)==0);
- TESTL(tMMMessageV6->iImmediateRsp == RSat::EImmediateRsp);
-
- RSat::TDisplayMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TDisplayMultimediaMessageRspV6;
- CleanupStack::PushL(tMMMessageRspV6);
-
- RSat::TDisplayMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
- RSat::TDisplayMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
- CleanupStack::PushL(tMMMessageRspPckgV6);
-
- tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
- tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
- tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8517 - Successful"));
- return KErrNone;
-
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8518
- *
- * SYMREQ REQ7331
- *
- * SYMTestCaseDesc UICC issues DISPLAY MULTIMEDIA MESSAGE command to ME and the user has indicated to
- * end the proactive UICC application session.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Client requests notification for DISPLAY MULTIMEDIA MESSAGE using
- * RSat::NotifyDisplayMultimediaMsgPCmd () API.
- * (ii) UICC issues Display MultiMedia Message command to the ME requesting for
- * “Immediate Response” from the client.
- * (iii) Client responds indicating that the proactive command was successful using RSat::TerminalRsp()
- *
- * SYMTestExpectedResults
- * Client is notified of the request.
- * ME responds with the Terminal Response with TPcmdresult as KPSessionTerminatedByUser
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatDispMMPCmdTest::testSAT8518L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8518"));
-
- TRequestStatus reqStatus;
-
- RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
- CleanupStack::PushL(tMMMessageV6);
-
- RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
- RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
- CleanupStack::PushL(tMMMessagePckg);
-
- iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- RSat::TDisplayMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TDisplayMultimediaMessageRspV6;
- CleanupStack::PushL(tMMMessageRspV6);
-
- RSat::TDisplayMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
- RSat::TDisplayMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
- CleanupStack::PushL(tMMMessageRspPckgV6);
-
- tMMMessageRspV6->iGeneralResult = RSat::KPSessionTerminatedByUser;
- tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
- tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8518 - Successful"));
- return KErrNone;
-
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8519
- *
- * SYMREQ REQ7331
- *
- * SYMTestCaseDesc UICC issues DISPLAY MULTIMEDIA MESSAGE command to ME and the user has indicated to go
- * backward in the proactive UICC application session.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Client requests notification for DISPLAY MULTIMEDIA MESSAGE using
- * RSat::NotifyDisplayMultimediaMsgPCmd () API.
- * (ii) Client responds indicating that the proactive command was successful using RSat::TerminalRsp()
- *
- * SYMTestExpectedResults
- * Client is notified of the request.
- * ME responds with the Terminal Response with TPcmdresult as KBackwardModeRequestedByUser.
- *
- * SYMTestType CIT
- */
-TInt CSimSatDispMMPCmdTest::testSAT8519L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8519"));
-
- TRequestStatus reqStatus;
-
- RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
- CleanupStack::PushL(tMMMessageV6);
-
- RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
- RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
- CleanupStack::PushL(tMMMessagePckg);
-
- iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- RSat::TDisplayMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TDisplayMultimediaMessageRspV6;
- CleanupStack::PushL(tMMMessageRspV6);
-
- RSat::TDisplayMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
- RSat::TDisplayMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
- CleanupStack::PushL(tMMMessageRspPckgV6);
-
- tMMMessageRspV6->iGeneralResult = RSat::KBackwardModeRequestedByUser;
- tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
- tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8519 - Successful"));
- return KErrNone;
-
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8520
- *
- * SYMREQ REQ7331
- *
- * SYMTestCaseDesc UICC issues DISPLAY MULTIMEDIA MESSAGE command to ME with the indication of
- * clearing the screen with user action and there is no response from the user.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Client requests notification for DISPLAY MULTIMEDIA MESSAGE using
- * RSat::NotifyDisplayMultimediaMsgPCmd () API.
- * (ii) Client responds indicating that the proactive command using RSat::TerminalRsp()
- *
- * SYMTestExpectedResults
- * Client is notified of the request.
- * ME responds with the Terminal Response with TPcmdresult as KNoResponseFromUser
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatDispMMPCmdTest::testSAT8520L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8520"));
-
- TRequestStatus reqStatus;
-
- RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
- CleanupStack::PushL(tMMMessageV6);
-
- RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
- RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
- CleanupStack::PushL(tMMMessagePckg);
-
- iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- RSat::TDisplayMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TDisplayMultimediaMessageRspV6;
- CleanupStack::PushL(tMMMessageRspV6);
-
- RSat::TDisplayMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
- RSat::TDisplayMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
- CleanupStack::PushL(tMMMessageRspPckgV6);
-
- tMMMessageRspV6->iGeneralResult = RSat::KNoResponseFromUser;
- tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
- tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8520 - Successful"));
- return KErrNone;
-
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8521
- *
- * SYMREQ REQ7331
- *
- * SYMTestCaseDesc UICC issues DISPLAY MULTIMEDIA MESSAGE command to ME and ME is not able to process the command.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Client requests notification for DISPLAY MULTIMEDIA MESSAGE using
- * RSat::NotifyDisplayMultimediaMsgPCmd () API.
- * (ii) Client responds indicating that the proactive command using RSat::TerminalRsp()
- *
- * SYMTestExpectedResults
- * Client is notified of the request.
- * Client responds with KMMSError in the Terminal response with the additional information
- * as KNoSpecificMeProblem.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatDispMMPCmdTest::testSAT8521L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8521"));
-
- TRequestStatus reqStatus;
-
- RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
- CleanupStack::PushL(tMMMessageV6);
-
- RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
- RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
- CleanupStack::PushL(tMMMessagePckg);
-
- iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- RSat::TDisplayMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TDisplayMultimediaMessageRspV6;
- CleanupStack::PushL(tMMMessageRspV6);
-
- RSat::TDisplayMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
- RSat::TDisplayMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
- CleanupStack::PushL(tMMMessageRspPckgV6);
-
- _LIT(KText,"KNoSpecificMeProblem");
- TBuf<254> buf(KText);
- tMMMessageRspV6->iGeneralResult = RSat::KMMSError;
- tMMMessageRspV6->iInfoType = RSat::KMeProblem;
- tMMMessageRspV6->iAdditionalInfo = buf;
- tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8521 - Successful"));
- return KErrNone;
-
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8522
- *
- * SYMREQ REQ7331
- *
- * SYMTestCaseDesc UICC issues normal priority DISPLAY MULTIMEDIA MESSAGE to ME while a normal priority
- * DISPLAY MULTIMEDIA MESSAGE is being displayed
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Client requests notification for DISPLAY MULTIMEDIA MESSAGE using
- * RSat::NotifyDisplayMultimediaMsgPCmd () API.
- * (ii) Client responds indicating that the proactive command using RSat::TerminalRsp()
- *
- * SYMTestExpectedResults
- * Client is notified of the request.
- * Client responds with KMeUnableToProcessCmd in the Terminal response with the
- * additional information as KScreenBusy.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatDispMMPCmdTest::testSAT8522L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8522"));
-
- TRequestStatus reqStatus;
-
- RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
- CleanupStack::PushL(tMMMessageV6);
-
- RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
- RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
- CleanupStack::PushL(tMMMessagePckg);
-
- iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(tMMMessageV6->iDisplayPriority == RSat::ENormalPriority);
-
- RSat::TDisplayMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TDisplayMultimediaMessageRspV6;
- CleanupStack::PushL(tMMMessageRspV6);
-
- RSat::TDisplayMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
- RSat::TDisplayMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
- CleanupStack::PushL(tMMMessageRspPckgV6);
-
- tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
- tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
- tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- // Attempt to send second command when the first message is being displayed
- iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(tMMMessageV6->iDisplayPriority == RSat::ENormalPriority);
-
- _LIT(KText,"KScreenBusy");
- TBuf<254> buf(KText);
- tMMMessageRspV6->iGeneralResult = RSat::KMeUnableToProcessCmd;
- tMMMessageRspV6->iInfoType = RSat::KMeProblem;
- tMMMessageRspV6->iAdditionalInfo = buf;
- tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8522 - Successful"));
- return KErrNone;
-
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8523
- *
- * SYMREQ REQ7331
- *
- * SYMTestCaseDesc UICC issues High priority DISPLAY MULTIMEDIA MESSAGE to ME while a normal priority
- * DISPLAY MULTIMEDIA MESSAGE is being displayed
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Client requests notification for DISPLAY MULTIMEDIA MESSAGE using
- * RSat::NotifyDisplayMultimediaMsgPCmd () API.
- * (ii) Client responds indicating that the proactive command using RSat::TerminalRsp()
- *
- * SYMTestExpectedResults
- * Client is notified of the request.
- * Client responds with KSuccess in the Terminal response.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatDispMMPCmdTest::testSAT8523L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8523"));
-
- TRequestStatus reqStatus;
-
- RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
- CleanupStack::PushL(tMMMessageV6);
-
- RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
- RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
- CleanupStack::PushL(tMMMessagePckg);
-
- iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(tMMMessageV6->iDisplayPriority == RSat::ENormalPriority);
-
- RSat::TDisplayMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TDisplayMultimediaMessageRspV6;
- CleanupStack::PushL(tMMMessageRspV6);
-
- RSat::TDisplayMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
- RSat::TDisplayMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
- CleanupStack::PushL(tMMMessageRspPckgV6);
-
- tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
- tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
- tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- // Attempt to send second command when the first message is being displayed
- iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(tMMMessageV6->iDisplayPriority == RSat::EHighPriority);
-
- tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
- tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
- tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8523 - Successful"));
- return KErrNone;
-
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8524
- *
- * SYMREQ REQ7331
- *
- * SYMTestCaseDesc UICC issues Normal priority DISPLAY MULTIMEDIA MESSAGE to ME while a High priority
- * DISPLAY MULTIMEDIA MESSAGE is being displayed
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Client requests notification for DISPLAY MULTIMEDIA MESSAGE using
- * RSat::NotifyDisplayMultimediaMsgPCmd () API.
- * (ii) Client responds indicating that the proactive command using RSat::TerminalRsp()
- *
- * SYMTestExpectedResults
- * Client is notified of the request.
- * Client responds with KMeUnableToProcessCmd in the Terminal response with the
- * additional information as KScreenBusy.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatDispMMPCmdTest::testSAT8524L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8524"));
-
- TRequestStatus reqStatus;
-
- RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
- CleanupStack::PushL(tMMMessageV6);
-
- RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
- RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
- CleanupStack::PushL(tMMMessagePckg);
-
- iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(tMMMessageV6->iDisplayPriority == RSat::EHighPriority);
-
- RSat::TDisplayMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TDisplayMultimediaMessageRspV6;
- CleanupStack::PushL(tMMMessageRspV6);
-
- RSat::TDisplayMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
- RSat::TDisplayMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
- CleanupStack::PushL(tMMMessageRspPckgV6);
-
- tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
- tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
- tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- // Attempt to send second command when the first message is being displayed
- iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(tMMMessageV6->iDisplayPriority == RSat::ENormalPriority);
-
- _LIT(KText,"KScreenBusy");
- TBuf<254> buf(KText);
- tMMMessageRspV6->iGeneralResult = RSat::KMeUnableToProcessCmd;
- tMMMessageRspV6->iInfoType = RSat::KMeProblem;
- tMMMessageRspV6->iAdditionalInfo = buf;
- tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8524 - Successful"));
- return KErrNone;
-
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8525
- *
- * SYMREQ REQ7331
- *
- * SYMTestCaseDesc UICC issues High priority DISPLAY MULTIMEDIA MESSAGE to ME while a High priority
- * DISPLAY MULTIMEDIA MESSAGE is being displayed
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Client requests notification for DISPLAY MULTIMEDIA MESSAGE using
- * RSat::NotifyDisplayMultimediaMsgPCmd () API.
- * (ii) Client responds indicating that the proactive command using RSat::TerminalRsp()
- *
- * SYMTestExpectedResults
- * Client is notified of the request.
- * Client responds with KMeUnableToProcessCmd in the Terminal response with the
- * additional information as KScreenBusy.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatDispMMPCmdTest::testSAT8525L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8525"));
-
- TRequestStatus reqStatus;
-
- RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
- CleanupStack::PushL(tMMMessageV6);
-
- RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
- RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
- CleanupStack::PushL(tMMMessagePckg);
-
- iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(tMMMessageV6->iDisplayPriority == RSat::EHighPriority);
-
- RSat::TDisplayMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TDisplayMultimediaMessageRspV6;
- CleanupStack::PushL(tMMMessageRspV6);
-
- RSat::TDisplayMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
- RSat::TDisplayMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
- CleanupStack::PushL(tMMMessageRspPckgV6);
-
- tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
- tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
- tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- // Attempt to send second command when the first message is being displayed
- iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(tMMMessageV6->iDisplayPriority == RSat::EHighPriority);
-
- _LIT(KText,"KScreenBusy");
- TBuf<254> buf(KText);
- tMMMessageRspV6->iGeneralResult = RSat::KMeUnableToProcessCmd;
- tMMMessageRspV6->iInfoType = RSat::KMeProblem;
- tMMMessageRspV6->iAdditionalInfo = buf;
- tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8525 - Successful"));
- return KErrNone;
-
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8526
- *
- * SYMREQ REQ7331
- *
- * SYMTestCaseDesc Cancel notification of DISPLAY MULTIMEDIA MESSAGE request
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Register to be notified of DISPLAY MULTIMEDIA MESSAGE command using
- * RSat::NotifyDisplayMultimediaMsgPCmd () API.
- * (ii) Cancel the request by calling CancelAsyncRequest (ESatNotifyDisplayMultimediaMessagePCmd)
- *
- * SYMTestExpectedResults
- * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
- * SYMTestType CIT
- */
-
-TInt CSimSatDispMMPCmdTest::testSAT8526L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8526"));
-
- TRequestStatus reqStatus;
-
- RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
- CleanupStack::PushL(tMMMessageV6);
-
- RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
- RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
- CleanupStack::PushL(tMMMessagePckg);
-
- iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- iSat.CancelAsyncRequest(ESatNotifyDisplayMultimediaMsgPCmd);
- User::WaitForRequest(reqStatus);
-
- TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
-
- CleanupStack::PopAndDestroy();
- CleanupStack::PopAndDestroy();
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8526 - Successful"));
- return KErrNone;
- }
-
-CSimSatSetFrmsPCmdTest::CSimSatSetFrmsPCmdTest()
- {
- SetTestStepName(_L("SatTestSetFrmsPCmd"));
- }
-
-TVerdict CSimSatSetFrmsPCmdTest::doTestStepL()
- {
- INFO_PRINTF1(_L("SET FRAMES PCMD TESTING - START"));
- CreateConfigFileL(_L("c:\\config4.txt"));
- SetTestNumberL(0);
-
- TInt ret = iPhone.Open(iTelServer,KPhoneName);
- TESTL(ret == KErrNone);
- INFO_PRINTF1(_L("Opened phone object"));
- TESTL(iSat.Open(iPhone)==KErrNone);
- INFO_PRINTF1(_L("Opened Sat object"));
-
- testSAT8527L(); // For testing the TEL-SIMTSY-SAT-8527
- testSAT8528L(); // For testing the TEL-SIMTSY-SAT-8528
- testSAT8529L(); // For testing the TEL-SIMTSY-SAT-8529
- testSAT8530L(); // For testing the TEL-SIMTSY-SAT-8530
-
-
- iSat.Close();
- iPhone.Close();
- ASSERT(RThread().RequestCount()==0);
-
- INFO_PRINTF1(_L("SET FRAMES PCMD TESTING - END"));
-
- return TestStepResult();
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8527
- *
- * SYMREQ REQ7332
- *
- * SYMTestCaseDesc UICC issues the SET FRAMES proactive command successfully.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Request notification for SET FRAMES with RSat::NotifySetFramesPCmd ().
- * (ii) UICC issues SET FRAMES Command to the ME.
- * (iii) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
- *
- * SYMTestExpectedResults
- * Client is notified of the request.
- * Upon completion of the proactive command details are returned in a packaged version of
- * TSetFramesRspV6 containing the correct Frames Layout parameters.
- * ME responds with KSuccess in the Terminal response.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatSetFrmsPCmdTest::testSAT8527L()
- {
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8527"));
-
- TRequestStatus reqStatus;
-
- RSat::TSetFramesV6 *tSetFramesV6 = new (ELeave) RSat::TSetFramesV6;
- CleanupStack::PushL(tSetFramesV6);
-
- RSat::TSetFramesV6Pckg *tSetFramesV6Pckg = new (ELeave) RSat::TSetFramesV6Pckg(*tSetFramesV6);
- CleanupStack::PushL(tSetFramesV6Pckg);
-
- iSat.NotifySetFramesPCmd(reqStatus,*tSetFramesV6Pckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(tSetFramesV6->iDestination == RSat::KME);
- TESTL(tSetFramesV6->iFrameId == SIMTSY_FRAME_IDENTIFIER);
- TESTL(tSetFramesV6->iFrameLayout.iFramesLayout == RSat::EFrameHorizontal);
- TESTL(tSetFramesV6->iFrameLayout.iFrameLayoutBuf.Compare(SIMTSY_FRAME_LAYOUT_BUFFER) == 0);
- TESTL(tSetFramesV6->iDefaultFrameId == SIMTSY_DEF_FRAME_IDENTIFIER);
- TESTL(tSetFramesV6->iFramesSeparator == RSat::EFrameSeparatorDrawn);
-
- RSat::TSetFramesRspV6 *tSetFramesRspV6 = new (ELeave) RSat::TSetFramesRspV6;
- CleanupStack::PushL(tSetFramesRspV6);
-
- RSat::TSetFramesRspV6Pckg *tSetFramesRspV6Pckg = new (ELeave) RSat::TSetFramesRspV6Pckg(*tSetFramesRspV6);
- CleanupStack::PushL(tSetFramesRspV6Pckg);
-
- tSetFramesRspV6->iGeneralResult = RSat::KSuccess;
- tSetFramesRspV6->iInfoType = RSat::KNoAdditionalInfo;
- tSetFramesRspV6->SetPCmdNumber(SIMTSY_SET_FRMS_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ESetFrames,*(tSetFramesRspV6Pckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8527- Successful"));
-
- return KErrNone;
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8528
- *
- * SYMREQ REQ7332
- *
- * SYMTestCaseDesc Client rejects SET FRAMES command as invalid frame parameters provided
- * (requested sizes of the frames are not allowed).
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Request notification for SET FRAMES with RSat::NotifySetFramesPCmd ().
- * (ii) The notification completes when UICC issues the SET FRAMES command to the ME.
- * (iii) ME is unable to process the proactive command because of the requested size of the
- * frames are not allowed and responds indicating that the proactive command was
- * unsuccessful using RSat::TerminalRsp()
- *
- * SYMTestExpectedResults
- * Client is notified of the request.
- * Upon completion of the proactive command details are returned in a packaged version of
- * TSetFramesRspV6 containing invalid Frames Layout parameters.
- * ME responds with KFramesError in the Terminal response with the additional information of
- * KRequestSizeNotIdentified.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatSetFrmsPCmdTest::testSAT8528L()
- {
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8528"));
-
- TRequestStatus reqStatus;
-
- RSat::TSetFramesV6 *tSetFramesV6 = new (ELeave) RSat::TSetFramesV6;
- CleanupStack::PushL(tSetFramesV6);
-
- RSat::TSetFramesV6Pckg *tSetFramesV6Pckg = new (ELeave) RSat::TSetFramesV6Pckg(*tSetFramesV6);
- CleanupStack::PushL(tSetFramesV6Pckg);
-
- iSat.NotifySetFramesPCmd(reqStatus,*tSetFramesV6Pckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(tSetFramesV6->iDestination == RSat::KME);
- TESTL(tSetFramesV6->iFrameId == SIMTSY_FRAME_IDENTIFIER);
- TESTL(tSetFramesV6->iFrameLayout.iFramesLayout == RSat::EFrameHorizontal);
- TESTL(tSetFramesV6->iFrameLayout.iFrameLayoutBuf.Compare(SIMTSY_FRAME_LAYOUT_BUFFER) == 0);
- TESTL(tSetFramesV6->iDefaultFrameId == SIMTSY_DEF_FRAME_IDENTIFIER);
- TESTL(tSetFramesV6->iFramesSeparator == RSat::EFrameSeparatorDrawn);
-
- RSat::TSetFramesRspV6 *tSetFramesRspV6 = new (ELeave) RSat::TSetFramesRspV6;
- CleanupStack::PushL(tSetFramesRspV6);
-
- RSat::TSetFramesRspV6Pckg *tSetFramesRspV6Pckg = new (ELeave) RSat::TSetFramesRspV6Pckg(*tSetFramesRspV6);
- CleanupStack::PushL(tSetFramesRspV6Pckg);
-
- _LIT(KText,"KRequestSizeNotSupported");
- TBuf<254> buf(KText);
- tSetFramesRspV6->iGeneralResult = RSat::KFramesError;
- tSetFramesRspV6->iInfoType = RSat::KMeProblem;
- tSetFramesRspV6->iAdditionalInfo = buf;
- tSetFramesRspV6->SetPCmdNumber(SIMTSY_SET_FRMS_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ESetFrames,*(tSetFramesRspV6Pckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8528- Successful"));
-
- return KErrNone;
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8529
- *
- * SYMREQ REQ7332
- *
- * SYMTestCaseDesc Client rejects SET FRAMES command as invalid frame parameters provided
- * (number of frames beyond the terminal’s capabilities).
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Request notification for SET FRAMES with RSat::NotifySetFramesPCmd ().
- * (ii) The notification completes when UICC issues the SET FRAMES command to the ME.
- * (iii) ME is unable to process the proactive command because the number of frames requested
- * are beyond the terminal’s capabilities and responds indicating that the proactive command
- * was unsuccessful using RSat::TerminalRsp()
- *
- * SYMTestExpectedResults
- * Client is notified of the request.
- * Upon completion of the proactive command details are returned in a packaged version of
- * TSetFramesRspV6 containing invalid Frames Layout parameters.
- * ME responds with KFramesError in the Terminal response with the additional information of
- * ‘KCmdBeyondMeCapabilities’.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatSetFrmsPCmdTest::testSAT8529L()
- {
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8529"));
-
- TRequestStatus reqStatus;
-
- RSat::TSetFramesV6 *tSetFramesV6 = new (ELeave) RSat::TSetFramesV6;
- CleanupStack::PushL(tSetFramesV6);
-
- RSat::TSetFramesV6Pckg *tSetFramesV6Pckg = new (ELeave) RSat::TSetFramesV6Pckg(*tSetFramesV6);
- CleanupStack::PushL(tSetFramesV6Pckg);
-
- iSat.NotifySetFramesPCmd(reqStatus,*tSetFramesV6Pckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- RSat::TSetFramesRspV6 *tSetFramesRspV6 = new (ELeave) RSat::TSetFramesRspV6;
- CleanupStack::PushL(tSetFramesRspV6);
-
- RSat::TSetFramesRspV6Pckg *tSetFramesRspV6Pckg = new (ELeave) RSat::TSetFramesRspV6Pckg(*tSetFramesRspV6);
- CleanupStack::PushL(tSetFramesRspV6Pckg);
-
- _LIT(KText,"KNumberOfFramesExceeded");
- TBuf<254> buf(KText);
- tSetFramesRspV6->iGeneralResult = RSat::KFramesError;
- tSetFramesRspV6->iInfoType = RSat::KMeProblem;
- tSetFramesRspV6->iAdditionalInfo = buf;
- tSetFramesRspV6->SetPCmdNumber(SIMTSY_SET_FRMS_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ESetFrames,*(tSetFramesRspV6Pckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8529- Successful"));
-
- return KErrNone;
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8530
- *
- * SYMREQ REQ7332
- *
- * SYMTestCaseDesc Cancel notification of SET FRAMES request
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Request notification for SET FRAMES with RSat::NotifySetFramesPCmd ().
- * (ii) Cancel the request by calling CancelAsyncRequest (ESatNotifySetFramesPCmd).
- *
- * SYMTestExpectedResults
- * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatSetFrmsPCmdTest::testSAT8530L()
- {
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8530"));
-
- TRequestStatus reqStatus;
-
- RSat::TSetFramesV6 *tSetFramesV6 = new (ELeave) RSat::TSetFramesV6;
- CleanupStack::PushL(tSetFramesV6);
-
- RSat::TSetFramesV6Pckg *tSetFramesV6Pckg = new (ELeave) RSat::TSetFramesV6Pckg(*tSetFramesV6);
- CleanupStack::PushL(tSetFramesV6Pckg);
-
- iSat.NotifySetFramesPCmd(reqStatus,*tSetFramesV6Pckg);
- iSat.CancelAsyncRequest(ESatNotifySetFramesPCmd);
- User::WaitForRequest(reqStatus);
- TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
-
- CleanupStack::PopAndDestroy(2);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8530- Successful"));
-
- return KErrNone;
- }
-
-
-CSimSatGetFrmsPCmdTest::CSimSatGetFrmsPCmdTest()
- {
- SetTestStepName(_L("SatTestGetFrmsPCmd"));
- }
-
-TVerdict CSimSatGetFrmsPCmdTest::doTestStepL()
- {
- INFO_PRINTF1(_L("GET FRAMES PCMD TESTING - START"));
-
- CreateConfigFileL(_L("c:\\config4.txt"));
- SetTestNumberL(0);
-
- TInt ret = iPhone.Open(iTelServer,KPhoneName);
- TESTL(ret == KErrNone);
- INFO_PRINTF1(_L("Opened phone object"));
- TESTL(iSat.Open(iPhone)==KErrNone);
- INFO_PRINTF1(_L("Opened Sat object"));
-
- testSAT8531L(); // For testing the TEL-SIMTSY-SAT-8531
- testSAT8532L(); // For testing the TEL-SIMTSY-SAT-8532
- testSAT8533L(); // For testing the TEL-SIMTSY-SAT-8533
-
- iSat.Close();
- iPhone.Close();
- ASSERT(RThread().RequestCount()==0);
-
- INFO_PRINTF1(_L("GET FRAMES PCMD TESTING - END"));
-
- return TestStepResult();
-
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8531
- *
- * SYMREQ REQ7333
- *
- * SYMTestCaseDesc UICC issues GET FRAMES STATUS command to the client
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Request notification for GET FRAMES STATUS with RSat::NotifyGetFramesStatusPCmd ()
- * (ii) UICC sends the GET FRAMES STATUS to the ME.
- * (iii) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
- *
- * SYMTestExpectedResults
- * Client is notified of the request.
- * Upon completion of the proactive command details are returned in a packaged version
- * of TGetFramesStatusRspV6().
- * ME responds with KSuccess in the Terminal response.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatGetFrmsPCmdTest::testSAT8531L()
- {
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8531"));
-
- TRequestStatus reqStatus;
-
- RSat::TGetFramesStatusV6 *tGetFramesStsV6 = new (ELeave) RSat::TGetFramesStatusV6;
- CleanupStack::PushL(tGetFramesStsV6);
-
- RSat::TGetFramesStatusV6Pckg *tGetFramesStsV6Pckg = new (ELeave) RSat::TGetFramesStatusV6Pckg(*tGetFramesStsV6);
- CleanupStack::PushL(tGetFramesStsV6Pckg);
-
- iSat.NotifyGetFramesStatusPCmd(reqStatus,*tGetFramesStsV6Pckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(tGetFramesStsV6->iDestination == RSat::KNetwork);
-
- RSat::TGetFramesStatusRspV6 *tGetFramesStsRspV6 = new (ELeave) RSat::TGetFramesStatusRspV6;
- CleanupStack::PushL(tGetFramesStsRspV6);
-
- RSat::TGetFramesStatusRspV6Pckg *tGetFramesStsRspV6Pckg = new (ELeave)
- RSat::TGetFramesStatusRspV6Pckg(*tGetFramesStsRspV6);
- CleanupStack::PushL(tGetFramesStsRspV6Pckg);
-
- _LIT8(KFrameIdBuf,"AE0240BC");
- TBuf8<255> buf(KFrameIdBuf);
- tGetFramesStsRspV6->iGeneralResult = RSat::KSuccess;
- tGetFramesStsRspV6->iInfoType = RSat::KNoAdditionalInfo;
- tGetFramesStsRspV6->iFramesInformation.iFrameId = 0x25;
- tGetFramesStsRspV6->iFramesInformation.iFrameList = buf;
- tGetFramesStsRspV6->SetPCmdNumber(SIMTSY_GET_FRMS_STS_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::EGetFramesStatus,*(tGetFramesStsRspV6Pckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8531- Successful"));
-
- return KErrNone;
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8532
- *
- * SYMREQ REQ7333
- *
- * SYMTestCaseDesc UICC issues GET FRAMES STATUS command to the client when there is no frame available.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Request notification for GET FRAMES STATUS with RSat::NotifyGetFramesStatusPCmd ()
- * (ii) UICC sends the GET FRAMES STATUS to the ME.
- * (iii) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
- *
- * SYMTestExpectedResults
- * Client is notified of the request.
- * Upon completion of the proactive command details are returned in a packaged version of
- * TGetFramesStatusRspV6 ().
- * ME responds with KFramesError in the Terminal response with the additional information
- * 'KNoFramesIdentified'.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatGetFrmsPCmdTest::testSAT8532L()
- {
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8532"));
-
- TRequestStatus reqStatus;
-
- RSat::TGetFramesStatusV6 *tGetFramesStsV6 = new (ELeave) RSat::TGetFramesStatusV6;
- CleanupStack::PushL(tGetFramesStsV6);
-
- RSat::TGetFramesStatusV6Pckg *tGetFramesStsV6Pckg = new (ELeave) RSat::TGetFramesStatusV6Pckg(*tGetFramesStsV6);
- CleanupStack::PushL(tGetFramesStsV6Pckg);
-
- iSat.NotifyGetFramesStatusPCmd(reqStatus,*tGetFramesStsV6Pckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(tGetFramesStsV6->iDestination == RSat::KNetwork);
-
- RSat::TGetFramesStatusRspV6 *tGetFramesStsRspV6 = new (ELeave) RSat::TGetFramesStatusRspV6;
- CleanupStack::PushL(tGetFramesStsRspV6);
-
- RSat::TGetFramesStatusRspV6Pckg *tGetFramesStsRspV6Pckg = new (ELeave)
- RSat::TGetFramesStatusRspV6Pckg(*tGetFramesStsRspV6);
- CleanupStack::PushL(tGetFramesStsRspV6Pckg);
-
- _LIT8(KFrameIdBuf,"AE0240BC");
- TBuf8<255> buf(KFrameIdBuf);
- tGetFramesStsRspV6->iGeneralResult = RSat::KFramesError;
- tGetFramesStsRspV6->iInfoType = RSat::KNoFrameIdentified;
- tGetFramesStsRspV6->iFramesInformation.iFrameId = 0x25;
- tGetFramesStsRspV6->iFramesInformation.iFrameList = buf;
- tGetFramesStsRspV6->SetPCmdNumber(SIMTSY_GET_FRMS_STS_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::EGetFramesStatus,*(tGetFramesStsRspV6Pckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8532- Successful"));
-
- return KErrNone;
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8533
- *
- * SYMREQ REQ7333
- *
- * SYMTestCaseDesc Cancel notification of GET FRAMES STATUS request.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Register to be notified of GET FRAMES STATUS command using RSat::NotifyGetFramesStatusPCmd ().
- * (ii) Cancel the request by calling CancelAsyncRequest (ESatNotifyGetFramesStatusPCmd).
- *
- * SYMTestExpectedResults
- * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatGetFrmsPCmdTest::testSAT8533L()
- {
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8533"));
-
- TRequestStatus reqStatus;
-
- RSat::TGetFramesStatusV6 *tGetFramesStsV6 = new (ELeave) RSat::TGetFramesStatusV6;
- CleanupStack::PushL(tGetFramesStsV6);
-
- RSat::TGetFramesStatusV6Pckg *tGetFramesStsV6Pckg = new (ELeave) RSat::TGetFramesStatusV6Pckg(*tGetFramesStsV6);
- CleanupStack::PushL(tGetFramesStsV6Pckg);
-
- iSat.NotifyGetFramesStatusPCmd(reqStatus,*tGetFramesStsV6Pckg);
- iSat.CancelAsyncRequest(ESatNotifyGetFramesStatusPCmd);
- User::WaitForRequest(reqStatus);
- TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int() ==KErrCancel));
-
- CleanupStack::PopAndDestroy(2);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8533- Successful"));
-
- return KErrNone;
- }
-
-CSimSatMmsNotificationDownload::CSimSatMmsNotificationDownload()
- {
- SetTestStepName(_L("SatTestGetFrmsPCmd"));
- }
-
-TVerdict CSimSatMmsNotificationDownload::doTestStepL()
- {
- INFO_PRINTF1(_L("MM NOTIFICATION DOWNLOAD TESTING - START"));
-
- CreateConfigFileL(_L("c:\\config4.txt"));
- SetTestNumberL(0);
-
- TInt ret = iPhone.Open(iTelServer,KPhoneName);
- TESTL(ret == KErrNone);
- INFO_PRINTF1(_L("Opened phone object"));
- TESTL(iSat.Open(iPhone)==KErrNone);
- INFO_PRINTF1(_L("Opened Sat object"));
-
- testSAT8534L(); // For testing the TEL-SIMTSY-SAT-8534
- testSAT8535L(); // For testing the TEL-SIMTSY-SAT-8535
- testSAT8536L(); // For testing the TEL-SIMTSY-SAT-8536
- testSAT8537L(); // For testing the TEL-SIMTSY-SAT-8537
- testSAT8538L(); // For testing the TEL-SIMTSY-SAT-8538
-
- iSat.Close();
- iPhone.Close();
- ASSERT(RThread().RequestCount()==0);
-
- INFO_PRINTF1(_L("MM NOTIFICATION DOWNLOAD TESTING - END"));
-
- return TestStepResult();
-
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8534
- *
- * SYMREQ REQ7335
- *
- * SYMTestCaseDesc ME issues a MMS NOTIFICATION DOWNLOAD envelope command to the UICC successfully.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
- * (ii) Call the API RSat::ClientSatProfileIndication using the TSatProfileV6 with TSatProfileByte23
- * set to KCapsMmsNotificationDownload.
- * (iii) Issue a request to the UICC to trigger the download of a MMS notification command using
- * RSat::MmsNotificationDownload ().
- * (iv) The ME shall wait for an acknowledgement from the UICC.
- * (v) It completes when the UICC informs the TSY that the download is complete.
- *
- * SYMTestExpectedResults
- * Client shall supply the command parameters in a packaged version of TMMSNotificationDownloadV6.
- * Device Source and Destination identities shall be KNetwork and KUICC respectively.
- * UICC responds with ‘90 00’ as MMS status and indicates MMS notification download is
- * successfully transferred to the UICC.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatMmsNotificationDownload::testSAT8534L()
- {
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8534"));
-
- TRequestStatus reqStatus;
-
- RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
- CleanupStack::PushL(profileV6);
-
- RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
- CleanupStack::PushL(profileV6Pckg);
-
- iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(profileV6->iSatProfileByte23 & (RSat::KCapsMmsNotificationDownload));
-
- TRequestStatus trr = KErrNone;
- trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
- TESTL(trr == KErrNone);
-
- RSat::TMmsNotificationDownloadV6 *mmsNotificationDownloadV6 = new (ELeave) RSat::TMmsNotificationDownloadV6;
- CleanupStack::PushL(mmsNotificationDownloadV6);
-
- RSat::TMmsNotificationDownloadV6Pckg *mmsNotificationDownloadV6Pckg = new (ELeave)
- RSat::TMmsNotificationDownloadV6Pckg(*mmsNotificationDownloadV6);
- CleanupStack::PushL(mmsNotificationDownloadV6Pckg);
-
- _LIT(KText,"ABCDE1");
- TBuf<255> mmsNotification(KText);
-
- mmsNotificationDownloadV6->iDeviceId = RSat::KUICC;
- mmsNotificationDownloadV6->iMMSNotification = mmsNotification;
- mmsNotificationDownloadV6->iLastEnvelope = ETrue;
-
- iSat.MmsNotificationDownload(reqStatus,*(mmsNotificationDownloadV6Pckg));
- User::WaitForRequest(reqStatus);
-
- TEST(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8534- Successful"));
-
- return KErrNone;
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8535
- *
- * SYMREQ REQ7335
- *
- * SYMTestCaseDesc MMS NOTIFICATION DOWNLOAD envelope command not transferred to the UICC successfully
- * at the first attempt and successful at the second attempt.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Issue a request to the UICC to trigger the download of a MMS notification command
- * using RSat::MmsNotificationDownload ().
- * (ii) The ME shall wait for an acknowledgement from the UICC.
- * (iii) It completes when the UICC informs the TSY that the download is complete.
- *
- * SYMTestExpectedResults
- * Client must supply the command parameters in a packaged version of TMMSNotificationDownloadV6.
- * Device Source and Destination identities shall be KNetwork and KUICC respectively.
- * UICC responds with ‘93 00’as MMS status and indicates MMS notification download has not been
- * successfully transferred to the UICC.
- * ME retries the same command as a second attempt.
- * UICC responds with ‘90 00’ as MMS status and indicates MMS notification download is
- * successfully transferred to the UICC.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatMmsNotificationDownload::testSAT8535L()
- {
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8535"));
-
- TRequestStatus reqStatus;
-
- RSat::TMmsNotificationDownloadV6 *mmsNotificationDownloadV6 = new (ELeave) RSat::TMmsNotificationDownloadV6;
- CleanupStack::PushL(mmsNotificationDownloadV6);
-
- RSat::TMmsNotificationDownloadV6Pckg *mmsNotificationDownloadV6Pckg = new (ELeave)
- RSat::TMmsNotificationDownloadV6Pckg(*mmsNotificationDownloadV6);
- CleanupStack::PushL(mmsNotificationDownloadV6Pckg);
-
- _LIT(KText,"ABCDE2");
- TBuf<255> mmsNotification(KText);
-
- mmsNotificationDownloadV6->iDeviceId = RSat::KUICC;
- mmsNotificationDownloadV6->iMMSNotification = mmsNotification;
- mmsNotificationDownloadV6->iLastEnvelope = EFalse;
-
- iSat.MmsNotificationDownload(reqStatus,*(mmsNotificationDownloadV6Pckg));
- User::WaitForRequest(reqStatus);
- TEST(reqStatus.Int() == KErrNotReady);
-
- /* Retrying the MMS NOTIFICATION DOWNLOAD COMMAND */
- mmsNotificationDownloadV6->iLastEnvelope = ETrue;
- iSat.MmsNotificationDownload(reqStatus,*(mmsNotificationDownloadV6Pckg));
- User::WaitForRequest(reqStatus);
- TEST(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(2);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8535- Successful"));
-
- return KErrNone;
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8536
- *
- * SYMREQ REQ7335
- *
- * SYMTestCaseDesc MMS NOTIFICATION DOWNLOAD envelope command responded with ‘6F XX’ error
- * at the first attempt and ME not reissuing the command.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Issue a request to the UICC to trigger the download of a MMS notification command
- * using RSat::MmsNotificationDownload ().
- * (ii) The ME shall wait for an acknowledgement from the UICC.
- * (iii) It completes when the UICC informs the TSY that the download is complete.
- *
- * SYMTestExpectedResults
- * Client must supply the command parameters in a packaged version of TMMSNotificationDownloadV6.
- * Device Source and Destination identities shall be KNetwork and KUICC respectively.
- * UICC responds with ‘6F XX’as MMS status and indicates MMS notification download has
- * not been successfully transferred to the UICC.
- * ME shall not retry the same command.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatMmsNotificationDownload::testSAT8536L()
- {
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8536"));
-
- TRequestStatus reqStatus;
-
- RSat::TMmsNotificationDownloadV6 *mmsNotificationDownloadV6 = new (ELeave) RSat::TMmsNotificationDownloadV6;
- CleanupStack::PushL(mmsNotificationDownloadV6);
-
- RSat::TMmsNotificationDownloadV6Pckg *mmsNotificationDownloadV6Pckg = new (ELeave)
- RSat::TMmsNotificationDownloadV6Pckg(*mmsNotificationDownloadV6);
- CleanupStack::PushL(mmsNotificationDownloadV6Pckg);
-
- _LIT(KText,"ABCDE3");
- TBuf<255> mmsNotification(KText);
-
- mmsNotificationDownloadV6->iDeviceId = RSat::KUICC;
- mmsNotificationDownloadV6->iMMSNotification = mmsNotification;
- mmsNotificationDownloadV6->iLastEnvelope = ETrue;
-
- iSat.MmsNotificationDownload(reqStatus,*(mmsNotificationDownloadV6Pckg));
- User::WaitForRequest(reqStatus);
- TEST(reqStatus.Int() == KErrNotReady);
-
- CleanupStack::PopAndDestroy(2);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8536- Successful"));
-
- return KErrNone;
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8537
- *
- * SYMREQ REQ7335
- *
- * SYMTestCaseDesc MMS NOTIFICATION DOWNLOAD envelope command not transferred to the UICC successfully
- * as the USIM service table does not support the envelope command.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Issue a request to the UICC to trigger the download of a MMS notification command
- * using RSat::MmsNotificationDownload ().
- * (ii) ME receives a MMS Notification message and sends an error message to the network.
- *
- * SYMTestExpectedResults
- * Client must supply the command parameters in a packaged version of TMMSNotificationDownloadV6.
- * As MMS transfer mode not recognised by UICC , ME sends error message to the network.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatMmsNotificationDownload::testSAT8537L()
- {
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8537"));
-
- TRequestStatus reqStatus;
-
- RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
- CleanupStack::PushL(profileV6);
-
- RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
- CleanupStack::PushL(profileV6Pckg);
-
- iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TEST((profileV6->iSatProfileByte23 & RSat::KCapsMmsNotificationDownload) > 0);
-
- TRequestStatus trr = KErrNone;
- trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
- TESTL(trr == KErrNone);
-
- RSat::TMmsNotificationDownloadV6 *mmsNotificationDownloadV6 = new (ELeave) RSat::TMmsNotificationDownloadV6;
- CleanupStack::PushL(mmsNotificationDownloadV6);
-
- RSat::TMmsNotificationDownloadV6Pckg *mmsNotificationDownloadV6Pckg = new (ELeave)
- RSat::TMmsNotificationDownloadV6Pckg(*mmsNotificationDownloadV6);
- CleanupStack::PushL(mmsNotificationDownloadV6Pckg);
-
- _LIT(KText,"ABCDE4");
- TBuf<255> mmsNotification(KText);
-
- mmsNotificationDownloadV6->iDeviceId = RSat::KUICC;
- mmsNotificationDownloadV6->iMMSNotification = mmsNotification;
- mmsNotificationDownloadV6->iLastEnvelope = ETrue;
-
- iSat.MmsNotificationDownload(reqStatus,*(mmsNotificationDownloadV6Pckg));
- User::WaitForRequest(reqStatus);
- TEST(reqStatus.Int() == KErrNotSupported);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8537- Successful"));
-
- return KErrNone;
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8538
- *
- * SYMREQ REQ7335
- *
- * SYMTestCaseDesc Cancellation of MMS NOTIFICATION DOWNLOAD request
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Register to be notified of MMS Notification download command using
- * RSat::MmsNotificationDownload ().
- * (ii) Cancel the request by invoking the API CancelAsyncRequest(ESatMmsNotificationDownload).
- *
- * SYMTestExpectedResults
-* Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
- * SYMTestType CIT
- */
-
-TInt CSimSatMmsNotificationDownload::testSAT8538L()
- {
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8538"));
-
- TRequestStatus reqStatus;
-
- RSat::TMmsNotificationDownloadV6 *mmsNotificationDownloadV6 = new (ELeave) RSat::TMmsNotificationDownloadV6;
- CleanupStack::PushL(mmsNotificationDownloadV6);
-
- RSat::TMmsNotificationDownloadV6Pckg *mmsNotificationDownloadV6Pckg = new (ELeave) RSat::TMmsNotificationDownloadV6Pckg(*mmsNotificationDownloadV6);
- CleanupStack::PushL(mmsNotificationDownloadV6Pckg);
-
- _LIT(KText,"ABCDE5");
- TBuf<255> mmsNotification(KText);
-
- mmsNotificationDownloadV6->iDeviceId = RSat::KUICC;
- mmsNotificationDownloadV6->iMMSNotification = mmsNotification;
- mmsNotificationDownloadV6->iLastEnvelope = ETrue;
-
- iSat.MmsNotificationDownload(reqStatus,*(mmsNotificationDownloadV6Pckg));
- iSat.CancelAsyncRequest(ESatMmsNotificationDownload);
- User::WaitForRequest(reqStatus);
-
- TEST((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
-
- CleanupStack::PopAndDestroy(2);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8538- Successful"));
-
- return KErrNone;
- }
-
-
-CSimSatUssdDataDownload::CSimSatUssdDataDownload()
- {
- SetTestStepName(_L("SatTestUssdDataDownload"));
- }
-
-TVerdict CSimSatUssdDataDownload::doTestStepL()
- {
- INFO_PRINTF1(_L("USSD DATA DOWNLOAD TESTING - START"));
-
- CreateConfigFileL(_L("c:\\config4.txt"));
- SetTestNumberL(0);
-
- TInt ret = iPhone.Open(iTelServer, KPhoneName);
- TESTL(ret == KErrNone);
- INFO_PRINTF1(_L("Opened phone object"));
- TESTL(iSat.Open(iPhone)==KErrNone);
- INFO_PRINTF1(_L("Opened Sat object"));
-
- testSAT8539L(); // For testing the TEL-SIMTSY-SAT-8539
- testSAT8540L(); // For testing the TEL-SIMTSY-SAT-8540
-
- iSat.Close();
- iPhone.Close();
- ASSERT(RThread().RequestCount()==0);
-
- INFO_PRINTF1(_L("USSD DATA DOWNLOAD TESTING - END"));
-
- return TestStepResult();
-
-
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8539
- *
- * SYMREQ REQ7336
- *
- * SYMTestCaseDesc ME issues a USSD Data Download command to the UICC.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
- * (ii) Call the API RSat::ClientSatProfileIndication using the TSatProfileV6 with TSatProfileByte23
- * set to KCapsUssdDataDownload.
- * (iii) Issue a request to the UICC to trigger the download of a USSD data using
- * RSat::NotifySendUssdPCmd ().
- * (iv) The ME shall wait for an acknowledgement from the UICC.
- * (v) It completes when the UICC informs the TSY that the download is complete
- *
- * SYMTestExpectedResults
- * Client must supply the command parameters in a packaged version of TUssdDataDownloadV6.
- * Device identities shall be KNetwork and KUICC.
- * UICC responds with ‘90 00’ as MMS status and indicates USSD Data Download is successfully
- * transferred to the UICC.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatUssdDataDownload::testSAT8539L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8539"));
-
- TRequestStatus reqStatus;
-
- RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
- CleanupStack::PushL(profileV6);
-
- RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
- CleanupStack::PushL(profileV6Pckg);
-
- iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(profileV6->iSatProfileByte23 & (RSat::KCapsUssdDataDownload));
-
- TRequestStatus trr = KErrNone;
- trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
- TESTL(trr == KErrNone);
-
- RSat::TUssdDataDownloadV6 *ussdDataV6 = new(ELeave)RSat::TUssdDataDownloadV6();
- CleanupStack::PushL(ussdDataV6);
-
- RSat::TUssdDataDownloadV6Pckg *ussdDataV6Pckg = new(ELeave)RSat::TUssdDataDownloadV6Pckg(*ussdDataV6);
- CleanupStack::PushL(ussdDataV6Pckg);
-
- ussdDataV6->iDeviceId = RSat::KNetwork;
- ussdDataV6->iUssdString.iDcs = SIMTSY_USSD_DCS;
- ussdDataV6->iUssdString.iUssdString = SIMTSY_USSD_STR;
-
- // Test posting of the UssdDataDownload request
- iSat.UssdDataDownload(reqStatus, *(ussdDataV6Pckg));
- User::WaitForRequest(reqStatus);
- TEST(reqStatus.Int() == KErrNone);
-
- // Testing the cancellation of the UssdDataDownload Request
- iSat.UssdDataDownload(reqStatus, *(ussdDataV6Pckg));
- iSat.CancelAsyncRequest(ESatUssdDataDownload);
- User::WaitForRequest(reqStatus);
- TEST((reqStatus.Int() == KErrNone) || (reqStatus.Int() == KErrCancel ));
-
-
- CleanupStack::PopAndDestroy(4, profileV6);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8539- Successful"));
-
- return KErrNone;
- }
-
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8540
- *
- * SYMREQ REQ7336
- *
- * SYMTestCaseDesc USSD Data Download envelope command not transferred to the UICC successfully
- * as the USIM service table does not support the envelope command.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Issue a request to the UICC to trigger the USSD Data Download command
- * using RSat:: NotifySendUssdPCmd ().
- * (ii) ME receives a USSD DATA DOWNLOAD and sends a FACILITY message to the network .
- *
- * SYMTestExpectedResults
- * Client must supply the command parameters in a packaged version of TUssdDataDownloadV6.
- * As USSD Data Download not recognised by UICC, ME sends FACILITY message to the network.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatUssdDataDownload::testSAT8540L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8542"));
-
- TRequestStatus reqStatus;
-
- RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
- CleanupStack::PushL(profileV6);
-
- RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
- CleanupStack::PushL(profileV6Pckg);
-
- iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TEST((profileV6->iSatProfileByte23 & RSat::KCapsUssdDataDownload) > 0);
-
- TRequestStatus trr = KErrNone;
- trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
- TESTL(trr == KErrNone);
-
- RSat::TUssdDataDownloadV6 *ussdDataV6 = new(ELeave)RSat::TUssdDataDownloadV6();
- CleanupStack::PushL(ussdDataV6);
-
- RSat::TUssdDataDownloadV6Pckg *ussdDataV6Pckg = new(ELeave)RSat::TUssdDataDownloadV6Pckg(*ussdDataV6);
- CleanupStack::PushL(ussdDataV6Pckg);
-
- ussdDataV6->iDeviceId = RSat::KNetwork;
- ussdDataV6->iUssdString.iDcs = SIMTSY_USSD_DCS;
- ussdDataV6->iUssdString.iUssdString = SIMTSY_NOTFN_DNLD;
-
- iSat.UssdDataDownload(reqStatus,*(ussdDataV6Pckg));
- User::WaitForRequest(reqStatus);
- TEST(reqStatus.Int() == KErrNotSupported);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8542- Successful"));
-
- return KErrNone;
-
- }
-
-
-
-CSimSatProvideLocalInfo::CSimSatProvideLocalInfo()
- {
- SetTestStepName(_L("SatTestProvideLocalInfo"));
- }
-
-TVerdict CSimSatProvideLocalInfo::doTestStepL()
- {
- INFO_PRINTF1(_L("PROVIDE LOCAL INFORMATION TESTING - START"));
-
- CreateConfigFileL(_L("c:\\config4.txt"));
- SetTestNumberL(0);
-
- TInt ret = iPhone.Open(iTelServer,KPhoneName);
- TESTL(ret == KErrNone);
- INFO_PRINTF1(_L("Opened phone object"));
- TESTL(iSat.Open(iPhone)==KErrNone);
- INFO_PRINTF1(_L("Opened Sat object"));
-
- testSAT8544L(); // For testing the TEL-SIMTSY-SAT-8544
- testSAT8545L(); // For testing the TEL-SIMTSY-SAT-8545
- testSAT8546L(); // For testing the TEL-SIMTSY-SAT-8546
- testSAT8547L(); // For testing the TEL-SIMTSY-SAT-8547
- testSAT8548L(); // For testing the TEL-SIMTSY-SAT-8548
- testSAT8549L(); // For testing the TEL-SIMTSY-SAT-8549
-
- iSat.Close();
- iPhone.Close();
- ASSERT(RThread().RequestCount()==0);
-
- INFO_PRINTF1(_L("PROVIDE LOCAL INFORMATION TESTING - END"));
-
- return TestStepResult();
-
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8544
- *
- * SYMREQ REQ7337
- *
- * SYMTestCaseDesc Extended Support for PROVIDE LOCAL INFORMATION that includes additional 3GPP R6 parameters
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
- * (ii) Call the API RSat::ClientSatProfileIndication with RSat::TSatProfileV6Pckg with
- * (a) KCapsProvideLocalInfoMEID set for the TSatProfileByte23.
- * (b) KCapsProvideLocalInfoUTRAN and KCapsProvideLocalInfoBatteryState
- * set for the TSatProfileByte22.
- * (c) KCapsProvideLocalInfoIMEISV and KCapsProvideLocalInfoSearchModeChange
- * set for the TSatProfileByte18.
- * (iii) The client notifies the ME for PROVIDE LOCAL INFORMATION using the RSat::NotifyLocalInfoPCmd()
- * (iv) UICC issues the proactive command PROVIDE LOCAL INFORMATION to ME.
- * (v) The ME responds back with the RSat::TerminalRsp with the TLocalInfoRspV3 as the response
- * parameter.
- *
- * SYMTestExpectedResults
- * The TSatProfileV6Pckg from the step (i) shall have
- * (i) KCapsProvideLocalInfoIMEISV and KCapsProvideLocalInfoSearchModeChange
- * in the TSatProfileByte18 attribute.
- * (ii) KCapsProvideLocalInfoUTRAN and KCapsProvideLocalInfoBatteryState in the
- * TSatProfileByte22 attribute.
- * (iii) KCapsProvideLocalInfoMEID in the TSatProfileByte23 attribute.
- * ClientSatProfileIndication shall return KErrNone.
- * ME shall respond with KSuccess in the Terminal response
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatProvideLocalInfo::testSAT8544L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8544"));
-
- TRequestStatus reqStatus;
-
- RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
- CleanupStack::PushL(profileV6);
-
- RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
- CleanupStack::PushL(profileV6Pckg);
-
- iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL((profileV6->iSatProfileByte23 & (RSat::KCapsProvideLocalInfoMEID)));
- TESTL(profileV6->iSatProfileByte22 & (RSat::KCapsProvideLocalInfoBatteryState));
- TESTL((profileV6->iSatProfileByte18 & (RSat::KCapsProvideLocalInfoIMEISV)) ||
- (profileV6->iSatProfileByte18 & (RSat::KCapsProvideLocalInfoSearchModeChange)));
-
- TRequestStatus trr = KErrNone;
- trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
- TESTL(trr == KErrNone);
-
- RSat::TLocalInfoV6 *tlocalInfoV6 = new(ELeave) RSat::TLocalInfoV6();
- CleanupStack::PushL(tlocalInfoV6);
-
- RSat::TLocalInfoV6Pckg *tLclInfoV6Pckg = new(ELeave)RSat::TLocalInfoV6Pckg(*tlocalInfoV6);
- CleanupStack::PushL(tLclInfoV6Pckg);
-
- iSat.NotifyLocalInfoPCmd(reqStatus,*(tLclInfoV6Pckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(tlocalInfoV6->iDevideId == RSat::KKeypad);
- TESTL(tlocalInfoV6->iInfoType == RSat::KProvideLocalInfoChargeStateOfBattery);
- TESTL(tlocalInfoV6->iUtranMeasurementQualifier
- == RSat::EUtranMeasurementQualifierIntraFrequency);
-
- RSat::TLocalInfoRspV3 *tLocalInfoRsp = new (ELeave) RSat::TLocalInfoRspV3;
- CleanupStack::PushL(tLocalInfoRsp);
-
- RSat::TLocalInfoRspV3Pckg *tLocalInfoRspPckgV6 = new (ELeave) RSat::TLocalInfoRspV3Pckg(*tLocalInfoRsp);
- CleanupStack::PushL(tLocalInfoRspPckgV6);
-
- tLocalInfoRsp->iGeneralResult = RSat::KSuccess;
- tLocalInfoRsp->iInfoType = RSat::KNoAdditionalInfo;
- tLocalInfoRsp->SetPCmdNumber(SIMTSY_PRV_LCL_INFO_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ELocalInfo,*(tLocalInfoRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(6);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8544- Successful"));
-
- return KErrNone;
-
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8545
- *
- * SYMREQ REQ7337
- *
- * SYMTestCaseDesc Extended Support for PROVIDE LOCAL INFORMATION that includes additional 3GPP R6 parameters
- * when the terminal has no service currently available.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) The client notifies the ME for PROVIDE LOCAL INFORMATION using the RSat::NotifyLocalInfoPCmd()
- * (ii) UICC issues the proactive command PROVIDE LOCAL INFORMATION to ME.
- * (iii) The ME responds back with the RSat::TerminalRsp with the TLocalInfoRspV3 as the response
- * parameter.
- *
- * SYMTestExpectedResults
- * ME shall respond with KMeUnableToProcessCmd in the Terminal response with KNoService
- * as the additional information.
- * SYMTestType CIT
- */
-
-TInt CSimSatProvideLocalInfo::testSAT8545L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8545"));
-
- TRequestStatus reqStatus;
-
- RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
- CleanupStack::PushL(profileV6);
-
- RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
- CleanupStack::PushL(profileV6Pckg);
-
- iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(!(profileV6->iSatProfileByte23 & (RSat::KCapsProvideLocalInfoMEID)));
- TESTL(!(profileV6->iSatProfileByte22 & (RSat::KCapsProvideLocalInfoBatteryState)));
- TESTL(!((profileV6->iSatProfileByte18 & (RSat::KCapsProvideLocalInfoIMEISV)) ||
- (profileV6->iSatProfileByte18 & (RSat::KCapsProvideLocalInfoSearchModeChange))));
-
- TRequestStatus trr = KErrNone;
- trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
- TESTL(trr == KErrNone);
-
- RSat::TLocalInfoV6 *tlocalInfoV6 = new(ELeave) RSat::TLocalInfoV6();
- CleanupStack::PushL(tlocalInfoV6);
-
- RSat::TLocalInfoV6Pckg *tLclInfoV6Pckg = new(ELeave)RSat::TLocalInfoV6Pckg(*tlocalInfoV6);
- CleanupStack::PushL(tLclInfoV6Pckg);
-
- iSat.NotifyLocalInfoPCmd(reqStatus,*(tLclInfoV6Pckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNotSupported);
-
- RSat::TLocalInfoRspV3 *tLocalInfoRsp = new (ELeave) RSat::TLocalInfoRspV3;
- CleanupStack::PushL(tLocalInfoRsp);
-
- RSat::TLocalInfoRspV3Pckg *tLocalInfoRspPckgV6 = new (ELeave) RSat::TLocalInfoRspV3Pckg(*tLocalInfoRsp);
- CleanupStack::PushL(tLocalInfoRspPckgV6);
-
- _LIT(KText,"KNoService");
- TBuf<254> buf(KText);
- tLocalInfoRsp->iGeneralResult = RSat::KMeUnableToProcessCmd;
- tLocalInfoRsp->iInfoType = RSat::KMeProblem;
- tLocalInfoRsp->iAdditionalInfo = buf;
- tLocalInfoRsp->SetPCmdNumber(SIMTSY_PRV_LCL_INFO_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ELocalInfo,*(tLocalInfoRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(6);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8545- Successful"));
-
- return KErrNone;
-
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8546
- *
- * SYMREQ REQ7337
- *
- * SYMTestCaseDesc Cancellation of the PROVIDE LOCAL INFORMATION proactive command with additional 3GPP
- * R6 parameters
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) The client notifies the ME for PROVIDE LOCAL INFORMATION using the RSat::NotifyLocalInfoPCmd().
- * (ii) Cancel the placed request using the API RSat::CancelAsyncRequest(ESatNotifyLocalInfoPCmd).
- *
- * SYMTestExpectedResults
- * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
- * SYMTestType CIT
- */
-
-TInt CSimSatProvideLocalInfo::testSAT8546L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8546"));
-
- TRequestStatus reqStatus;
-
- RSat::TLocalInfoV6 *tlocalInfoV6 = new(ELeave) RSat::TLocalInfoV6();
- CleanupStack::PushL(tlocalInfoV6);
-
- RSat::TLocalInfoV6Pckg *tLclInfoV6Pckg = new(ELeave)RSat::TLocalInfoV6Pckg(*tlocalInfoV6);
- CleanupStack::PushL(tLclInfoV6Pckg);
-
- iSat.NotifyLocalInfoPCmd(reqStatus,*(tLclInfoV6Pckg));
- iSat.CancelAsyncRequest(ESatNotifyLocalInfoPCmd);
- User::WaitForRequest(reqStatus);
-
- TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
-
- CleanupStack::PopAndDestroy(2);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8546- Successful"));
-
- return KErrNone;
-
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8547
- *
- * SYMREQ REQ7338
- *
- * SYMTestCaseDesc Extended Support for PROVIDE LOCAL INFORMATION that includes network measurement
- * results for UTRAN
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference.
- * (ii) Call the API RSat::ClientSatProfileIndication using the reference received in the above step.
- * (iii) The client notifies the ME for the PROVIDE LOCAL INFORMATION using the
- * RSat::NotifyLocalInfoPCmd ().
- * (iv) The ME responds back with the RSat::TerminalRsp with the TLocalInfoRspV3
- * as the response parameter.
- *
- * SYMTestExpectedResults
- * The Terminal Response shall contain the class RSat::TLocalInfoRspV3 .
- * ME returns KSuccess in the terminal response.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatProvideLocalInfo::testSAT8547L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8547"));
-
- TRequestStatus reqStatus;
-
- RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
- CleanupStack::PushL(profileV6);
-
- RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
- CleanupStack::PushL(profileV6Pckg);
-
- iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL((profileV6->iSatProfileByte23 & (RSat::KCapsProvideLocalInfoMEID)));
- TESTL((profileV6->iSatProfileByte22 & (RSat::KCapsProvideLocalInfoUTRAN)) ||
- (profileV6->iSatProfileByte22 & (RSat::KCapsProvideLocalInfoBatteryState)));
- TESTL((profileV6->iSatProfileByte18 & (RSat::KCapsProvideLocalInfoIMEISV)) ||
- (profileV6->iSatProfileByte18 & (RSat::KCapsProvideLocalInfoSearchModeChange)));
-
- TRequestStatus trr = KErrNone;
- trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
- TESTL(trr == KErrNone);
-
- RSat::TLocalInfoV6 *tlocalInfoV6 = new(ELeave) RSat::TLocalInfoV6();
- CleanupStack::PushL(tlocalInfoV6);
-
- RSat::TLocalInfoV6Pckg *tLclInfoV6Pckg = new(ELeave)RSat::TLocalInfoV6Pckg(*tlocalInfoV6);
- CleanupStack::PushL(tLclInfoV6Pckg);
-
- iSat.NotifyLocalInfoPCmd(reqStatus,*(tLclInfoV6Pckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(tlocalInfoV6->iDevideId == RSat::KKeypad);
- TESTL(tlocalInfoV6->iInfoType == RSat::KProvideLocalInfoChargeStateOfBattery);
- TESTL(tlocalInfoV6->iUtranMeasurementQualifier
- == RSat::EUtranMeasurementQualifierInterFrequency);
-
- RSat::TLocalInfoRspV3 *tLocalInfoRsp = new (ELeave) RSat::TLocalInfoRspV3;
- CleanupStack::PushL(tLocalInfoRsp);
-
- RSat::TLocalInfoRspV3Pckg *tLocalInfoRspPckgV6 = new (ELeave) RSat::TLocalInfoRspV3Pckg(*tLocalInfoRsp);
- CleanupStack::PushL(tLocalInfoRspPckgV6);
-
- tLocalInfoRsp->iGeneralResult = RSat::KSuccess;
- tLocalInfoRsp->iInfoType = RSat::KNoAdditionalInfo;
- tLocalInfoRsp->SetPCmdNumber(SIMTSY_PRV_LCL_INFO_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ELocalInfo,*(tLocalInfoRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(6);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8547- Successful"));
-
- return KErrNone;
-
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8548
- *
- * SYMREQ REQ7338
- *
- * SYMTestCaseDesc Extended Support for PROVIDE LOCAL INFORMATION when the network is of limited service.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) The client notifies the ME for the PROVIDE LOCAL INFORMATION using the
- * RSat::NotifyLocalInfoPCmd ().
- * (ii) The ME responds back with the RSat::TerminalRsp with the TLocalInfoRspV3
- * as the response parameter.
- *
- * SYMTestExpectedResults
- * The Terminal Response shall contain the class RSat::TLocalInfoRspV3.
- * The ME shall respond with KSuccessLimitedService in the terminal response.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatProvideLocalInfo::testSAT8548L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8548"));
-
- TRequestStatus reqStatus;
-
- RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
- CleanupStack::PushL(profileV6);
-
- RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
- CleanupStack::PushL(profileV6Pckg);
-
- iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL((profileV6->iSatProfileByte23 & (RSat::KCapsProvideLocalInfoMEID)));
- TESTL(!(profileV6->iSatProfileByte22 & (RSat::KCapsProvideLocalInfoUTRAN)));
- TESTL(((profileV6->iSatProfileByte18 & (RSat::KCapsProvideLocalInfoIMEISV)) ||
- (profileV6->iSatProfileByte18 & (RSat::KCapsProvideLocalInfoSearchModeChange))));
-
- TRequestStatus trr = KErrNone;
- trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
- TESTL(trr == KErrNone);
-
- RSat::TLocalInfoV6 *tlocalInfoV6 = new(ELeave) RSat::TLocalInfoV6();
- CleanupStack::PushL(tlocalInfoV6);
-
- RSat::TLocalInfoV6Pckg *tLclInfoV6Pckg = new(ELeave)RSat::TLocalInfoV6Pckg(*tlocalInfoV6);
- CleanupStack::PushL(tLclInfoV6Pckg);
-
- iSat.NotifyLocalInfoPCmd(reqStatus,*(tLclInfoV6Pckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNotSupported);
-
- RSat::TLocalInfoRspV3 *tLocalInfoRsp = new (ELeave) RSat::TLocalInfoRspV3;
- CleanupStack::PushL(tLocalInfoRsp);
-
- RSat::TLocalInfoRspV3Pckg *tLocalInfoRspPckgV6 = new (ELeave) RSat::TLocalInfoRspV3Pckg(*tLocalInfoRsp);
- CleanupStack::PushL(tLocalInfoRspPckgV6);
-
- tLocalInfoRsp->iGeneralResult = RSat::KSuccessLimitedService ;
- tLocalInfoRsp->iInfoType = RSat::KNoAdditionalInfo;
- tLocalInfoRsp->SetPCmdNumber(SIMTSY_PRV_LCL_INFO_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ELocalInfo,*(tLocalInfoRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(6);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8548- Successful"));
-
- return KErrNone;
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8549
- *
- * SYMREQ REQ7338
- *
- * SYMTestCaseDesc Extended Support for PROVIDE LOCAL INFORMATION when the
- * network is connected to different radio access technology (RAT).
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) The client notifies the ME for the PROVIDE LOCAL INFORMATION
- * using the RSat::NotifyLocalInfoPCmd ().
- * (ii) The UICC responds back with the RSat::TerminalRsp with the
- * TLocalInfoRspV3 as the response parameter.
- *
- * SYMTestExpectedResults
- * The Terminal Response shall contain the class RSat::TLocalInfoRspV3.
- * The ME shall respond with KMeUnableToProcessCmd in the terminal response.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatProvideLocalInfo::testSAT8549L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8549"));
-
- TRequestStatus reqStatus;
-
- RSat::TLocalInfoV6 *tlocalInfoV6 = new(ELeave) RSat::TLocalInfoV6();
- CleanupStack::PushL(tlocalInfoV6);
-
- RSat::TLocalInfoV6Pckg *tLclInfoV6Pckg = new(ELeave)RSat::TLocalInfoV6Pckg(*tlocalInfoV6);
- CleanupStack::PushL(tLclInfoV6Pckg);
-
- iSat.NotifyLocalInfoPCmd(reqStatus,*(tLclInfoV6Pckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNotSupported);
-
- RSat::TLocalInfoRspV3 *tLocalInfoRsp = new (ELeave) RSat::TLocalInfoRspV3;
- CleanupStack::PushL(tLocalInfoRsp);
-
- RSat::TLocalInfoRspV3Pckg *tLocalInfoRspPckgV6 = new (ELeave) RSat::TLocalInfoRspV3Pckg(*tLocalInfoRsp);
- CleanupStack::PushL(tLocalInfoRspPckgV6);
-
- tLocalInfoRsp->iGeneralResult = RSat::KMeUnableToProcessCmd;
- tLocalInfoRsp->iInfoType = RSat::KNoAdditionalInfo;
- tLocalInfoRsp->SetPCmdNumber(SIMTSY_PRV_LCL_INFO_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ELocalInfo,*(tLocalInfoRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8549 - Successful"));
-
- return KErrNone;
-
- }
-
-CSimSatLnchBrwsr::CSimSatLnchBrwsr()
- {
- SetTestStepName(_L("SatTestLaunchBrowser"));
- }
-
-TVerdict CSimSatLnchBrwsr::doTestStepL()
- {
- INFO_PRINTF1(_L("LAUNCH BROWSER TESTING - START"));
-
- CreateConfigFileL(_L("c:\\config4.txt"));
- SetTestNumberL(0);
-
- TInt ret = iPhone.Open(iTelServer,KPhoneName);
- TESTL(ret == KErrNone);
- INFO_PRINTF1(_L("Opened phone object"));
- TESTL(iSat.Open(iPhone)==KErrNone);
- INFO_PRINTF1(_L("Opened Sat object"));
-
- testSAT8550L(); // For testing the TEL-SIMTSY-SAT-8550
- testSAT8551L(); // For testing the TEL-SIMTSY-SAT-8551
- testSAT8552L(); // For testing the TEL-SIMTSY-SAT-8552
- testSAT8553L(); // For testing the TEL-SIMTSY-SAT-8553
- testSAT8554L(); // For testing the TEL-SIMTSY-SAT-8554
- testSAT8555L(); // For testing the TEL-SIMTSY-SAT-8555
-
- iSat.Close();
- iPhone.Close();
- ASSERT(RThread().RequestCount()==0);
-
- INFO_PRINTF1(_L("LAUNCH BROWSER TESTING - END"));
-
- return TestStepResult();
-
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8550
- *
- * SYMREQ REQ7346
- *
- * SYMTestCaseDesc R6 support for LAUNCH BROWSER proactive command
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
- * (ii) Call the API RSat::ClientSatProfileIndication using the reference received in the above step.
- * (iii) The client notifies the ME for the LAUNCH BROWSER using the RSat::NotifyLaunchBrowserPCmd ().
- * (iv) The ME responds back with the RSat::TerminalRsp with the TLaunchBrowserRspV2 as the
- * response parameter.
- *
- * SYMTestExpectedResults
- * TSatProfileByte21 for Release 6 packaged in TSatProfileV6 shall have one of the following
- * types of browsing: XML, WXML, HTML and CHTML.
- * Terminal response contains value as KSuccess in the Response package.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatLnchBrwsr::testSAT8550L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8550"));
-
- TRequestStatus reqStatus;
-
- RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
- CleanupStack::PushL(profileV6);
-
- RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
- CleanupStack::PushL(profileV6Pckg);
-
- iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(profileV6->iSatProfileByte21 & (RSat::KCapsXHTML));
-
- TRequestStatus trr = KErrNone;
- trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
- TESTL(trr == KErrNone);
-
- RSat::TLaunchBrowserV6* tLnchBrwsr = new (ELeave) RSat::TLaunchBrowserV6();
- CleanupStack::PushL(tLnchBrwsr);
-
- RSat::TLaunchBrowserV6Pckg* tLnchBrwsrPckg = new(ELeave) RSat::RSat::TLaunchBrowserV6Pckg(*tLnchBrwsr);
- CleanupStack::PushL(tLnchBrwsrPckg);
-
- iSat.NotifyLaunchBrowserPCmd(reqStatus,*(tLnchBrwsrPckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- TESTL(tLnchBrwsr->iFrameId == SIMTSY_LAUNCH_BROWSER_FRM_ID);
-
- RSat::TLaunchBrowserRspV2 *tLnchBrRsp = new (ELeave) RSat::TLaunchBrowserRspV2;
- CleanupStack::PushL(tLnchBrRsp);
-
- RSat::TLaunchBrowserRspV2Pckg *tLnchBrRspPckg = new (ELeave) RSat::TLaunchBrowserRspV2Pckg(*tLnchBrRsp);
- CleanupStack::PushL(tLnchBrRspPckg);
-
- tLnchBrRsp->iGeneralResult = RSat::KSuccess;
- tLnchBrRsp->iInfoType = RSat::KNoAdditionalInfo;
- tLnchBrRsp->SetPCmdNumber(SIMTSY_LNCH_BRWSR_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ELaunchBrowser,*(tLnchBrRspPckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(6);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8550 - Successful"));
-
- return KErrNone;
-
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8551
- *
- * SYMREQ REQ7346
- *
- * SYMTestCaseDesc LAUNCH BROWSER proactive command without the R6 support.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
- * (ii) Call the API RSat::ClientSatProfileIndication using the reference received in the above step.
- * (iii) The client notifies the ME for the LAUNCH BROWSER using the RSat::NotifyLaunchBrowserPCmd ().
- * (iv) The ME responds back with the RSat::TerminalRsp with the TLaunchBrowserRspV2 as the
- * response parameter.
- *
- * SYMTestExpectedResults
- * TBrowserIdentity in the TSatProfileByte21 for Release 6 packaged in TSatProfileV6,
- * with one of the following types of browsing: XML, WXML, HTML and CHTML.
- * Terminal response contains value as KErrCorrupt in the Response package
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatLnchBrwsr::testSAT8551L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8551"));
-
- TRequestStatus reqStatus;
-
- RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
- CleanupStack::PushL(profileV6);
-
- RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
- CleanupStack::PushL(profileV6Pckg);
-
- iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(!(profileV6->iSatProfileByte21 & (RSat::KCapsXHTML)));
-
- TRequestStatus trr = KErrNone;
- trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
- TESTL(trr == KErrNone);
-
- RSat::TLaunchBrowserV6* tLnchBrwsr = new (ELeave) RSat::TLaunchBrowserV6();
- CleanupStack::PushL(tLnchBrwsr);
-
- RSat::TLaunchBrowserV6Pckg* tLnchBrwsrPckg = new(ELeave) RSat::RSat::TLaunchBrowserV6Pckg(*tLnchBrwsr);
- CleanupStack::PushL(tLnchBrwsrPckg);
-
- iSat.NotifyLaunchBrowserPCmd(reqStatus,*(tLnchBrwsrPckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- TESTL(tLnchBrwsr->iFrameId == SIMTSY_LAUNCH_BROWSER_FRM_ID);
-
- RSat::TLaunchBrowserRspV2 *tLnchBrRsp = new (ELeave) RSat::TLaunchBrowserRspV2;
- CleanupStack::PushL(tLnchBrRsp);
-
- RSat::TLaunchBrowserRspV2Pckg *tLnchBrRspPckg = new (ELeave) RSat::TLaunchBrowserRspV2Pckg(*tLnchBrRsp);
- CleanupStack::PushL(tLnchBrRspPckg);
-
- _LIT(KText,"KNoSpecificBrowserError");
- TBuf<254> buf(KText);
- tLnchBrRsp->iGeneralResult = RSat::KLaunchBrowserError;
- tLnchBrRsp->iInfoType = RSat::KMeProblem;
- tLnchBrRsp->iAdditionalInfo = buf;
- tLnchBrRsp->SetPCmdNumber(SIMTSY_LNCH_BRWSR_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ELaunchBrowser,*(tLnchBrRspPckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(6);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8551 - Successful"));
-
- return KErrNone;
-
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8552
- *
- * SYMREQ REQ7346
- *
- * SYMTestCaseDesc LAUNCH BROWSER proactive command the R6 support when the browser is not available.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) The client notifies the ME for the LAUNCH BROWSER using the RSat::NotifyLaunchBrowserPCmd ().
- * (ii) The ME responds back with the RSat::TerminalRsp with the TLaunchBrowserRspV2 as the response parameter.
- *
- * SYMTestExpectedResults
- * Terminal response contains value as KMeUnableToProcessCmd in the Response package and
- * the iAdditionalInfo of TLaunchBrowserRspV2 shall have KBrowserUnavailable.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatLnchBrwsr::testSAT8552L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8552"));
-
- TRequestStatus reqStatus;
-
- RSat::TLaunchBrowserV6* tLnchBrwsr = new (ELeave) RSat::TLaunchBrowserV6();
- CleanupStack::PushL(tLnchBrwsr);
-
- RSat::TLaunchBrowserV6Pckg* tLnchBrwsrPckg = new(ELeave) RSat::RSat::TLaunchBrowserV6Pckg(*tLnchBrwsr);
- CleanupStack::PushL(tLnchBrwsrPckg);
-
- iSat.NotifyLaunchBrowserPCmd(reqStatus,*(tLnchBrwsrPckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- TESTL(tLnchBrwsr->iFrameId == SIMTSY_LAUNCH_BROWSER_FRM_ID);
-
- RSat::TLaunchBrowserRspV2 *tLnchBrRsp = new (ELeave) RSat::TLaunchBrowserRspV2;
- CleanupStack::PushL(tLnchBrRsp);
-
- RSat::TLaunchBrowserRspV2Pckg *tLnchBrRspPckg = new (ELeave) RSat::TLaunchBrowserRspV2Pckg(*tLnchBrRsp);
- CleanupStack::PushL(tLnchBrRspPckg);
-
- _LIT(KText,"KBrowserUnavailable");
- TBuf<254> buf(KText);
- tLnchBrRsp->iGeneralResult = RSat::KLaunchBrowserError;
- tLnchBrRsp->iInfoType = RSat::KMeProblem;
- tLnchBrRsp->iAdditionalInfo = buf;
- tLnchBrRsp->SetPCmdNumber(SIMTSY_LNCH_BRWSR_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ELaunchBrowser,*(tLnchBrRspPckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8552 - Successful"));
-
- return KErrNone;
-
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8553
- *
- * SYMREQ REQ7346
- *
- * SYMTestCaseDesc LAUNCH BROWSER proactive command the R6 support when the bearer is not available.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) The client notifies the ME for the LAUNCH BROWSER using the RSat::NotifyLaunchBrowserPCmd ().
- * (ii) The ME responds back with the RSat::TerminalRsp with the TLaunchBrowserRspV2 as the response parameter.
- *
- * SYMTestExpectedResults
- * Terminal response contains value as KMeUnableToProcessCmd in the Response package and
- * the iAdditionalInfo of TLaunchBrowserRspV2 shall have KBearerUnvailable.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatLnchBrwsr::testSAT8553L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8553"));
-
- TRequestStatus reqStatus;
-
- RSat::TLaunchBrowserV6* tLnchBrwsr = new (ELeave) RSat::TLaunchBrowserV6();
- CleanupStack::PushL(tLnchBrwsr);
-
-
- RSat::TLaunchBrowserV6Pckg* tLnchBrwsrPckg = new(ELeave) RSat::RSat::TLaunchBrowserV6Pckg(*tLnchBrwsr);
- CleanupStack::PushL(tLnchBrwsrPckg);
-
- iSat.NotifyLaunchBrowserPCmd(reqStatus,*(tLnchBrwsrPckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- TESTL(tLnchBrwsr->iFrameId == SIMTSY_LAUNCH_BROWSER_FRM_ID);
-
- RSat::TLaunchBrowserRspV2 *tLnchBrRsp = new (ELeave) RSat::TLaunchBrowserRspV2;
- CleanupStack::PushL(tLnchBrRsp);
-
- RSat::TLaunchBrowserRspV2Pckg *tLnchBrRspPckg = new (ELeave) RSat::TLaunchBrowserRspV2Pckg(*tLnchBrRsp);
- CleanupStack::PushL(tLnchBrRspPckg);
-
- _LIT(KText,"KBearerUnvailable");
- TBuf<254> buf(KText);
- tLnchBrRsp->iGeneralResult = RSat::KLaunchBrowserError;
- tLnchBrRsp->iInfoType = RSat::KMeProblem;
- tLnchBrRsp->iAdditionalInfo = buf;
- tLnchBrRsp->SetPCmdNumber(SIMTSY_LNCH_BRWSR_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ELaunchBrowser,*(tLnchBrRspPckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8553 - Successful"));
-
- return KErrNone;
-
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8554
- *
- * SYMREQ REQ7346 & REQ7343
- *
- * SYMTestCaseDesc LAUNCH BROWSER proactive command with the R6 support when error occurs
- * when accessing the resource in the URL.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) The client notifies the ME for the LAUNCH BROWSER using the RSat::NotifyLaunchBrowserPCmd ().
- * (ii) The ME responds back with the RSat::TerminalRsp with the TLaunchBrowserRspV2 as the response parameter.
- * (iii) Call the API EventDownload with the TEventList as RSat::KBrowserStatusChange and
- * package class as TBrowserStatusV6.
- *
- * SYMTestExpectedResults
- * Terminal response contains value as KMeUnableToProcessCmd in the Response package and
- * the iAdditionalInfo of TLaunchBrowserRspV2 shall have KMeUnableToReadProvisioningData.
- * The TBrowserStatusV6 shall contain the error cause from the network.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatLnchBrwsr::testSAT8554L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8554"));
-
- TRequestStatus reqStatus;
-
- RSat::TLaunchBrowserV6* tLnchBrwsr = new (ELeave) RSat::TLaunchBrowserV6();
- CleanupStack::PushL(tLnchBrwsr);
-
- RSat::TLaunchBrowserV6Pckg* tLnchBrwsrPckg = new(ELeave) RSat::RSat::TLaunchBrowserV6Pckg(*tLnchBrwsr);
- CleanupStack::PushL(tLnchBrwsrPckg);
-
- iSat.NotifyLaunchBrowserPCmd(reqStatus,*(tLnchBrwsrPckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- TESTL(tLnchBrwsr->iFrameId == SIMTSY_LAUNCH_BROWSER_FRM_ID);
-
- RSat::TLaunchBrowserRspV2 *tLnchBrRsp = new (ELeave) RSat::TLaunchBrowserRspV2;
- CleanupStack::PushL(tLnchBrRsp);
-
- RSat::TLaunchBrowserRspV2Pckg *tLnchBrRspPckg = new (ELeave) RSat::TLaunchBrowserRspV2Pckg(*tLnchBrRsp);
- CleanupStack::PushL(tLnchBrRspPckg);
-
- _LIT(KText,"KMeUnableToReadProvisioningData");
- TBuf<254> buf(KText);
- tLnchBrRsp->iGeneralResult = RSat::KLaunchBrowserError;
- tLnchBrRsp->iInfoType = RSat::KMeProblem;
- tLnchBrRsp->iAdditionalInfo = buf;
- tLnchBrRsp->SetPCmdNumber(SIMTSY_LNCH_BRWSR_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ELaunchBrowser,*(tLnchBrRspPckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- RSat::TBrowsingStatusEventV6 *tBrwStsV6 = new(ELeave) RSat::TBrowsingStatusEventV6();
- CleanupStack::PushL(tBrwStsV6);
-
- RSat::TBrowsingStatusEventV6Pckg *tBrwStsV6Pckg = new(ELeave)RSat::TBrowsingStatusEventV6Pckg(*tBrwStsV6);
- CleanupStack::PushL(tBrwStsV6Pckg);
-
- tBrwStsV6->iBrowserStatus = 0x55; // 0x55 assumed as Error status from the network.
-
- iSat.EventDownload(reqStatus,RSat::KBrowsingStatusChange ,*(tBrwStsV6Pckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(6);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8554 - Successful"));
-
- return KErrNone;
-
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8555
- *
- * SYMREQ REQ7346
- *
- * SYMTestCaseDesc Cancel for the LAUNCH BROWSER proactive command
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) The client notifies the ME for the LAUNCH BROWSER using the RSat::NotifyLaunchBrowserPCmd ().
- * (ii) Issue cancellation of the Proactive command using the CancelAsyncRequest
- * (ESatNotifyLaunchBrowserPCmd).
- *
- * SYMTestExpectedResults
- * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatLnchBrwsr::testSAT8555L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8555"));
-
- TRequestStatus reqStatus;
-
- RSat::TLaunchBrowserV6* tLnchBrwsr = new (ELeave) RSat::TLaunchBrowserV6();
- CleanupStack::PushL(tLnchBrwsr);
-
- RSat::TLaunchBrowserV6Pckg* tLnchBrwsrPckg = new(ELeave) RSat::RSat::TLaunchBrowserV6Pckg(*tLnchBrwsr);
- CleanupStack::PushL(tLnchBrwsrPckg);
-
- iSat.NotifyLaunchBrowserPCmd(reqStatus,*(tLnchBrwsrPckg));
- iSat.CancelAsyncRequest(ESatNotifyLaunchBrowserPCmd);
- User::WaitForRequest(reqStatus);
- TESTL((reqStatus.Int() == KErrNone) || (reqStatus.Int()==KErrCancel));
-
- CleanupStack::PopAndDestroy(2);
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8555 - Successful"));
-
- return KErrNone;
-
- }
-
-CSimSatOpenChnl::CSimSatOpenChnl()
- {
- SetTestStepName(_L("SatTestOpenChnl"));
- }
-
-TVerdict CSimSatOpenChnl::doTestStepL()
- {
- INFO_PRINTF1(_L("OPEN CHANNEL TESTING - START"));
-
- CreateConfigFileL(_L("c:\\config4.txt"));
- SetTestNumberL(0);
-
- TInt ret = iPhone.Open(iTelServer,KPhoneName);
- TESTL(ret == KErrNone);
- INFO_PRINTF1(_L("Opened phone object"));
- TESTL(iSat.Open(iPhone)==KErrNone);
- INFO_PRINTF1(_L("Opened Sat object"));
-
- testSAT8556L(); // For testing the TEL-SIMTSY-SAT-8556
- testSAT8557L(); // For testing the TEL-SIMTSY-SAT-8557
- testSAT8558L(); // For testing the TEL-SIMTSY-SAT-8558
- testSAT8559L(); // For testing the TEL-SIMTSY-SAT-8559
-
- iSat.Close();
- iPhone.Close();
- ASSERT(RThread().RequestCount()==0);
-
- INFO_PRINTF1(_L("OPEN CHANNEL TESTING - END"));
-
- return TestStepResult();
-
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8556
- *
- * SYMREQ REQ7345
- *
- * SYMTestCaseDesc R6 support for “Open Channel using UTRAN packet service and HSDPA”
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
- * (ii) Call the API RSat::ClientSatProfileIndication with the parameter as a reference of the
- * object RSat::TSatProfileV6 with the TSatProfileByte22 with KUtranAndHsdpaBearer set.
- * (iii) The client notifies the ME for the OPEN CHANNEL using the RSat::NotifyOpenChannelPCmd ()
- * (iv) The ME responds back with the RSat::TerminalRsp with the TOpenChannelRspV2 as the
- * response parameter.
- *
- * SYMTestExpectedResults
- * Terminal response contains value as KSuccess in the response message.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatOpenChnl::testSAT8556L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8556"));
-
- TRequestStatus reqStatus;
-
- RSat::TOpenLocalLinksChannelV6 *tOpenChnV6 = new(ELeave) RSat::TOpenLocalLinksChannelV6();
- CleanupStack::PushL(tOpenChnV6);
-
- RSat::TOpenLocalLinksChannelV6Pckg *tOpenChnV6Pckg = new(ELeave)RSat::TOpenLocalLinksChannelV6Pckg(*tOpenChnV6);
- CleanupStack::PushL(tOpenChnV6Pckg);
-
- iSat.NotifyOpenChannelPCmd(reqStatus,*(tOpenChnV6Pckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(tOpenChnV6->iBearer.iType == RSat::EUtranBearer);
-
- RSat::TOpenChannelRspV2 *tOpenChnRsp = new (ELeave) RSat::TOpenChannelRspV2;
- CleanupStack::PushL(tOpenChnRsp);
-
- RSat::TOpenChannelRspV2Pckg *tOpenChnRspPckg = new (ELeave) RSat::TOpenChannelRspV2Pckg(*tOpenChnRsp);
- CleanupStack::PushL(tOpenChnRspPckg);
-
- tOpenChnRsp->iGeneralResult = RSat::KSuccess;
- tOpenChnRsp->iInfoType = RSat::KNoAdditionalInfo;
- tOpenChnRsp->SetPCmdNumber(SIMTSY_OPEN_CHAN_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::EOpenChannelLocal,*(tOpenChnRspPckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8556 - Successful"));
-
- return KErrNone;
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8557
- *
- * SYMREQ REQ7345
- *
- * SYMTestCaseDesc R6 support for “Open Channel using UTRAN packet service and HSDPA” with client
- * responding busy on SS transaction or unable to activate a PDP context.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) The client notifies the ME for the OPEN CHANNEL using the RSat::NotifyOpenChannelPCmd ()
- * (ii) The ME responds back with the RSat::TerminalRsp with the TOpenChannelRspV2 as the
- * response parameter.
- *
- * SYMTestExpectedResults
- * Terminal response contains value as KNetworkUnableToProcessCmd in the response message.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatOpenChnl::testSAT8557L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8557"));
-
- TRequestStatus reqStatus;
-
- RSat::TOpenLocalLinksChannelV6 *tOpenChnV6 = new(ELeave) RSat::TOpenLocalLinksChannelV6();
- CleanupStack::PushL(tOpenChnV6);
-
- RSat::TOpenLocalLinksChannelV6Pckg *tOpenChnV6Pckg = new(ELeave)RSat::TOpenLocalLinksChannelV6Pckg(*tOpenChnV6);
- CleanupStack::PushL(tOpenChnV6Pckg);
-
- iSat.NotifyOpenChannelPCmd(reqStatus,*(tOpenChnV6Pckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(tOpenChnV6->iBearer.iType == RSat::EUtranBearer);
-
- RSat::TOpenChannelRspV2 *tOpenChnRsp = new (ELeave) RSat::TOpenChannelRspV2;
- CleanupStack::PushL(tOpenChnRsp);
-
- RSat::TOpenChannelRspV2Pckg *tOpenChnRspPckg = new (ELeave) RSat::TOpenChannelRspV2Pckg(*tOpenChnRsp);
- CleanupStack::PushL(tOpenChnRspPckg);
-
- _LIT(KText,"KNoSpecificMeProblem");
- TBuf<254> buf(KText);
- tOpenChnRsp->iGeneralResult = RSat::KNetworkUnableToProcessCmd ;
- tOpenChnRsp->iInfoType = RSat::KMeProblem;
- tOpenChnRsp->iAdditionalInfo = buf;
- tOpenChnRsp->SetPCmdNumber(SIMTSY_OPEN_CHAN_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::EOpenChannelLocal,*(tOpenChnRspPckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8557 - Successful"));
-
- return KErrNone;
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8558
- *
- * SYMREQ REQ7345
- *
- * SYMTestCaseDesc R6 support for “Open Channel using UTRAN packet service and HSDPA” with the terminal
- * not able to activate a packet data service with the requested parameters.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) The client notifies the ME for the OPEN CHANNEL using the RSat::NotifyOpenChannelPCmd ()
- * (ii) The ME responds back with the RSat::TerminalRsp with the TOpenChannelRspV2 as the
- * response parameter
- *
- * SYMTestExpectedResults
- * Terminal response contains value as KPerformedWithModifications in the response message.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatOpenChnl::testSAT8558L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8558"));
-
- TRequestStatus reqStatus;
-
- RSat::TOpenLocalLinksChannelV6 *tOpenChnV6 = new(ELeave) RSat::TOpenLocalLinksChannelV6();
- CleanupStack::PushL(tOpenChnV6);
-
- RSat::TOpenLocalLinksChannelV6Pckg *tOpenChnV6Pckg = new(ELeave)RSat::TOpenLocalLinksChannelV6Pckg(*tOpenChnV6);
- CleanupStack::PushL(tOpenChnV6Pckg);
-
- iSat.NotifyOpenChannelPCmd(reqStatus,*(tOpenChnV6Pckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(tOpenChnV6->iBearer.iType == RSat::EUtranBearer);
-
- RSat::TOpenChannelRspV2 *tOpenChnRsp = new (ELeave) RSat::TOpenChannelRspV2;
- CleanupStack::PushL(tOpenChnRsp);
-
- RSat::TOpenChannelRspV2Pckg *tOpenChnRspPckg = new (ELeave) RSat::TOpenChannelRspV2Pckg(*tOpenChnRsp);
- CleanupStack::PushL(tOpenChnRspPckg);
-
- tOpenChnRsp->iGeneralResult = RSat::KPerformedWithModifications;
- tOpenChnRsp->iInfoType = RSat::KNoAdditionalInfo;
- tOpenChnRsp->SetPCmdNumber(SIMTSY_OPEN_CHAN_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::EOpenChannelLocal,*(tOpenChnRspPckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8558 - Successful"));
-
- return KErrNone;
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8559
- *
- * SYMREQ REQ7345
- *
- * SYMTestCaseDesc Cancellation of the R6 support extended OPEN CHANNEL proactive command.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) The client notifies the ME for the OPEN CHANNEL using the RSat::NotifyOpenChannelPCmd ()
- * (ii) Issue the cancel request using the API CancelAsyncRequest(ESatNotifyOpenChannelPCmd)
- *
- * SYMTestExpectedResults
- * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
- * SYMTestType CIT
- */
-
-TInt CSimSatOpenChnl::testSAT8559L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8559"));
-
- TRequestStatus reqStatus;
-
- RSat::TOpenLocalLinksChannelV6 *tOpenChnV6 = new(ELeave) RSat::TOpenLocalLinksChannelV6();
- CleanupStack::PushL(tOpenChnV6);
-
- RSat::TOpenLocalLinksChannelV6Pckg *tOpenChnV6Pckg = new(ELeave)RSat::TOpenLocalLinksChannelV6Pckg(*tOpenChnV6);
- CleanupStack::PushL(tOpenChnV6Pckg);
-
- iSat.NotifyOpenChannelPCmd(reqStatus,*(tOpenChnV6Pckg));
- iSat.CancelAsyncRequest(ESatNotifyOpenChannelPCmd);
- User::WaitForRequest(reqStatus);
-
- TESTL((reqStatus.Int() == KErrNone) || (reqStatus.Int() == KErrCancel));
-
- CleanupStack::PopAndDestroy(2);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8559 - Successful"));
-
- return KErrNone;
-
- }
-
-
-CSimSatPlayTone::CSimSatPlayTone()
- {
- SetTestStepName(_L("SatTestPlayTone"));
- }
-
-TVerdict CSimSatPlayTone::doTestStepL()
- {
- INFO_PRINTF1(_L("PLAY TONE TESTING - START"));
-
- CreateConfigFileL(_L("c:\\config4.txt"));
- SetTestNumberL(0);
-
- TInt ret = iPhone.Open(iTelServer,KPhoneName);
- TESTL(ret == KErrNone);
- INFO_PRINTF1(_L("Opened phone object"));
- TESTL(iSat.Open(iPhone)==KErrNone);
- INFO_PRINTF1(_L("Opened Sat object"));
-
- testSAT8560L(); // For testing the TEL-SIMTSY-SAT-8560
- testSAT8561L(); // For testing the TEL-SIMTSY-SAT-8561
- testSAT8562L(); // For testing the TEL-SIMTSY-SAT-8562
- testSAT8563L(); // For testing the TEL-SIMTSY-SAT-8563
-
- iSat.Close();
- iPhone.Close();
- ASSERT(RThread().RequestCount()==0);
-
- INFO_PRINTF1(_L("PLAY TONE TESTING - END"));
-
- return TestStepResult();
-
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8560
- *
- * SYMREQ REQ7342
- *
- * SYMTestCaseDesc R6 support for “Play Tone”
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference.
- * (ii) Call the API RSat::ClientSatProfileIndication using the reference of RSat::TSatProfileV6Pckg.
- * (iii) The client notifies the ME for the PLAY TONE using the RSat::NotifyPlayTonePCmd().
- * (iv) The ME responds back with the RSat::TerminalRsp with the TPlayToneRspV1 as the response parameter.
- *
- * SYMTestExpectedResults
- * Byte 22 of the Terminal profile will contain the extended play tone and shall contain value
- * KCapsPlayThemedAndMelodyTone.
- * The ME sends TERMINAL RESPONSE to the UICC.
- * Terminal response indicates the tone as been successfully played and will contain value as
- * KCommandPerformedSuccessfullyTone in the response package
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatPlayTone::testSAT8560L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8560"));
-
- TRequestStatus reqStatus;
-
- RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
-
- CleanupStack::PushL(profileV6);
-
- RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
- CleanupStack::PushL(profileV6Pckg);
-
- iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL((profileV6->iSatProfileByte22) & (RSat::KCapsPlayThemedAndMelodyTone));
-
- TRequestStatus trr = KErrNone;
- trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
- TESTL(trr == KErrNone);
-
- RSat::TPlayToneV6 *tPlayToneV6 = new(ELeave) RSat::TPlayToneV6();
- CleanupStack::PushL(tPlayToneV6);
-
- RSat::TPlayToneV6Pckg *tPlayToneV6Pckg = new(ELeave)RSat::TPlayToneV6Pckg(*tPlayToneV6);
- CleanupStack::PushL(tPlayToneV6Pckg);
-
- iSat.NotifyPlayTonePCmd(reqStatus,*(tPlayToneV6Pckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- RSat::TPlayToneRspV1 *tPlayToneRsp = new (ELeave) RSat::TPlayToneRspV1;
- CleanupStack::PushL(tPlayToneRsp);
-
- RSat::TPlayToneRspV1Pckg *tPlayToneRspPckgV6 = new (ELeave) RSat::TPlayToneRspV1Pckg(*tPlayToneRsp);
- CleanupStack::PushL(tPlayToneRspPckgV6);
-
- tPlayToneRsp->iGeneralResult = RSat::KPlayTonePerformedSuccessfully ;
- tPlayToneRsp->iInfoType = RSat::KNoAdditionalInfo;
- tPlayToneRsp->SetPCmdNumber(SIMTSY_PLAY_TONE_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::EPlayTone,*(tPlayToneRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(6);
-
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8560 - Successful"));
-
- return KErrNone;
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8561
- *
- * SYMREQ REQ7342
- *
- * SYMTestCaseDesc R6 support for “Play Tone” when the user needs to terminate the session.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) The client notifies the ME for the PLAY TONE using the RSat::NotifyPlayTonePCmd()
- * (ii) The ME responds back with the RSat::TerminalRsp with the TPlayToneRspV1 as the
- * response parameter
- *
- * SYMTestExpectedResults
- * The ME sends TERMINAL RESPONSE to the UICC.
- * Terminal response indicates that the session has been terminated by the user and will contain
- * value as KSessionTerminatedByUser in the response package.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatPlayTone::testSAT8561L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8561"));
-
- TRequestStatus reqStatus;
-
- RSat::TPlayToneV6 *tPlayToneV6 = new(ELeave) RSat::TPlayToneV6();
- CleanupStack::PushL(tPlayToneV6);
-
- RSat::TPlayToneV6Pckg *tPlayToneV6Pckg = new(ELeave)RSat::TPlayToneV6Pckg(*tPlayToneV6);
- CleanupStack::PushL(tPlayToneV6Pckg);
-
- iSat.NotifyPlayTonePCmd(reqStatus,*(tPlayToneV6Pckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- RSat::TPlayToneRspV1 *tPlayToneRsp = new (ELeave) RSat::TPlayToneRspV1;
- CleanupStack::PushL(tPlayToneRsp);
-
- RSat::TPlayToneRspV1Pckg *tPlayToneRspPckgV6 = new (ELeave) RSat::TPlayToneRspV1Pckg(*tPlayToneRsp);
- CleanupStack::PushL(tPlayToneRspPckgV6);
-
- tPlayToneRsp->iGeneralResult = RSat::KPSessionTerminatedByUser;
- tPlayToneRsp->iInfoType = RSat::KNoAdditionalInfo;
- tPlayToneRsp->SetPCmdNumber(SIMTSY_PLAY_TONE_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::EPlayTone,*(tPlayToneRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8561 - Successful"));
-
- return KErrNone;
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8562
- *
- * SYMREQ REQ7342
- *
- * SYMTestCaseDesc R6 support for “Play Tone” when the terminal not supporting the requested tone to play.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) The client notifies the ME for the PLAY TONE using the RSat::NotifyPlayTonePCmd()
- * (ii) The ME responds back with the RSat::TerminalRsp with the TPlayToneRspV1 as the
- * response parameter.
- *
- * SYMTestExpectedResults
- * The ME sends TERMINAL RESPONSE to the UICC.
- * Terminal response will contain KCmdBeyondMeCapabilities in the response package.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatPlayTone::testSAT8562L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8562"));
-
- TRequestStatus reqStatus;
-
- RSat::TPlayToneV6 *tPlayToneV6 = new(ELeave) RSat::TPlayToneV6();
- CleanupStack::PushL(tPlayToneV6);
-
- RSat::TPlayToneV6Pckg *tPlayToneV6Pckg = new(ELeave)RSat::TPlayToneV6Pckg(*tPlayToneV6);
- CleanupStack::PushL(tPlayToneV6Pckg);
-
- iSat.NotifyPlayTonePCmd(reqStatus,*(tPlayToneV6Pckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- RSat::TPlayToneRspV1 *tPlayToneRsp = new (ELeave) RSat::TPlayToneRspV1;
- CleanupStack::PushL(tPlayToneRsp);
-
- RSat::TPlayToneRspV1Pckg *tPlayToneRspPckgV6 = new (ELeave) RSat::TPlayToneRspV1Pckg(*tPlayToneRsp);
- CleanupStack::PushL(tPlayToneRspPckgV6);
-
- tPlayToneRsp->iGeneralResult = RSat::KCmdBeyondMeCapabilities;
- tPlayToneRsp->iInfoType = RSat::KNoAdditionalInfo;
- tPlayToneRsp->SetPCmdNumber(SIMTSY_PLAY_TONE_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::EPlayTone,*(tPlayToneRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8562 - Successful"));
-
- return KErrNone;
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8563
- *
- * SYMREQ REQ7342
- *
- * SYMTestCaseDesc Cancellation R6 support for “Play Tone”
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) The client notifies the ME for the PLAY TONE using the RSat::NotifyPlayTonePCmd()
- * (ii) Cancel the previously placed Notification request with the API
- * RSat::CancelAsyncRequest(ESatNotifyPlayTonePCmd).
- *
- * SYMTestExpectedResults
- * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatPlayTone::testSAT8563L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8563"));
-
- TRequestStatus reqStatus;
-
- RSat::TPlayToneV6 *tPlayToneV6 = new(ELeave) RSat::TPlayToneV6();
- CleanupStack::PushL(tPlayToneV6);
-
- RSat::TPlayToneV6Pckg *tPlayToneV6Pckg = new(ELeave)RSat::TPlayToneV6Pckg(*tPlayToneV6);
- CleanupStack::PushL(tPlayToneV6Pckg);
-
- iSat.NotifyPlayTonePCmd(reqStatus,*(tPlayToneV6Pckg));
- iSat.CancelAsyncRequest(ESatNotifyPlayTonePCmd);
- User::WaitForRequest(reqStatus);
-
- TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
-
- CleanupStack::PopAndDestroy(2);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8563 - Successful"));
-
- return KErrNone;
- }
-
-CSimSatSetupCall::CSimSatSetupCall()
- {
- SetTestStepName(_L("SatTestSetupCall"));
- }
-
-TVerdict CSimSatSetupCall::doTestStepL()
- {
- INFO_PRINTF1(_L("SETUP CALL TESTING - START"));
-
- CreateConfigFileL(_L("c:\\config4.txt"));
- SetTestNumberL(0);
-
- TInt ret = iPhone.Open(iTelServer,KPhoneName);
- TESTL(ret == KErrNone);
- INFO_PRINTF1(_L("Opened phone object"));
- TESTL(iSat.Open(iPhone)==KErrNone);
- INFO_PRINTF1(_L("Opened Sat object"));
-
- testSAT8564L(); // For testing the TEL-SIMTSY-SAT-8564
- testSAT8565L(); // For testing the TEL-SIMTSY-SAT-8565
- testSAT8566L(); // For testing the TEL-SIMTSY-SAT-8566
- testSAT8567L(); // For testing the TEL-SIMTSY-SAT-8567
- testSAT8568L(); // For testing the TEL-SIMTSY-SAT-8568
-
- iSat.Close();
- iPhone.Close();
- ASSERT(RThread().RequestCount()==0);
-
- INFO_PRINTF1(_L("SETUP CALL TESTING - END"));
-
- return TestStepResult();
-
- }
-
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8564
- *
- * SYMREQ REQ7499
- *
- * SYMTestCaseDesc R6 support for “Set up Call”
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
- * (ii) Call the API RSat::ClientSatProfileIndication using the reference of RSat::TSatProfileV6Pckg.
- * (iii) The client notifies the ME for the SET UP CALL using the RSat::NotifySetUpCallPCmd()
- * (iv) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
- *
- * SYMTestExpectedResults
- * Byte 22 of the Terminal profile shall contain support for multimedia call with value
- * KCapsSetUpCallMultimediaCall.
- * Terminal response holds value KSuccess, in the Response package indicating the call has
- * been successfully established.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatSetupCall::testSAT8564L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8564"));
-
- TRequestStatus reqStatus;
-
- RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
- CleanupStack::PushL(profileV6);
-
- RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
- CleanupStack::PushL(profileV6Pckg);
-
- iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL((profileV6->iSatProfileByte22) & (RSat::KCapsSetUpCallMultimediaCall));
-
- TRequestStatus trr = KErrNone;
- trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
- TESTL(trr == KErrNone);
-
- RSat::TSetUpCallV6 *tSetupCallV6 = new(ELeave) RSat::TSetUpCallV6();
- CleanupStack::PushL(tSetupCallV6);
-
- RSat::TSetUpCallV6Pckg *tSetupCallV6Pckg = new(ELeave)RSat::TSetUpCallV6Pckg(*tSetupCallV6);
- CleanupStack::PushL(tSetupCallV6Pckg);
-
- iSat.NotifySetUpCallPCmd(reqStatus,*(tSetupCallV6Pckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- RSat::TSetUpCallRspV2 *tSetupCallRsp = new (ELeave) RSat::TSetUpCallRspV2;
- CleanupStack::PushL(tSetupCallRsp);
-
- RSat::TSetUpCallRspV2Pckg *tSetupCallRspPckgV6 = new (ELeave) RSat::TSetUpCallRspV2Pckg(*tSetupCallRsp);
- CleanupStack::PushL(tSetupCallRspPckgV6);
-
- tSetupCallRsp->iGeneralResult = RSat::KSuccess;
- tSetupCallRsp->iInfoType = RSat::KNoAdditionalInfo;
- tSetupCallRsp->SetPCmdNumber(SIMTSY_SETUP_CALL_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ESetUpCall,*(tSetupCallRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(6);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8564 - Successful"));
-
- return KErrNone;
-
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8565
- *
- * SYMREQ REQ7499
- *
- * SYMTestCaseDesc R6 support for “Set up Call” with the ME not having the capabilities of
- * setting up a multimedia call
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) The client notifies the ME for the SET UP CALL using the RSat::NotifySetUpCallPCmd()
- * (ii) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
- *
- * SYMTestExpectedResults
- * Terminal response holds value KCmdBeyondMeCapabilities in the Response package indicating
- * the terminal is not capable of executing the Proactive command.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatSetupCall::testSAT8565L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8565"));
-
- TRequestStatus reqStatus;
-
- RSat::TSetUpCallV6 *tSetupCallV6 = new(ELeave) RSat::TSetUpCallV6();
- CleanupStack::PushL(tSetupCallV6);
-
- RSat::TSetUpCallV6Pckg *tSetupCallV6Pckg = new(ELeave)RSat::TSetUpCallV6Pckg(*tSetupCallV6);
- CleanupStack::PushL(tSetupCallV6Pckg);
-
- iSat.NotifySetUpCallPCmd(reqStatus,*(tSetupCallV6Pckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- RSat::TSetUpCallRspV2 *tSetupCallRsp = new (ELeave) RSat::TSetUpCallRspV2;
- CleanupStack::PushL(tSetupCallRsp);
-
- RSat::TSetUpCallRspV2Pckg *tSetupCallRspPckgV6 = new (ELeave) RSat::TSetUpCallRspV2Pckg(*tSetupCallRsp);
- CleanupStack::PushL(tSetupCallRspPckgV6);
-
- tSetupCallRsp->iGeneralResult = RSat::KCmdBeyondMeCapabilities;
- tSetupCallRsp->iInfoType = RSat::KNoAdditionalInfo;
- tSetupCallRsp->SetPCmdNumber(SIMTSY_SETUP_CALL_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ESetUpCall,*(tSetupCallRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8565 - Successful"));
-
- return KErrNone;
-
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8566
- *
- * SYMREQ REQ7499
- *
- * SYMTestCaseDesc R6 support for “Set up Call” with the ME not able to process the command as
- * it is busy on another call
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) The client notifies the ME for the SET UP CALL using the RSat::NotifySetUpCallPCmd()
- * (ii) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
- *
- * SYMTestExpectedResults
- * Terminal response holds value KMeUnableToProcessCmd in the Response package indicating the
- * terminal is not capable of executing the Proactive command.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatSetupCall::testSAT8566L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8566"));
-
- TRequestStatus reqStatus;
-
- RSat::TSetUpCallV6 *tSetupCallV6 = new(ELeave) RSat::TSetUpCallV6();
- CleanupStack::PushL(tSetupCallV6);
-
- RSat::TSetUpCallV6Pckg *tSetupCallV6Pckg = new(ELeave)RSat::TSetUpCallV6Pckg(*tSetupCallV6);
- CleanupStack::PushL(tSetupCallV6Pckg);
-
- iSat.NotifySetUpCallPCmd(reqStatus,*(tSetupCallV6Pckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- RSat::TSetUpCallRspV2 *tSetupCallRsp = new (ELeave) RSat::TSetUpCallRspV2;
- CleanupStack::PushL(tSetupCallRsp);
-
- RSat::TSetUpCallRspV2Pckg *tSetupCallRspPckgV6 = new (ELeave) RSat::TSetUpCallRspV2Pckg(*tSetupCallRsp);
- CleanupStack::PushL(tSetupCallRspPckgV6);
-
- _LIT(KText,"KMeBusyOnCall");
- TBuf<254> buf(KText);
- tSetupCallRsp->iGeneralResult = RSat::KMeUnableToProcessCmd;
- tSetupCallRsp->iInfoType = RSat::KMeProblem;
- tSetupCallRsp->iAdditionalInfo = buf;
- tSetupCallRsp->SetPCmdNumber(SIMTSY_SETUP_CALL_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ESetUpCall,*(tSetupCallRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8566 - Successful"));
-
- return KErrNone;
-
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8567
- *
- * SYMREQ REQ7499
- *
- * SYMTestCaseDesc R6 support for “Set up Call” when the terminal is not able to establish a call.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) The client notifies the ME for the SET UP CALL using the RSat::NotifySetUpCallPCmd()
- * with the iDuration (time to redial) set to a valid duration for the redial.
- * (ii) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
- *
- * SYMTestExpectedResults
- * Terminal response holds value KNetworkUnableToProcessCmd in the Response package indicating
- * the terminal is not able to establish the call.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatSetupCall::testSAT8567L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8567"));
-
- TRequestStatus reqStatus;
-
- RSat::TSetUpCallV6 *tSetupCallV6 = new(ELeave) RSat::TSetUpCallV6();
- CleanupStack::PushL(tSetupCallV6);
-
- RSat::TSetUpCallV6Pckg *tSetupCallV6Pckg = new(ELeave)RSat::TSetUpCallV6Pckg(*tSetupCallV6);
- CleanupStack::PushL(tSetupCallV6Pckg);
-
- iSat.NotifySetUpCallPCmd(reqStatus,*(tSetupCallV6Pckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- RSat::TSetUpCallRspV2 *tSetupCallRsp = new (ELeave) RSat::TSetUpCallRspV2;
- CleanupStack::PushL(tSetupCallRsp);
-
- RSat::TSetUpCallRspV2Pckg *tSetupCallRspPckgV6 = new (ELeave) RSat::TSetUpCallRspV2Pckg(*tSetupCallRsp);
- CleanupStack::PushL(tSetupCallRspPckgV6);
-
- _LIT(KText,"KMeBusyOnCall");
- TBuf<254> buf(KText);
- tSetupCallRsp->iGeneralResult = RSat::KNetworkUnableToProcessCmd;
- tSetupCallRsp->iInfoType = RSat::KMeProblem;
- tSetupCallRsp->iAdditionalInfo = buf;
- tSetupCallRsp->SetPCmdNumber(SIMTSY_SETUP_CALL_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ESetUpCall,*(tSetupCallRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8567 - Successful"));
-
- return KErrNone;
-
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8568
- *
- * SYMREQ REQ7499
- *
- * SYMTestCaseDesc Cancellation of the proactive command “Set up Call” with R6 support.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) The client notifies the ME for the SET UP CALL using the RSat::NotifySetUpCallPCmd()
- * (ii) Cancel the previously placed Notification request with the API
- * RSat::CancelAsyncRequest(ESatNotifyPlayTonePCmd).
- *
- * SYMTestExpectedResults
- * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
- * SYMTestType CIT
- */
-
-TInt CSimSatSetupCall::testSAT8568L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8568"));
-
- TRequestStatus reqStatus;
-
- RSat::TSetUpCallV6 *tSetupCallV6 = new(ELeave) RSat::TSetUpCallV6();
- CleanupStack::PushL(tSetupCallV6);
-
- RSat::TSetUpCallV6Pckg *tSetupCallV6Pckg = new(ELeave)RSat::TSetUpCallV6Pckg(*tSetupCallV6);
- CleanupStack::PushL(tSetupCallV6Pckg);
-
- iSat.NotifySetUpCallPCmd(reqStatus,*(tSetupCallV6Pckg));
- iSat.CancelAsyncRequest(ESatNotifySetUpCallPCmd);
- User::WaitForRequest(reqStatus);
- TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
-
- CleanupStack::PopAndDestroy(2);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8568 - Successful"));
-
- return KErrNone;
-
- }
-
-CSimSatRefresh::CSimSatRefresh()
- {
- SetTestStepName(_L("SatTestRefresh"));
- }
-
-TVerdict CSimSatRefresh::doTestStepL()
- {
- INFO_PRINTF1(_L("REFRESH COMMAND TESTING - START"));
-
- CreateConfigFileL(_L("c:\\config4.txt"));
- SetTestNumberL(0);
-
- TInt ret = iPhone.Open(iTelServer,KPhoneName);
- TESTL(ret == KErrNone);
- INFO_PRINTF1(_L("Opened phone object"));
- TESTL(iSat.Open(iPhone)==KErrNone);
- INFO_PRINTF1(_L("Opened Sat object"));
-
- testSAT8569L(); // For testing the TEL-SIMTSY-SAT-8569
- testSAT8570L(); // For testing the TEL-SIMTSY-SAT-8570
- testSAT8571L(); // For testing the TEL-SIMTSY-SAT-8571
-
- iSat.Close();
- iPhone.Close();
- ASSERT(RThread().RequestCount()==0);
-
- INFO_PRINTF1(_L("REFRESH COMMAND TESTING - END"));
-
- return TestStepResult();
-
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8569
- *
- * SYMREQ REQ7339
- *
- * SYMTestCaseDesc R6 support for “Refresh” command in the USIM Initialisation and File Change Notification Mode.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
- * (ii) Call the API RSat::ClientSatProfileIndication using the reference of RSat::TSatProfileV6Pckg.
- * (iii) The client notifies the ME for the REFRESH using the RSat::NotifyRefreshPCmd () with the
- * TRefreshType = ESimInitFileChangeNotification in the TRefreshV6 class parameter.
- * (iv) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
- *
- * SYMTestExpectedResults
- * Byte 22 of the Terminal profile shall contain support for multimedia call with value KCapsRefreshGBA
- * Terminal response contains value as KSuccess, in the Response package.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatRefresh::testSAT8569L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8569"));
-
- TRequestStatus reqStatus;
-
- RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
- CleanupStack::PushL(profileV6);
-
- RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
- CleanupStack::PushL(profileV6Pckg);
-
- iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL((profileV6->iSatProfileByte22) & (RSat::KCapsRefreshGBA));
-
- TRequestStatus trr = KErrNone;
- trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
- TESTL(trr == KErrNone);
-
- RSat::TRefreshV2 *tRefreshV6 = new(ELeave) RSat::TRefreshV2();
- CleanupStack::PushL(tRefreshV6);
- tRefreshV6->iType = RSat::E3GSessionReset;
-
- RSat::TRefreshV2Pckg *tRefreshV6Pckg = new(ELeave)RSat::TRefreshV2Pckg(*tRefreshV6);
- CleanupStack::PushL(tRefreshV6Pckg);
-
- iSat.NotifyRefreshPCmd(reqStatus,*(tRefreshV6Pckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL((tRefreshV6->iType == RSat::ESimInitFileChangeNotification) ||
- (tRefreshV6->iType == RSat::EFileChangeNotification) ||
- (tRefreshV6->iType == RSat::E3GSessionReset));
-
- RSat::TRefreshRspV1 *tRefreshRsp = new (ELeave) RSat::TRefreshRspV1;
- CleanupStack::PushL(tRefreshRsp);
-
- RSat::TRefreshRspV1Pckg *tRefreshRspPckgV6 = new (ELeave) RSat::TRefreshRspV1Pckg(*tRefreshRsp);
- CleanupStack::PushL(tRefreshRspPckgV6);
-
- tRefreshRsp->iGeneralResult = RSat::KSuccess;
- tRefreshRsp->iInfoType = RSat::KNoAdditionalInfo;
- tRefreshRsp->SetPCmdNumber(SIMTSY_REFRESH_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ERefresh,*(tRefreshRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(6);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8569 - Successful"));
-
- return KErrNone;
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8570
- *
- * SYMREQ REQ7339
- *
- * SYMTestCaseDesc R6 support for “Refresh” command in the USIM Application Reset mode.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) The client notifies the ME for the REFRESH using the RSat::NotifyRefreshPCmd ()
- * with the TRefreshType = EUsimApplicationReset in the TRefreshV6 class parameter.
- * (ii) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
- *
- * SYMTestExpectedResults
- * Terminal response contains value as KMeUnableToProcessCmd, in the Response package.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatRefresh::testSAT8570L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8570"));
-
- TRequestStatus reqStatus;
-
- RSat::TRefreshV2 *tRefreshV6 = new(ELeave) RSat::TRefreshV2();
- CleanupStack::PushL(tRefreshV6);
- tRefreshV6->iType = RSat::EFileChangeNotification;
-
- RSat::TRefreshV2Pckg *tRefreshV6Pckg = new(ELeave)RSat::TRefreshV2Pckg(*tRefreshV6);
- CleanupStack::PushL(tRefreshV6Pckg);
-
- iSat.NotifyRefreshPCmd(reqStatus,*(tRefreshV6Pckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(tRefreshV6->iType == RSat::EUsimApplicationReset);
-
- RSat::TRefreshRspV1 *tRefreshRsp = new (ELeave) RSat::TRefreshRspV1;
- CleanupStack::PushL(tRefreshRsp);
-
- RSat::TRefreshRspV1Pckg *tRefreshRspPckgV6 = new (ELeave) RSat::TRefreshRspV1Pckg(*tRefreshRsp);
- CleanupStack::PushL(tRefreshRspPckgV6);
-
- tRefreshRsp->iGeneralResult = RSat::KMeUnableToProcessCmd;
- tRefreshRsp->iInfoType = RSat::KNoAdditionalInfo;
- tRefreshRsp->SetPCmdNumber(SIMTSY_REFRESH_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ERefresh,*(tRefreshRspPckgV6));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8570 - Successful"));
-
- return KErrNone;
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8571
- *
- * SYMREQ REQ7339
- *
- * SYMTestCaseDesc Cancellation of the Proactive command “Refresh” command with R6 support.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) The client notifies the ME for the REFRESH using the RSat::NotifyRefreshPCmd()
- * with the TRefreshType = EUsimApplicationReset in the TRefreshV6 class parameter.
- * (ii) Cancel the previously placed Notification request with the API
- * RSat::CancelAsyncRequest(ESatNotifyRefreshPCmd).
- *
- * SYMTestExpectedResults
- * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
- * SYMTestType CIT
- */
-
-TInt CSimSatRefresh::testSAT8571L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8571"));
-
- TRequestStatus reqStatus;
-
- RSat::TRefreshV2 *tRefreshV6 = new(ELeave) RSat::TRefreshV2();
- CleanupStack::PushL(tRefreshV6);
- tRefreshV6->iType = RSat::E3GSessionReset;
-
- RSat::TRefreshV2Pckg *tRefreshV6Pckg = new(ELeave)RSat::TRefreshV2Pckg(*tRefreshV6);
- CleanupStack::PushL(tRefreshV6Pckg);
-
- iSat.NotifyRefreshPCmd(reqStatus,*(tRefreshV6Pckg));
- iSat.CancelAsyncRequest(ESatNotifyRefreshPCmd);
- User::WaitForRequest(reqStatus);
- TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
-
- CleanupStack::PopAndDestroy(2);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8571 - Successful"));
-
- return KErrNone;
- }
-
-
-CSimSatEventDnld::CSimSatEventDnld()
- {
- SetTestStepName(_L("SatTestRefresh"));
- }
-
-TVerdict CSimSatEventDnld::doTestStepL()
- {
- INFO_PRINTF1(_L("EVENT DOWNLOAD TESTING - START"));
-
- CreateConfigFileL(_L("c:\\config4.txt"));
- SetTestNumberL(0);
-
- TInt ret = iPhone.Open(iTelServer,KPhoneName);
- TESTL(ret == KErrNone);
- INFO_PRINTF1(_L("Opened phone object"));
- TESTL(iSat.Open(iPhone)==KErrNone);
- INFO_PRINTF1(_L("Opened Sat object"));
-
- testSAT8572L(); // For testing the TEL-SIMTSY-SAT-8572
- testSAT8573L(); // For testing the TEL-SIMTSY-SAT-8573
- testSAT8574L(); // For testing the TEL-SIMTSY-SAT-8574
- testSAT8575L(); // For testing the TEL-SIMTSY-SAT-8575
- testSAT8576L(); // For testing the TEL-SIMTSY-SAT-8576
- testSAT8577L(); // For testing the TEL-SIMTSY-SAT-8577
-
- iSat.Close();
- iPhone.Close();
- ASSERT(RThread().RequestCount()==0);
-
- INFO_PRINTF1(_L("EVENT DOWNLOAD TESTING - END"));
-
- return TestStepResult();
-
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8572
- *
- * SYMREQ REQ7343
- *
- * SYMTestCaseDesc EVENT DOWNLOAD Network Search Mode Change
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
- * (ii) Call the API RSat::ClientSatProfileIndication using the reference of RSat::TSatProfileV6Pckg.
- * (iii) The client notifies the ME for the EVENT DOWNLOAD using the RSat::EventDownload () with the
- * eventlist as KNetworkSearchModeChange in the TNetworkSearchModeChangeV6 class parameter.
- *
- * SYMTestExpectedResults
- * Byte 6 of the Terminal profile shall contain support for multimedia call with value
- * KCapsNetworkSearchModeChangeEvent.
- * The EventDownload request completes successfully with KErrNone.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatEventDnld::testSAT8572L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8572"));
-
- TRequestStatus reqStatus;
-
- RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
- CleanupStack::PushL(profileV6);
-
- RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
- CleanupStack::PushL(profileV6Pckg);
-
- iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL((profileV6->iSatProfileByte6) & (RSat::KCapsNetworkSearchModeChangeEvent));
-
- TRequestStatus trr = KErrNone;
- trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
- TESTL(trr == KErrNone);
-
- RSat::TNetworkSearchModeChangeEventV6 *tEventDnldV6 = new(ELeave) RSat::TNetworkSearchModeChangeEventV6();
- CleanupStack::PushL(tEventDnldV6);
-
- RSat::TNetworkSearchModeChangeEventV6Pckg *tEventDnldV6Pckg = new(ELeave)
- RSat::TNetworkSearchModeChangeEventV6Pckg(*tEventDnldV6);
- CleanupStack::PushL(tEventDnldV6Pckg);
-
- tEventDnldV6->iNetworkSearchMode = RSat::EAutomatic;
-
- iSat.EventDownload(reqStatus,RSat::KNetworkSearchModeChange ,*(tEventDnldV6Pckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8572 - Successful"));
-
- return KErrNone;
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8573
- *
- * SYMREQ REQ7343
- *
- * SYMTestCaseDesc Cancellation of EVENT DOWNLOAD Network Search Mode Change
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) The client notifies the ME for the EVENT DOWNLOAD using the RSat:: EventDownload () with the
- * TEventList = KNetworkSearchModeChange in the TNetworkSearchModeChangeV6 class parameter.
- * (ii) Cancel the placed request using RSat::CancelAsyncRequest(ESatEventDownload).
- *
- * SYMTestExpectedResults
- * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
- * SYMTestType CIT
- */
-
-TInt CSimSatEventDnld::testSAT8573L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8573"));
-
- TRequestStatus reqStatus;
-
- RSat::TNetworkSearchModeChangeEventV6 *tEventDnldV6 = new(ELeave) RSat::TNetworkSearchModeChangeEventV6();
-
- CleanupStack::PushL(tEventDnldV6);
-
- RSat::TNetworkSearchModeChangeEventV6Pckg *tEventDnldV6Pckg = new(ELeave)
- RSat::TNetworkSearchModeChangeEventV6Pckg(*tEventDnldV6);
- CleanupStack::PushL(tEventDnldV6Pckg);
-
- tEventDnldV6->iNetworkSearchMode = RSat::EAutomatic;
-
- iSat.EventDownload(reqStatus,RSat::KNetworkSearchModeChange ,*(tEventDnldV6Pckg));
- iSat.CancelAsyncRequest(ESatEventDownload);
- User::WaitForRequest(reqStatus);
- TESTL((reqStatus.Int() == KErrNone) || (reqStatus.Int() == KErrCancel));
-
- CleanupStack::PopAndDestroy(2);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8573 - Successful"));
-
- return KErrNone;
-
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8574
- *
- * SYMREQ REQ7343
- *
- * SYMTestCaseDesc EVENT DOWNLOAD Browsing Status Change
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
- * (ii) Call the API RSat::ClientSatProfileIndication using the reference of RSat::TSatProfileV6Pckg.
- * (iii) The client notifies the ME for the EVENT DOWNLOAD using the RSat::EventDownload () with the
- * eventlist as KBrowsingStatusChange in the TBrowsingStatusChangeV6 class parameter.
- *
- * SYMTestExpectedResults
- * The EventDownload request completes successfully with KErrNone.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatEventDnld::testSAT8574L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8574"));
-
- TRequestStatus reqStatus = KErrNone;
-
- RSat::TBrowsingStatusEventV6 *tBrwStsV6 = new(ELeave) RSat::TBrowsingStatusEventV6();
- CleanupStack::PushL(tBrwStsV6);
-
- RSat::TBrowsingStatusEventV6Pckg *tBrwStsV6Pckg = new(ELeave)RSat::TBrowsingStatusEventV6Pckg(*tBrwStsV6);
- CleanupStack::PushL(tBrwStsV6Pckg);
-
- tBrwStsV6->iBrowserStatus = 0x02;
-
- iSat.EventDownload(reqStatus,RSat::KBrowsingStatusChange ,*(tBrwStsV6Pckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(2);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8574 - Successful"));
-
- return KErrNone;
-
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8575
- *
- * SYMREQ REQ7343
- *
- * SYMTestCaseDesc Cancellation of the EVENT DOWNLOAD command of Browsing Status Change
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) The client notifies the ME for the EVENT DOWNLOAD using the RSat::EventDownload ()
- * with the TEventList as KBrowsingStatusChange in the TBrowsingStatusChangeV6 class parameter.
- * (ii) Cancel the previously placed request using RSat::CancelAsyncRequest(ESatEventDownload).
- *
- * SYMTestExpectedResults
- * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatEventDnld::testSAT8575L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8575"));
-
- TRequestStatus reqStatus;
-
- RSat::TBrowsingStatusEventV6 *tBrwStsV6 = new(ELeave) RSat::TBrowsingStatusEventV6();
- CleanupStack::PushL(tBrwStsV6);
-
- RSat::TBrowsingStatusEventV6Pckg *tBrwStsV6Pckg = new(ELeave)RSat::TBrowsingStatusEventV6Pckg(*tBrwStsV6);
- CleanupStack::PushL(tBrwStsV6Pckg);
-
- tBrwStsV6->iBrowserStatus = 0x05;
-
- iSat.EventDownload(reqStatus,RSat::KBrowsingStatusChange ,*(tBrwStsV6Pckg));
- iSat.CancelAsyncRequest(ESatEventDownload);
- User::WaitForRequest(reqStatus);
- TESTL((reqStatus.Int() == KErrNone) || (reqStatus.Int() == KErrCancel));
-
- CleanupStack::PopAndDestroy(2);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8575 - Successful"));
-
- return KErrNone;
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8576
- *
- * SYMREQ REQ7343
- *
- * SYMTestCaseDesc EVENT DOWNLOAD Frames Information Change
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
- * (ii) Call the API RSat::ClientSatProfileIndication using the reference of RSat::TSatProfileV6Pckg.
- * (iii) The client notifies the ME for the EVENT DOWNLOAD using the RSat::EventDownload () with the
- * eventlist as KFramesInformationChange in the TFramesInformationChangeV6 class parameter.
- *
- * SYMTestExpectedResults
- * The EventDownload request completes successfully with KErrNone.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatEventDnld::testSAT8576L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8576"));
-
- TRequestStatus reqStatus;
-
- RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
- CleanupStack::PushL(profileV6);
-
- RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
- CleanupStack::PushL(profileV6Pckg);
-
- iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL((profileV6->iSatProfileByte25) & (RSat::KCapsFrameParametersChangeEvent));
-
- TRequestStatus trr = KErrNone;
- trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
- TESTL(trr == KErrNone);
-
- RSat::TFramesInformationChangedEventV6 *tFrmsChgV6 = new(ELeave) RSat::TFramesInformationChangedEventV6();
- CleanupStack::PushL(tFrmsChgV6);
-
- RSat::TFramesInformationChangedEventV6Pckg *tFrmsChgV6Pckg = new(ELeave)
- RSat::TFramesInformationChangedEventV6Pckg(*tFrmsChgV6);
- CleanupStack::PushL(tFrmsChgV6Pckg);
-
- _LIT8(KFrameIdBuf,"ABC");
- TBuf8<255> buf(KFrameIdBuf);
- tFrmsChgV6->iFramesInformation.iFrameId = 0x25;
- tFrmsChgV6->iFramesInformation.iFrameList = buf;
-
- iSat.EventDownload(reqStatus,RSat::KFramesInformationChange ,*(tFrmsChgV6Pckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8576 - Successful"));
-
- return KErrNone;
-
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8577
- *
- * SYMREQ REQ7343
- *
- * SYMTestCaseDesc Cancellation of EVENT DOWNLOAD with Frames Information Change.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) The client notifies the ME for the REFRESH using the RSat::EventDownload () with the
- * eventlist as KFramesInformationChange in the TFramesInformationChangeV6 class parameter.
- * (ii) Cancel the previously placed request using RSat::CancelAsyncRequest(ESatEventDownload).
- *
- * SYMTestExpectedResults
- * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
- * SYMTestType CIT
- */
-
-TInt CSimSatEventDnld::testSAT8577L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8577"));
-
- TRequestStatus reqStatus;
-
- RSat::TFramesInformationChangedEventV6 *tFrmsChgV6 = new(ELeave) RSat::TFramesInformationChangedEventV6();
- CleanupStack::PushL(tFrmsChgV6);
-
- RSat::TFramesInformationChangedEventV6Pckg *tFrmsChgV6Pckg = new(ELeave)
- RSat::TFramesInformationChangedEventV6Pckg(*tFrmsChgV6);
- CleanupStack::PushL(tFrmsChgV6Pckg);
-
- _LIT8(KFrameIdBuf,"ABC");
- TBuf8<255> buf(KFrameIdBuf);
- tFrmsChgV6->iFramesInformation.iFrameId = 0x25;
- tFrmsChgV6->iFramesInformation.iFrameList = buf;
-
- iSat.EventDownload(reqStatus,RSat::KFramesInformationChange ,*(tFrmsChgV6Pckg));
- iSat.CancelAsyncRequest(ESatEventDownload);
- User::WaitForRequest(reqStatus);
- TESTL((reqStatus.Int() == KErrNone) || (reqStatus.Int() == KErrCancel));
-
- CleanupStack::PopAndDestroy(2);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8577 - Successful"));
-
- return KErrNone;
-
- }
-
-
-CSimSatSendUssd::CSimSatSendUssd()
- {
- SetTestStepName(_L("SatTestSendUssd"));
- }
-
-TVerdict CSimSatSendUssd::doTestStepL()
- {
- INFO_PRINTF1(_L("SEND USSD TESTING - START"));
-
- CreateConfigFileL(_L("c:\\config4.txt"));
- SetTestNumberL(0);
-
- TInt ret = iPhone.Open(iTelServer,KPhoneName);
- TESTL(ret == KErrNone);
- INFO_PRINTF1(_L("Opened phone object"));
- TESTL(iSat.Open(iPhone)==KErrNone);
- INFO_PRINTF1(_L("Opened Sat object"));
-
- testSAT8578L(); // For testing the TEL-SIMTSY-SAT-8578
- testSAT8579L(); // For testing the TEL-SIMTSY-SAT-8579
- testSAT8580L(); // For testing the TEL-SIMTSY-SAT-8580
- testSAT8581L(); // For testing the TEL-SIMTSY-SAT-8581
- testSAT8582L(); // For testing the TEL-SIMTSY-SAT-8582
-
- iSat.Close();
- iPhone.Close();
- ASSERT(RThread().RequestCount()==0);
-
- INFO_PRINTF1(_L("SEND USSD TESTING - END"));
-
- return TestStepResult();
-
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8578
- *
- * SYMREQ REQ7340
- *
- * SYMTestCaseDesc SEND USSD to support the application mode.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
- * (ii) Call the API RSat::ClientSatProfileIndication using the reference of RSat::TSatProfileV6Pckg.
- *
- * SYMTestExpectedResults
- * The TSatProfileV6 shall have the TSatProfileByte4 set to KCapsSendUSSD .
- * The ClientSatProfileIndication shall return KErrNone.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatSendUssd::testSAT8578L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8578"));
-
- TRequestStatus reqStatus;
-
- RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
- CleanupStack::PushL(profileV6);
-
- RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
- CleanupStack::PushL(profileV6Pckg);
-
- iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(profileV6->iSatProfileByte4 & (RSat::KCapsSendUSSD));
-
- TRequestStatus trr = KErrNone;
- trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
- TESTL(trr == KErrNone);
-
- CleanupStack::PopAndDestroy(2);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8578- Successful"));
-
- return KErrNone;
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8579
- *
- * SYMREQ REQ7340
- *
- * SYMTestCaseDesc SEND USSD to support the application mode.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Call the API RSat::NotifySendUssdPCmd using the TSendUssdV6 as the parameter.
- *
- * SYMTestExpectedResults
- * The NotiftySendUssdPCmd request completes successfully with KErrNone.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatSendUssd::testSAT8579L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8579"));
-
- TRequestStatus reqStatus;
-
- RSat::TSendUssdV6* tSendUssd = new(ELeave) RSat::TSendUssdV6();
- CleanupStack::PushL(tSendUssd);
-
- RSat::TSendUssdV6Pckg* tSendUssdPckg = new(ELeave) RSat::TSendUssdV6Pckg(*tSendUssd);
- CleanupStack::PushL(tSendUssdPckg);
-
- iSat.NotifySendUssdPCmd(reqStatus,*(tSendUssdPckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(tSendUssd->iTextAttribute.iStatus == RSat::ETextAttributeProvided);
- TESTL(tSendUssd->iTextAttribute.iTextAttributeData.Compare(SIMTSY_TXT_ATTR_DATA) ==0);
-
- RSat::TSendUssdRspV1 *tSendUssdRsp = new (ELeave) RSat::TSendUssdRspV1;
- CleanupStack::PushL(tSendUssdRsp);
-
- RSat::TSendUssdRspV1Pckg *tSendUssdRspPckg = new (ELeave) RSat::TSendUssdRspV1Pckg(*tSendUssdRsp);
- CleanupStack::PushL(tSendUssdRspPckg);
-
- tSendUssdRsp->iGeneralResult = RSat::KSuccess;
- tSendUssdRsp->iInfoType = RSat::KNoAdditionalInfo;
- tSendUssdRsp->SetPCmdNumber(SIMTSY_SEND_USSD_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ESendUssd,*(tSendUssdRspPckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8579- Successful"));
-
- return KErrNone;
-
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8580
- *
- * SYMREQ REQ7340
- *
- * SYMTestCaseDesc SEND USSD command rejected by the ME as ME is busy on a USSD transaction
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Client requests notification for RETRIEVE MULTIMEDIA MESSAGE using NotifySendUssdPCmd () API.
- * (ii) UICC issues SEND USSD command to the ME.
- * (iii) ME is unable to execute the command as its busy processing some other USSD transaction.
- * (iv) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
- *
- * SYMTestExpectedResults
- * ME is notified of the request.
- * Upon completion of the proactive command, details are returned in a packaged version of
- * TSendUssdV6in the command parameter.
- * ME responds with KMeUnableToProcessCmd in the Terminal response with the additional information
- * KMeBusyOnUssd.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatSendUssd::testSAT8580L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8580"));
-
- TRequestStatus reqStatus;
-
- RSat::TSendUssdV6* tSendUssd = new(ELeave) RSat::TSendUssdV6();
- CleanupStack::PushL(tSendUssd);
-
- RSat::TSendUssdV6Pckg* tSendUssdPckg = new(ELeave) RSat::TSendUssdV6Pckg(*tSendUssd);
- CleanupStack::PushL(tSendUssdPckg);
-
- iSat.NotifySendUssdPCmd(reqStatus,*(tSendUssdPckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(tSendUssd->iTextAttribute.iStatus == RSat::ETextAttributeProvided);
- TESTL(tSendUssd->iTextAttribute.iTextAttributeData.Compare(SIMTSY_TXT_ATTR_DATA) ==0);
-
- RSat::TSendUssdRspV1 *tSendUssdRsp = new (ELeave) RSat::TSendUssdRspV1;
- CleanupStack::PushL(tSendUssdRsp);
-
- RSat::TSendUssdRspV1Pckg *tSendUssdRspPckg = new (ELeave) RSat::TSendUssdRspV1Pckg(*tSendUssdRsp);
- CleanupStack::PushL(tSendUssdRspPckg);
-
- _LIT(KText,"KMeBusyOnUssd");
- TBuf<254> buf(KText);
- tSendUssdRsp->iGeneralResult = RSat::KMeUnableToProcessCmd;
- tSendUssdRsp->iInfoType = RSat::KMeProblem;
- tSendUssdRsp->iAdditionalInfo = buf;
- tSendUssdRsp->SetPCmdNumber(SIMTSY_SEND_USSD_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ESendUssd,*(tSendUssdRspPckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8580- Successful"));
-
- return KErrNone;
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8581
- *
- * SYMREQ REQ7340
- *
- * SYMTestCaseDesc SEND USSD command rejected by the ME as ME is busy on a SS transaction
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Client requests notification for RETRIEVE MULTIMEDIA MESSAGE using NotifySendUssdPCmd () API.
- * (ii) UICC issues SEND USSD command to the ME.
- * (iii) ME is unable to execute the command as its busy processing some other SS transaction.
- * (iv) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
- *
- * SYMTestExpectedResults
- * ME is notified of the request.
- * Upon completion of the proactive command, details are returned in a packaged version of
- * TSendUssdV6in the command parameter.
- * ME responds with KMeUnableToProcessCmd in the Terminal response with the additional information
- * KMeBusyOnSs.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatSendUssd::testSAT8581L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8581"));
-
- TRequestStatus reqStatus;
-
- RSat::TSendUssdV6* tSendUssd = new(ELeave) RSat::TSendUssdV6();
- CleanupStack::PushL(tSendUssd);
-
- RSat::TSendUssdV6Pckg* tSendUssdPckg = new(ELeave) RSat::TSendUssdV6Pckg(*tSendUssd);
- CleanupStack::PushL(tSendUssdPckg);
-
- iSat.NotifySendUssdPCmd(reqStatus,*(tSendUssdPckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(tSendUssd->iTextAttribute.iStatus == RSat::ETextAttributeProvided);
- TESTL(tSendUssd->iTextAttribute.iTextAttributeData.Compare(SIMTSY_TXT_ATTR_DATA) ==0);
-
- RSat::TSendUssdRspV1 *tSendUssdRsp = new (ELeave) RSat::TSendUssdRspV1;
- CleanupStack::PushL(tSendUssdRsp);
-
- RSat::TSendUssdRspV1Pckg *tSendUssdRspPckg = new (ELeave) RSat::TSendUssdRspV1Pckg(*tSendUssdRsp);
- CleanupStack::PushL(tSendUssdRspPckg);
-
- _LIT(KText,"KMeBusyOnSs");
- TBuf<254> buf(KText);
- tSendUssdRsp->iGeneralResult = RSat::KMeUnableToProcessCmd;
- tSendUssdRsp->iInfoType = RSat::KMeProblem;
- tSendUssdRsp->iAdditionalInfo = buf;
- tSendUssdRsp->SetPCmdNumber(SIMTSY_SEND_USSD_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::ESendUssd,*(tSendUssdRspPckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8581- Successful"));
-
- return KErrNone;
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8582
- *
- * SYMREQ REQ7340
- *
- * SYMTestCaseDesc Cancellation of SEND USSD command
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Call the API RSat::NotifySendUssdPCmd using the TSendUssdV6 as the parameter.
- * (ii) Cancel the request using RSat::CancelAsyncRequest(ESatNotifySendUssdPCmd).
- *
- * SYMTestExpectedResults
- * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
- * SYMTestType CIT
- */
-
-TInt CSimSatSendUssd::testSAT8582L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8582"));
-
- TRequestStatus reqStatus;
-
- RSat::TSendUssdV6* tSendUssd = new(ELeave) RSat::TSendUssdV6();
- CleanupStack::PushL(tSendUssd);
-
- RSat::TSendUssdV6Pckg* tSendUssdPckg = new(ELeave) RSat::TSendUssdV6Pckg(*tSendUssd);
- CleanupStack::PushL(tSendUssdPckg);
-
- iSat.NotifySendUssdPCmd(reqStatus,*(tSendUssdPckg));
- iSat.CancelAsyncRequest(ESatNotifySendUssdPCmd);
- User::WaitForRequest(reqStatus);
- TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
-
- CleanupStack::PopAndDestroy(2);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8582 - Successful"));
-
- return KErrNone;
- }
-
-CSimSatGenPCmd::CSimSatGenPCmd()
- {
- SetTestStepName(_L("SatTestGenPCmd"));
- }
-
-TVerdict CSimSatGenPCmd::doTestStepL()
- {
- INFO_PRINTF1(_L("FrameIdentifier and Text attribute TESTING - START"));
-
- CreateConfigFileL(_L("c:\\config4.txt"));
- SetTestNumberL(0);
-
- TInt ret = iPhone.Open(iTelServer,KPhoneName);
- TESTL(ret == KErrNone);
- INFO_PRINTF1(_L("Opened phone object"));
- TESTL(iSat.Open(iPhone)==KErrNone);
- INFO_PRINTF1(_L("Opened Sat object"));
-
- testSAT8583L(); // For testing the TEL-SIMTSY-SAT-8583
- testSAT8584L(); // For testing the TEL-SIMTSY-SAT-8584
-
- iSat.Close();
- iPhone.Close();
- ASSERT(RThread().RequestCount()==0);
-
- INFO_PRINTF1(_L("SEND USSD TESTING - END"));
-
- return TestStepResult();
-
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8583
- *
- * SYMREQ REQ7344
- *
- * SYMTestCaseDesc Extended support for the proactive commands for which the frame identifier is being added.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Call the API RSat::NotifyGetInkeyPCmd using the TGetInkeyV6 as the parameter that contains
- * the Frame identifier and the iExtensionID as RSat::KSatV6.
- *
- * SYMTestExpectedResults
- * The request shall be successfully completed with return status as KErrNone.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatGenPCmd::testSAT8583L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8583"));
-
- TRequestStatus reqStatus;
-
- RSat::TGetInkeyV6* tGetInkey = new(ELeave) RSat::TGetInkeyV6;
- CleanupStack::PushL(tGetInkey);
-
- RSat::TGetInkeyV6Pckg *tGetInkeyPckg = new(ELeave) RSat::TGetInkeyV6Pckg(*tGetInkey);
- CleanupStack::PushL(tGetInkeyPckg);
-
- iSat.NotifyGetInkeyPCmd(reqStatus,*(tGetInkeyPckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(tGetInkey->iFrameId == 0x25);
-
- RSat::TGetInkeyRspV2* tGetInkeyRsp = new (ELeave)RSat::TGetInkeyRspV2;
- CleanupStack::PushL(tGetInkeyRsp);
-
- RSat::TGetInkeyRspV2Pckg *tGetInkeyRspPckg = new(ELeave)RSat::TGetInkeyRspV2Pckg(*tGetInkeyRsp);
- CleanupStack::PushL(tGetInkeyRspPckg);
-
- tGetInkeyRsp->iGeneralResult = RSat::KSuccess;
- tGetInkeyRsp->iInfoType = RSat::KNoAdditionalInfo;
- tGetInkeyRsp->SetPCmdNumber(SIMTSY_GET_INKEY_PCMD_NUMBER);
-
- iSat.TerminalRsp(reqStatus,RSat::EGetInkey,*(tGetInkeyRspPckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int() == KErrNone);
-
- CleanupStack::PopAndDestroy(4);
-
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8583- Successful"));
-
- return KErrNone;
-
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8584
- *
- * SYMREQ REQ7500
- *
- * SYMTestCaseDesc Extended support for the proactive commands for which the text attributes are being added.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Call the API RSat:: NotifySendSsPCmd using the TSendSsV6 as the parameter that contains the
- * text attributes and the iExtensionID as RSat::KSatV6.
- *
- * SYMTestExpectedResults
- * The request shall be successfully completed with return status as KErrNone.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatGenPCmd::testSAT8584L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8584"));
-
- TRequestStatus reqStatus;
-
- RSat::TSendSsV6* tSendSS = new (ELeave)RSat::TSendSsV6;
- CleanupStack::PushL(tSendSS);
-
- RSat::TSendSsV6Pckg* tSendSSpckg = new (ELeave)RSat::TSendSsV6Pckg(*tSendSS);
- CleanupStack::PushL(tSendSSpckg);
-
- iSat.NotifySendSsPCmd(reqStatus,*(tSendSSpckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(tSendSS->ExtensionId() == RSat::KSatV6);
- TESTL(tSendSS->iTextAttribute.iStatus == RSat::ETextAttributeProvided);
- TESTL(tSendSS->iTextAttribute.iTextAttributeData.Compare(SIMTSY_TXT_ATTR_DATA) == 0);
-
- CleanupStack::PopAndDestroy(2);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8584- Successful"));
-
- return KErrNone;
-
- }
-
-
-CSimSatElemFile::CSimSatElemFile()
- {
- SetTestStepName(_L("SatTestElemFiles"));
- }
-
-TVerdict CSimSatElemFile::doTestStepL()
- {
- INFO_PRINTF1(_L("ELEMENTARY FILES TESTING - START"));
-
- CreateConfigFileL(_L("c:\\config4.txt"));
- SetTestNumberL(0);
-
- TInt ret = iPhone.Open(iTelServer,KPhoneName);
- TESTL(ret == KErrNone);
- INFO_PRINTF1(_L("Opened phone object"));
- TESTL(iSat.Open(iPhone)==KErrNone);
- INFO_PRINTF1(_L("Opened Sat object"));
-
- testSAT8585L(); // For testing the TEL-SIMTSY-SAT-8585
- testSAT8586L(); // For testing the TEL-SIMTSY-SAT-8586
-
- iSat.Close();
- iPhone.Close();
- ASSERT(RThread().RequestCount()==0);
-
- INFO_PRINTF1(_L("ELEMENTARY FILES TESTING - END"));
-
- return TestStepResult();
-
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8585
- *
- * SYMREQ REQ7771
- *
- * SYMTestCaseDesc Elementary File change when a RETRIEVE MULTIMEDIA MESSAGE command is issued by UICC to ME.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Client requests notification for RETRIEVE MULTIMEDIA MESSAGE using
- * RSat::NotifyRetrieveMultimediaMsgPCmd () API.
- * (ii) UICC issues RETRIEVE MULTIMEDIA MESSAGE command to the ME.
- * (iii) Clients requests notification for REFRESH using the RSat::NotifyRefreshPCmd() API
- * with the TRefreshV1Pckg class.
- * (iv) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
- *
- * SYMTestExpectedResults
- * The TRefreshV1Pckg shall consists of the EFs EFMML and EFMMDF in the Filelist as the modified EFs.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatElemFile::testSAT8585L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8585"));
-
- TRequestStatus reqStatus;
-
- RSat::TRetrieveMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TRetrieveMultimediaMessageV6;
- CleanupStack::PushL(tMMMessageV6);
-
- RSat::TRetrieveMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
- RSat::TRetrieveMultimediaMessageV6Pckg(*tMMMessageV6);
- CleanupStack::PushL(tMMMessagePckg);
-
- iSat.NotifyRetrieveMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- RSat::TRefreshV2 *tRefreshV6 = new(ELeave) RSat::TRefreshV2();
- CleanupStack::PushL(tRefreshV6);
-
- RSat::TRefreshV2Pckg *tRefreshV6Pckg = new(ELeave)RSat::TRefreshV2Pckg(*tRefreshV6);
- CleanupStack::PushL(tRefreshV6Pckg);
-
- iSat.NotifyRefreshPCmd(reqStatus,*(tRefreshV6Pckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(tRefreshV6->iFileList.Length()==2);
- TESTL(tRefreshV6->iFileList[0]==SIMTSY_MM_ELEM_FILE1);
- TESTL(tRefreshV6->iFileList[1]==SIMTSY_MM_ELEM_FILE2);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8585- Successful"));
-
- return KErrNone;
-
- }
-
-/*
- * SYMTestCaseID TEL-SIMTSY-NA-8586
- *
- * SYMREQ REQ7771
- *
- * SYMTestCaseDesc Elementary File change when a SUBMIT MULTIMEDIA MESSAGE command is issued by UICC to ME.
- *
- * SYMTestPriority High
- *
- * SYMTestActions
- * (i) Client requests notification for SUBMIT MULTIMEDIA MESSAGE using
- * RSat::NotifyRetrieveMultimediaMsgPCmd () API.
- * (ii) UICC issues SUBMIT MULTIMEDIA MESSAGE command to the ME.
- * (iii) Clients requests notification for REFRESH using the RSat::NotifyRefreshPCmd() API with the
- * TRefreshV1Pckg class.
- * (iv) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
- *
- * SYMTestExpectedResults
- * The TRefreshV1Pckg shall consists of the EFs EFMML and EFMMDF in the Filelist as the modified EFs.
- *
- * SYMTestType CIT
- */
-
-TInt CSimSatElemFile::testSAT8586L()
- {
-
- INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8586"));
-
- TRequestStatus reqStatus;
-
- RSat::TSubmitMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TSubmitMultimediaMessageV6;
- CleanupStack::PushL(tMMMessageV6);
-
- RSat::TSubmitMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
- RSat::TSubmitMultimediaMessageV6Pckg(*tMMMessageV6);
- CleanupStack::PushL(tMMMessagePckg);
-
- iSat.NotifySubmitMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- RSat::TRefreshV2 *tRefreshV6 = new(ELeave) RSat::TRefreshV2();
- CleanupStack::PushL(tRefreshV6);
-
- RSat::TRefreshV2Pckg *tRefreshV6Pckg = new(ELeave)RSat::TRefreshV2Pckg(*tRefreshV6);
- CleanupStack::PushL(tRefreshV6Pckg);
-
- iSat.NotifyRefreshPCmd(reqStatus,*(tRefreshV6Pckg));
- User::WaitForRequest(reqStatus);
- TESTL(reqStatus.Int()==KErrNone);
-
- TESTL(tRefreshV6->iFileList.Length()==2);
- TESTL(tRefreshV6->iFileList[0]==SIMTSY_MM_ELEM_FILE1);
- TESTL(tRefreshV6->iFileList[1]==SIMTSY_MM_ELEM_FILE2);
-
- CleanupStack::PopAndDestroy(4);
-
- INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8586- Successful"));
-
- return KErrNone;
- }
-
+// Copyright (c) 2005-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 "SimConstants.h"
+#include "Te_SimSatTest.h"
+
+CSimSatTest::CSimSatTest()
+ {
+ SetTestStepName(_L("SatTest"));
+ }
+
+TVerdict CSimSatTest::doTestStepL()
+ {
+ INFO_PRINTF1(_L("BeginSatTest"));
+
+ CreateConfigFileL(_L("c:\\config4.txt"));
+ SetTestNumberL(0);
+
+ TInt ret = iPhone.Open(iTelServer,KPhoneName);
+ INFO_PRINTF2(_L("Result: %d"),ret);
+ TESTL(ret == KErrNone);
+ INFO_PRINTF1(_L("Opened phone object"));
+ TESTL(iSat.Open(iPhone)==KErrNone);
+ INFO_PRINTF1(_L("Opened Sat object"));
+
+ // local variables used throughout the sat tests
+ TRequestStatus reqStatusPCmd;
+ TRequestStatus reqStatusRequired;
+ TRequestStatus reqStatusAllowed;
+
+
+ // Refresh
+ RSat::TRefreshV1 refresh;
+ RSat::TRefreshV1Pckg refreshPckg(refresh);
+
+ iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
+ User::WaitForRequest(reqStatusPCmd);
+ TESTL(reqStatusPCmd.Int()==KErrNone);
+
+ TESTL(refresh.iType==SIMTSY_REFRESH_TYPE1);
+ TESTL(refresh.iFileList.Length()==1);
+ TESTL(refresh.iFileList[0]==SIMTSY_REFRESH_FILE1);
+ INFO_PRINTF1(_L("SAT Refresh test 1 passed"));
+
+ // Refresh Cancel
+ iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
+ iSat.CancelAsyncRequest(ESatNotifyRefreshPCmd);
+ User::WaitForRequest(reqStatusPCmd);
+ TESTL(reqStatusPCmd.Int()==KErrCancel);
+ INFO_PRINTF1(_L("SAT Refresh Cancel test passed"));
+
+ iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
+ User::WaitForRequest(reqStatusPCmd);
+ TESTL(reqStatusPCmd.Int()==KErrNone);
+
+ TESTL(refresh.iType==SIMTSY_REFRESH_TYPE2);
+ TESTL(refresh.iFileList.Length()==1);
+ TESTL(refresh.iFileList[0]==SIMTSY_REFRESH_FILE2);
+ INFO_PRINTF1(_L("SAT Refresh test 2 passed"));
+
+ iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
+ User::WaitForRequest(reqStatusPCmd);
+ TESTL(reqStatusPCmd.Int()==KErrNone);
+
+ TESTL(refresh.iType==SIMTSY_REFRESH_TYPE3);
+ TESTL(refresh.iFileList.Length()==2);
+ TESTL(refresh.iFileList[0]==SIMTSY_REFRESH_FILE1);
+ TESTL(refresh.iFileList[1]==SIMTSY_REFRESH_FILE2);
+ INFO_PRINTF1(_L("SAT Refresh test 3 passed"));
+
+ // Refresh Required successful test
+ iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
+
+ iSat.NotifyRefreshRequired(reqStatusRequired);
+ User::WaitForRequest(reqStatusRequired);
+ TESTL(reqStatusRequired.Int()==KErrNone);
+
+ // Refresh Required Response
+ RSat::TRefreshRspV1* refreshAllowedRsp = new (ELeave) RSat::TRefreshRspV1;
+ CleanupStack::PushL(refreshAllowedRsp);
+ RSat::TRefreshRspV1Pckg* refreshAllowedRspPckg = new (ELeave) RSat::TRefreshRspV1Pckg(*refreshAllowedRsp);
+ CleanupStack::PushL(refreshAllowedRspPckg);
+
+ refreshAllowedRsp->iGeneralResult=SIMTSY_REFRESH_RESULT_SUCCESS;
+ refreshAllowedRsp->iInfoType=SIMTSY_REFRESH_RSP_NO_INFO;
+ refreshAllowedRsp->iAdditionalInfo=SIMTSY_REFRESH_NULL_BUF;
+
+ iSat.RefreshAllowed(reqStatusAllowed, *refreshAllowedRspPckg);
+ User::WaitForRequest(reqStatusAllowed);
+ TESTL(reqStatusAllowed.Int()==KErrNone);
+
+ // Wait for completion of outstanding PCmd now permission given
+ User::WaitForRequest(reqStatusPCmd);
+ TESTL(reqStatusPCmd.Int()==KErrNone);
+
+ TESTL(refresh.iType==SIMTSY_REFRESH_TYPE1);
+ TESTL(refresh.iFileList.Length()==1);
+ TESTL(refresh.iFileList[0]==SIMTSY_REFRESH_FILE1);
+ INFO_PRINTF1(_L("SAT NotifyRefreshRequired test 1 passed"));
+
+ // Refresh Required unsuccessful test
+ iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
+
+ iSat.NotifyRefreshRequired(reqStatusRequired);
+ User::WaitForRequest(reqStatusRequired);
+ TESTL(reqStatusRequired.Int()==KErrNone);
+
+ // Refresh Required Response
+ refreshAllowedRsp->iGeneralResult=SIMTSY_REFRESH_RESULT_FAIL;
+
+ iSat.RefreshAllowed(reqStatusAllowed, *refreshAllowedRspPckg);
+ User::WaitForRequest(reqStatusAllowed);
+ TESTL(reqStatusAllowed.Int()==KErrNone);
+
+ // Cancel ESatNotifyRefreshPCmd due to failing RefreshAllowed
+ iSat.CancelAsyncRequest(ESatNotifyRefreshPCmd);
+ User::WaitForRequest(reqStatusPCmd);
+ TESTL(reqStatusPCmd.Int()==KErrCancel);
+ INFO_PRINTF1(_L("SAT NotifyRefreshPCmd Cancel test passed"));
+
+ // Refresh Required second successful test
+ iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
+
+ iSat.NotifyRefreshRequired(reqStatusRequired);
+ User::WaitForRequest(reqStatusRequired);
+ TESTL(reqStatusRequired.Int()==KErrNone);
+
+ // Refresh Required Response
+ refreshAllowedRsp->iGeneralResult=SIMTSY_REFRESH_RESULT_SUCCESS;
+
+ iSat.RefreshAllowed(reqStatusAllowed, *refreshAllowedRspPckg);
+ User::WaitForRequest(reqStatusAllowed);
+ TESTL(reqStatusAllowed.Int()==KErrNone);
+
+ // Wait for completion of outstanding PCmd now permission given
+ User::WaitForRequest(reqStatusPCmd);
+ TESTL(reqStatusPCmd.Int()==KErrNone);
+
+ TESTL(refresh.iType==SIMTSY_REFRESH_TYPE2);
+ TESTL(refresh.iFileList.Length()==1);
+ TESTL(refresh.iFileList[0]==SIMTSY_REFRESH_FILE2);
+ INFO_PRINTF1(_L("SAT NotifyRefreshRequired test 2 passed"));
+
+ // Refresh Required third successful test
+ iSat.NotifyRefreshRequired(reqStatusRequired);
+ User::WaitForRequest(reqStatusRequired);
+ TESTL(reqStatusRequired.Int()==KErrNone);
+
+ iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
+
+ // Refresh Required Response
+ iSat.RefreshAllowed(reqStatusAllowed, *refreshAllowedRspPckg);
+ User::WaitForRequest(reqStatusAllowed);
+ TESTL(reqStatusAllowed.Int()==KErrNone);
+
+ // Wait for completion of outstanding PCmd now permission given
+ User::WaitForRequest(reqStatusPCmd);
+ TESTL(reqStatusPCmd.Int()==KErrNone);
+
+ TESTL(refresh.iType==SIMTSY_REFRESH_TYPE3);
+ TESTL(refresh.iFileList.Length()==2);
+ TESTL(refresh.iFileList[0]==SIMTSY_REFRESH_FILE1);
+ TESTL(refresh.iFileList[1]==SIMTSY_REFRESH_FILE2);
+ INFO_PRINTF1(_L("SAT NotifyRefreshRequired test 3 passed"));
+
+ // Refresh Required Cancel test
+ iSat.NotifyRefreshRequired(reqStatusRequired);
+ iSat.CancelAsyncRequest(ESatNotifyRefreshRequired);
+ User::WaitForRequest(reqStatusRequired);
+ TESTL(reqStatusRequired.Int()==KErrCancel);
+ INFO_PRINTF1(_L("SAT NotifyRefreshRequired Cancel test passed"));
+
+ // RefreshAllowed Cancel test
+ iSat.RefreshAllowed(reqStatusAllowed, *refreshAllowedRspPckg);
+ iSat.CancelAsyncRequest(ESatRefreshAllowed);
+ User::WaitForRequest(reqStatusAllowed);
+ // Test for either KErrNone or KErrCancel since we expect the request to be responded to immediately
+ TESTL(reqStatusAllowed.Int()==KErrNone || reqStatusAllowed.Int()==KErrCancel);
+ INFO_PRINTF1(_L("SAT RefreshAllowed Cancel test passed"));
+
+ // Refresh Required test successful repeated with parameterised NotifyRefreshRequired
+ iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
+
+ // Refresh
+ RSat::TRefreshV1 refreshRequired;
+ RSat::TRefreshV1Pckg refreshRequiredPckg(refreshRequired);
+
+ iSat.NotifyRefreshRequired(reqStatusRequired, refreshRequiredPckg);
+ User::WaitForRequest(reqStatusRequired);
+ TESTL(reqStatusRequired.Int()==KErrNone);
+
+ TESTL(refreshRequired.iType==SIMTSY_REFRESH_TYPE1);
+ TESTL(refreshRequired.iFileList.Length()==1);
+ TESTL(refreshRequired.iFileList[0]==SIMTSY_REFRESH_FILE1);
+
+ refreshAllowedRsp->iGeneralResult=SIMTSY_REFRESH_RESULT_SUCCESS;
+ refreshAllowedRsp->iInfoType=SIMTSY_REFRESH_RSP_NO_INFO;
+ refreshAllowedRsp->iAdditionalInfo=SIMTSY_REFRESH_NULL_BUF;
+
+ iSat.RefreshAllowed(reqStatusAllowed, *refreshAllowedRspPckg);
+
+ User::WaitForRequest(reqStatusAllowed);
+ TESTL(reqStatusAllowed.Int()==KErrNone);
+
+ // Wait for completion of outstanding PCmd now permission given
+ User::WaitForRequest(reqStatusPCmd);
+ TESTL(reqStatusPCmd.Int()==KErrNone);
+
+ TESTL(refresh.iType==SIMTSY_REFRESH_TYPE1);
+ TESTL(refresh.iFileList.Length()==1);
+ TESTL(refresh.iFileList[0]==SIMTSY_REFRESH_FILE1);
+
+ INFO_PRINTF1(_L("SAT NotifyRefreshRequiredParam test 1 passed"));
+
+ // Refresh Required unsuccessful test
+ iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
+
+ iSat.NotifyRefreshRequired(reqStatusRequired, refreshRequiredPckg);
+ User::WaitForRequest(reqStatusRequired);
+ TESTL(reqStatusRequired.Int()==KErrNone);
+
+ // Refresh Required Response
+ refreshAllowedRsp->iGeneralResult=SIMTSY_REFRESH_RESULT_FAIL;
+
+ iSat.RefreshAllowed(reqStatusAllowed, *refreshAllowedRspPckg);
+ User::WaitForRequest(reqStatusAllowed);
+ TESTL(reqStatusAllowed.Int()==KErrNone);
+
+ // Cancel ESatNotifyRefreshPCmd due to failing RefreshAllowed
+ iSat.CancelAsyncRequest(ESatNotifyRefreshPCmd);
+ User::WaitForRequest(reqStatusPCmd);
+ TESTL(reqStatusPCmd.Int()==KErrCancel);
+ INFO_PRINTF1(_L("SAT NotifyRefreshPCmd Cancel test passed"));
+
+ // Refresh Required second successful test
+ iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
+
+ iSat.NotifyRefreshRequired(reqStatusRequired, refreshRequiredPckg);
+ User::WaitForRequest(reqStatusRequired);
+ TESTL(reqStatusRequired.Int()==KErrNone);
+
+ TESTL(refreshRequired.iType==SIMTSY_REFRESH_TYPE2);
+ TESTL(refreshRequired.iFileList.Length()==1);
+ TESTL(refreshRequired.iFileList[0]==SIMTSY_REFRESH_FILE2);
+
+ // Refresh Required Response
+ refreshAllowedRsp->iGeneralResult=SIMTSY_REFRESH_RESULT_SUCCESS;
+
+ iSat.RefreshAllowed(reqStatusAllowed, *refreshAllowedRspPckg);
+ User::WaitForRequest(reqStatusAllowed);
+ TESTL(reqStatusAllowed.Int()==KErrNone);
+
+ // Wait for completion of outstanding PCmd now permission given
+ User::WaitForRequest(reqStatusPCmd);
+ TESTL(reqStatusPCmd.Int()==KErrNone);
+
+ TESTL(refresh.iType==SIMTSY_REFRESH_TYPE2);
+ TESTL(refresh.iFileList.Length()==1);
+ TESTL(refresh.iFileList[0]==SIMTSY_REFRESH_FILE2);
+
+ INFO_PRINTF1(_L("SAT NotifyRefreshRequiredParam test 2 passed"));
+
+ // Refresh Required third successful test
+ iSat.NotifyRefreshRequired(reqStatusRequired, refreshRequiredPckg);
+ User::WaitForRequest(reqStatusRequired);
+ TESTL(reqStatusRequired.Int()==KErrNone);
+
+ TESTL(refreshRequired.iType==SIMTSY_REFRESH_TYPE3);
+ TESTL(refreshRequired.iFileList.Length()==2);
+ TESTL(refreshRequired.iFileList[0]==SIMTSY_REFRESH_FILE1);
+ TESTL(refreshRequired.iFileList[1]==SIMTSY_REFRESH_FILE2);
+
+ iSat.NotifyRefreshPCmd(reqStatusPCmd,refreshPckg);
+
+ // Refresh Required Response
+ iSat.RefreshAllowed(reqStatusAllowed, *refreshAllowedRspPckg);
+ User::WaitForRequest(reqStatusAllowed);
+ TESTL(reqStatusAllowed.Int()==KErrNone);
+
+ // Wait for completion of outstanding PCmd now permission given
+ User::WaitForRequest(reqStatusPCmd);
+ TESTL(reqStatusPCmd.Int()==KErrNone);
+
+ TESTL(refreshRequired.iType==SIMTSY_REFRESH_TYPE3);
+ TESTL(refreshRequired.iFileList.Length()==2);
+ TESTL(refreshRequired.iFileList[0]==SIMTSY_REFRESH_FILE1);
+ TESTL(refreshRequired.iFileList[1]==SIMTSY_REFRESH_FILE2);
+
+ INFO_PRINTF1(_L("SAT NotifyRefreshRequiredParam test 3 passed"));
+
+ // Refresh Required Cancel test
+ iSat.NotifyRefreshRequired(reqStatusRequired, refreshRequiredPckg);
+ iSat.CancelAsyncRequest(ESatNotifyRefreshRequiredParam);
+ User::WaitForRequest(reqStatusRequired);
+ TESTL(reqStatusRequired.Int()==KErrNone || reqStatusRequired.Int()==KErrCancel);
+ INFO_PRINTF1(_L("SAT NotifyRefreshRequired Cancel test passed"));
+
+ // RefreshAllowed Cancel test
+ iSat.RefreshAllowed(reqStatusAllowed, *refreshAllowedRspPckg);
+ iSat.CancelAsyncRequest(ESatRefreshAllowed);
+ User::WaitForRequest(reqStatusAllowed);
+ // Test for either KErrNone or KErrCancel since we expect the request to be responded to immediately
+ TESTL(reqStatusAllowed.Int()==KErrNone || reqStatusAllowed.Int()==KErrCancel);
+ INFO_PRINTF1(_L("SAT RefreshAllowed Cancel test passed"));
+
+ CleanupStack::PopAndDestroy(2);
+
+ iSat.Close();
+ iPhone.Close();
+ ASSERT(RThread().RequestCount()==0);
+
+ return TestStepResult();
+ }
+
+
+CSimSatRetMMPCmdTest::CSimSatRetMMPCmdTest()
+ {
+ SetTestStepName(_L("SatTestRetMMPCmd"));
+ }
+
+
+TVerdict CSimSatRetMMPCmdTest::doTestStepL()
+ {
+ INFO_PRINTF1(_L("RETRIEVE MULTIMEDIA PCMD TESTING - START"));
+
+ CreateConfigFileL(_L("c:\\config4.txt"));
+ SetTestNumberL(0);
+
+ TInt ret = iPhone.Open(iTelServer,KPhoneName);
+ TESTL(ret == KErrNone);
+ INFO_PRINTF1(_L("Opened phone object"));
+ TESTL(iSat.Open(iPhone)==KErrNone);
+ INFO_PRINTF1(_L("Opened Sat object"));
+
+ testSAT8501L(); // For testing the TEL-SIMTSY-SAT-8501
+ testSAT8502L(); // For testing the TEL-SIMTSY-SAT-8502
+ testSAT8503L(); // For testing the TEL-SIMTSY-SAT-8503
+ testSAT8504L(); // For testing the TEL-SIMTSY-SAT-8504
+ testSAT8505L(); // For testing the TEL-SIMTSY-SAT-8505
+ testSAT8506L(); // For testing the TEL-SIMTSY-SAT-8506
+ testSAT8507L(); // For testing the TEL-SIMTSY-SAT-8507
+ testSAT8508L(); // For testing the TEL-SIMTSY-SAT-8508
+
+ iSat.Close();
+ iPhone.Close();
+ ASSERT(RThread().RequestCount()==0);
+
+ INFO_PRINTF1(_L("RETRIEVE MULTIMEDIA PCMD TESTING - END"));
+
+ return TestStepResult();
+
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8501
+ *
+ * SYMREQ REQ7329
+ *
+ * SYMTestCaseDesc UICC issues RETRIEVE MULTIMEDIA Proactive command to
+ * ME successfully
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Client requests notification for RETRIEVE MM using RSat::NotifyRetrieveMultimediaMsgPCmd() API.
+ * (ii) UICC issues RETRIEVE MULTIMEDIA MESSAGE command to the ME.
+ * (iii) ME sends Terminal Response to the UICC using RSat::TerminalRsp ()
+ *
+ * SYMTestExpectedResults
+ * ME is notified of the request.
+ * Upon completion of the proactive command, details are returned in a
+ * packaged version of TRetrieveMultimediaMessageV6 in the command
+ * parameter.
+ * ME responds with KSuccess in the Terminal response command for the
+ * TRequestStatus variable
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatRetMMPCmdTest::testSAT8501L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8501"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TRetrieveMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TRetrieveMultimediaMessageV6;
+ CleanupStack::PushL(tMMMessageV6);
+
+ RSat::TRetrieveMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave) RSat::TRetrieveMultimediaMessageV6Pckg
+ (*tMMMessageV6);
+ CleanupStack::PushL(tMMMessagePckg);
+
+ iSat.NotifyRetrieveMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(tMMMessageV6->iDestination == SIMTSY_DEVICEID_ME);
+ TESTL(tMMMessageV6->iAlphaId.iStatus == SIMTSY_ALPHAID_STATUS);
+ TESTL(tMMMessageV6->iAlphaId.iAlphaId.Compare(SIMTSY_ALPHAID_BUF) == 0);
+ TESTL(tMMMessageV6->iIconId.iQualifier == SIMTSY_ICONID_QLFR);
+ TESTL(tMMMessageV6->iIconId.iIdentifier == SIMTSY_ICONID_ID);
+ TESTL(tMMMessageV6->iMultimediaMessageRef.Compare(SIMTSY_MMMSG_REF_FILES) ==0);
+ TESTL(tMMMessageV6->iReceptionFile.Compare(SIMTSY_RCPTION_FILES) ==0);
+ TESTL(tMMMessageV6->iMultimediaContentId.Compare(SIMTSY_MMCONTENT_ID_DATA) ==0);
+ TESTL(tMMMessageV6->iMultimediaMessageId.Compare(SIMTSY_MMMSG_ID_DATA) ==0);
+ TESTL(tMMMessageV6->iTextAttribute.iStatus == SIMTSY_TXT_ATTR_STATUS);
+ TESTL(tMMMessageV6->iTextAttribute.iTextAttributeData.Compare(SIMTSY_TXT_ATTR_DATA) ==0);
+
+ RSat::TRetrieveMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TRetrieveMultimediaMessageRspV6;
+ CleanupStack::PushL(tMMMessageRspV6);
+
+ RSat::TRetrieveMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
+ RSat::TRetrieveMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
+ CleanupStack::PushL(tMMMessageRspPckgV6);
+
+ tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
+ tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
+ tMMMessageRspV6->SetPCmdNumber(SIMTSY_RET_MM_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ERetrieveMultimediaMsg,*(tMMMessageRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()== KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8501 - Successful"));
+ return KErrNone;
+
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8502
+ *
+ * SYMREQ REQ7329
+ *
+ * SYMTestCaseDesc Retrieve Multimedia command rejected by the ME as ME is busy on a MMS transaction.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Client requests notification for RETRIEVE MULTIMEDIA MESSAGE using NotifyRetrieveMultimediaMsgPCmd()
+ * API.
+ * (ii) UICC issues RETRIEVE MULTIMEDIA MESSAGE command to the ME.
+ * (iii) ME is unable to execute the command as its busy processing some other MMS transaction.
+ * (iv) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
+ *
+ * SYMTestExpectedResults
+ * ME is notified of the request.
+ * Upon completion of the proactive command, details are returned in a packaged version of
+ * TRetrieveMultimediaMessageV6 in the command parameter.
+ * ME responds with KMMSTemporaryProblem in the Terminal response as the TPCmdResult with the
+ * additional information ‘KNoSpecificMeProblem’.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatRetMMPCmdTest::testSAT8502L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8502"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TRetrieveMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TRetrieveMultimediaMessageV6;
+ CleanupStack::PushL(tMMMessageV6);
+
+ RSat::TRetrieveMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave) RSat::TRetrieveMultimediaMessageV6Pckg
+ (*tMMMessageV6);
+ CleanupStack::PushL(tMMMessagePckg);
+
+ iSat.NotifyRetrieveMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(tMMMessageV6->iDestination == SIMTSY_DEVICEID_ME);
+ TESTL(tMMMessageV6->iAlphaId.iStatus == SIMTSY_ALPHAID_STATUS);
+ TESTL(tMMMessageV6->iAlphaId.iAlphaId.Compare(SIMTSY_ALPHAID_BUF) == 0);
+ TESTL(tMMMessageV6->iIconId.iQualifier == SIMTSY_ICONID_QLFR);
+ TESTL(tMMMessageV6->iIconId.iIdentifier == SIMTSY_ICONID_ID);
+ TESTL(tMMMessageV6->iMultimediaMessageRef.Compare(SIMTSY_MMMSG_REF_FILES) ==0);
+ TESTL(tMMMessageV6->iReceptionFile.Compare(SIMTSY_RCPTION_FILES) ==0);
+ TESTL(tMMMessageV6->iMultimediaContentId.Compare(SIMTSY_MMCONTENT_ID_DATA) ==0);
+ TESTL(tMMMessageV6->iMultimediaMessageId.Compare(SIMTSY_MMMSG_ID_DATA_2) ==0);
+ TESTL(tMMMessageV6->iTextAttribute.iStatus == SIMTSY_TXT_ATTR_STATUS);
+ TESTL(tMMMessageV6->iTextAttribute.iTextAttributeData.Compare(SIMTSY_TXT_ATTR_DATA) ==0);
+
+ RSat::TRetrieveMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TRetrieveMultimediaMessageRspV6;
+ CleanupStack::PushL(tMMMessageRspV6);
+
+ RSat::TRetrieveMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 =
+ new (ELeave) RSat::TRetrieveMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
+ CleanupStack::PushL(tMMMessageRspPckgV6);
+
+ _LIT(KText,"KNoSpecificMeProblem");
+ TBuf<254> buf(KText);
+ tMMMessageRspV6->iGeneralResult = RSat::KMMSTemporaryProblem;
+ tMMMessageRspV6->iInfoType = RSat::KMeProblem;
+ tMMMessageRspV6->iAdditionalInfo = buf;
+ tMMMessageRspV6->SetPCmdNumber(SIMTSY_RET_MM_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ERetrieveMultimediaMsg,*(tMMMessageRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8502 - Successful"));
+ return KErrNone;
+
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8503
+ *
+ * SYMREQ REQ REQ7329
+ *
+ * SYMTestCaseDesc RETRIEVE MULTIMEDIA MESSAGE command accepted
+ * on the second attempt after the first attempt being replied as
+ * ME busy on MMS transaction.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Client requests notification for RETRIEVE MULTIMEDIA MESSAGE
+ * using NotifyRetrieveMultimediaMsgPCmd () API.
+ * (ii) UICC issues RETRIEVE MULTIMEDIA MESSAGE Command to the ME.
+ * (iii) ME is unable to execute the command as its busy processing
+ * some other MMS transaction.
+ * (iv) ME sends Terminal Response to the UICC using
+ * RSat::TerminalRsp ().
+ * (v) Client requests notification for RETRIEVE MULTIMEDIA MESSAGE
+ * using NotifyRetrieveMultimediaMsgPCmd () API again.
+ * (vi) UICC makes another attempt by resending the proactive command.
+ * This time Clients responds to execute the command successfully.
+ * (vii) ME sends Terminal Response to the UICC using
+ * RSat::TerminalRsp ().
+ *
+ * SYMTestExpectedResults
+ * Client is notified of the request.
+ * ME responds with KMMSTemporaryProblem in the response parameter.
+ * Upon completion of the proactive command in the second attempt,
+ * details are returned in a packaged version of
+ * TRetrieveMultimediaMessageV6 in the command parameter.
+ * For the second attempt, Client responds with KSuccess in the
+ * response parameter
+ *
+ * SYMTestType CIT
+ */
+TInt CSimSatRetMMPCmdTest::testSAT8503L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8503"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TRetrieveMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TRetrieveMultimediaMessageV6;
+ CleanupStack::PushL(tMMMessageV6);
+
+ RSat::TRetrieveMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave) RSat::TRetrieveMultimediaMessageV6Pckg
+ (*tMMMessageV6);
+ CleanupStack::PushL(tMMMessagePckg);
+
+ iSat.NotifyRetrieveMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ RSat::TRetrieveMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TRetrieveMultimediaMessageRspV6;
+ CleanupStack::PushL(tMMMessageRspV6);
+
+ RSat::TRetrieveMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 =
+ new (ELeave) RSat::TRetrieveMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
+ CleanupStack::PushL(tMMMessageRspPckgV6);
+
+ reqStatus = KErrNone;
+
+ _LIT(KText,"KNoSpecificMeProblem");
+ TBuf<254> buf(KText);
+ tMMMessageRspV6->iGeneralResult = RSat::KMMSTemporaryProblem;
+ tMMMessageRspV6->iInfoType = RSat::KMeProblem;
+ tMMMessageRspV6->iAdditionalInfo = buf;
+ tMMMessageRspV6->SetPCmdNumber(SIMTSY_RET_MM_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ERetrieveMultimediaMsg,*(tMMMessageRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ iSat.NotifyRetrieveMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
+ tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
+ tMMMessageRspV6->SetPCmdNumber(SIMTSY_RET_MM_PCMD_NUMBER);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8503 - Successful"));
+ return KErrNone;
+
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8504
+ *
+ * SYMREQ REQ7329
+ *
+ * SYMTestCaseDesc ME rejects Retrieve Multimedia command as the ME is unable to process the MMS transaction
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Client requests notification for RETRIEVE MULTIMEDIA MESSAGE using
+ * NotifyRetrieveMultimediaMsgPCmd () API.
+ * (ii) UICC issues RETRIEVE MULTIMEDIA MESSAGE Command to the ME.
+ * (iii) Client is unable to process the MMS transaction.
+ * (iv) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
+ *
+ * SYMTestExpectedResults
+ * Client is notified of the request.
+ * Upon completion of the proactive command details are returned in a packaged version of
+ * TRetrieveMultimediaMessageV6 in the command parameter.
+ * ME responds with KMMSError in the Terminal response as the TPCmdResult with the
+ * additional information ‘KNoSpecificMeProblem’.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatRetMMPCmdTest::testSAT8504L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8504"));
+ TRequestStatus reqStatus;
+
+ RSat::TRetrieveMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TRetrieveMultimediaMessageV6;
+ CleanupStack::PushL(tMMMessageV6);
+
+ RSat::TRetrieveMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
+ RSat::TRetrieveMultimediaMessageV6Pckg(*tMMMessageV6);
+ CleanupStack::PushL(tMMMessagePckg);
+
+ iSat.NotifyRetrieveMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ RSat::TRetrieveMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TRetrieveMultimediaMessageRspV6;
+ CleanupStack::PushL(tMMMessageRspV6);
+
+ RSat::TRetrieveMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
+ RSat::TRetrieveMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
+ CleanupStack::PushL(tMMMessageRspPckgV6);
+
+ _LIT(KText,"KNoSpecificMeProblem");
+ TBuf<254> buf(KText);
+ tMMMessageRspV6->iGeneralResult = RSat::KMMSError;
+ tMMMessageRspV6->iInfoType = RSat::KMeProblem;
+ tMMMessageRspV6->iAdditionalInfo = buf;
+ tMMMessageRspV6->SetPCmdNumber(SIMTSY_RET_MM_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ERetrieveMultimediaMsg,*(tMMMessageRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8504 - Successful"));
+ return KErrNone;
+
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8505
+ *
+ * SYMREQ REQ7329
+ *
+ * SYMTestCaseDesc Cancel notification of RETRIEVE MULTIMEDIA MESSAGE request
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Register to be notified of RETRIEVE MULTIMEDIA MESSAGE
+ * command using NotifyRetrieveMultimediaMsgPCmd () API.
+ * (ii) Cancel the request by calling CancelAsyncRequest (ESatNotifyRetrieveMultimediaMessagePCmd).
+ *
+ * SYMTestExpectedResults
+ * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
+ * SYMTestType CIT
+ */
+
+TInt CSimSatRetMMPCmdTest::testSAT8505L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8505"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TRetrieveMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TRetrieveMultimediaMessageV6;
+ CleanupStack::PushL(tMMMessageV6);
+
+ RSat::TRetrieveMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
+ RSat::TRetrieveMultimediaMessageV6Pckg(*tMMMessageV6);
+ CleanupStack::PushL(tMMMessagePckg);
+
+ iSat.NotifyRetrieveMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ iSat.CancelAsyncRequest(ESatNotifyRetrieveMultimediaMsgPCmd);
+ User::WaitForRequest(reqStatus);
+
+ TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
+
+ CleanupStack::PopAndDestroy(2);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8505 - Successful"));
+ return KErrNone;
+
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8506
+ *
+ * SYMREQ REQ7329
+ *
+ * SYMTestCaseDesc Cancel the terminal response for the request placed for notification of
+ * RETRIEVE MULTIMEDIA MESSAGE request
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Register to be notified of RETRIEVE MULTIMEDIA MESSAGE
+ * command using NotifyRetrieveMultimediaMsgPCmd () API.
+ * (ii) Call the Terminal response() API with the TPCmd as ERetrieveMultimediaMsg
+ * (iii) Cancel the request by calling CancelAsyncRequest (ESatTerminalRsp).
+ *
+ * SYMTestExpectedResults
+ * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatRetMMPCmdTest::testSAT8506L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8506"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TRetrieveMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TRetrieveMultimediaMessageV6;
+ CleanupStack::PushL(tMMMessageV6);
+
+ RSat::TRetrieveMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
+ RSat::TRetrieveMultimediaMessageV6Pckg(*tMMMessageV6);
+ CleanupStack::PushL(tMMMessagePckg);
+
+ iSat.NotifyRetrieveMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ RSat::TRetrieveMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TRetrieveMultimediaMessageRspV6;
+ CleanupStack::PushL(tMMMessageRspV6);
+
+ RSat::TRetrieveMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
+ RSat::TRetrieveMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
+ CleanupStack::PushL(tMMMessageRspPckgV6);
+
+ tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
+ tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
+ tMMMessageRspV6->SetPCmdNumber(SIMTSY_RET_MM_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ERetrieveMultimediaMsg,*(tMMMessageRspPckgV6));
+ iSat.CancelAsyncRequest(ESatTerminalRsp);
+ User::WaitForRequest(reqStatus);
+
+ TESTL((reqStatus.Int() == KErrNone) || (reqStatus.Int() == KErrCancel));
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8506 - Successful"));
+ return KErrNone;
+
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8507
+ *
+ * SYMREQ REQ7329 and REQ7334
+ *
+ * SYMTestCaseDesc To verify the event of the envelope command for MMS TRANSFER STATUS envelope command
+ * after the RETRIEVE MULTIMEDIA MESSAGE proactive command.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference.
+ * (ii) Call the API RSat::ClientSatProfileIndication using the TSatProfileV6 with TSatProfileByte22
+ * set to KCapsRetrieveMultimediaMessage and TSatProfileByte25 set to KCapsMmsTransferStatusEvent.
+ * (iii) Client requests notification for RETRIEVE MULTIMEDIA MESSAGE using
+ * NotifyRetrieveMultimediaMsgPCmd () API.
+ * (iv) UICC issues RETRIEVE MULTIMEDIA MESSAGE Command to the ME.
+ * (v) ME is able to process the MMS transaction and the response is sent using RSat::TerminalRsp ()
+ * for NotifyRetrieveMultimediaMsgPCmd.
+ * (vi) Call the API RSat::MMSTransferStatus with the parameter as object of TMMTransferStatusV6
+ * to store the MM1_retrieve.RES message on to the UICC.
+ *
+ * SYMTestExpectedResults
+ * GetMeSideSatProfile shall return the RSat::TSatProfileV6 with TSatProfileByte22 set to
+ * KCapsRetrieveMultimediaMessage and TSatProfileByte25 set to KCapsMmsTransferStatusEvent.
+ * The ClientSideSatProfile shall return with KErrNone.
+ * The envelope command MMS TRANSFER STATUS is passed on from ME to UICC successfully.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatRetMMPCmdTest::testSAT8507L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8507"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
+ CleanupStack::PushL(profileV6);
+
+ RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
+ CleanupStack::PushL(profileV6Pckg);
+
+ iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(profileV6->iSatProfileByte22 & (RSat::KCapsRetrieveMultimediaMessage));
+ TESTL(profileV6->iSatProfileByte25 & (RSat::KCapsMmsTransferStatusEvent));
+
+ TRequestStatus trr = KErrNone;
+ trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
+ TESTL(trr == KErrNone);
+
+ RSat::TRetrieveMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TRetrieveMultimediaMessageV6;
+ CleanupStack::PushL(tMMMessageV6);
+
+ RSat::TRetrieveMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
+ RSat::TRetrieveMultimediaMessageV6Pckg(*tMMMessageV6);
+ CleanupStack::PushL(tMMMessagePckg);
+
+ iSat.NotifyRetrieveMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ RSat::TRetrieveMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TRetrieveMultimediaMessageRspV6;
+ CleanupStack::PushL(tMMMessageRspV6);
+
+ RSat::TRetrieveMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
+ RSat::TRetrieveMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
+ CleanupStack::PushL(tMMMessageRspPckgV6);
+
+ tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
+ tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
+ tMMMessageRspV6->SetPCmdNumber(SIMTSY_RET_MM_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ERetrieveMultimediaMsg,*(tMMMessageRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ RSat::TMmsTransferStatusV6 *tMMSTransferStsV6 = new (ELeave) RSat::TMmsTransferStatusV6;
+ CleanupStack::PushL(tMMSTransferStsV6);
+
+ RSat::TMmsTransferStatusV6Pckg *tMMSTransferStsV6Pckg = new (ELeave)
+ RSat::TMmsTransferStatusV6Pckg(*tMMSTransferStsV6);
+ CleanupStack::PushL(tMMSTransferStsV6Pckg);
+
+ _LIT(KText,"TransferFilePath");
+ TBuf<255> trfFileBuf(KText);
+ _LIT(KText1,"MMMessageBuf");
+ TBuf<255> trfFileMMMsgBuf(KText1);
+ _LIT(KText2,"MMMessageIdentifier");
+ TBuf<255> trfFileMMMsgId(KText2);
+
+ tMMSTransferStsV6->iDeviceId = RSat::KME;
+ tMMSTransferStsV6->iMMSTransferFile = trfFileBuf;
+ tMMSTransferStsV6->iMultimediaMessageStatus = trfFileMMMsgBuf;
+ tMMSTransferStsV6->iMultimediaMessageId = trfFileMMMsgId ;
+
+ iSat.MmsTransferStatus(reqStatus,*tMMSTransferStsV6Pckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ CleanupStack::PopAndDestroy(8);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8507 - Successful"));
+ return KErrNone;
+
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8508
+ *
+ * SYMREQ REQ7329 and REQ7334
+ *
+ * SYMTestCaseDesc To verify the event of cancellation of the envelope command for MMS TRANSFER STATUS
+ * envelope command after the RETRIEVE MULTIMEDIA MESSAGE Proactive command is placed.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Client requests notification for RETRIEVE MULTIMEDIA MESSAGE
+ * using NotifyRetrieveMultimediaMsgPCmd () API.
+ * (ii) UICC issues RETRIEVE MULTIMEDIA MESSAGE Command to the ME.
+ * (iii) ME is able to process the MMS transaction and the response is sent
+ * using RSat::TerminalRsp for NotifyRetrieveMultimediaMsgPCmd.
+ * (iv) Call the API RSat::MMSTransferStatus with the parameter as object of TMMTransferStatusV6.
+ * (v) Cancel the request for the envelope command API placed using
+ * RSat::CancelAsyncRequest(ESatMMTransferStatus).
+ * (vi) ME is able to send the envelope command MULTIMEDIA TRANSFER STATUS
+ * and the response is sent using RSat::TerminalRsp ().
+ *
+ * SYMTestExpectedResults
+ * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
+ * SYMTestType CIT
+ */
+
+TInt CSimSatRetMMPCmdTest::testSAT8508L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8508"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
+ CleanupStack::PushL(profileV6);
+
+ RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
+ CleanupStack::PushL(profileV6Pckg);
+
+ iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(profileV6->iSatProfileByte22 & (RSat::KCapsRetrieveMultimediaMessage));
+ TESTL(profileV6->iSatProfileByte25 & (RSat::KCapsMmsTransferStatusEvent));
+
+ TRequestStatus trr = KErrNone;
+ trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
+ TESTL(trr == KErrNone);
+
+ RSat::TRetrieveMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TRetrieveMultimediaMessageV6;
+ CleanupStack::PushL(tMMMessageV6);
+
+ RSat::TRetrieveMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
+ RSat::TRetrieveMultimediaMessageV6Pckg(*tMMMessageV6);
+ CleanupStack::PushL(tMMMessagePckg);
+
+ iSat.NotifyRetrieveMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ RSat::TRetrieveMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TRetrieveMultimediaMessageRspV6;
+ CleanupStack::PushL(tMMMessageRspV6);
+
+ RSat::TRetrieveMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
+ RSat::TRetrieveMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
+ CleanupStack::PushL(tMMMessageRspPckgV6);
+
+ tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
+ tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
+ tMMMessageRspV6->SetPCmdNumber(SIMTSY_RET_MM_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ERetrieveMultimediaMsg,*(tMMMessageRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ RSat::TMmsTransferStatusV6 *tMMSTransferStsV6 = new (ELeave) RSat::TMmsTransferStatusV6;
+ CleanupStack::PushL(tMMSTransferStsV6);
+
+ RSat::TMmsTransferStatusV6Pckg *tMMSTransferStsV6Pckg = new (ELeave)
+ RSat::TMmsTransferStatusV6Pckg(*tMMSTransferStsV6);
+ CleanupStack::PushL(tMMSTransferStsV6Pckg);
+
+ _LIT(KText,"TransferFilePath");
+ TBuf<255> trfFileBuf(KText);
+ _LIT(KText1,"MMMessageBuf");
+ TBuf<255> trfFileMMMsgBuf(KText1);
+ _LIT(KText2,"MMMessageIdentifier");
+ TBuf<255> trfFileMMMsgId(KText2);
+
+ tMMSTransferStsV6->iDeviceId = RSat::KME;
+ tMMSTransferStsV6->iMMSTransferFile = trfFileBuf;
+ tMMSTransferStsV6->iMultimediaMessageStatus = trfFileMMMsgBuf;
+ tMMSTransferStsV6->iMultimediaMessageId = trfFileMMMsgId ;
+
+ iSat.MmsTransferStatus(reqStatus,*tMMSTransferStsV6Pckg);
+ iSat.CancelAsyncRequest(ESatMmsTransferStatus);
+ User::WaitForRequest(reqStatus);
+ TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
+
+ CleanupStack::PopAndDestroy(8);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8508 - Successful"));
+ return KErrNone;
+ }
+
+
+CSimSatSubMMPCmdTest::CSimSatSubMMPCmdTest()
+ {
+ SetTestStepName(_L("SatTestSubMMPCmd"));
+ }
+
+TVerdict CSimSatSubMMPCmdTest::doTestStepL()
+ {
+ INFO_PRINTF1(_L("SUBMIT MULTIMEDIA PCMD TESTING - START"));
+
+ CreateConfigFileL(_L("c:\\config4.txt"));
+ SetTestNumberL(0);
+
+ TInt ret = iPhone.Open(iTelServer,KPhoneName);
+ TESTL(ret == KErrNone);
+ INFO_PRINTF1(_L("Opened phone object"));
+ TESTL(iSat.Open(iPhone)==KErrNone);
+ INFO_PRINTF1(_L("Opened Sat object"));
+
+ testSAT8509L(); // For testing the TEL-SIMTSY-SAT-8509
+ testSAT8510L(); // For testing the TEL-SIMTSY-SAT-8510
+ testSAT8511L(); // For testing the TEL-SIMTSY-SAT-8511
+ testSAT8512L(); // For testing the TEL-SIMTSY-SAT-8512
+ testSAT8513L(); // For testing the TEL-SIMTSY-SAT-8513
+ testSAT8514L(); // For testing the TEL-SIMTSY-SAT-8514
+ testSAT8515L(); // For testing the TEL-SIMTSY-SAT-8515
+
+ iSat.Close();
+ iPhone.Close();
+ ASSERT(RThread().RequestCount()==0);
+
+ INFO_PRINTF1(_L("SUBMIT MULTIMEDIA PCMD TESTING - END"));
+
+ return TestStepResult();
+
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8509
+ *
+ * SYMREQ REQ7330
+ *
+ * SYMTestCaseDesc UICC issues SUBMIT MULTIMEDIA MESSAGE command to ME successfully.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Client requests notification for SUBMIT MULTIMEDIA MESSAGE
+ * using RSat::NotifySubmitMultimediaMsgPCmd () API.
+ * (ii) UICC issues SUBMIT MULTIMEDIA MESSAGE command to the ME.
+ * (iii) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
+ *
+ * SYMTestExpectedResults
+ * Client is notified of the request.
+ * Upon completion of the proactive command details are returned in a packaged version of
+ * TSubmitMultimediaMessageV6 in the command parameter.
+ * ME responds with KSuccess as the response parameter
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatSubMMPCmdTest::testSAT8509L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8509"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSubmitMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TSubmitMultimediaMessageV6;
+ CleanupStack::PushL(tMMMessageV6);
+
+ RSat::TSubmitMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
+ RSat::TSubmitMultimediaMessageV6Pckg(*tMMMessageV6);
+ CleanupStack::PushL(tMMMessagePckg);
+
+ iSat.NotifySubmitMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(tMMMessageV6->iDestination == SIMTSY_DEVICEID_ME);
+ TESTL(tMMMessageV6->iAlphaId.iStatus == SIMTSY_ALPHAID_STATUS);
+ TESTL(tMMMessageV6->iAlphaId.iAlphaId.Compare(SIMTSY_ALPHAID_BUF) == 0);
+ TESTL(tMMMessageV6->iIconId.iQualifier == SIMTSY_ICONID_QLFR);
+ TESTL(tMMMessageV6->iIconId.iIdentifier == SIMTSY_ICONID_ID);
+ TESTL(tMMMessageV6->iSubmissionFile.Compare(SIMTSY_SUBMISSION_FILES) ==0);
+ TESTL(tMMMessageV6->iMultimediaMessageId.Compare(SIMTSY_MMMSG_ID_DATA) ==0);
+ TESTL(tMMMessageV6->iTextAttribute.iStatus == SIMTSY_TXT_ATTR_STATUS);
+ TESTL(tMMMessageV6->iTextAttribute.iTextAttributeData.Compare(SIMTSY_TXT_ATTR_DATA) ==0);
+
+ RSat::TSubmitMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TSubmitMultimediaMessageRspV6;
+ CleanupStack::PushL(tMMMessageRspV6);
+
+ RSat::TSubmitMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
+ RSat::TSubmitMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
+ CleanupStack::PushL(tMMMessageRspPckgV6);
+
+ tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
+ tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
+ tMMMessageRspV6->SetPCmdNumber(SIMTSY_SUB_MM_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ESubmitMultimediaMsg,*(tMMMessageRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8509 - Successful"));
+ return KErrNone;
+
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8510
+ *
+ * SYMREQ REQ7330
+ *
+ * SYMTestCaseDesc Submit Multimedia command rejected by the client as the ME is busy on a MMS transaction
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Client requests notification for SUBMIT MULTIMEDIA MESSAGE using
+ * NotifySubmitMultimediaMsgPCmd () API.
+ * (ii) UICC issues SUBMIT MULTIMEDIA MESSAGE command to the ME.
+ * (iii) ME is unable to execute the command as its busy processing some other MMS transaction.
+ * (iv) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
+ *
+ * SYMTestExpectedResults
+ * Client is notified of the request.
+ * Upon completion of the proactive command details are returned in a packaged version of
+ * TSubmitMultimediaMessageV6 in the command parameter.
+ * ME responds with KMMSTemporaryProblem in the Terminal response as the TPCmdResult
+ * with the additional information ‘KNoSpecificMeProblem’.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatSubMMPCmdTest::testSAT8510L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8510"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSubmitMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TSubmitMultimediaMessageV6;
+ CleanupStack::PushL(tMMMessageV6);
+
+ RSat::TSubmitMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
+ RSat::TSubmitMultimediaMessageV6Pckg(*tMMMessageV6);
+ CleanupStack::PushL(tMMMessagePckg);
+
+ iSat.NotifySubmitMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(tMMMessageV6->iDestination == SIMTSY_DEVICEID_ME);
+ TESTL(tMMMessageV6->iAlphaId.iStatus == SIMTSY_ALPHAID_STATUS);
+ TESTL(tMMMessageV6->iAlphaId.iAlphaId.Compare(SIMTSY_ALPHAID_BUF) == 0);
+ TESTL(tMMMessageV6->iIconId.iQualifier == SIMTSY_ICONID_QLFR);
+ TESTL(tMMMessageV6->iIconId.iIdentifier == SIMTSY_ICONID_ID);
+ TESTL(tMMMessageV6->iSubmissionFile.Compare(SIMTSY_SUBMISSION_FILES) ==0);
+ TESTL(tMMMessageV6->iMultimediaMessageId.Compare(SIMTSY_MMMSG_ID_DATA) ==0);
+ TESTL(tMMMessageV6->iTextAttribute.iStatus == SIMTSY_TXT_ATTR_STATUS);
+ TESTL(tMMMessageV6->iTextAttribute.iTextAttributeData.Compare(SIMTSY_TXT_ATTR_DATA) ==0);
+
+ RSat::TSubmitMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TSubmitMultimediaMessageRspV6;
+ CleanupStack::PushL(tMMMessageRspV6);
+
+ RSat::TSubmitMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
+ RSat::TSubmitMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
+ CleanupStack::PushL(tMMMessageRspPckgV6);
+
+ _LIT(KText,"KNoSpecificMeProblem");
+ TBuf<254> buf(KText);
+ tMMMessageRspV6->iGeneralResult = RSat::KMMSTemporaryProblem;
+ tMMMessageRspV6->iInfoType = RSat::KMeProblem;
+ tMMMessageRspV6->iAdditionalInfo = buf;
+ tMMMessageRspV6->SetPCmdNumber(SIMTSY_SUB_MM_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ESubmitMultimediaMsg,*(tMMMessageRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8510 - Successful"));
+ return KErrNone;
+
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8511
+ *
+ * SYMREQ REQ7330
+ *
+ * SYMTestCaseDesc Submit Multimedia command accepted on the second attempt
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Client requests notification for SUBMIT MULTIMEDIA MESSAGE using
+ * NotifySubmitMultimediaMsgPCmd () API.
+ * (ii) UICC issues SUBMIT MULTIMEDIA MESSAGE Command to the ME.
+ * (iii) ME is unable to execute the command as its busy processing some other MMS transaction.
+ * (iv) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
+ * (v) Client requests notification for SUBMIT MULTIMEDIA MESSAGE using
+ * NotifySubmitMultimediaMsgPCmd () API again.
+ * (vi) UICC makes another attempt by resending the proactive command.
+ * This time ME responds to execute the command successfully.
+ * (vii) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
+ *
+ * SYMTestExpectedResults
+ * Client is notified of the request.
+ * Upon completion of the proactive command details are returned in a packaged
+ * version of TSubmitMultimediaMessageV6 in the command parameter.
+ * ME responds with KMMSTemporaryProblem in the Terminal response as the TPCmdResult
+ * with the additional information ‘KNoSpecificMeProblem’.
+ * For the second attempt, ME responds with KSuccess in the response parameter
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatSubMMPCmdTest::testSAT8511L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8511"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSubmitMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TSubmitMultimediaMessageV6;
+ CleanupStack::PushL(tMMMessageV6);
+
+ RSat::TSubmitMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
+ RSat::TSubmitMultimediaMessageV6Pckg(*tMMMessageV6);
+ CleanupStack::PushL(tMMMessagePckg);
+
+ iSat.NotifySubmitMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ RSat::TSubmitMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TSubmitMultimediaMessageRspV6;
+ CleanupStack::PushL(tMMMessageRspV6);
+
+ RSat::TSubmitMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
+ RSat::TSubmitMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
+ CleanupStack::PushL(tMMMessageRspPckgV6);
+
+ _LIT(KText,"KNoSpecificMeProblem");
+ TBuf<254> buf(KText);
+ tMMMessageRspV6->iGeneralResult = RSat::KMMSTemporaryProblem;
+ tMMMessageRspV6->iInfoType = RSat::KMeProblem;
+ tMMMessageRspV6->iAdditionalInfo = buf;
+ tMMMessageRspV6->SetPCmdNumber(SIMTSY_SUB_MM_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ESubmitMultimediaMsg,*(tMMMessageRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ iSat.NotifySubmitMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
+ tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
+ tMMMessageRspV6->SetPCmdNumber(SIMTSY_SUB_MM_PCMD_NUMBER);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8511 - Successful"));
+ return KErrNone;
+
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8512
+ *
+ * SYMREQ REQ7330
+ *
+ * SYMTestCaseDesc Client rejects Submit Multimedia command as the ME is unable to process the MMS transaction
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Client requests notification for SUBMIT MULTIMEDIA MESSAGE using
+ * NotifySubmitMultimediaMsgPCmd () API.
+ * (ii) UICC issues Submit Command to the ME.
+ * (iii) ME is unable to process the MMS transaction.
+ * (iv) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
+ *
+ * SYMTestExpectedResults
+ * Client is notified of the request.
+ * Upon completion of the proactive command details are returned in a packaged version of
+ * TSubmitMultimediaMessageV6 in the command parameter.
+ * ME responds with KMMSError in the Terminal response as the TPCmdResult with the additional
+ * information ‘KNoSpecificMeProblem’.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatSubMMPCmdTest::testSAT8512L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8512"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSubmitMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TSubmitMultimediaMessageV6;
+ CleanupStack::PushL(tMMMessageV6);
+
+ RSat::TSubmitMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
+ RSat::TSubmitMultimediaMessageV6Pckg(*tMMMessageV6);
+ CleanupStack::PushL(tMMMessagePckg);
+
+ iSat.NotifySubmitMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ RSat::TSubmitMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TSubmitMultimediaMessageRspV6;
+ CleanupStack::PushL(tMMMessageRspV6);
+
+ RSat::TSubmitMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
+ RSat::TSubmitMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
+ CleanupStack::PushL(tMMMessageRspPckgV6);
+
+ _LIT(KText,"KNoSpecificMeProblem");
+ TBuf<254> buf(KText);
+ tMMMessageRspV6->iGeneralResult = RSat::KMMSError;
+ tMMMessageRspV6->iInfoType = RSat::KMeProblem;
+ tMMMessageRspV6->iAdditionalInfo = buf;
+ tMMMessageRspV6->SetPCmdNumber(SIMTSY_SUB_MM_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ESubmitMultimediaMsg,*(tMMMessageRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8512 - Successful"));
+ return KErrNone;
+
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8513
+ *
+ * SYMREQ REQ7330
+ *
+ * SYMTestCaseDesc Cancel notification of Submit Multimedia request
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Register to be notified of SUBMIT MULTIMEDIA MESSAGE command using
+ * NotifySubmitMultimediaMsgPCmd () API.
+ * (ii) Cancel the request by calling CancelAsyncRequest(ESatNotifySubmitMultimediaMessagePCmd)
+ *
+ * SYMTestExpectedResults
+ * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
+ * SYMTestType CIT
+ */
+TInt CSimSatSubMMPCmdTest::testSAT8513L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8513"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSubmitMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TSubmitMultimediaMessageV6;
+ CleanupStack::PushL(tMMMessageV6);
+
+ RSat::TSubmitMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
+ RSat::TSubmitMultimediaMessageV6Pckg(*tMMMessageV6);
+ CleanupStack::PushL(tMMMessagePckg);
+
+ iSat.NotifySubmitMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ iSat.CancelAsyncRequest(ESatNotifySubmitMultimediaMsgPCmd);
+ User::WaitForRequest(reqStatus);
+ TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
+
+ CleanupStack::PopAndDestroy(2);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8513 - Successful"));
+ return KErrNone;
+
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8514
+ *
+ * SYMREQ REQ7330 and REQ7334
+ *
+ * SYMTestCaseDesc To verify the event of the envelope command for MMS TRANSFER STATUS envelope command
+ * after the SUBMIT MULTIMEDIA MESSAGE proactive command.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference.
+ * (ii) Call the API RSat::ClientSatProfileIndication using the TSatProfileV6 with TSatProfileByte22 \
+ * set to KCapsSubmitMultimediaMessage and TSatProfileByte25 set to KCapsMmsTransferStatusEvent.
+ * (iii) Client requests notification for RETRIEVE MULTIMEDIA MESSAGE using
+ * NotifySubmtiMultimediaMsgPCmd () API.
+ * (iv) UICC issues SUBMIT MULTIMEDIA MESSAGE Command to the ME.
+ * (v) ME is able to process the MMS transaction and the response is sent using
+ * RSat::TerminalRsp () for NotifySubmitMultimediaMsgPCmd.
+ * (vi) Call the API RSat::MMSTransferStatus with the parameter as object of TMMTransferStatusV6 to
+ * store the MM1_retrieve.RES message.
+ *
+ * SYMTestExpectedResults
+ * GetMeSideSatProfile shall return TSatProfileV6 with TSatProfileByte22 set to KCapsSubmitMultimediaMessage
+ * and TSatProfileByte25 set to KCapsMmsTransferStatusEvent.
+ * ClientSatProfileIndication shall return KErrNone.
+ * The envelope command is passed on from ME to UICC successfully.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatSubMMPCmdTest::testSAT8514L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8514"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
+ CleanupStack::PushL(profileV6);
+
+ RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
+ CleanupStack::PushL(profileV6Pckg);
+
+ iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(profileV6->iSatProfileByte22 & (RSat::KCapsSubmitMultimediaMessage));
+ TESTL(profileV6->iSatProfileByte25 & (RSat::KCapsMmsTransferStatusEvent));
+
+ TRequestStatus trr = KErrNone;
+ trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
+ TESTL(trr == KErrNone);
+
+ RSat::TSubmitMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TSubmitMultimediaMessageV6;
+ CleanupStack::PushL(tMMMessageV6);
+
+ RSat::TSubmitMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
+ RSat::TSubmitMultimediaMessageV6Pckg(*tMMMessageV6);
+ CleanupStack::PushL(tMMMessagePckg);
+
+ iSat.NotifySubmitMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ RSat::TSubmitMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TSubmitMultimediaMessageRspV6;
+ CleanupStack::PushL(tMMMessageRspV6);
+
+ RSat::TSubmitMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
+ RSat::TSubmitMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
+ CleanupStack::PushL(tMMMessageRspPckgV6);
+
+ tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
+ tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
+ tMMMessageRspV6->SetPCmdNumber(SIMTSY_SUB_MM_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ESubmitMultimediaMsg,*(tMMMessageRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ RSat::TMmsTransferStatusV6 *tMMSTransferStsV6 = new (ELeave) RSat::TMmsTransferStatusV6;
+ CleanupStack::PushL(tMMSTransferStsV6);
+
+ RSat::TMmsTransferStatusV6Pckg *tMMSTransferStsV6Pckg = new (ELeave)
+ RSat::TMmsTransferStatusV6Pckg(*tMMSTransferStsV6);
+ CleanupStack::PushL(tMMSTransferStsV6Pckg);
+
+ _LIT(KText,"TransferFilePath");
+ TBuf<255> trfFileBuf(KText);
+ _LIT(KText1,"MMMessageBuf");
+ TBuf<255> trfFileMMMsgBuf(KText1);
+ _LIT(KText2,"MMMessageIdentifier");
+ TBuf<255> trfFileMMMsgId(KText2);
+
+ tMMSTransferStsV6->iDeviceId = RSat::KME;
+ tMMSTransferStsV6->iMMSTransferFile = trfFileBuf;
+ tMMSTransferStsV6->iMultimediaMessageStatus = trfFileMMMsgBuf;
+ tMMSTransferStsV6->iMultimediaMessageId = trfFileMMMsgId ;
+
+ iSat.MmsTransferStatus(reqStatus,*tMMSTransferStsV6Pckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ CleanupStack::PopAndDestroy(8);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8514 - Successful"));
+ return KErrNone;
+
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8515
+ *
+ * SYMREQ REQ7330 and REQ7334
+ *
+ * SYMTestCaseDesc To verify the event of cancellation of the envelope command for MMS TRANSFER STATUS
+ * envelope command after the SUBMIT MULTIMEDIA MESSAGE Proactive command is placed.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Client requests notification for SUBMIT MULTIMEDIA MESSAGE using
+ * NotifySubmitMultimediaMsgPCmd () API.
+ * (ii) UICC issues SUBMIT MULTIMEDIA MESSAGE Command to the ME.
+ * (iii) ME is able to process the MMS transaction and the response is sent using
+ * RSat::TerminalRsp () for NotifySubmitMultimediaMsgPCmd.
+ * (iv) Call the API RSat::MMSTransferStatus with the parameter as object of TMMTransferStatusV6.
+ * (v) Cancel the request for the envelope command API placed using
+ * RSat::CancelAsyncRequest(ESatMMTransferStatus).
+ *
+ * SYMTestExpectedResults
+ * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
+ *
+ * SYMTestType CIT
+ */
+
+
+TInt CSimSatSubMMPCmdTest::testSAT8515L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8515"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
+ CleanupStack::PushL(profileV6);
+
+ RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
+ CleanupStack::PushL(profileV6Pckg);
+
+ iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(profileV6->iSatProfileByte22 & (RSat::KCapsSubmitMultimediaMessage));
+ TESTL(profileV6->iSatProfileByte25 & (RSat::KCapsMmsTransferStatusEvent));
+
+ TRequestStatus trr = KErrNone;
+ trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
+ TESTL(trr == KErrNone);
+
+ RSat::TSubmitMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TSubmitMultimediaMessageV6;
+ CleanupStack::PushL(tMMMessageV6);
+
+ RSat::TSubmitMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
+ RSat::TSubmitMultimediaMessageV6Pckg(*tMMMessageV6);
+ CleanupStack::PushL(tMMMessagePckg);
+
+ iSat.NotifySubmitMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ RSat::TSubmitMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TSubmitMultimediaMessageRspV6;
+ CleanupStack::PushL(tMMMessageRspV6);
+
+ RSat::TSubmitMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
+ RSat::TSubmitMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
+ CleanupStack::PushL(tMMMessageRspPckgV6);
+
+ tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
+ tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
+ tMMMessageRspV6->SetPCmdNumber(SIMTSY_SUB_MM_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ESubmitMultimediaMsg,*(tMMMessageRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ RSat::TMmsTransferStatusV6 *tMMSTransferStsV6 = new (ELeave) RSat::TMmsTransferStatusV6;
+ CleanupStack::PushL(tMMSTransferStsV6);
+
+ RSat::TMmsTransferStatusV6Pckg *tMMSTransferStsV6Pckg = new (ELeave)
+ RSat::TMmsTransferStatusV6Pckg(*tMMSTransferStsV6);
+ CleanupStack::PushL(tMMSTransferStsV6Pckg);
+
+ _LIT(KText,"TransferFilePath");
+ TBuf<255> trfFileBuf(KText);
+ _LIT(KText1,"MMMessageBuf");
+ TBuf<255> trfFileMMMsgBuf(KText1);
+ _LIT(KText2,"MMMessageIdentifier");
+ TBuf<255> trfFileMMMsgId(KText2);
+
+ tMMSTransferStsV6->iDeviceId = RSat::KME;
+ tMMSTransferStsV6->iMMSTransferFile = trfFileBuf;
+ tMMSTransferStsV6->iMultimediaMessageStatus = trfFileMMMsgBuf;
+ tMMSTransferStsV6->iMultimediaMessageId = trfFileMMMsgId ;
+
+ iSat.MmsTransferStatus(reqStatus,*tMMSTransferStsV6Pckg);
+ iSat.CancelAsyncRequest(ESatMmsTransferStatus);
+ User::WaitForRequest(reqStatus);
+
+ TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
+
+ CleanupStack::PopAndDestroy(8);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8515 - Successful"));
+ return KErrNone;
+ }
+
+
+CSimSatDispMMPCmdTest::CSimSatDispMMPCmdTest()
+ {
+ SetTestStepName(_L("SatTestDispMMPCmd"));
+ }
+
+
+TVerdict CSimSatDispMMPCmdTest::doTestStepL()
+ {
+ INFO_PRINTF1(_L("DISPLAY MULTIMEDIA PCMD TESTING - START"));
+
+ CreateConfigFileL(_L("c:\\config4.txt"));
+ SetTestNumberL(0);
+
+ TInt ret = iPhone.Open(iTelServer,KPhoneName);
+ TESTL(ret == KErrNone);
+ INFO_PRINTF1(_L("Opened phone object"));
+ TESTL(iSat.Open(iPhone)==KErrNone);
+ INFO_PRINTF1(_L("Opened Sat object"));
+
+ testSAT8516L(); // For testing the TEL-SIMTSY-SAT-8516
+ testSAT8517L(); // For testing the TEL-SIMTSY-SAT-8517
+ testSAT8518L(); // For testing the TEL-SIMTSY-SAT-8518
+ testSAT8519L(); // For testing the TEL-SIMTSY-SAT-8519
+ testSAT8520L(); // For testing the TEL-SIMTSY-SAT-8520
+ testSAT8521L(); // For testing the TEL-SIMTSY-SAT-8521
+ testSAT8522L(); // For testing the TEL-SIMTSY-SAT-8522
+ testSAT8523L(); // For testing the TEL-SIMTSY-SAT-8523
+ testSAT8524L(); // For testing the TEL-SIMTSY-SAT-8524
+ testSAT8525L(); // For testing the TEL-SIMTSY-SAT-8525
+ testSAT8526L(); // For testing the TEL-SIMTSY-SAT-8526
+
+ iSat.Close();
+ iPhone.Close();
+ ASSERT(RThread().RequestCount()==0);
+
+ INFO_PRINTF1(_L("DISPLAY MULTIMEDIA PCMD TESTING - END"));
+
+ return TestStepResult();
+
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8516
+ *
+ * SYMREQ REQ7331
+ *
+ * SYMTestCaseDesc UICC issues normal priority DISPLAY MULTIMEDIA MESSAGE command to ME
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Client requests notification for DISPLAY MULTIMEDIA MESSAGE using
+ * RSat::NotifyDisplayMultimediaMsgPCmd () API.
+ * (ii) UICC issues normal priority DISPLAY MULTIMEDIA MESSAGE command to the
+ * ME requesting for “No Immediate Response” from client.
+ * (iii) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
+ *
+ * SYMTestExpectedResults
+ * Client is notified of the request.
+ * Upon completion of the proactive command details are returned in a packaged version of
+ * TDisplayMultimediaMessageV6 with priority as ENormalPriority and ImmediateRsp as ENoImmediateRsp
+ * and TClearScreenTrigger as EUserClear.
+ * ME responds with KSuccess in the Terminal response.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatDispMMPCmdTest::testSAT8516L()
+ {
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8516"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
+ CleanupStack::PushL(tMMMessageV6);
+
+ RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
+ RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
+ CleanupStack::PushL(tMMMessagePckg);
+
+ iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(tMMMessageV6->iDestination == RSat::KME);
+ TESTL(tMMMessageV6->iDisplayPriority == RSat::ENormalPriority);
+ TESTL(tMMMessageV6->iClearScreenTrigger == RSat::EUserClear);
+ TESTL(tMMMessageV6->iSubmissionFile.Compare(SIMTSY_SUBMISSION_FILES)==0);
+ TESTL(tMMMessageV6->iMultimediaMessageId.Compare(SIMTSY_MMMSG_ID_DATA_2)==0);
+ TESTL(tMMMessageV6->iImmediateRsp == RSat::ENoImmediateRsp);
+
+ RSat::TDisplayMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TDisplayMultimediaMessageRspV6;
+ CleanupStack::PushL(tMMMessageRspV6);
+
+ RSat::TDisplayMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
+ RSat::TDisplayMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
+ CleanupStack::PushL(tMMMessageRspPckgV6);
+
+ tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
+ tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
+ tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8516 - Successful"));
+ return KErrNone;
+
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8517
+ *
+ * SYMREQ REQ7331
+ *
+ * SYMTestCaseDesc UICC issues high priority DISPLAY MULTIMEDIA MESSAGE command to ME
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Client requests notification for DISPLAY MULTIMEDIA MESSAGE using
+ * RSat::NotifyDisplayMultimediaMsgPCmd () API.
+ * (ii) UICC issues high priority DISPLAY MULTIMEDIA MESSAGE command to the ME requesting
+ * for “Immediate Response” and “clearing the display after some delay”.
+ * (iii) Client responds indicating that the proactive command was successful using RSat::TerminalRsp()
+ *
+ * SYMTestExpectedResults
+ * Client is notified of the request.
+ * Upon completion of the proactive command details are returned in a packaged version of
+ * TDisplayMultimediaMessageV6 with priority as EHighPriority, ImmediateRsp as EImmediateRsp and
+ * TClearScreenTrigger as EClearAfterDelay.
+ * Client responds with KSuccess in the Terminal response
+ *
+ * SYMTestType CIT
+ */
+
+
+TInt CSimSatDispMMPCmdTest::testSAT8517L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8517"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
+ CleanupStack::PushL(tMMMessageV6);
+
+ RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
+ RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
+ CleanupStack::PushL(tMMMessagePckg);
+
+ iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(tMMMessageV6->iDestination == RSat::KME);
+ TESTL(tMMMessageV6->iDisplayPriority == RSat::EHighPriority);
+ TESTL(tMMMessageV6->iClearScreenTrigger == RSat::EClearAfterDelay);
+ TESTL(tMMMessageV6->iSubmissionFile.Compare(SIMTSY_SUBMISSION_FILES)==0);
+ TESTL(tMMMessageV6->iMultimediaMessageId.Compare(SIMTSY_MMMSG_ID_DATA_2)==0);
+ TESTL(tMMMessageV6->iImmediateRsp == RSat::EImmediateRsp);
+
+ RSat::TDisplayMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TDisplayMultimediaMessageRspV6;
+ CleanupStack::PushL(tMMMessageRspV6);
+
+ RSat::TDisplayMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
+ RSat::TDisplayMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
+ CleanupStack::PushL(tMMMessageRspPckgV6);
+
+ tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
+ tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
+ tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8517 - Successful"));
+ return KErrNone;
+
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8518
+ *
+ * SYMREQ REQ7331
+ *
+ * SYMTestCaseDesc UICC issues DISPLAY MULTIMEDIA MESSAGE command to ME and the user has indicated to
+ * end the proactive UICC application session.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Client requests notification for DISPLAY MULTIMEDIA MESSAGE using
+ * RSat::NotifyDisplayMultimediaMsgPCmd () API.
+ * (ii) UICC issues Display MultiMedia Message command to the ME requesting for
+ * “Immediate Response” from the client.
+ * (iii) Client responds indicating that the proactive command was successful using RSat::TerminalRsp()
+ *
+ * SYMTestExpectedResults
+ * Client is notified of the request.
+ * ME responds with the Terminal Response with TPcmdresult as KPSessionTerminatedByUser
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatDispMMPCmdTest::testSAT8518L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8518"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
+ CleanupStack::PushL(tMMMessageV6);
+
+ RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
+ RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
+ CleanupStack::PushL(tMMMessagePckg);
+
+ iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ RSat::TDisplayMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TDisplayMultimediaMessageRspV6;
+ CleanupStack::PushL(tMMMessageRspV6);
+
+ RSat::TDisplayMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
+ RSat::TDisplayMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
+ CleanupStack::PushL(tMMMessageRspPckgV6);
+
+ tMMMessageRspV6->iGeneralResult = RSat::KPSessionTerminatedByUser;
+ tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
+ tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8518 - Successful"));
+ return KErrNone;
+
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8519
+ *
+ * SYMREQ REQ7331
+ *
+ * SYMTestCaseDesc UICC issues DISPLAY MULTIMEDIA MESSAGE command to ME and the user has indicated to go
+ * backward in the proactive UICC application session.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Client requests notification for DISPLAY MULTIMEDIA MESSAGE using
+ * RSat::NotifyDisplayMultimediaMsgPCmd () API.
+ * (ii) Client responds indicating that the proactive command was successful using RSat::TerminalRsp()
+ *
+ * SYMTestExpectedResults
+ * Client is notified of the request.
+ * ME responds with the Terminal Response with TPcmdresult as KBackwardModeRequestedByUser.
+ *
+ * SYMTestType CIT
+ */
+TInt CSimSatDispMMPCmdTest::testSAT8519L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8519"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
+ CleanupStack::PushL(tMMMessageV6);
+
+ RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
+ RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
+ CleanupStack::PushL(tMMMessagePckg);
+
+ iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ RSat::TDisplayMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TDisplayMultimediaMessageRspV6;
+ CleanupStack::PushL(tMMMessageRspV6);
+
+ RSat::TDisplayMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
+ RSat::TDisplayMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
+ CleanupStack::PushL(tMMMessageRspPckgV6);
+
+ tMMMessageRspV6->iGeneralResult = RSat::KBackwardModeRequestedByUser;
+ tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
+ tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8519 - Successful"));
+ return KErrNone;
+
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8520
+ *
+ * SYMREQ REQ7331
+ *
+ * SYMTestCaseDesc UICC issues DISPLAY MULTIMEDIA MESSAGE command to ME with the indication of
+ * clearing the screen with user action and there is no response from the user.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Client requests notification for DISPLAY MULTIMEDIA MESSAGE using
+ * RSat::NotifyDisplayMultimediaMsgPCmd () API.
+ * (ii) Client responds indicating that the proactive command using RSat::TerminalRsp()
+ *
+ * SYMTestExpectedResults
+ * Client is notified of the request.
+ * ME responds with the Terminal Response with TPcmdresult as KNoResponseFromUser
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatDispMMPCmdTest::testSAT8520L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8520"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
+ CleanupStack::PushL(tMMMessageV6);
+
+ RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
+ RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
+ CleanupStack::PushL(tMMMessagePckg);
+
+ iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ RSat::TDisplayMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TDisplayMultimediaMessageRspV6;
+ CleanupStack::PushL(tMMMessageRspV6);
+
+ RSat::TDisplayMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
+ RSat::TDisplayMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
+ CleanupStack::PushL(tMMMessageRspPckgV6);
+
+ tMMMessageRspV6->iGeneralResult = RSat::KNoResponseFromUser;
+ tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
+ tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8520 - Successful"));
+ return KErrNone;
+
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8521
+ *
+ * SYMREQ REQ7331
+ *
+ * SYMTestCaseDesc UICC issues DISPLAY MULTIMEDIA MESSAGE command to ME and ME is not able to process the command.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Client requests notification for DISPLAY MULTIMEDIA MESSAGE using
+ * RSat::NotifyDisplayMultimediaMsgPCmd () API.
+ * (ii) Client responds indicating that the proactive command using RSat::TerminalRsp()
+ *
+ * SYMTestExpectedResults
+ * Client is notified of the request.
+ * Client responds with KMMSError in the Terminal response with the additional information
+ * as KNoSpecificMeProblem.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatDispMMPCmdTest::testSAT8521L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8521"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
+ CleanupStack::PushL(tMMMessageV6);
+
+ RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
+ RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
+ CleanupStack::PushL(tMMMessagePckg);
+
+ iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ RSat::TDisplayMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TDisplayMultimediaMessageRspV6;
+ CleanupStack::PushL(tMMMessageRspV6);
+
+ RSat::TDisplayMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
+ RSat::TDisplayMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
+ CleanupStack::PushL(tMMMessageRspPckgV6);
+
+ _LIT(KText,"KNoSpecificMeProblem");
+ TBuf<254> buf(KText);
+ tMMMessageRspV6->iGeneralResult = RSat::KMMSError;
+ tMMMessageRspV6->iInfoType = RSat::KMeProblem;
+ tMMMessageRspV6->iAdditionalInfo = buf;
+ tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8521 - Successful"));
+ return KErrNone;
+
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8522
+ *
+ * SYMREQ REQ7331
+ *
+ * SYMTestCaseDesc UICC issues normal priority DISPLAY MULTIMEDIA MESSAGE to ME while a normal priority
+ * DISPLAY MULTIMEDIA MESSAGE is being displayed
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Client requests notification for DISPLAY MULTIMEDIA MESSAGE using
+ * RSat::NotifyDisplayMultimediaMsgPCmd () API.
+ * (ii) Client responds indicating that the proactive command using RSat::TerminalRsp()
+ *
+ * SYMTestExpectedResults
+ * Client is notified of the request.
+ * Client responds with KMeUnableToProcessCmd in the Terminal response with the
+ * additional information as KScreenBusy.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatDispMMPCmdTest::testSAT8522L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8522"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
+ CleanupStack::PushL(tMMMessageV6);
+
+ RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
+ RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
+ CleanupStack::PushL(tMMMessagePckg);
+
+ iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(tMMMessageV6->iDisplayPriority == RSat::ENormalPriority);
+
+ RSat::TDisplayMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TDisplayMultimediaMessageRspV6;
+ CleanupStack::PushL(tMMMessageRspV6);
+
+ RSat::TDisplayMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
+ RSat::TDisplayMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
+ CleanupStack::PushL(tMMMessageRspPckgV6);
+
+ tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
+ tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
+ tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ // Attempt to send second command when the first message is being displayed
+ iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(tMMMessageV6->iDisplayPriority == RSat::ENormalPriority);
+
+ _LIT(KText,"KScreenBusy");
+ TBuf<254> buf(KText);
+ tMMMessageRspV6->iGeneralResult = RSat::KMeUnableToProcessCmd;
+ tMMMessageRspV6->iInfoType = RSat::KMeProblem;
+ tMMMessageRspV6->iAdditionalInfo = buf;
+ tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8522 - Successful"));
+ return KErrNone;
+
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8523
+ *
+ * SYMREQ REQ7331
+ *
+ * SYMTestCaseDesc UICC issues High priority DISPLAY MULTIMEDIA MESSAGE to ME while a normal priority
+ * DISPLAY MULTIMEDIA MESSAGE is being displayed
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Client requests notification for DISPLAY MULTIMEDIA MESSAGE using
+ * RSat::NotifyDisplayMultimediaMsgPCmd () API.
+ * (ii) Client responds indicating that the proactive command using RSat::TerminalRsp()
+ *
+ * SYMTestExpectedResults
+ * Client is notified of the request.
+ * Client responds with KSuccess in the Terminal response.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatDispMMPCmdTest::testSAT8523L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8523"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
+ CleanupStack::PushL(tMMMessageV6);
+
+ RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
+ RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
+ CleanupStack::PushL(tMMMessagePckg);
+
+ iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(tMMMessageV6->iDisplayPriority == RSat::ENormalPriority);
+
+ RSat::TDisplayMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TDisplayMultimediaMessageRspV6;
+ CleanupStack::PushL(tMMMessageRspV6);
+
+ RSat::TDisplayMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
+ RSat::TDisplayMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
+ CleanupStack::PushL(tMMMessageRspPckgV6);
+
+ tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
+ tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
+ tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ // Attempt to send second command when the first message is being displayed
+ iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(tMMMessageV6->iDisplayPriority == RSat::EHighPriority);
+
+ tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
+ tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
+ tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8523 - Successful"));
+ return KErrNone;
+
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8524
+ *
+ * SYMREQ REQ7331
+ *
+ * SYMTestCaseDesc UICC issues Normal priority DISPLAY MULTIMEDIA MESSAGE to ME while a High priority
+ * DISPLAY MULTIMEDIA MESSAGE is being displayed
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Client requests notification for DISPLAY MULTIMEDIA MESSAGE using
+ * RSat::NotifyDisplayMultimediaMsgPCmd () API.
+ * (ii) Client responds indicating that the proactive command using RSat::TerminalRsp()
+ *
+ * SYMTestExpectedResults
+ * Client is notified of the request.
+ * Client responds with KMeUnableToProcessCmd in the Terminal response with the
+ * additional information as KScreenBusy.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatDispMMPCmdTest::testSAT8524L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8524"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
+ CleanupStack::PushL(tMMMessageV6);
+
+ RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
+ RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
+ CleanupStack::PushL(tMMMessagePckg);
+
+ iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(tMMMessageV6->iDisplayPriority == RSat::EHighPriority);
+
+ RSat::TDisplayMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TDisplayMultimediaMessageRspV6;
+ CleanupStack::PushL(tMMMessageRspV6);
+
+ RSat::TDisplayMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
+ RSat::TDisplayMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
+ CleanupStack::PushL(tMMMessageRspPckgV6);
+
+ tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
+ tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
+ tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ // Attempt to send second command when the first message is being displayed
+ iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(tMMMessageV6->iDisplayPriority == RSat::ENormalPriority);
+
+ _LIT(KText,"KScreenBusy");
+ TBuf<254> buf(KText);
+ tMMMessageRspV6->iGeneralResult = RSat::KMeUnableToProcessCmd;
+ tMMMessageRspV6->iInfoType = RSat::KMeProblem;
+ tMMMessageRspV6->iAdditionalInfo = buf;
+ tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8524 - Successful"));
+ return KErrNone;
+
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8525
+ *
+ * SYMREQ REQ7331
+ *
+ * SYMTestCaseDesc UICC issues High priority DISPLAY MULTIMEDIA MESSAGE to ME while a High priority
+ * DISPLAY MULTIMEDIA MESSAGE is being displayed
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Client requests notification for DISPLAY MULTIMEDIA MESSAGE using
+ * RSat::NotifyDisplayMultimediaMsgPCmd () API.
+ * (ii) Client responds indicating that the proactive command using RSat::TerminalRsp()
+ *
+ * SYMTestExpectedResults
+ * Client is notified of the request.
+ * Client responds with KMeUnableToProcessCmd in the Terminal response with the
+ * additional information as KScreenBusy.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatDispMMPCmdTest::testSAT8525L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8525"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
+ CleanupStack::PushL(tMMMessageV6);
+
+ RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
+ RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
+ CleanupStack::PushL(tMMMessagePckg);
+
+ iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(tMMMessageV6->iDisplayPriority == RSat::EHighPriority);
+
+ RSat::TDisplayMultimediaMessageRspV6 *tMMMessageRspV6 = new (ELeave) RSat::TDisplayMultimediaMessageRspV6;
+ CleanupStack::PushL(tMMMessageRspV6);
+
+ RSat::TDisplayMultimediaMessageRspV6Pckg *tMMMessageRspPckgV6 = new (ELeave)
+ RSat::TDisplayMultimediaMessageRspV6Pckg(*tMMMessageRspV6);
+ CleanupStack::PushL(tMMMessageRspPckgV6);
+
+ tMMMessageRspV6->iGeneralResult = RSat::KSuccess;
+ tMMMessageRspV6->iInfoType = RSat::KNoAdditionalInfo;
+ tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ // Attempt to send second command when the first message is being displayed
+ iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(tMMMessageV6->iDisplayPriority == RSat::EHighPriority);
+
+ _LIT(KText,"KScreenBusy");
+ TBuf<254> buf(KText);
+ tMMMessageRspV6->iGeneralResult = RSat::KMeUnableToProcessCmd;
+ tMMMessageRspV6->iInfoType = RSat::KMeProblem;
+ tMMMessageRspV6->iAdditionalInfo = buf;
+ tMMMessageRspV6->SetPCmdNumber(SIMTSY_DISP_MM_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::EDisplayMultimediaMsg,*(tMMMessageRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8525 - Successful"));
+ return KErrNone;
+
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8526
+ *
+ * SYMREQ REQ7331
+ *
+ * SYMTestCaseDesc Cancel notification of DISPLAY MULTIMEDIA MESSAGE request
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Register to be notified of DISPLAY MULTIMEDIA MESSAGE command using
+ * RSat::NotifyDisplayMultimediaMsgPCmd () API.
+ * (ii) Cancel the request by calling CancelAsyncRequest (ESatNotifyDisplayMultimediaMessagePCmd)
+ *
+ * SYMTestExpectedResults
+ * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
+ * SYMTestType CIT
+ */
+
+TInt CSimSatDispMMPCmdTest::testSAT8526L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8526"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TDisplayMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TDisplayMultimediaMessageV6;
+ CleanupStack::PushL(tMMMessageV6);
+
+ RSat::TDisplayMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
+ RSat::TDisplayMultimediaMessageV6Pckg(*tMMMessageV6);
+ CleanupStack::PushL(tMMMessagePckg);
+
+ iSat.NotifyDisplayMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ iSat.CancelAsyncRequest(ESatNotifyDisplayMultimediaMsgPCmd);
+ User::WaitForRequest(reqStatus);
+
+ TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
+
+ CleanupStack::PopAndDestroy();
+ CleanupStack::PopAndDestroy();
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8526 - Successful"));
+ return KErrNone;
+ }
+
+CSimSatSetFrmsPCmdTest::CSimSatSetFrmsPCmdTest()
+ {
+ SetTestStepName(_L("SatTestSetFrmsPCmd"));
+ }
+
+TVerdict CSimSatSetFrmsPCmdTest::doTestStepL()
+ {
+ INFO_PRINTF1(_L("SET FRAMES PCMD TESTING - START"));
+ CreateConfigFileL(_L("c:\\config4.txt"));
+ SetTestNumberL(0);
+
+ TInt ret = iPhone.Open(iTelServer,KPhoneName);
+ TESTL(ret == KErrNone);
+ INFO_PRINTF1(_L("Opened phone object"));
+ TESTL(iSat.Open(iPhone)==KErrNone);
+ INFO_PRINTF1(_L("Opened Sat object"));
+
+ testSAT8527L(); // For testing the TEL-SIMTSY-SAT-8527
+ testSAT8528L(); // For testing the TEL-SIMTSY-SAT-8528
+ testSAT8529L(); // For testing the TEL-SIMTSY-SAT-8529
+ testSAT8530L(); // For testing the TEL-SIMTSY-SAT-8530
+
+
+ iSat.Close();
+ iPhone.Close();
+ ASSERT(RThread().RequestCount()==0);
+
+ INFO_PRINTF1(_L("SET FRAMES PCMD TESTING - END"));
+
+ return TestStepResult();
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8527
+ *
+ * SYMREQ REQ7332
+ *
+ * SYMTestCaseDesc UICC issues the SET FRAMES proactive command successfully.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Request notification for SET FRAMES with RSat::NotifySetFramesPCmd ().
+ * (ii) UICC issues SET FRAMES Command to the ME.
+ * (iii) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
+ *
+ * SYMTestExpectedResults
+ * Client is notified of the request.
+ * Upon completion of the proactive command details are returned in a packaged version of
+ * TSetFramesRspV6 containing the correct Frames Layout parameters.
+ * ME responds with KSuccess in the Terminal response.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatSetFrmsPCmdTest::testSAT8527L()
+ {
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8527"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSetFramesV6 *tSetFramesV6 = new (ELeave) RSat::TSetFramesV6;
+ CleanupStack::PushL(tSetFramesV6);
+
+ RSat::TSetFramesV6Pckg *tSetFramesV6Pckg = new (ELeave) RSat::TSetFramesV6Pckg(*tSetFramesV6);
+ CleanupStack::PushL(tSetFramesV6Pckg);
+
+ iSat.NotifySetFramesPCmd(reqStatus,*tSetFramesV6Pckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(tSetFramesV6->iDestination == RSat::KME);
+ TESTL(tSetFramesV6->iFrameId == SIMTSY_FRAME_IDENTIFIER);
+ TESTL(tSetFramesV6->iFrameLayout.iFramesLayout == RSat::EFrameHorizontal);
+ TESTL(tSetFramesV6->iFrameLayout.iFrameLayoutBuf.Compare(SIMTSY_FRAME_LAYOUT_BUFFER) == 0);
+ TESTL(tSetFramesV6->iDefaultFrameId == SIMTSY_DEF_FRAME_IDENTIFIER);
+ TESTL(tSetFramesV6->iFramesSeparator == RSat::EFrameSeparatorDrawn);
+
+ RSat::TSetFramesRspV6 *tSetFramesRspV6 = new (ELeave) RSat::TSetFramesRspV6;
+ CleanupStack::PushL(tSetFramesRspV6);
+
+ RSat::TSetFramesRspV6Pckg *tSetFramesRspV6Pckg = new (ELeave) RSat::TSetFramesRspV6Pckg(*tSetFramesRspV6);
+ CleanupStack::PushL(tSetFramesRspV6Pckg);
+
+ tSetFramesRspV6->iGeneralResult = RSat::KSuccess;
+ tSetFramesRspV6->iInfoType = RSat::KNoAdditionalInfo;
+ tSetFramesRspV6->SetPCmdNumber(SIMTSY_SET_FRMS_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ESetFrames,*(tSetFramesRspV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8527- Successful"));
+
+ return KErrNone;
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8528
+ *
+ * SYMREQ REQ7332
+ *
+ * SYMTestCaseDesc Client rejects SET FRAMES command as invalid frame parameters provided
+ * (requested sizes of the frames are not allowed).
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Request notification for SET FRAMES with RSat::NotifySetFramesPCmd ().
+ * (ii) The notification completes when UICC issues the SET FRAMES command to the ME.
+ * (iii) ME is unable to process the proactive command because of the requested size of the
+ * frames are not allowed and responds indicating that the proactive command was
+ * unsuccessful using RSat::TerminalRsp()
+ *
+ * SYMTestExpectedResults
+ * Client is notified of the request.
+ * Upon completion of the proactive command details are returned in a packaged version of
+ * TSetFramesRspV6 containing invalid Frames Layout parameters.
+ * ME responds with KFramesError in the Terminal response with the additional information of
+ * KRequestSizeNotIdentified.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatSetFrmsPCmdTest::testSAT8528L()
+ {
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8528"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSetFramesV6 *tSetFramesV6 = new (ELeave) RSat::TSetFramesV6;
+ CleanupStack::PushL(tSetFramesV6);
+
+ RSat::TSetFramesV6Pckg *tSetFramesV6Pckg = new (ELeave) RSat::TSetFramesV6Pckg(*tSetFramesV6);
+ CleanupStack::PushL(tSetFramesV6Pckg);
+
+ iSat.NotifySetFramesPCmd(reqStatus,*tSetFramesV6Pckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(tSetFramesV6->iDestination == RSat::KME);
+ TESTL(tSetFramesV6->iFrameId == SIMTSY_FRAME_IDENTIFIER);
+ TESTL(tSetFramesV6->iFrameLayout.iFramesLayout == RSat::EFrameHorizontal);
+ TESTL(tSetFramesV6->iFrameLayout.iFrameLayoutBuf.Compare(SIMTSY_FRAME_LAYOUT_BUFFER) == 0);
+ TESTL(tSetFramesV6->iDefaultFrameId == SIMTSY_DEF_FRAME_IDENTIFIER);
+ TESTL(tSetFramesV6->iFramesSeparator == RSat::EFrameSeparatorDrawn);
+
+ RSat::TSetFramesRspV6 *tSetFramesRspV6 = new (ELeave) RSat::TSetFramesRspV6;
+ CleanupStack::PushL(tSetFramesRspV6);
+
+ RSat::TSetFramesRspV6Pckg *tSetFramesRspV6Pckg = new (ELeave) RSat::TSetFramesRspV6Pckg(*tSetFramesRspV6);
+ CleanupStack::PushL(tSetFramesRspV6Pckg);
+
+ _LIT(KText,"KRequestSizeNotSupported");
+ TBuf<254> buf(KText);
+ tSetFramesRspV6->iGeneralResult = RSat::KFramesError;
+ tSetFramesRspV6->iInfoType = RSat::KMeProblem;
+ tSetFramesRspV6->iAdditionalInfo = buf;
+ tSetFramesRspV6->SetPCmdNumber(SIMTSY_SET_FRMS_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ESetFrames,*(tSetFramesRspV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8528- Successful"));
+
+ return KErrNone;
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8529
+ *
+ * SYMREQ REQ7332
+ *
+ * SYMTestCaseDesc Client rejects SET FRAMES command as invalid frame parameters provided
+ * (number of frames beyond the terminal’s capabilities).
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Request notification for SET FRAMES with RSat::NotifySetFramesPCmd ().
+ * (ii) The notification completes when UICC issues the SET FRAMES command to the ME.
+ * (iii) ME is unable to process the proactive command because the number of frames requested
+ * are beyond the terminal’s capabilities and responds indicating that the proactive command
+ * was unsuccessful using RSat::TerminalRsp()
+ *
+ * SYMTestExpectedResults
+ * Client is notified of the request.
+ * Upon completion of the proactive command details are returned in a packaged version of
+ * TSetFramesRspV6 containing invalid Frames Layout parameters.
+ * ME responds with KFramesError in the Terminal response with the additional information of
+ * ‘KCmdBeyondMeCapabilities’.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatSetFrmsPCmdTest::testSAT8529L()
+ {
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8529"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSetFramesV6 *tSetFramesV6 = new (ELeave) RSat::TSetFramesV6;
+ CleanupStack::PushL(tSetFramesV6);
+
+ RSat::TSetFramesV6Pckg *tSetFramesV6Pckg = new (ELeave) RSat::TSetFramesV6Pckg(*tSetFramesV6);
+ CleanupStack::PushL(tSetFramesV6Pckg);
+
+ iSat.NotifySetFramesPCmd(reqStatus,*tSetFramesV6Pckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ RSat::TSetFramesRspV6 *tSetFramesRspV6 = new (ELeave) RSat::TSetFramesRspV6;
+ CleanupStack::PushL(tSetFramesRspV6);
+
+ RSat::TSetFramesRspV6Pckg *tSetFramesRspV6Pckg = new (ELeave) RSat::TSetFramesRspV6Pckg(*tSetFramesRspV6);
+ CleanupStack::PushL(tSetFramesRspV6Pckg);
+
+ _LIT(KText,"KNumberOfFramesExceeded");
+ TBuf<254> buf(KText);
+ tSetFramesRspV6->iGeneralResult = RSat::KFramesError;
+ tSetFramesRspV6->iInfoType = RSat::KMeProblem;
+ tSetFramesRspV6->iAdditionalInfo = buf;
+ tSetFramesRspV6->SetPCmdNumber(SIMTSY_SET_FRMS_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ESetFrames,*(tSetFramesRspV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8529- Successful"));
+
+ return KErrNone;
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8530
+ *
+ * SYMREQ REQ7332
+ *
+ * SYMTestCaseDesc Cancel notification of SET FRAMES request
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Request notification for SET FRAMES with RSat::NotifySetFramesPCmd ().
+ * (ii) Cancel the request by calling CancelAsyncRequest (ESatNotifySetFramesPCmd).
+ *
+ * SYMTestExpectedResults
+ * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatSetFrmsPCmdTest::testSAT8530L()
+ {
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8530"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSetFramesV6 *tSetFramesV6 = new (ELeave) RSat::TSetFramesV6;
+ CleanupStack::PushL(tSetFramesV6);
+
+ RSat::TSetFramesV6Pckg *tSetFramesV6Pckg = new (ELeave) RSat::TSetFramesV6Pckg(*tSetFramesV6);
+ CleanupStack::PushL(tSetFramesV6Pckg);
+
+ iSat.NotifySetFramesPCmd(reqStatus,*tSetFramesV6Pckg);
+ iSat.CancelAsyncRequest(ESatNotifySetFramesPCmd);
+ User::WaitForRequest(reqStatus);
+ TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
+
+ CleanupStack::PopAndDestroy(2);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8530- Successful"));
+
+ return KErrNone;
+ }
+
+
+CSimSatGetFrmsPCmdTest::CSimSatGetFrmsPCmdTest()
+ {
+ SetTestStepName(_L("SatTestGetFrmsPCmd"));
+ }
+
+TVerdict CSimSatGetFrmsPCmdTest::doTestStepL()
+ {
+ INFO_PRINTF1(_L("GET FRAMES PCMD TESTING - START"));
+
+ CreateConfigFileL(_L("c:\\config4.txt"));
+ SetTestNumberL(0);
+
+ TInt ret = iPhone.Open(iTelServer,KPhoneName);
+ TESTL(ret == KErrNone);
+ INFO_PRINTF1(_L("Opened phone object"));
+ TESTL(iSat.Open(iPhone)==KErrNone);
+ INFO_PRINTF1(_L("Opened Sat object"));
+
+ testSAT8531L(); // For testing the TEL-SIMTSY-SAT-8531
+ testSAT8532L(); // For testing the TEL-SIMTSY-SAT-8532
+ testSAT8533L(); // For testing the TEL-SIMTSY-SAT-8533
+
+ iSat.Close();
+ iPhone.Close();
+ ASSERT(RThread().RequestCount()==0);
+
+ INFO_PRINTF1(_L("GET FRAMES PCMD TESTING - END"));
+
+ return TestStepResult();
+
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8531
+ *
+ * SYMREQ REQ7333
+ *
+ * SYMTestCaseDesc UICC issues GET FRAMES STATUS command to the client
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Request notification for GET FRAMES STATUS with RSat::NotifyGetFramesStatusPCmd ()
+ * (ii) UICC sends the GET FRAMES STATUS to the ME.
+ * (iii) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
+ *
+ * SYMTestExpectedResults
+ * Client is notified of the request.
+ * Upon completion of the proactive command details are returned in a packaged version
+ * of TGetFramesStatusRspV6().
+ * ME responds with KSuccess in the Terminal response.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatGetFrmsPCmdTest::testSAT8531L()
+ {
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8531"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TGetFramesStatusV6 *tGetFramesStsV6 = new (ELeave) RSat::TGetFramesStatusV6;
+ CleanupStack::PushL(tGetFramesStsV6);
+
+ RSat::TGetFramesStatusV6Pckg *tGetFramesStsV6Pckg = new (ELeave) RSat::TGetFramesStatusV6Pckg(*tGetFramesStsV6);
+ CleanupStack::PushL(tGetFramesStsV6Pckg);
+
+ iSat.NotifyGetFramesStatusPCmd(reqStatus,*tGetFramesStsV6Pckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(tGetFramesStsV6->iDestination == RSat::KNetwork);
+
+ RSat::TGetFramesStatusRspV6 *tGetFramesStsRspV6 = new (ELeave) RSat::TGetFramesStatusRspV6;
+ CleanupStack::PushL(tGetFramesStsRspV6);
+
+ RSat::TGetFramesStatusRspV6Pckg *tGetFramesStsRspV6Pckg = new (ELeave)
+ RSat::TGetFramesStatusRspV6Pckg(*tGetFramesStsRspV6);
+ CleanupStack::PushL(tGetFramesStsRspV6Pckg);
+
+ _LIT8(KFrameIdBuf,"AE0240BC");
+ TBuf8<255> buf(KFrameIdBuf);
+ tGetFramesStsRspV6->iGeneralResult = RSat::KSuccess;
+ tGetFramesStsRspV6->iInfoType = RSat::KNoAdditionalInfo;
+ tGetFramesStsRspV6->iFramesInformation.iFrameId = 0x25;
+ tGetFramesStsRspV6->iFramesInformation.iFrameList = buf;
+ tGetFramesStsRspV6->SetPCmdNumber(SIMTSY_GET_FRMS_STS_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::EGetFramesStatus,*(tGetFramesStsRspV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8531- Successful"));
+
+ return KErrNone;
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8532
+ *
+ * SYMREQ REQ7333
+ *
+ * SYMTestCaseDesc UICC issues GET FRAMES STATUS command to the client when there is no frame available.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Request notification for GET FRAMES STATUS with RSat::NotifyGetFramesStatusPCmd ()
+ * (ii) UICC sends the GET FRAMES STATUS to the ME.
+ * (iii) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
+ *
+ * SYMTestExpectedResults
+ * Client is notified of the request.
+ * Upon completion of the proactive command details are returned in a packaged version of
+ * TGetFramesStatusRspV6 ().
+ * ME responds with KFramesError in the Terminal response with the additional information
+ * 'KNoFramesIdentified'.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatGetFrmsPCmdTest::testSAT8532L()
+ {
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8532"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TGetFramesStatusV6 *tGetFramesStsV6 = new (ELeave) RSat::TGetFramesStatusV6;
+ CleanupStack::PushL(tGetFramesStsV6);
+
+ RSat::TGetFramesStatusV6Pckg *tGetFramesStsV6Pckg = new (ELeave) RSat::TGetFramesStatusV6Pckg(*tGetFramesStsV6);
+ CleanupStack::PushL(tGetFramesStsV6Pckg);
+
+ iSat.NotifyGetFramesStatusPCmd(reqStatus,*tGetFramesStsV6Pckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(tGetFramesStsV6->iDestination == RSat::KNetwork);
+
+ RSat::TGetFramesStatusRspV6 *tGetFramesStsRspV6 = new (ELeave) RSat::TGetFramesStatusRspV6;
+ CleanupStack::PushL(tGetFramesStsRspV6);
+
+ RSat::TGetFramesStatusRspV6Pckg *tGetFramesStsRspV6Pckg = new (ELeave)
+ RSat::TGetFramesStatusRspV6Pckg(*tGetFramesStsRspV6);
+ CleanupStack::PushL(tGetFramesStsRspV6Pckg);
+
+ _LIT8(KFrameIdBuf,"AE0240BC");
+ TBuf8<255> buf(KFrameIdBuf);
+ tGetFramesStsRspV6->iGeneralResult = RSat::KFramesError;
+ tGetFramesStsRspV6->iInfoType = RSat::KNoFrameIdentified;
+ tGetFramesStsRspV6->iFramesInformation.iFrameId = 0x25;
+ tGetFramesStsRspV6->iFramesInformation.iFrameList = buf;
+ tGetFramesStsRspV6->SetPCmdNumber(SIMTSY_GET_FRMS_STS_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::EGetFramesStatus,*(tGetFramesStsRspV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8532- Successful"));
+
+ return KErrNone;
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8533
+ *
+ * SYMREQ REQ7333
+ *
+ * SYMTestCaseDesc Cancel notification of GET FRAMES STATUS request.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Register to be notified of GET FRAMES STATUS command using RSat::NotifyGetFramesStatusPCmd ().
+ * (ii) Cancel the request by calling CancelAsyncRequest (ESatNotifyGetFramesStatusPCmd).
+ *
+ * SYMTestExpectedResults
+ * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatGetFrmsPCmdTest::testSAT8533L()
+ {
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8533"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TGetFramesStatusV6 *tGetFramesStsV6 = new (ELeave) RSat::TGetFramesStatusV6;
+ CleanupStack::PushL(tGetFramesStsV6);
+
+ RSat::TGetFramesStatusV6Pckg *tGetFramesStsV6Pckg = new (ELeave) RSat::TGetFramesStatusV6Pckg(*tGetFramesStsV6);
+ CleanupStack::PushL(tGetFramesStsV6Pckg);
+
+ iSat.NotifyGetFramesStatusPCmd(reqStatus,*tGetFramesStsV6Pckg);
+ iSat.CancelAsyncRequest(ESatNotifyGetFramesStatusPCmd);
+ User::WaitForRequest(reqStatus);
+ TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int() ==KErrCancel));
+
+ CleanupStack::PopAndDestroy(2);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8533- Successful"));
+
+ return KErrNone;
+ }
+
+CSimSatMmsNotificationDownload::CSimSatMmsNotificationDownload()
+ {
+ SetTestStepName(_L("SatTestGetFrmsPCmd"));
+ }
+
+TVerdict CSimSatMmsNotificationDownload::doTestStepL()
+ {
+ INFO_PRINTF1(_L("MM NOTIFICATION DOWNLOAD TESTING - START"));
+
+ CreateConfigFileL(_L("c:\\config4.txt"));
+ SetTestNumberL(0);
+
+ TInt ret = iPhone.Open(iTelServer,KPhoneName);
+ TESTL(ret == KErrNone);
+ INFO_PRINTF1(_L("Opened phone object"));
+ TESTL(iSat.Open(iPhone)==KErrNone);
+ INFO_PRINTF1(_L("Opened Sat object"));
+
+ testSAT8534L(); // For testing the TEL-SIMTSY-SAT-8534
+ testSAT8535L(); // For testing the TEL-SIMTSY-SAT-8535
+ testSAT8536L(); // For testing the TEL-SIMTSY-SAT-8536
+ testSAT8537L(); // For testing the TEL-SIMTSY-SAT-8537
+ testSAT8538L(); // For testing the TEL-SIMTSY-SAT-8538
+
+ iSat.Close();
+ iPhone.Close();
+ ASSERT(RThread().RequestCount()==0);
+
+ INFO_PRINTF1(_L("MM NOTIFICATION DOWNLOAD TESTING - END"));
+
+ return TestStepResult();
+
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8534
+ *
+ * SYMREQ REQ7335
+ *
+ * SYMTestCaseDesc ME issues a MMS NOTIFICATION DOWNLOAD envelope command to the UICC successfully.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
+ * (ii) Call the API RSat::ClientSatProfileIndication using the TSatProfileV6 with TSatProfileByte23
+ * set to KCapsMmsNotificationDownload.
+ * (iii) Issue a request to the UICC to trigger the download of a MMS notification command using
+ * RSat::MmsNotificationDownload ().
+ * (iv) The ME shall wait for an acknowledgement from the UICC.
+ * (v) It completes when the UICC informs the TSY that the download is complete.
+ *
+ * SYMTestExpectedResults
+ * Client shall supply the command parameters in a packaged version of TMMSNotificationDownloadV6.
+ * Device Source and Destination identities shall be KNetwork and KUICC respectively.
+ * UICC responds with ‘90 00’ as MMS status and indicates MMS notification download is
+ * successfully transferred to the UICC.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatMmsNotificationDownload::testSAT8534L()
+ {
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8534"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
+ CleanupStack::PushL(profileV6);
+
+ RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
+ CleanupStack::PushL(profileV6Pckg);
+
+ iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(profileV6->iSatProfileByte23 & (RSat::KCapsMmsNotificationDownload));
+
+ TRequestStatus trr = KErrNone;
+ trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
+ TESTL(trr == KErrNone);
+
+ RSat::TMmsNotificationDownloadV6 *mmsNotificationDownloadV6 = new (ELeave) RSat::TMmsNotificationDownloadV6;
+ CleanupStack::PushL(mmsNotificationDownloadV6);
+
+ RSat::TMmsNotificationDownloadV6Pckg *mmsNotificationDownloadV6Pckg = new (ELeave)
+ RSat::TMmsNotificationDownloadV6Pckg(*mmsNotificationDownloadV6);
+ CleanupStack::PushL(mmsNotificationDownloadV6Pckg);
+
+ _LIT(KText,"ABCDE1");
+ TBuf<255> mmsNotification(KText);
+
+ mmsNotificationDownloadV6->iDeviceId = RSat::KUICC;
+ mmsNotificationDownloadV6->iMMSNotification = mmsNotification;
+ mmsNotificationDownloadV6->iLastEnvelope = ETrue;
+
+ iSat.MmsNotificationDownload(reqStatus,*(mmsNotificationDownloadV6Pckg));
+ User::WaitForRequest(reqStatus);
+
+ TEST(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8534- Successful"));
+
+ return KErrNone;
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8535
+ *
+ * SYMREQ REQ7335
+ *
+ * SYMTestCaseDesc MMS NOTIFICATION DOWNLOAD envelope command not transferred to the UICC successfully
+ * at the first attempt and successful at the second attempt.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Issue a request to the UICC to trigger the download of a MMS notification command
+ * using RSat::MmsNotificationDownload ().
+ * (ii) The ME shall wait for an acknowledgement from the UICC.
+ * (iii) It completes when the UICC informs the TSY that the download is complete.
+ *
+ * SYMTestExpectedResults
+ * Client must supply the command parameters in a packaged version of TMMSNotificationDownloadV6.
+ * Device Source and Destination identities shall be KNetwork and KUICC respectively.
+ * UICC responds with ‘93 00’as MMS status and indicates MMS notification download has not been
+ * successfully transferred to the UICC.
+ * ME retries the same command as a second attempt.
+ * UICC responds with ‘90 00’ as MMS status and indicates MMS notification download is
+ * successfully transferred to the UICC.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatMmsNotificationDownload::testSAT8535L()
+ {
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8535"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TMmsNotificationDownloadV6 *mmsNotificationDownloadV6 = new (ELeave) RSat::TMmsNotificationDownloadV6;
+ CleanupStack::PushL(mmsNotificationDownloadV6);
+
+ RSat::TMmsNotificationDownloadV6Pckg *mmsNotificationDownloadV6Pckg = new (ELeave)
+ RSat::TMmsNotificationDownloadV6Pckg(*mmsNotificationDownloadV6);
+ CleanupStack::PushL(mmsNotificationDownloadV6Pckg);
+
+ _LIT(KText,"ABCDE2");
+ TBuf<255> mmsNotification(KText);
+
+ mmsNotificationDownloadV6->iDeviceId = RSat::KUICC;
+ mmsNotificationDownloadV6->iMMSNotification = mmsNotification;
+ mmsNotificationDownloadV6->iLastEnvelope = EFalse;
+
+ iSat.MmsNotificationDownload(reqStatus,*(mmsNotificationDownloadV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int() == KErrNotReady);
+
+ /* Retrying the MMS NOTIFICATION DOWNLOAD COMMAND */
+ mmsNotificationDownloadV6->iLastEnvelope = ETrue;
+ iSat.MmsNotificationDownload(reqStatus,*(mmsNotificationDownloadV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(2);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8535- Successful"));
+
+ return KErrNone;
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8536
+ *
+ * SYMREQ REQ7335
+ *
+ * SYMTestCaseDesc MMS NOTIFICATION DOWNLOAD envelope command responded with ‘6F XX’ error
+ * at the first attempt and ME not reissuing the command.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Issue a request to the UICC to trigger the download of a MMS notification command
+ * using RSat::MmsNotificationDownload ().
+ * (ii) The ME shall wait for an acknowledgement from the UICC.
+ * (iii) It completes when the UICC informs the TSY that the download is complete.
+ *
+ * SYMTestExpectedResults
+ * Client must supply the command parameters in a packaged version of TMMSNotificationDownloadV6.
+ * Device Source and Destination identities shall be KNetwork and KUICC respectively.
+ * UICC responds with ‘6F XX’as MMS status and indicates MMS notification download has
+ * not been successfully transferred to the UICC.
+ * ME shall not retry the same command.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatMmsNotificationDownload::testSAT8536L()
+ {
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8536"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TMmsNotificationDownloadV6 *mmsNotificationDownloadV6 = new (ELeave) RSat::TMmsNotificationDownloadV6;
+ CleanupStack::PushL(mmsNotificationDownloadV6);
+
+ RSat::TMmsNotificationDownloadV6Pckg *mmsNotificationDownloadV6Pckg = new (ELeave)
+ RSat::TMmsNotificationDownloadV6Pckg(*mmsNotificationDownloadV6);
+ CleanupStack::PushL(mmsNotificationDownloadV6Pckg);
+
+ _LIT(KText,"ABCDE3");
+ TBuf<255> mmsNotification(KText);
+
+ mmsNotificationDownloadV6->iDeviceId = RSat::KUICC;
+ mmsNotificationDownloadV6->iMMSNotification = mmsNotification;
+ mmsNotificationDownloadV6->iLastEnvelope = ETrue;
+
+ iSat.MmsNotificationDownload(reqStatus,*(mmsNotificationDownloadV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int() == KErrNotReady);
+
+ CleanupStack::PopAndDestroy(2);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8536- Successful"));
+
+ return KErrNone;
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8537
+ *
+ * SYMREQ REQ7335
+ *
+ * SYMTestCaseDesc MMS NOTIFICATION DOWNLOAD envelope command not transferred to the UICC successfully
+ * as the USIM service table does not support the envelope command.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Issue a request to the UICC to trigger the download of a MMS notification command
+ * using RSat::MmsNotificationDownload ().
+ * (ii) ME receives a MMS Notification message and sends an error message to the network.
+ *
+ * SYMTestExpectedResults
+ * Client must supply the command parameters in a packaged version of TMMSNotificationDownloadV6.
+ * As MMS transfer mode not recognised by UICC , ME sends error message to the network.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatMmsNotificationDownload::testSAT8537L()
+ {
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8537"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
+ CleanupStack::PushL(profileV6);
+
+ RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
+ CleanupStack::PushL(profileV6Pckg);
+
+ iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TEST((profileV6->iSatProfileByte23 & RSat::KCapsMmsNotificationDownload) > 0);
+
+ TRequestStatus trr = KErrNone;
+ trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
+ TESTL(trr == KErrNone);
+
+ RSat::TMmsNotificationDownloadV6 *mmsNotificationDownloadV6 = new (ELeave) RSat::TMmsNotificationDownloadV6;
+ CleanupStack::PushL(mmsNotificationDownloadV6);
+
+ RSat::TMmsNotificationDownloadV6Pckg *mmsNotificationDownloadV6Pckg = new (ELeave)
+ RSat::TMmsNotificationDownloadV6Pckg(*mmsNotificationDownloadV6);
+ CleanupStack::PushL(mmsNotificationDownloadV6Pckg);
+
+ _LIT(KText,"ABCDE4");
+ TBuf<255> mmsNotification(KText);
+
+ mmsNotificationDownloadV6->iDeviceId = RSat::KUICC;
+ mmsNotificationDownloadV6->iMMSNotification = mmsNotification;
+ mmsNotificationDownloadV6->iLastEnvelope = ETrue;
+
+ iSat.MmsNotificationDownload(reqStatus,*(mmsNotificationDownloadV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int() == KErrNotSupported);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8537- Successful"));
+
+ return KErrNone;
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8538
+ *
+ * SYMREQ REQ7335
+ *
+ * SYMTestCaseDesc Cancellation of MMS NOTIFICATION DOWNLOAD request
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Register to be notified of MMS Notification download command using
+ * RSat::MmsNotificationDownload ().
+ * (ii) Cancel the request by invoking the API CancelAsyncRequest(ESatMmsNotificationDownload).
+ *
+ * SYMTestExpectedResults
+* Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
+ * SYMTestType CIT
+ */
+
+TInt CSimSatMmsNotificationDownload::testSAT8538L()
+ {
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8538"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TMmsNotificationDownloadV6 *mmsNotificationDownloadV6 = new (ELeave) RSat::TMmsNotificationDownloadV6;
+ CleanupStack::PushL(mmsNotificationDownloadV6);
+
+ RSat::TMmsNotificationDownloadV6Pckg *mmsNotificationDownloadV6Pckg = new (ELeave) RSat::TMmsNotificationDownloadV6Pckg(*mmsNotificationDownloadV6);
+ CleanupStack::PushL(mmsNotificationDownloadV6Pckg);
+
+ _LIT(KText,"ABCDE5");
+ TBuf<255> mmsNotification(KText);
+
+ mmsNotificationDownloadV6->iDeviceId = RSat::KUICC;
+ mmsNotificationDownloadV6->iMMSNotification = mmsNotification;
+ mmsNotificationDownloadV6->iLastEnvelope = ETrue;
+
+ iSat.MmsNotificationDownload(reqStatus,*(mmsNotificationDownloadV6Pckg));
+ iSat.CancelAsyncRequest(ESatMmsNotificationDownload);
+ User::WaitForRequest(reqStatus);
+
+ TEST((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
+
+ CleanupStack::PopAndDestroy(2);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8538- Successful"));
+
+ return KErrNone;
+ }
+
+
+CSimSatUssdDataDownload::CSimSatUssdDataDownload()
+ {
+ SetTestStepName(_L("SatTestUssdDataDownload"));
+ }
+
+TVerdict CSimSatUssdDataDownload::doTestStepL()
+ {
+ INFO_PRINTF1(_L("USSD DATA DOWNLOAD TESTING - START"));
+
+ CreateConfigFileL(_L("c:\\config4.txt"));
+ SetTestNumberL(0);
+
+ TInt ret = iPhone.Open(iTelServer, KPhoneName);
+ TESTL(ret == KErrNone);
+ INFO_PRINTF1(_L("Opened phone object"));
+ TESTL(iSat.Open(iPhone)==KErrNone);
+ INFO_PRINTF1(_L("Opened Sat object"));
+
+ testSAT8539L(); // For testing the TEL-SIMTSY-SAT-8539
+ testSAT8540L(); // For testing the TEL-SIMTSY-SAT-8540
+
+ iSat.Close();
+ iPhone.Close();
+ ASSERT(RThread().RequestCount()==0);
+
+ INFO_PRINTF1(_L("USSD DATA DOWNLOAD TESTING - END"));
+
+ return TestStepResult();
+
+
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8539
+ *
+ * SYMREQ REQ7336
+ *
+ * SYMTestCaseDesc ME issues a USSD Data Download command to the UICC.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
+ * (ii) Call the API RSat::ClientSatProfileIndication using the TSatProfileV6 with TSatProfileByte23
+ * set to KCapsUssdDataDownload.
+ * (iii) Issue a request to the UICC to trigger the download of a USSD data using
+ * RSat::NotifySendUssdPCmd ().
+ * (iv) The ME shall wait for an acknowledgement from the UICC.
+ * (v) It completes when the UICC informs the TSY that the download is complete
+ *
+ * SYMTestExpectedResults
+ * Client must supply the command parameters in a packaged version of TUssdDataDownloadV6.
+ * Device identities shall be KNetwork and KUICC.
+ * UICC responds with ‘90 00’ as MMS status and indicates USSD Data Download is successfully
+ * transferred to the UICC.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatUssdDataDownload::testSAT8539L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8539"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
+ CleanupStack::PushL(profileV6);
+
+ RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
+ CleanupStack::PushL(profileV6Pckg);
+
+ iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(profileV6->iSatProfileByte23 & (RSat::KCapsUssdDataDownload));
+
+ TRequestStatus trr = KErrNone;
+ trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
+ TESTL(trr == KErrNone);
+
+ RSat::TUssdDataDownloadV6 *ussdDataV6 = new(ELeave)RSat::TUssdDataDownloadV6();
+ CleanupStack::PushL(ussdDataV6);
+
+ RSat::TUssdDataDownloadV6Pckg *ussdDataV6Pckg = new(ELeave)RSat::TUssdDataDownloadV6Pckg(*ussdDataV6);
+ CleanupStack::PushL(ussdDataV6Pckg);
+
+ ussdDataV6->iDeviceId = RSat::KNetwork;
+ ussdDataV6->iUssdString.iDcs = SIMTSY_USSD_DCS;
+ ussdDataV6->iUssdString.iUssdString = SIMTSY_USSD_STR;
+
+ // Test posting of the UssdDataDownload request
+ iSat.UssdDataDownload(reqStatus, *(ussdDataV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int() == KErrNone);
+
+ // Testing the cancellation of the UssdDataDownload Request
+ iSat.UssdDataDownload(reqStatus, *(ussdDataV6Pckg));
+ iSat.CancelAsyncRequest(ESatUssdDataDownload);
+ User::WaitForRequest(reqStatus);
+ TEST((reqStatus.Int() == KErrNone) || (reqStatus.Int() == KErrCancel ));
+
+
+ CleanupStack::PopAndDestroy(4, profileV6);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8539- Successful"));
+
+ return KErrNone;
+ }
+
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8540
+ *
+ * SYMREQ REQ7336
+ *
+ * SYMTestCaseDesc USSD Data Download envelope command not transferred to the UICC successfully
+ * as the USIM service table does not support the envelope command.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Issue a request to the UICC to trigger the USSD Data Download command
+ * using RSat:: NotifySendUssdPCmd ().
+ * (ii) ME receives a USSD DATA DOWNLOAD and sends a FACILITY message to the network .
+ *
+ * SYMTestExpectedResults
+ * Client must supply the command parameters in a packaged version of TUssdDataDownloadV6.
+ * As USSD Data Download not recognised by UICC, ME sends FACILITY message to the network.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatUssdDataDownload::testSAT8540L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8542"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
+ CleanupStack::PushL(profileV6);
+
+ RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
+ CleanupStack::PushL(profileV6Pckg);
+
+ iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TEST((profileV6->iSatProfileByte23 & RSat::KCapsUssdDataDownload) > 0);
+
+ TRequestStatus trr = KErrNone;
+ trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
+ TESTL(trr == KErrNone);
+
+ RSat::TUssdDataDownloadV6 *ussdDataV6 = new(ELeave)RSat::TUssdDataDownloadV6();
+ CleanupStack::PushL(ussdDataV6);
+
+ RSat::TUssdDataDownloadV6Pckg *ussdDataV6Pckg = new(ELeave)RSat::TUssdDataDownloadV6Pckg(*ussdDataV6);
+ CleanupStack::PushL(ussdDataV6Pckg);
+
+ ussdDataV6->iDeviceId = RSat::KNetwork;
+ ussdDataV6->iUssdString.iDcs = SIMTSY_USSD_DCS;
+ ussdDataV6->iUssdString.iUssdString = SIMTSY_NOTFN_DNLD;
+
+ iSat.UssdDataDownload(reqStatus,*(ussdDataV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TEST(reqStatus.Int() == KErrNotSupported);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8542- Successful"));
+
+ return KErrNone;
+
+ }
+
+
+
+CSimSatProvideLocalInfo::CSimSatProvideLocalInfo()
+ {
+ SetTestStepName(_L("SatTestProvideLocalInfo"));
+ }
+
+TVerdict CSimSatProvideLocalInfo::doTestStepL()
+ {
+ INFO_PRINTF1(_L("PROVIDE LOCAL INFORMATION TESTING - START"));
+
+ CreateConfigFileL(_L("c:\\config4.txt"));
+ SetTestNumberL(0);
+
+ TInt ret = iPhone.Open(iTelServer,KPhoneName);
+ TESTL(ret == KErrNone);
+ INFO_PRINTF1(_L("Opened phone object"));
+ TESTL(iSat.Open(iPhone)==KErrNone);
+ INFO_PRINTF1(_L("Opened Sat object"));
+
+ testSAT8544L(); // For testing the TEL-SIMTSY-SAT-8544
+ testSAT8545L(); // For testing the TEL-SIMTSY-SAT-8545
+ testSAT8546L(); // For testing the TEL-SIMTSY-SAT-8546
+ testSAT8547L(); // For testing the TEL-SIMTSY-SAT-8547
+ testSAT8548L(); // For testing the TEL-SIMTSY-SAT-8548
+ testSAT8549L(); // For testing the TEL-SIMTSY-SAT-8549
+
+ iSat.Close();
+ iPhone.Close();
+ ASSERT(RThread().RequestCount()==0);
+
+ INFO_PRINTF1(_L("PROVIDE LOCAL INFORMATION TESTING - END"));
+
+ return TestStepResult();
+
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8544
+ *
+ * SYMREQ REQ7337
+ *
+ * SYMTestCaseDesc Extended Support for PROVIDE LOCAL INFORMATION that includes additional 3GPP R6 parameters
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
+ * (ii) Call the API RSat::ClientSatProfileIndication with RSat::TSatProfileV6Pckg with
+ * (a) KCapsProvideLocalInfoMEID set for the TSatProfileByte23.
+ * (b) KCapsProvideLocalInfoUTRAN and KCapsProvideLocalInfoBatteryState
+ * set for the TSatProfileByte22.
+ * (c) KCapsProvideLocalInfoIMEISV and KCapsProvideLocalInfoSearchModeChange
+ * set for the TSatProfileByte18.
+ * (iii) The client notifies the ME for PROVIDE LOCAL INFORMATION using the RSat::NotifyLocalInfoPCmd()
+ * (iv) UICC issues the proactive command PROVIDE LOCAL INFORMATION to ME.
+ * (v) The ME responds back with the RSat::TerminalRsp with the TLocalInfoRspV3 as the response
+ * parameter.
+ *
+ * SYMTestExpectedResults
+ * The TSatProfileV6Pckg from the step (i) shall have
+ * (i) KCapsProvideLocalInfoIMEISV and KCapsProvideLocalInfoSearchModeChange
+ * in the TSatProfileByte18 attribute.
+ * (ii) KCapsProvideLocalInfoUTRAN and KCapsProvideLocalInfoBatteryState in the
+ * TSatProfileByte22 attribute.
+ * (iii) KCapsProvideLocalInfoMEID in the TSatProfileByte23 attribute.
+ * ClientSatProfileIndication shall return KErrNone.
+ * ME shall respond with KSuccess in the Terminal response
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatProvideLocalInfo::testSAT8544L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8544"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
+ CleanupStack::PushL(profileV6);
+
+ RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
+ CleanupStack::PushL(profileV6Pckg);
+
+ iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL((profileV6->iSatProfileByte23 & (RSat::KCapsProvideLocalInfoMEID)));
+ TESTL(profileV6->iSatProfileByte22 & (RSat::KCapsProvideLocalInfoBatteryState));
+ TESTL((profileV6->iSatProfileByte18 & (RSat::KCapsProvideLocalInfoIMEISV)) ||
+ (profileV6->iSatProfileByte18 & (RSat::KCapsProvideLocalInfoSearchModeChange)));
+
+ TRequestStatus trr = KErrNone;
+ trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
+ TESTL(trr == KErrNone);
+
+ RSat::TLocalInfoV6 *tlocalInfoV6 = new(ELeave) RSat::TLocalInfoV6();
+ CleanupStack::PushL(tlocalInfoV6);
+
+ RSat::TLocalInfoV6Pckg *tLclInfoV6Pckg = new(ELeave)RSat::TLocalInfoV6Pckg(*tlocalInfoV6);
+ CleanupStack::PushL(tLclInfoV6Pckg);
+
+ iSat.NotifyLocalInfoPCmd(reqStatus,*(tLclInfoV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(tlocalInfoV6->iDevideId == RSat::KKeypad);
+ TESTL(tlocalInfoV6->iInfoType == RSat::KProvideLocalInfoChargeStateOfBattery);
+ TESTL(tlocalInfoV6->iUtranMeasurementQualifier
+ == RSat::EUtranMeasurementQualifierIntraFrequency);
+
+ RSat::TLocalInfoRspV3 *tLocalInfoRsp = new (ELeave) RSat::TLocalInfoRspV3;
+ CleanupStack::PushL(tLocalInfoRsp);
+
+ RSat::TLocalInfoRspV3Pckg *tLocalInfoRspPckgV6 = new (ELeave) RSat::TLocalInfoRspV3Pckg(*tLocalInfoRsp);
+ CleanupStack::PushL(tLocalInfoRspPckgV6);
+
+ tLocalInfoRsp->iGeneralResult = RSat::KSuccess;
+ tLocalInfoRsp->iInfoType = RSat::KNoAdditionalInfo;
+ tLocalInfoRsp->SetPCmdNumber(SIMTSY_PRV_LCL_INFO_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ELocalInfo,*(tLocalInfoRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(6);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8544- Successful"));
+
+ return KErrNone;
+
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8545
+ *
+ * SYMREQ REQ7337
+ *
+ * SYMTestCaseDesc Extended Support for PROVIDE LOCAL INFORMATION that includes additional 3GPP R6 parameters
+ * when the terminal has no service currently available.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) The client notifies the ME for PROVIDE LOCAL INFORMATION using the RSat::NotifyLocalInfoPCmd()
+ * (ii) UICC issues the proactive command PROVIDE LOCAL INFORMATION to ME.
+ * (iii) The ME responds back with the RSat::TerminalRsp with the TLocalInfoRspV3 as the response
+ * parameter.
+ *
+ * SYMTestExpectedResults
+ * ME shall respond with KMeUnableToProcessCmd in the Terminal response with KNoService
+ * as the additional information.
+ * SYMTestType CIT
+ */
+
+TInt CSimSatProvideLocalInfo::testSAT8545L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8545"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
+ CleanupStack::PushL(profileV6);
+
+ RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
+ CleanupStack::PushL(profileV6Pckg);
+
+ iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(!(profileV6->iSatProfileByte23 & (RSat::KCapsProvideLocalInfoMEID)));
+ TESTL(!(profileV6->iSatProfileByte22 & (RSat::KCapsProvideLocalInfoBatteryState)));
+ TESTL(!((profileV6->iSatProfileByte18 & (RSat::KCapsProvideLocalInfoIMEISV)) ||
+ (profileV6->iSatProfileByte18 & (RSat::KCapsProvideLocalInfoSearchModeChange))));
+
+ TRequestStatus trr = KErrNone;
+ trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
+ TESTL(trr == KErrNone);
+
+ RSat::TLocalInfoV6 *tlocalInfoV6 = new(ELeave) RSat::TLocalInfoV6();
+ CleanupStack::PushL(tlocalInfoV6);
+
+ RSat::TLocalInfoV6Pckg *tLclInfoV6Pckg = new(ELeave)RSat::TLocalInfoV6Pckg(*tlocalInfoV6);
+ CleanupStack::PushL(tLclInfoV6Pckg);
+
+ iSat.NotifyLocalInfoPCmd(reqStatus,*(tLclInfoV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNotSupported);
+
+ RSat::TLocalInfoRspV3 *tLocalInfoRsp = new (ELeave) RSat::TLocalInfoRspV3;
+ CleanupStack::PushL(tLocalInfoRsp);
+
+ RSat::TLocalInfoRspV3Pckg *tLocalInfoRspPckgV6 = new (ELeave) RSat::TLocalInfoRspV3Pckg(*tLocalInfoRsp);
+ CleanupStack::PushL(tLocalInfoRspPckgV6);
+
+ _LIT(KText,"KNoService");
+ TBuf<254> buf(KText);
+ tLocalInfoRsp->iGeneralResult = RSat::KMeUnableToProcessCmd;
+ tLocalInfoRsp->iInfoType = RSat::KMeProblem;
+ tLocalInfoRsp->iAdditionalInfo = buf;
+ tLocalInfoRsp->SetPCmdNumber(SIMTSY_PRV_LCL_INFO_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ELocalInfo,*(tLocalInfoRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(6);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8545- Successful"));
+
+ return KErrNone;
+
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8546
+ *
+ * SYMREQ REQ7337
+ *
+ * SYMTestCaseDesc Cancellation of the PROVIDE LOCAL INFORMATION proactive command with additional 3GPP
+ * R6 parameters
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) The client notifies the ME for PROVIDE LOCAL INFORMATION using the RSat::NotifyLocalInfoPCmd().
+ * (ii) Cancel the placed request using the API RSat::CancelAsyncRequest(ESatNotifyLocalInfoPCmd).
+ *
+ * SYMTestExpectedResults
+ * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
+ * SYMTestType CIT
+ */
+
+TInt CSimSatProvideLocalInfo::testSAT8546L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8546"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TLocalInfoV6 *tlocalInfoV6 = new(ELeave) RSat::TLocalInfoV6();
+ CleanupStack::PushL(tlocalInfoV6);
+
+ RSat::TLocalInfoV6Pckg *tLclInfoV6Pckg = new(ELeave)RSat::TLocalInfoV6Pckg(*tlocalInfoV6);
+ CleanupStack::PushL(tLclInfoV6Pckg);
+
+ iSat.NotifyLocalInfoPCmd(reqStatus,*(tLclInfoV6Pckg));
+ iSat.CancelAsyncRequest(ESatNotifyLocalInfoPCmd);
+ User::WaitForRequest(reqStatus);
+
+ TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
+
+ CleanupStack::PopAndDestroy(2);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8546- Successful"));
+
+ return KErrNone;
+
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8547
+ *
+ * SYMREQ REQ7338
+ *
+ * SYMTestCaseDesc Extended Support for PROVIDE LOCAL INFORMATION that includes network measurement
+ * results for UTRAN
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference.
+ * (ii) Call the API RSat::ClientSatProfileIndication using the reference received in the above step.
+ * (iii) The client notifies the ME for the PROVIDE LOCAL INFORMATION using the
+ * RSat::NotifyLocalInfoPCmd ().
+ * (iv) The ME responds back with the RSat::TerminalRsp with the TLocalInfoRspV3
+ * as the response parameter.
+ *
+ * SYMTestExpectedResults
+ * The Terminal Response shall contain the class RSat::TLocalInfoRspV3 .
+ * ME returns KSuccess in the terminal response.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatProvideLocalInfo::testSAT8547L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8547"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
+ CleanupStack::PushL(profileV6);
+
+ RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
+ CleanupStack::PushL(profileV6Pckg);
+
+ iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL((profileV6->iSatProfileByte23 & (RSat::KCapsProvideLocalInfoMEID)));
+ TESTL((profileV6->iSatProfileByte22 & (RSat::KCapsProvideLocalInfoUTRAN)) ||
+ (profileV6->iSatProfileByte22 & (RSat::KCapsProvideLocalInfoBatteryState)));
+ TESTL((profileV6->iSatProfileByte18 & (RSat::KCapsProvideLocalInfoIMEISV)) ||
+ (profileV6->iSatProfileByte18 & (RSat::KCapsProvideLocalInfoSearchModeChange)));
+
+ TRequestStatus trr = KErrNone;
+ trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
+ TESTL(trr == KErrNone);
+
+ RSat::TLocalInfoV6 *tlocalInfoV6 = new(ELeave) RSat::TLocalInfoV6();
+ CleanupStack::PushL(tlocalInfoV6);
+
+ RSat::TLocalInfoV6Pckg *tLclInfoV6Pckg = new(ELeave)RSat::TLocalInfoV6Pckg(*tlocalInfoV6);
+ CleanupStack::PushL(tLclInfoV6Pckg);
+
+ iSat.NotifyLocalInfoPCmd(reqStatus,*(tLclInfoV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(tlocalInfoV6->iDevideId == RSat::KKeypad);
+ TESTL(tlocalInfoV6->iInfoType == RSat::KProvideLocalInfoChargeStateOfBattery);
+ TESTL(tlocalInfoV6->iUtranMeasurementQualifier
+ == RSat::EUtranMeasurementQualifierInterFrequency);
+
+ RSat::TLocalInfoRspV3 *tLocalInfoRsp = new (ELeave) RSat::TLocalInfoRspV3;
+ CleanupStack::PushL(tLocalInfoRsp);
+
+ RSat::TLocalInfoRspV3Pckg *tLocalInfoRspPckgV6 = new (ELeave) RSat::TLocalInfoRspV3Pckg(*tLocalInfoRsp);
+ CleanupStack::PushL(tLocalInfoRspPckgV6);
+
+ tLocalInfoRsp->iGeneralResult = RSat::KSuccess;
+ tLocalInfoRsp->iInfoType = RSat::KNoAdditionalInfo;
+ tLocalInfoRsp->SetPCmdNumber(SIMTSY_PRV_LCL_INFO_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ELocalInfo,*(tLocalInfoRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(6);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8547- Successful"));
+
+ return KErrNone;
+
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8548
+ *
+ * SYMREQ REQ7338
+ *
+ * SYMTestCaseDesc Extended Support for PROVIDE LOCAL INFORMATION when the network is of limited service.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) The client notifies the ME for the PROVIDE LOCAL INFORMATION using the
+ * RSat::NotifyLocalInfoPCmd ().
+ * (ii) The ME responds back with the RSat::TerminalRsp with the TLocalInfoRspV3
+ * as the response parameter.
+ *
+ * SYMTestExpectedResults
+ * The Terminal Response shall contain the class RSat::TLocalInfoRspV3.
+ * The ME shall respond with KSuccessLimitedService in the terminal response.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatProvideLocalInfo::testSAT8548L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8548"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
+ CleanupStack::PushL(profileV6);
+
+ RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
+ CleanupStack::PushL(profileV6Pckg);
+
+ iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL((profileV6->iSatProfileByte23 & (RSat::KCapsProvideLocalInfoMEID)));
+ TESTL(!(profileV6->iSatProfileByte22 & (RSat::KCapsProvideLocalInfoUTRAN)));
+ TESTL(((profileV6->iSatProfileByte18 & (RSat::KCapsProvideLocalInfoIMEISV)) ||
+ (profileV6->iSatProfileByte18 & (RSat::KCapsProvideLocalInfoSearchModeChange))));
+
+ TRequestStatus trr = KErrNone;
+ trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
+ TESTL(trr == KErrNone);
+
+ RSat::TLocalInfoV6 *tlocalInfoV6 = new(ELeave) RSat::TLocalInfoV6();
+ CleanupStack::PushL(tlocalInfoV6);
+
+ RSat::TLocalInfoV6Pckg *tLclInfoV6Pckg = new(ELeave)RSat::TLocalInfoV6Pckg(*tlocalInfoV6);
+ CleanupStack::PushL(tLclInfoV6Pckg);
+
+ iSat.NotifyLocalInfoPCmd(reqStatus,*(tLclInfoV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNotSupported);
+
+ RSat::TLocalInfoRspV3 *tLocalInfoRsp = new (ELeave) RSat::TLocalInfoRspV3;
+ CleanupStack::PushL(tLocalInfoRsp);
+
+ RSat::TLocalInfoRspV3Pckg *tLocalInfoRspPckgV6 = new (ELeave) RSat::TLocalInfoRspV3Pckg(*tLocalInfoRsp);
+ CleanupStack::PushL(tLocalInfoRspPckgV6);
+
+ tLocalInfoRsp->iGeneralResult = RSat::KSuccessLimitedService ;
+ tLocalInfoRsp->iInfoType = RSat::KNoAdditionalInfo;
+ tLocalInfoRsp->SetPCmdNumber(SIMTSY_PRV_LCL_INFO_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ELocalInfo,*(tLocalInfoRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(6);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8548- Successful"));
+
+ return KErrNone;
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8549
+ *
+ * SYMREQ REQ7338
+ *
+ * SYMTestCaseDesc Extended Support for PROVIDE LOCAL INFORMATION when the
+ * network is connected to different radio access technology (RAT).
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) The client notifies the ME for the PROVIDE LOCAL INFORMATION
+ * using the RSat::NotifyLocalInfoPCmd ().
+ * (ii) The UICC responds back with the RSat::TerminalRsp with the
+ * TLocalInfoRspV3 as the response parameter.
+ *
+ * SYMTestExpectedResults
+ * The Terminal Response shall contain the class RSat::TLocalInfoRspV3.
+ * The ME shall respond with KMeUnableToProcessCmd in the terminal response.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatProvideLocalInfo::testSAT8549L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8549"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TLocalInfoV6 *tlocalInfoV6 = new(ELeave) RSat::TLocalInfoV6();
+ CleanupStack::PushL(tlocalInfoV6);
+
+ RSat::TLocalInfoV6Pckg *tLclInfoV6Pckg = new(ELeave)RSat::TLocalInfoV6Pckg(*tlocalInfoV6);
+ CleanupStack::PushL(tLclInfoV6Pckg);
+
+ iSat.NotifyLocalInfoPCmd(reqStatus,*(tLclInfoV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNotSupported);
+
+ RSat::TLocalInfoRspV3 *tLocalInfoRsp = new (ELeave) RSat::TLocalInfoRspV3;
+ CleanupStack::PushL(tLocalInfoRsp);
+
+ RSat::TLocalInfoRspV3Pckg *tLocalInfoRspPckgV6 = new (ELeave) RSat::TLocalInfoRspV3Pckg(*tLocalInfoRsp);
+ CleanupStack::PushL(tLocalInfoRspPckgV6);
+
+ tLocalInfoRsp->iGeneralResult = RSat::KMeUnableToProcessCmd;
+ tLocalInfoRsp->iInfoType = RSat::KNoAdditionalInfo;
+ tLocalInfoRsp->SetPCmdNumber(SIMTSY_PRV_LCL_INFO_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ELocalInfo,*(tLocalInfoRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8549 - Successful"));
+
+ return KErrNone;
+
+ }
+
+CSimSatLnchBrwsr::CSimSatLnchBrwsr()
+ {
+ SetTestStepName(_L("SatTestLaunchBrowser"));
+ }
+
+TVerdict CSimSatLnchBrwsr::doTestStepL()
+ {
+ INFO_PRINTF1(_L("LAUNCH BROWSER TESTING - START"));
+
+ CreateConfigFileL(_L("c:\\config4.txt"));
+ SetTestNumberL(0);
+
+ TInt ret = iPhone.Open(iTelServer,KPhoneName);
+ TESTL(ret == KErrNone);
+ INFO_PRINTF1(_L("Opened phone object"));
+ TESTL(iSat.Open(iPhone)==KErrNone);
+ INFO_PRINTF1(_L("Opened Sat object"));
+
+ testSAT8550L(); // For testing the TEL-SIMTSY-SAT-8550
+ testSAT8551L(); // For testing the TEL-SIMTSY-SAT-8551
+ testSAT8552L(); // For testing the TEL-SIMTSY-SAT-8552
+ testSAT8553L(); // For testing the TEL-SIMTSY-SAT-8553
+ testSAT8554L(); // For testing the TEL-SIMTSY-SAT-8554
+ testSAT8555L(); // For testing the TEL-SIMTSY-SAT-8555
+
+ iSat.Close();
+ iPhone.Close();
+ ASSERT(RThread().RequestCount()==0);
+
+ INFO_PRINTF1(_L("LAUNCH BROWSER TESTING - END"));
+
+ return TestStepResult();
+
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8550
+ *
+ * SYMREQ REQ7346
+ *
+ * SYMTestCaseDesc R6 support for LAUNCH BROWSER proactive command
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
+ * (ii) Call the API RSat::ClientSatProfileIndication using the reference received in the above step.
+ * (iii) The client notifies the ME for the LAUNCH BROWSER using the RSat::NotifyLaunchBrowserPCmd ().
+ * (iv) The ME responds back with the RSat::TerminalRsp with the TLaunchBrowserRspV2 as the
+ * response parameter.
+ *
+ * SYMTestExpectedResults
+ * TSatProfileByte21 for Release 6 packaged in TSatProfileV6 shall have one of the following
+ * types of browsing: XML, WXML, HTML and CHTML.
+ * Terminal response contains value as KSuccess in the Response package.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatLnchBrwsr::testSAT8550L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8550"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
+ CleanupStack::PushL(profileV6);
+
+ RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
+ CleanupStack::PushL(profileV6Pckg);
+
+ iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(profileV6->iSatProfileByte21 & (RSat::KCapsXHTML));
+
+ TRequestStatus trr = KErrNone;
+ trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
+ TESTL(trr == KErrNone);
+
+ RSat::TLaunchBrowserV6* tLnchBrwsr = new (ELeave) RSat::TLaunchBrowserV6();
+ CleanupStack::PushL(tLnchBrwsr);
+
+ RSat::TLaunchBrowserV6Pckg* tLnchBrwsrPckg = new(ELeave) RSat::RSat::TLaunchBrowserV6Pckg(*tLnchBrwsr);
+ CleanupStack::PushL(tLnchBrwsrPckg);
+
+ iSat.NotifyLaunchBrowserPCmd(reqStatus,*(tLnchBrwsrPckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ TESTL(tLnchBrwsr->iFrameId == SIMTSY_LAUNCH_BROWSER_FRM_ID);
+
+ RSat::TLaunchBrowserRspV2 *tLnchBrRsp = new (ELeave) RSat::TLaunchBrowserRspV2;
+ CleanupStack::PushL(tLnchBrRsp);
+
+ RSat::TLaunchBrowserRspV2Pckg *tLnchBrRspPckg = new (ELeave) RSat::TLaunchBrowserRspV2Pckg(*tLnchBrRsp);
+ CleanupStack::PushL(tLnchBrRspPckg);
+
+ tLnchBrRsp->iGeneralResult = RSat::KSuccess;
+ tLnchBrRsp->iInfoType = RSat::KNoAdditionalInfo;
+ tLnchBrRsp->SetPCmdNumber(SIMTSY_LNCH_BRWSR_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ELaunchBrowser,*(tLnchBrRspPckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(6);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8550 - Successful"));
+
+ return KErrNone;
+
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8551
+ *
+ * SYMREQ REQ7346
+ *
+ * SYMTestCaseDesc LAUNCH BROWSER proactive command without the R6 support.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
+ * (ii) Call the API RSat::ClientSatProfileIndication using the reference received in the above step.
+ * (iii) The client notifies the ME for the LAUNCH BROWSER using the RSat::NotifyLaunchBrowserPCmd ().
+ * (iv) The ME responds back with the RSat::TerminalRsp with the TLaunchBrowserRspV2 as the
+ * response parameter.
+ *
+ * SYMTestExpectedResults
+ * TBrowserIdentity in the TSatProfileByte21 for Release 6 packaged in TSatProfileV6,
+ * with one of the following types of browsing: XML, WXML, HTML and CHTML.
+ * Terminal response contains value as KErrCorrupt in the Response package
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatLnchBrwsr::testSAT8551L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8551"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
+ CleanupStack::PushL(profileV6);
+
+ RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
+ CleanupStack::PushL(profileV6Pckg);
+
+ iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(!(profileV6->iSatProfileByte21 & (RSat::KCapsXHTML)));
+
+ TRequestStatus trr = KErrNone;
+ trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
+ TESTL(trr == KErrNone);
+
+ RSat::TLaunchBrowserV6* tLnchBrwsr = new (ELeave) RSat::TLaunchBrowserV6();
+ CleanupStack::PushL(tLnchBrwsr);
+
+ RSat::TLaunchBrowserV6Pckg* tLnchBrwsrPckg = new(ELeave) RSat::RSat::TLaunchBrowserV6Pckg(*tLnchBrwsr);
+ CleanupStack::PushL(tLnchBrwsrPckg);
+
+ iSat.NotifyLaunchBrowserPCmd(reqStatus,*(tLnchBrwsrPckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ TESTL(tLnchBrwsr->iFrameId == SIMTSY_LAUNCH_BROWSER_FRM_ID);
+
+ RSat::TLaunchBrowserRspV2 *tLnchBrRsp = new (ELeave) RSat::TLaunchBrowserRspV2;
+ CleanupStack::PushL(tLnchBrRsp);
+
+ RSat::TLaunchBrowserRspV2Pckg *tLnchBrRspPckg = new (ELeave) RSat::TLaunchBrowserRspV2Pckg(*tLnchBrRsp);
+ CleanupStack::PushL(tLnchBrRspPckg);
+
+ _LIT(KText,"KNoSpecificBrowserError");
+ TBuf<254> buf(KText);
+ tLnchBrRsp->iGeneralResult = RSat::KLaunchBrowserError;
+ tLnchBrRsp->iInfoType = RSat::KMeProblem;
+ tLnchBrRsp->iAdditionalInfo = buf;
+ tLnchBrRsp->SetPCmdNumber(SIMTSY_LNCH_BRWSR_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ELaunchBrowser,*(tLnchBrRspPckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(6);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8551 - Successful"));
+
+ return KErrNone;
+
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8552
+ *
+ * SYMREQ REQ7346
+ *
+ * SYMTestCaseDesc LAUNCH BROWSER proactive command the R6 support when the browser is not available.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) The client notifies the ME for the LAUNCH BROWSER using the RSat::NotifyLaunchBrowserPCmd ().
+ * (ii) The ME responds back with the RSat::TerminalRsp with the TLaunchBrowserRspV2 as the response parameter.
+ *
+ * SYMTestExpectedResults
+ * Terminal response contains value as KMeUnableToProcessCmd in the Response package and
+ * the iAdditionalInfo of TLaunchBrowserRspV2 shall have KBrowserUnavailable.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatLnchBrwsr::testSAT8552L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8552"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TLaunchBrowserV6* tLnchBrwsr = new (ELeave) RSat::TLaunchBrowserV6();
+ CleanupStack::PushL(tLnchBrwsr);
+
+ RSat::TLaunchBrowserV6Pckg* tLnchBrwsrPckg = new(ELeave) RSat::RSat::TLaunchBrowserV6Pckg(*tLnchBrwsr);
+ CleanupStack::PushL(tLnchBrwsrPckg);
+
+ iSat.NotifyLaunchBrowserPCmd(reqStatus,*(tLnchBrwsrPckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ TESTL(tLnchBrwsr->iFrameId == SIMTSY_LAUNCH_BROWSER_FRM_ID);
+
+ RSat::TLaunchBrowserRspV2 *tLnchBrRsp = new (ELeave) RSat::TLaunchBrowserRspV2;
+ CleanupStack::PushL(tLnchBrRsp);
+
+ RSat::TLaunchBrowserRspV2Pckg *tLnchBrRspPckg = new (ELeave) RSat::TLaunchBrowserRspV2Pckg(*tLnchBrRsp);
+ CleanupStack::PushL(tLnchBrRspPckg);
+
+ _LIT(KText,"KBrowserUnavailable");
+ TBuf<254> buf(KText);
+ tLnchBrRsp->iGeneralResult = RSat::KLaunchBrowserError;
+ tLnchBrRsp->iInfoType = RSat::KMeProblem;
+ tLnchBrRsp->iAdditionalInfo = buf;
+ tLnchBrRsp->SetPCmdNumber(SIMTSY_LNCH_BRWSR_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ELaunchBrowser,*(tLnchBrRspPckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8552 - Successful"));
+
+ return KErrNone;
+
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8553
+ *
+ * SYMREQ REQ7346
+ *
+ * SYMTestCaseDesc LAUNCH BROWSER proactive command the R6 support when the bearer is not available.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) The client notifies the ME for the LAUNCH BROWSER using the RSat::NotifyLaunchBrowserPCmd ().
+ * (ii) The ME responds back with the RSat::TerminalRsp with the TLaunchBrowserRspV2 as the response parameter.
+ *
+ * SYMTestExpectedResults
+ * Terminal response contains value as KMeUnableToProcessCmd in the Response package and
+ * the iAdditionalInfo of TLaunchBrowserRspV2 shall have KBearerUnvailable.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatLnchBrwsr::testSAT8553L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8553"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TLaunchBrowserV6* tLnchBrwsr = new (ELeave) RSat::TLaunchBrowserV6();
+ CleanupStack::PushL(tLnchBrwsr);
+
+
+ RSat::TLaunchBrowserV6Pckg* tLnchBrwsrPckg = new(ELeave) RSat::RSat::TLaunchBrowserV6Pckg(*tLnchBrwsr);
+ CleanupStack::PushL(tLnchBrwsrPckg);
+
+ iSat.NotifyLaunchBrowserPCmd(reqStatus,*(tLnchBrwsrPckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ TESTL(tLnchBrwsr->iFrameId == SIMTSY_LAUNCH_BROWSER_FRM_ID);
+
+ RSat::TLaunchBrowserRspV2 *tLnchBrRsp = new (ELeave) RSat::TLaunchBrowserRspV2;
+ CleanupStack::PushL(tLnchBrRsp);
+
+ RSat::TLaunchBrowserRspV2Pckg *tLnchBrRspPckg = new (ELeave) RSat::TLaunchBrowserRspV2Pckg(*tLnchBrRsp);
+ CleanupStack::PushL(tLnchBrRspPckg);
+
+ _LIT(KText,"KBearerUnvailable");
+ TBuf<254> buf(KText);
+ tLnchBrRsp->iGeneralResult = RSat::KLaunchBrowserError;
+ tLnchBrRsp->iInfoType = RSat::KMeProblem;
+ tLnchBrRsp->iAdditionalInfo = buf;
+ tLnchBrRsp->SetPCmdNumber(SIMTSY_LNCH_BRWSR_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ELaunchBrowser,*(tLnchBrRspPckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8553 - Successful"));
+
+ return KErrNone;
+
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8554
+ *
+ * SYMREQ REQ7346 & REQ7343
+ *
+ * SYMTestCaseDesc LAUNCH BROWSER proactive command with the R6 support when error occurs
+ * when accessing the resource in the URL.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) The client notifies the ME for the LAUNCH BROWSER using the RSat::NotifyLaunchBrowserPCmd ().
+ * (ii) The ME responds back with the RSat::TerminalRsp with the TLaunchBrowserRspV2 as the response parameter.
+ * (iii) Call the API EventDownload with the TEventList as RSat::KBrowserStatusChange and
+ * package class as TBrowserStatusV6.
+ *
+ * SYMTestExpectedResults
+ * Terminal response contains value as KMeUnableToProcessCmd in the Response package and
+ * the iAdditionalInfo of TLaunchBrowserRspV2 shall have KMeUnableToReadProvisioningData.
+ * The TBrowserStatusV6 shall contain the error cause from the network.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatLnchBrwsr::testSAT8554L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8554"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TLaunchBrowserV6* tLnchBrwsr = new (ELeave) RSat::TLaunchBrowserV6();
+ CleanupStack::PushL(tLnchBrwsr);
+
+ RSat::TLaunchBrowserV6Pckg* tLnchBrwsrPckg = new(ELeave) RSat::RSat::TLaunchBrowserV6Pckg(*tLnchBrwsr);
+ CleanupStack::PushL(tLnchBrwsrPckg);
+
+ iSat.NotifyLaunchBrowserPCmd(reqStatus,*(tLnchBrwsrPckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ TESTL(tLnchBrwsr->iFrameId == SIMTSY_LAUNCH_BROWSER_FRM_ID);
+
+ RSat::TLaunchBrowserRspV2 *tLnchBrRsp = new (ELeave) RSat::TLaunchBrowserRspV2;
+ CleanupStack::PushL(tLnchBrRsp);
+
+ RSat::TLaunchBrowserRspV2Pckg *tLnchBrRspPckg = new (ELeave) RSat::TLaunchBrowserRspV2Pckg(*tLnchBrRsp);
+ CleanupStack::PushL(tLnchBrRspPckg);
+
+ _LIT(KText,"KMeUnableToReadProvisioningData");
+ TBuf<254> buf(KText);
+ tLnchBrRsp->iGeneralResult = RSat::KLaunchBrowserError;
+ tLnchBrRsp->iInfoType = RSat::KMeProblem;
+ tLnchBrRsp->iAdditionalInfo = buf;
+ tLnchBrRsp->SetPCmdNumber(SIMTSY_LNCH_BRWSR_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ELaunchBrowser,*(tLnchBrRspPckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ RSat::TBrowsingStatusEventV6 *tBrwStsV6 = new(ELeave) RSat::TBrowsingStatusEventV6();
+ CleanupStack::PushL(tBrwStsV6);
+
+ RSat::TBrowsingStatusEventV6Pckg *tBrwStsV6Pckg = new(ELeave)RSat::TBrowsingStatusEventV6Pckg(*tBrwStsV6);
+ CleanupStack::PushL(tBrwStsV6Pckg);
+
+ tBrwStsV6->iBrowserStatus = 0x55; // 0x55 assumed as Error status from the network.
+
+ iSat.EventDownload(reqStatus,RSat::KBrowsingStatusChange ,*(tBrwStsV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(6);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8554 - Successful"));
+
+ return KErrNone;
+
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8555
+ *
+ * SYMREQ REQ7346
+ *
+ * SYMTestCaseDesc Cancel for the LAUNCH BROWSER proactive command
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) The client notifies the ME for the LAUNCH BROWSER using the RSat::NotifyLaunchBrowserPCmd ().
+ * (ii) Issue cancellation of the Proactive command using the CancelAsyncRequest
+ * (ESatNotifyLaunchBrowserPCmd).
+ *
+ * SYMTestExpectedResults
+ * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatLnchBrwsr::testSAT8555L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8555"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TLaunchBrowserV6* tLnchBrwsr = new (ELeave) RSat::TLaunchBrowserV6();
+ CleanupStack::PushL(tLnchBrwsr);
+
+ RSat::TLaunchBrowserV6Pckg* tLnchBrwsrPckg = new(ELeave) RSat::RSat::TLaunchBrowserV6Pckg(*tLnchBrwsr);
+ CleanupStack::PushL(tLnchBrwsrPckg);
+
+ iSat.NotifyLaunchBrowserPCmd(reqStatus,*(tLnchBrwsrPckg));
+ iSat.CancelAsyncRequest(ESatNotifyLaunchBrowserPCmd);
+ User::WaitForRequest(reqStatus);
+ TESTL((reqStatus.Int() == KErrNone) || (reqStatus.Int()==KErrCancel));
+
+ CleanupStack::PopAndDestroy(2);
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8555 - Successful"));
+
+ return KErrNone;
+
+ }
+
+CSimSatOpenChnl::CSimSatOpenChnl()
+ {
+ SetTestStepName(_L("SatTestOpenChnl"));
+ }
+
+TVerdict CSimSatOpenChnl::doTestStepL()
+ {
+ INFO_PRINTF1(_L("OPEN CHANNEL TESTING - START"));
+
+ CreateConfigFileL(_L("c:\\config4.txt"));
+ SetTestNumberL(0);
+
+ TInt ret = iPhone.Open(iTelServer,KPhoneName);
+ TESTL(ret == KErrNone);
+ INFO_PRINTF1(_L("Opened phone object"));
+ TESTL(iSat.Open(iPhone)==KErrNone);
+ INFO_PRINTF1(_L("Opened Sat object"));
+
+ testSAT8556L(); // For testing the TEL-SIMTSY-SAT-8556
+ testSAT8557L(); // For testing the TEL-SIMTSY-SAT-8557
+ testSAT8558L(); // For testing the TEL-SIMTSY-SAT-8558
+ testSAT8559L(); // For testing the TEL-SIMTSY-SAT-8559
+
+ iSat.Close();
+ iPhone.Close();
+ ASSERT(RThread().RequestCount()==0);
+
+ INFO_PRINTF1(_L("OPEN CHANNEL TESTING - END"));
+
+ return TestStepResult();
+
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8556
+ *
+ * SYMREQ REQ7345
+ *
+ * SYMTestCaseDesc R6 support for “Open Channel using UTRAN packet service and HSDPA”
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
+ * (ii) Call the API RSat::ClientSatProfileIndication with the parameter as a reference of the
+ * object RSat::TSatProfileV6 with the TSatProfileByte22 with KUtranAndHsdpaBearer set.
+ * (iii) The client notifies the ME for the OPEN CHANNEL using the RSat::NotifyOpenChannelPCmd ()
+ * (iv) The ME responds back with the RSat::TerminalRsp with the TOpenChannelRspV2 as the
+ * response parameter.
+ *
+ * SYMTestExpectedResults
+ * Terminal response contains value as KSuccess in the response message.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatOpenChnl::testSAT8556L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8556"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TOpenLocalLinksChannelV6 *tOpenChnV6 = new(ELeave) RSat::TOpenLocalLinksChannelV6();
+ CleanupStack::PushL(tOpenChnV6);
+
+ RSat::TOpenLocalLinksChannelV6Pckg *tOpenChnV6Pckg = new(ELeave)RSat::TOpenLocalLinksChannelV6Pckg(*tOpenChnV6);
+ CleanupStack::PushL(tOpenChnV6Pckg);
+
+ iSat.NotifyOpenChannelPCmd(reqStatus,*(tOpenChnV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(tOpenChnV6->iBearer.iType == RSat::EUtranBearer);
+
+ RSat::TOpenChannelRspV2 *tOpenChnRsp = new (ELeave) RSat::TOpenChannelRspV2;
+ CleanupStack::PushL(tOpenChnRsp);
+
+ RSat::TOpenChannelRspV2Pckg *tOpenChnRspPckg = new (ELeave) RSat::TOpenChannelRspV2Pckg(*tOpenChnRsp);
+ CleanupStack::PushL(tOpenChnRspPckg);
+
+ tOpenChnRsp->iGeneralResult = RSat::KSuccess;
+ tOpenChnRsp->iInfoType = RSat::KNoAdditionalInfo;
+ tOpenChnRsp->SetPCmdNumber(SIMTSY_OPEN_CHAN_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::EOpenChannelLocal,*(tOpenChnRspPckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8556 - Successful"));
+
+ return KErrNone;
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8557
+ *
+ * SYMREQ REQ7345
+ *
+ * SYMTestCaseDesc R6 support for “Open Channel using UTRAN packet service and HSDPA” with client
+ * responding busy on SS transaction or unable to activate a PDP context.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) The client notifies the ME for the OPEN CHANNEL using the RSat::NotifyOpenChannelPCmd ()
+ * (ii) The ME responds back with the RSat::TerminalRsp with the TOpenChannelRspV2 as the
+ * response parameter.
+ *
+ * SYMTestExpectedResults
+ * Terminal response contains value as KNetworkUnableToProcessCmd in the response message.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatOpenChnl::testSAT8557L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8557"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TOpenLocalLinksChannelV6 *tOpenChnV6 = new(ELeave) RSat::TOpenLocalLinksChannelV6();
+ CleanupStack::PushL(tOpenChnV6);
+
+ RSat::TOpenLocalLinksChannelV6Pckg *tOpenChnV6Pckg = new(ELeave)RSat::TOpenLocalLinksChannelV6Pckg(*tOpenChnV6);
+ CleanupStack::PushL(tOpenChnV6Pckg);
+
+ iSat.NotifyOpenChannelPCmd(reqStatus,*(tOpenChnV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(tOpenChnV6->iBearer.iType == RSat::EUtranBearer);
+
+ RSat::TOpenChannelRspV2 *tOpenChnRsp = new (ELeave) RSat::TOpenChannelRspV2;
+ CleanupStack::PushL(tOpenChnRsp);
+
+ RSat::TOpenChannelRspV2Pckg *tOpenChnRspPckg = new (ELeave) RSat::TOpenChannelRspV2Pckg(*tOpenChnRsp);
+ CleanupStack::PushL(tOpenChnRspPckg);
+
+ _LIT(KText,"KNoSpecificMeProblem");
+ TBuf<254> buf(KText);
+ tOpenChnRsp->iGeneralResult = RSat::KNetworkUnableToProcessCmd ;
+ tOpenChnRsp->iInfoType = RSat::KMeProblem;
+ tOpenChnRsp->iAdditionalInfo = buf;
+ tOpenChnRsp->SetPCmdNumber(SIMTSY_OPEN_CHAN_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::EOpenChannelLocal,*(tOpenChnRspPckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8557 - Successful"));
+
+ return KErrNone;
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8558
+ *
+ * SYMREQ REQ7345
+ *
+ * SYMTestCaseDesc R6 support for “Open Channel using UTRAN packet service and HSDPA” with the terminal
+ * not able to activate a packet data service with the requested parameters.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) The client notifies the ME for the OPEN CHANNEL using the RSat::NotifyOpenChannelPCmd ()
+ * (ii) The ME responds back with the RSat::TerminalRsp with the TOpenChannelRspV2 as the
+ * response parameter
+ *
+ * SYMTestExpectedResults
+ * Terminal response contains value as KPerformedWithModifications in the response message.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatOpenChnl::testSAT8558L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8558"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TOpenLocalLinksChannelV6 *tOpenChnV6 = new(ELeave) RSat::TOpenLocalLinksChannelV6();
+ CleanupStack::PushL(tOpenChnV6);
+
+ RSat::TOpenLocalLinksChannelV6Pckg *tOpenChnV6Pckg = new(ELeave)RSat::TOpenLocalLinksChannelV6Pckg(*tOpenChnV6);
+ CleanupStack::PushL(tOpenChnV6Pckg);
+
+ iSat.NotifyOpenChannelPCmd(reqStatus,*(tOpenChnV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(tOpenChnV6->iBearer.iType == RSat::EUtranBearer);
+
+ RSat::TOpenChannelRspV2 *tOpenChnRsp = new (ELeave) RSat::TOpenChannelRspV2;
+ CleanupStack::PushL(tOpenChnRsp);
+
+ RSat::TOpenChannelRspV2Pckg *tOpenChnRspPckg = new (ELeave) RSat::TOpenChannelRspV2Pckg(*tOpenChnRsp);
+ CleanupStack::PushL(tOpenChnRspPckg);
+
+ tOpenChnRsp->iGeneralResult = RSat::KPerformedWithModifications;
+ tOpenChnRsp->iInfoType = RSat::KNoAdditionalInfo;
+ tOpenChnRsp->SetPCmdNumber(SIMTSY_OPEN_CHAN_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::EOpenChannelLocal,*(tOpenChnRspPckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8558 - Successful"));
+
+ return KErrNone;
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8559
+ *
+ * SYMREQ REQ7345
+ *
+ * SYMTestCaseDesc Cancellation of the R6 support extended OPEN CHANNEL proactive command.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) The client notifies the ME for the OPEN CHANNEL using the RSat::NotifyOpenChannelPCmd ()
+ * (ii) Issue the cancel request using the API CancelAsyncRequest(ESatNotifyOpenChannelPCmd)
+ *
+ * SYMTestExpectedResults
+ * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
+ * SYMTestType CIT
+ */
+
+TInt CSimSatOpenChnl::testSAT8559L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8559"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TOpenLocalLinksChannelV6 *tOpenChnV6 = new(ELeave) RSat::TOpenLocalLinksChannelV6();
+ CleanupStack::PushL(tOpenChnV6);
+
+ RSat::TOpenLocalLinksChannelV6Pckg *tOpenChnV6Pckg = new(ELeave)RSat::TOpenLocalLinksChannelV6Pckg(*tOpenChnV6);
+ CleanupStack::PushL(tOpenChnV6Pckg);
+
+ iSat.NotifyOpenChannelPCmd(reqStatus,*(tOpenChnV6Pckg));
+ iSat.CancelAsyncRequest(ESatNotifyOpenChannelPCmd);
+ User::WaitForRequest(reqStatus);
+
+ TESTL((reqStatus.Int() == KErrNone) || (reqStatus.Int() == KErrCancel));
+
+ CleanupStack::PopAndDestroy(2);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8559 - Successful"));
+
+ return KErrNone;
+
+ }
+
+
+CSimSatPlayTone::CSimSatPlayTone()
+ {
+ SetTestStepName(_L("SatTestPlayTone"));
+ }
+
+TVerdict CSimSatPlayTone::doTestStepL()
+ {
+ INFO_PRINTF1(_L("PLAY TONE TESTING - START"));
+
+ CreateConfigFileL(_L("c:\\config4.txt"));
+ SetTestNumberL(0);
+
+ TInt ret = iPhone.Open(iTelServer,KPhoneName);
+ TESTL(ret == KErrNone);
+ INFO_PRINTF1(_L("Opened phone object"));
+ TESTL(iSat.Open(iPhone)==KErrNone);
+ INFO_PRINTF1(_L("Opened Sat object"));
+
+ testSAT8560L(); // For testing the TEL-SIMTSY-SAT-8560
+ testSAT8561L(); // For testing the TEL-SIMTSY-SAT-8561
+ testSAT8562L(); // For testing the TEL-SIMTSY-SAT-8562
+ testSAT8563L(); // For testing the TEL-SIMTSY-SAT-8563
+
+ iSat.Close();
+ iPhone.Close();
+ ASSERT(RThread().RequestCount()==0);
+
+ INFO_PRINTF1(_L("PLAY TONE TESTING - END"));
+
+ return TestStepResult();
+
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8560
+ *
+ * SYMREQ REQ7342
+ *
+ * SYMTestCaseDesc R6 support for “Play Tone”
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference.
+ * (ii) Call the API RSat::ClientSatProfileIndication using the reference of RSat::TSatProfileV6Pckg.
+ * (iii) The client notifies the ME for the PLAY TONE using the RSat::NotifyPlayTonePCmd().
+ * (iv) The ME responds back with the RSat::TerminalRsp with the TPlayToneRspV1 as the response parameter.
+ *
+ * SYMTestExpectedResults
+ * Byte 22 of the Terminal profile will contain the extended play tone and shall contain value
+ * KCapsPlayThemedAndMelodyTone.
+ * The ME sends TERMINAL RESPONSE to the UICC.
+ * Terminal response indicates the tone as been successfully played and will contain value as
+ * KCommandPerformedSuccessfullyTone in the response package
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatPlayTone::testSAT8560L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8560"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
+
+ CleanupStack::PushL(profileV6);
+
+ RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
+ CleanupStack::PushL(profileV6Pckg);
+
+ iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL((profileV6->iSatProfileByte22) & (RSat::KCapsPlayThemedAndMelodyTone));
+
+ TRequestStatus trr = KErrNone;
+ trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
+ TESTL(trr == KErrNone);
+
+ RSat::TPlayToneV6 *tPlayToneV6 = new(ELeave) RSat::TPlayToneV6();
+ CleanupStack::PushL(tPlayToneV6);
+
+ RSat::TPlayToneV6Pckg *tPlayToneV6Pckg = new(ELeave)RSat::TPlayToneV6Pckg(*tPlayToneV6);
+ CleanupStack::PushL(tPlayToneV6Pckg);
+
+ iSat.NotifyPlayTonePCmd(reqStatus,*(tPlayToneV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ RSat::TPlayToneRspV1 *tPlayToneRsp = new (ELeave) RSat::TPlayToneRspV1;
+ CleanupStack::PushL(tPlayToneRsp);
+
+ RSat::TPlayToneRspV1Pckg *tPlayToneRspPckgV6 = new (ELeave) RSat::TPlayToneRspV1Pckg(*tPlayToneRsp);
+ CleanupStack::PushL(tPlayToneRspPckgV6);
+
+ tPlayToneRsp->iGeneralResult = RSat::KPlayTonePerformedSuccessfully ;
+ tPlayToneRsp->iInfoType = RSat::KNoAdditionalInfo;
+ tPlayToneRsp->SetPCmdNumber(SIMTSY_PLAY_TONE_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::EPlayTone,*(tPlayToneRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(6);
+
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8560 - Successful"));
+
+ return KErrNone;
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8561
+ *
+ * SYMREQ REQ7342
+ *
+ * SYMTestCaseDesc R6 support for “Play Tone” when the user needs to terminate the session.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) The client notifies the ME for the PLAY TONE using the RSat::NotifyPlayTonePCmd()
+ * (ii) The ME responds back with the RSat::TerminalRsp with the TPlayToneRspV1 as the
+ * response parameter
+ *
+ * SYMTestExpectedResults
+ * The ME sends TERMINAL RESPONSE to the UICC.
+ * Terminal response indicates that the session has been terminated by the user and will contain
+ * value as KSessionTerminatedByUser in the response package.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatPlayTone::testSAT8561L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8561"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TPlayToneV6 *tPlayToneV6 = new(ELeave) RSat::TPlayToneV6();
+ CleanupStack::PushL(tPlayToneV6);
+
+ RSat::TPlayToneV6Pckg *tPlayToneV6Pckg = new(ELeave)RSat::TPlayToneV6Pckg(*tPlayToneV6);
+ CleanupStack::PushL(tPlayToneV6Pckg);
+
+ iSat.NotifyPlayTonePCmd(reqStatus,*(tPlayToneV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ RSat::TPlayToneRspV1 *tPlayToneRsp = new (ELeave) RSat::TPlayToneRspV1;
+ CleanupStack::PushL(tPlayToneRsp);
+
+ RSat::TPlayToneRspV1Pckg *tPlayToneRspPckgV6 = new (ELeave) RSat::TPlayToneRspV1Pckg(*tPlayToneRsp);
+ CleanupStack::PushL(tPlayToneRspPckgV6);
+
+ tPlayToneRsp->iGeneralResult = RSat::KPSessionTerminatedByUser;
+ tPlayToneRsp->iInfoType = RSat::KNoAdditionalInfo;
+ tPlayToneRsp->SetPCmdNumber(SIMTSY_PLAY_TONE_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::EPlayTone,*(tPlayToneRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8561 - Successful"));
+
+ return KErrNone;
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8562
+ *
+ * SYMREQ REQ7342
+ *
+ * SYMTestCaseDesc R6 support for “Play Tone” when the terminal not supporting the requested tone to play.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) The client notifies the ME for the PLAY TONE using the RSat::NotifyPlayTonePCmd()
+ * (ii) The ME responds back with the RSat::TerminalRsp with the TPlayToneRspV1 as the
+ * response parameter.
+ *
+ * SYMTestExpectedResults
+ * The ME sends TERMINAL RESPONSE to the UICC.
+ * Terminal response will contain KCmdBeyondMeCapabilities in the response package.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatPlayTone::testSAT8562L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8562"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TPlayToneV6 *tPlayToneV6 = new(ELeave) RSat::TPlayToneV6();
+ CleanupStack::PushL(tPlayToneV6);
+
+ RSat::TPlayToneV6Pckg *tPlayToneV6Pckg = new(ELeave)RSat::TPlayToneV6Pckg(*tPlayToneV6);
+ CleanupStack::PushL(tPlayToneV6Pckg);
+
+ iSat.NotifyPlayTonePCmd(reqStatus,*(tPlayToneV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ RSat::TPlayToneRspV1 *tPlayToneRsp = new (ELeave) RSat::TPlayToneRspV1;
+ CleanupStack::PushL(tPlayToneRsp);
+
+ RSat::TPlayToneRspV1Pckg *tPlayToneRspPckgV6 = new (ELeave) RSat::TPlayToneRspV1Pckg(*tPlayToneRsp);
+ CleanupStack::PushL(tPlayToneRspPckgV6);
+
+ tPlayToneRsp->iGeneralResult = RSat::KCmdBeyondMeCapabilities;
+ tPlayToneRsp->iInfoType = RSat::KNoAdditionalInfo;
+ tPlayToneRsp->SetPCmdNumber(SIMTSY_PLAY_TONE_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::EPlayTone,*(tPlayToneRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8562 - Successful"));
+
+ return KErrNone;
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8563
+ *
+ * SYMREQ REQ7342
+ *
+ * SYMTestCaseDesc Cancellation R6 support for “Play Tone”
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) The client notifies the ME for the PLAY TONE using the RSat::NotifyPlayTonePCmd()
+ * (ii) Cancel the previously placed Notification request with the API
+ * RSat::CancelAsyncRequest(ESatNotifyPlayTonePCmd).
+ *
+ * SYMTestExpectedResults
+ * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatPlayTone::testSAT8563L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8563"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TPlayToneV6 *tPlayToneV6 = new(ELeave) RSat::TPlayToneV6();
+ CleanupStack::PushL(tPlayToneV6);
+
+ RSat::TPlayToneV6Pckg *tPlayToneV6Pckg = new(ELeave)RSat::TPlayToneV6Pckg(*tPlayToneV6);
+ CleanupStack::PushL(tPlayToneV6Pckg);
+
+ iSat.NotifyPlayTonePCmd(reqStatus,*(tPlayToneV6Pckg));
+ iSat.CancelAsyncRequest(ESatNotifyPlayTonePCmd);
+ User::WaitForRequest(reqStatus);
+
+ TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
+
+ CleanupStack::PopAndDestroy(2);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8563 - Successful"));
+
+ return KErrNone;
+ }
+
+CSimSatSetupCall::CSimSatSetupCall()
+ {
+ SetTestStepName(_L("SatTestSetupCall"));
+ }
+
+TVerdict CSimSatSetupCall::doTestStepL()
+ {
+ INFO_PRINTF1(_L("SETUP CALL TESTING - START"));
+
+ CreateConfigFileL(_L("c:\\config4.txt"));
+ SetTestNumberL(0);
+
+ TInt ret = iPhone.Open(iTelServer,KPhoneName);
+ TESTL(ret == KErrNone);
+ INFO_PRINTF1(_L("Opened phone object"));
+ TESTL(iSat.Open(iPhone)==KErrNone);
+ INFO_PRINTF1(_L("Opened Sat object"));
+
+ testSAT8564L(); // For testing the TEL-SIMTSY-SAT-8564
+ testSAT8565L(); // For testing the TEL-SIMTSY-SAT-8565
+ testSAT8566L(); // For testing the TEL-SIMTSY-SAT-8566
+ testSAT8567L(); // For testing the TEL-SIMTSY-SAT-8567
+ testSAT8568L(); // For testing the TEL-SIMTSY-SAT-8568
+
+ iSat.Close();
+ iPhone.Close();
+ ASSERT(RThread().RequestCount()==0);
+
+ INFO_PRINTF1(_L("SETUP CALL TESTING - END"));
+
+ return TestStepResult();
+
+ }
+
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8564
+ *
+ * SYMREQ REQ7499
+ *
+ * SYMTestCaseDesc R6 support for “Set up Call”
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
+ * (ii) Call the API RSat::ClientSatProfileIndication using the reference of RSat::TSatProfileV6Pckg.
+ * (iii) The client notifies the ME for the SET UP CALL using the RSat::NotifySetUpCallPCmd()
+ * (iv) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
+ *
+ * SYMTestExpectedResults
+ * Byte 22 of the Terminal profile shall contain support for multimedia call with value
+ * KCapsSetUpCallMultimediaCall.
+ * Terminal response holds value KSuccess, in the Response package indicating the call has
+ * been successfully established.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatSetupCall::testSAT8564L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8564"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
+ CleanupStack::PushL(profileV6);
+
+ RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
+ CleanupStack::PushL(profileV6Pckg);
+
+ iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL((profileV6->iSatProfileByte22) & (RSat::KCapsSetUpCallMultimediaCall));
+
+ TRequestStatus trr = KErrNone;
+ trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
+ TESTL(trr == KErrNone);
+
+ RSat::TSetUpCallV6 *tSetupCallV6 = new(ELeave) RSat::TSetUpCallV6();
+ CleanupStack::PushL(tSetupCallV6);
+
+ RSat::TSetUpCallV6Pckg *tSetupCallV6Pckg = new(ELeave)RSat::TSetUpCallV6Pckg(*tSetupCallV6);
+ CleanupStack::PushL(tSetupCallV6Pckg);
+
+ iSat.NotifySetUpCallPCmd(reqStatus,*(tSetupCallV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ RSat::TSetUpCallRspV2 *tSetupCallRsp = new (ELeave) RSat::TSetUpCallRspV2;
+ CleanupStack::PushL(tSetupCallRsp);
+
+ RSat::TSetUpCallRspV2Pckg *tSetupCallRspPckgV6 = new (ELeave) RSat::TSetUpCallRspV2Pckg(*tSetupCallRsp);
+ CleanupStack::PushL(tSetupCallRspPckgV6);
+
+ tSetupCallRsp->iGeneralResult = RSat::KSuccess;
+ tSetupCallRsp->iInfoType = RSat::KNoAdditionalInfo;
+ tSetupCallRsp->SetPCmdNumber(SIMTSY_SETUP_CALL_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ESetUpCall,*(tSetupCallRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(6);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8564 - Successful"));
+
+ return KErrNone;
+
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8565
+ *
+ * SYMREQ REQ7499
+ *
+ * SYMTestCaseDesc R6 support for “Set up Call” with the ME not having the capabilities of
+ * setting up a multimedia call
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) The client notifies the ME for the SET UP CALL using the RSat::NotifySetUpCallPCmd()
+ * (ii) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
+ *
+ * SYMTestExpectedResults
+ * Terminal response holds value KCmdBeyondMeCapabilities in the Response package indicating
+ * the terminal is not capable of executing the Proactive command.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatSetupCall::testSAT8565L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8565"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSetUpCallV6 *tSetupCallV6 = new(ELeave) RSat::TSetUpCallV6();
+ CleanupStack::PushL(tSetupCallV6);
+
+ RSat::TSetUpCallV6Pckg *tSetupCallV6Pckg = new(ELeave)RSat::TSetUpCallV6Pckg(*tSetupCallV6);
+ CleanupStack::PushL(tSetupCallV6Pckg);
+
+ iSat.NotifySetUpCallPCmd(reqStatus,*(tSetupCallV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ RSat::TSetUpCallRspV2 *tSetupCallRsp = new (ELeave) RSat::TSetUpCallRspV2;
+ CleanupStack::PushL(tSetupCallRsp);
+
+ RSat::TSetUpCallRspV2Pckg *tSetupCallRspPckgV6 = new (ELeave) RSat::TSetUpCallRspV2Pckg(*tSetupCallRsp);
+ CleanupStack::PushL(tSetupCallRspPckgV6);
+
+ tSetupCallRsp->iGeneralResult = RSat::KCmdBeyondMeCapabilities;
+ tSetupCallRsp->iInfoType = RSat::KNoAdditionalInfo;
+ tSetupCallRsp->SetPCmdNumber(SIMTSY_SETUP_CALL_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ESetUpCall,*(tSetupCallRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8565 - Successful"));
+
+ return KErrNone;
+
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8566
+ *
+ * SYMREQ REQ7499
+ *
+ * SYMTestCaseDesc R6 support for “Set up Call” with the ME not able to process the command as
+ * it is busy on another call
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) The client notifies the ME for the SET UP CALL using the RSat::NotifySetUpCallPCmd()
+ * (ii) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
+ *
+ * SYMTestExpectedResults
+ * Terminal response holds value KMeUnableToProcessCmd in the Response package indicating the
+ * terminal is not capable of executing the Proactive command.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatSetupCall::testSAT8566L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8566"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSetUpCallV6 *tSetupCallV6 = new(ELeave) RSat::TSetUpCallV6();
+ CleanupStack::PushL(tSetupCallV6);
+
+ RSat::TSetUpCallV6Pckg *tSetupCallV6Pckg = new(ELeave)RSat::TSetUpCallV6Pckg(*tSetupCallV6);
+ CleanupStack::PushL(tSetupCallV6Pckg);
+
+ iSat.NotifySetUpCallPCmd(reqStatus,*(tSetupCallV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ RSat::TSetUpCallRspV2 *tSetupCallRsp = new (ELeave) RSat::TSetUpCallRspV2;
+ CleanupStack::PushL(tSetupCallRsp);
+
+ RSat::TSetUpCallRspV2Pckg *tSetupCallRspPckgV6 = new (ELeave) RSat::TSetUpCallRspV2Pckg(*tSetupCallRsp);
+ CleanupStack::PushL(tSetupCallRspPckgV6);
+
+ _LIT(KText,"KMeBusyOnCall");
+ TBuf<254> buf(KText);
+ tSetupCallRsp->iGeneralResult = RSat::KMeUnableToProcessCmd;
+ tSetupCallRsp->iInfoType = RSat::KMeProblem;
+ tSetupCallRsp->iAdditionalInfo = buf;
+ tSetupCallRsp->SetPCmdNumber(SIMTSY_SETUP_CALL_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ESetUpCall,*(tSetupCallRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8566 - Successful"));
+
+ return KErrNone;
+
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8567
+ *
+ * SYMREQ REQ7499
+ *
+ * SYMTestCaseDesc R6 support for “Set up Call” when the terminal is not able to establish a call.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) The client notifies the ME for the SET UP CALL using the RSat::NotifySetUpCallPCmd()
+ * with the iDuration (time to redial) set to a valid duration for the redial.
+ * (ii) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
+ *
+ * SYMTestExpectedResults
+ * Terminal response holds value KNetworkUnableToProcessCmd in the Response package indicating
+ * the terminal is not able to establish the call.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatSetupCall::testSAT8567L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8567"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSetUpCallV6 *tSetupCallV6 = new(ELeave) RSat::TSetUpCallV6();
+ CleanupStack::PushL(tSetupCallV6);
+
+ RSat::TSetUpCallV6Pckg *tSetupCallV6Pckg = new(ELeave)RSat::TSetUpCallV6Pckg(*tSetupCallV6);
+ CleanupStack::PushL(tSetupCallV6Pckg);
+
+ iSat.NotifySetUpCallPCmd(reqStatus,*(tSetupCallV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ RSat::TSetUpCallRspV2 *tSetupCallRsp = new (ELeave) RSat::TSetUpCallRspV2;
+ CleanupStack::PushL(tSetupCallRsp);
+
+ RSat::TSetUpCallRspV2Pckg *tSetupCallRspPckgV6 = new (ELeave) RSat::TSetUpCallRspV2Pckg(*tSetupCallRsp);
+ CleanupStack::PushL(tSetupCallRspPckgV6);
+
+ _LIT(KText,"KMeBusyOnCall");
+ TBuf<254> buf(KText);
+ tSetupCallRsp->iGeneralResult = RSat::KNetworkUnableToProcessCmd;
+ tSetupCallRsp->iInfoType = RSat::KMeProblem;
+ tSetupCallRsp->iAdditionalInfo = buf;
+ tSetupCallRsp->SetPCmdNumber(SIMTSY_SETUP_CALL_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ESetUpCall,*(tSetupCallRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8567 - Successful"));
+
+ return KErrNone;
+
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8568
+ *
+ * SYMREQ REQ7499
+ *
+ * SYMTestCaseDesc Cancellation of the proactive command “Set up Call” with R6 support.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) The client notifies the ME for the SET UP CALL using the RSat::NotifySetUpCallPCmd()
+ * (ii) Cancel the previously placed Notification request with the API
+ * RSat::CancelAsyncRequest(ESatNotifyPlayTonePCmd).
+ *
+ * SYMTestExpectedResults
+ * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
+ * SYMTestType CIT
+ */
+
+TInt CSimSatSetupCall::testSAT8568L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8568"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSetUpCallV6 *tSetupCallV6 = new(ELeave) RSat::TSetUpCallV6();
+ CleanupStack::PushL(tSetupCallV6);
+
+ RSat::TSetUpCallV6Pckg *tSetupCallV6Pckg = new(ELeave)RSat::TSetUpCallV6Pckg(*tSetupCallV6);
+ CleanupStack::PushL(tSetupCallV6Pckg);
+
+ iSat.NotifySetUpCallPCmd(reqStatus,*(tSetupCallV6Pckg));
+ iSat.CancelAsyncRequest(ESatNotifySetUpCallPCmd);
+ User::WaitForRequest(reqStatus);
+ TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
+
+ CleanupStack::PopAndDestroy(2);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8568 - Successful"));
+
+ return KErrNone;
+
+ }
+
+CSimSatRefresh::CSimSatRefresh()
+ {
+ SetTestStepName(_L("SatTestRefresh"));
+ }
+
+TVerdict CSimSatRefresh::doTestStepL()
+ {
+ INFO_PRINTF1(_L("REFRESH COMMAND TESTING - START"));
+
+ CreateConfigFileL(_L("c:\\config4.txt"));
+ SetTestNumberL(0);
+
+ TInt ret = iPhone.Open(iTelServer,KPhoneName);
+ TESTL(ret == KErrNone);
+ INFO_PRINTF1(_L("Opened phone object"));
+ TESTL(iSat.Open(iPhone)==KErrNone);
+ INFO_PRINTF1(_L("Opened Sat object"));
+
+ testSAT8569L(); // For testing the TEL-SIMTSY-SAT-8569
+ testSAT8570L(); // For testing the TEL-SIMTSY-SAT-8570
+ testSAT8571L(); // For testing the TEL-SIMTSY-SAT-8571
+
+ iSat.Close();
+ iPhone.Close();
+ ASSERT(RThread().RequestCount()==0);
+
+ INFO_PRINTF1(_L("REFRESH COMMAND TESTING - END"));
+
+ return TestStepResult();
+
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8569
+ *
+ * SYMREQ REQ7339
+ *
+ * SYMTestCaseDesc R6 support for “Refresh” command in the USIM Initialisation and File Change Notification Mode.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
+ * (ii) Call the API RSat::ClientSatProfileIndication using the reference of RSat::TSatProfileV6Pckg.
+ * (iii) The client notifies the ME for the REFRESH using the RSat::NotifyRefreshPCmd () with the
+ * TRefreshType = ESimInitFileChangeNotification in the TRefreshV6 class parameter.
+ * (iv) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
+ *
+ * SYMTestExpectedResults
+ * Byte 22 of the Terminal profile shall contain support for multimedia call with value KCapsRefreshGBA
+ * Terminal response contains value as KSuccess, in the Response package.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatRefresh::testSAT8569L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8569"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
+ CleanupStack::PushL(profileV6);
+
+ RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
+ CleanupStack::PushL(profileV6Pckg);
+
+ iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL((profileV6->iSatProfileByte22) & (RSat::KCapsRefreshGBA));
+
+ TRequestStatus trr = KErrNone;
+ trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
+ TESTL(trr == KErrNone);
+
+ RSat::TRefreshV2 *tRefreshV6 = new(ELeave) RSat::TRefreshV2();
+ CleanupStack::PushL(tRefreshV6);
+ tRefreshV6->iType = RSat::E3GSessionReset;
+
+ RSat::TRefreshV2Pckg *tRefreshV6Pckg = new(ELeave)RSat::TRefreshV2Pckg(*tRefreshV6);
+ CleanupStack::PushL(tRefreshV6Pckg);
+
+ iSat.NotifyRefreshPCmd(reqStatus,*(tRefreshV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL((tRefreshV6->iType == RSat::ESimInitFileChangeNotification) ||
+ (tRefreshV6->iType == RSat::EFileChangeNotification) ||
+ (tRefreshV6->iType == RSat::E3GSessionReset));
+
+ RSat::TRefreshRspV1 *tRefreshRsp = new (ELeave) RSat::TRefreshRspV1;
+ CleanupStack::PushL(tRefreshRsp);
+
+ RSat::TRefreshRspV1Pckg *tRefreshRspPckgV6 = new (ELeave) RSat::TRefreshRspV1Pckg(*tRefreshRsp);
+ CleanupStack::PushL(tRefreshRspPckgV6);
+
+ tRefreshRsp->iGeneralResult = RSat::KSuccess;
+ tRefreshRsp->iInfoType = RSat::KNoAdditionalInfo;
+ tRefreshRsp->SetPCmdNumber(SIMTSY_REFRESH_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ERefresh,*(tRefreshRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(6);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8569 - Successful"));
+
+ return KErrNone;
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8570
+ *
+ * SYMREQ REQ7339
+ *
+ * SYMTestCaseDesc R6 support for “Refresh” command in the USIM Application Reset mode.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) The client notifies the ME for the REFRESH using the RSat::NotifyRefreshPCmd ()
+ * with the TRefreshType = EUsimApplicationReset in the TRefreshV6 class parameter.
+ * (ii) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
+ *
+ * SYMTestExpectedResults
+ * Terminal response contains value as KMeUnableToProcessCmd, in the Response package.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatRefresh::testSAT8570L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8570"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TRefreshV2 *tRefreshV6 = new(ELeave) RSat::TRefreshV2();
+ CleanupStack::PushL(tRefreshV6);
+ tRefreshV6->iType = RSat::EFileChangeNotification;
+
+ RSat::TRefreshV2Pckg *tRefreshV6Pckg = new(ELeave)RSat::TRefreshV2Pckg(*tRefreshV6);
+ CleanupStack::PushL(tRefreshV6Pckg);
+
+ iSat.NotifyRefreshPCmd(reqStatus,*(tRefreshV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(tRefreshV6->iType == RSat::EUsimApplicationReset);
+
+ RSat::TRefreshRspV1 *tRefreshRsp = new (ELeave) RSat::TRefreshRspV1;
+ CleanupStack::PushL(tRefreshRsp);
+
+ RSat::TRefreshRspV1Pckg *tRefreshRspPckgV6 = new (ELeave) RSat::TRefreshRspV1Pckg(*tRefreshRsp);
+ CleanupStack::PushL(tRefreshRspPckgV6);
+
+ tRefreshRsp->iGeneralResult = RSat::KMeUnableToProcessCmd;
+ tRefreshRsp->iInfoType = RSat::KNoAdditionalInfo;
+ tRefreshRsp->SetPCmdNumber(SIMTSY_REFRESH_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ERefresh,*(tRefreshRspPckgV6));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8570 - Successful"));
+
+ return KErrNone;
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8571
+ *
+ * SYMREQ REQ7339
+ *
+ * SYMTestCaseDesc Cancellation of the Proactive command “Refresh” command with R6 support.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) The client notifies the ME for the REFRESH using the RSat::NotifyRefreshPCmd()
+ * with the TRefreshType = EUsimApplicationReset in the TRefreshV6 class parameter.
+ * (ii) Cancel the previously placed Notification request with the API
+ * RSat::CancelAsyncRequest(ESatNotifyRefreshPCmd).
+ *
+ * SYMTestExpectedResults
+ * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
+ * SYMTestType CIT
+ */
+
+TInt CSimSatRefresh::testSAT8571L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8571"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TRefreshV2 *tRefreshV6 = new(ELeave) RSat::TRefreshV2();
+ CleanupStack::PushL(tRefreshV6);
+ tRefreshV6->iType = RSat::E3GSessionReset;
+
+ RSat::TRefreshV2Pckg *tRefreshV6Pckg = new(ELeave)RSat::TRefreshV2Pckg(*tRefreshV6);
+ CleanupStack::PushL(tRefreshV6Pckg);
+
+ iSat.NotifyRefreshPCmd(reqStatus,*(tRefreshV6Pckg));
+ iSat.CancelAsyncRequest(ESatNotifyRefreshPCmd);
+ User::WaitForRequest(reqStatus);
+ TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
+
+ CleanupStack::PopAndDestroy(2);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8571 - Successful"));
+
+ return KErrNone;
+ }
+
+
+CSimSatEventDnld::CSimSatEventDnld()
+ {
+ SetTestStepName(_L("SatTestRefresh"));
+ }
+
+TVerdict CSimSatEventDnld::doTestStepL()
+ {
+ INFO_PRINTF1(_L("EVENT DOWNLOAD TESTING - START"));
+
+ CreateConfigFileL(_L("c:\\config4.txt"));
+ SetTestNumberL(0);
+
+ TInt ret = iPhone.Open(iTelServer,KPhoneName);
+ TESTL(ret == KErrNone);
+ INFO_PRINTF1(_L("Opened phone object"));
+ TESTL(iSat.Open(iPhone)==KErrNone);
+ INFO_PRINTF1(_L("Opened Sat object"));
+
+ testSAT8572L(); // For testing the TEL-SIMTSY-SAT-8572
+ testSAT8573L(); // For testing the TEL-SIMTSY-SAT-8573
+ testSAT8574L(); // For testing the TEL-SIMTSY-SAT-8574
+ testSAT8575L(); // For testing the TEL-SIMTSY-SAT-8575
+ testSAT8576L(); // For testing the TEL-SIMTSY-SAT-8576
+ testSAT8577L(); // For testing the TEL-SIMTSY-SAT-8577
+
+ iSat.Close();
+ iPhone.Close();
+ ASSERT(RThread().RequestCount()==0);
+
+ INFO_PRINTF1(_L("EVENT DOWNLOAD TESTING - END"));
+
+ return TestStepResult();
+
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8572
+ *
+ * SYMREQ REQ7343
+ *
+ * SYMTestCaseDesc EVENT DOWNLOAD Network Search Mode Change
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
+ * (ii) Call the API RSat::ClientSatProfileIndication using the reference of RSat::TSatProfileV6Pckg.
+ * (iii) The client notifies the ME for the EVENT DOWNLOAD using the RSat::EventDownload () with the
+ * eventlist as KNetworkSearchModeChange in the TNetworkSearchModeChangeV6 class parameter.
+ *
+ * SYMTestExpectedResults
+ * Byte 6 of the Terminal profile shall contain support for multimedia call with value
+ * KCapsNetworkSearchModeChangeEvent.
+ * The EventDownload request completes successfully with KErrNone.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatEventDnld::testSAT8572L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8572"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
+ CleanupStack::PushL(profileV6);
+
+ RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
+ CleanupStack::PushL(profileV6Pckg);
+
+ iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL((profileV6->iSatProfileByte6) & (RSat::KCapsNetworkSearchModeChangeEvent));
+
+ TRequestStatus trr = KErrNone;
+ trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
+ TESTL(trr == KErrNone);
+
+ RSat::TNetworkSearchModeChangeEventV6 *tEventDnldV6 = new(ELeave) RSat::TNetworkSearchModeChangeEventV6();
+ CleanupStack::PushL(tEventDnldV6);
+
+ RSat::TNetworkSearchModeChangeEventV6Pckg *tEventDnldV6Pckg = new(ELeave)
+ RSat::TNetworkSearchModeChangeEventV6Pckg(*tEventDnldV6);
+ CleanupStack::PushL(tEventDnldV6Pckg);
+
+ tEventDnldV6->iNetworkSearchMode = RSat::EAutomatic;
+
+ iSat.EventDownload(reqStatus,RSat::KNetworkSearchModeChange ,*(tEventDnldV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8572 - Successful"));
+
+ return KErrNone;
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8573
+ *
+ * SYMREQ REQ7343
+ *
+ * SYMTestCaseDesc Cancellation of EVENT DOWNLOAD Network Search Mode Change
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) The client notifies the ME for the EVENT DOWNLOAD using the RSat:: EventDownload () with the
+ * TEventList = KNetworkSearchModeChange in the TNetworkSearchModeChangeV6 class parameter.
+ * (ii) Cancel the placed request using RSat::CancelAsyncRequest(ESatEventDownload).
+ *
+ * SYMTestExpectedResults
+ * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
+ * SYMTestType CIT
+ */
+
+TInt CSimSatEventDnld::testSAT8573L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8573"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TNetworkSearchModeChangeEventV6 *tEventDnldV6 = new(ELeave) RSat::TNetworkSearchModeChangeEventV6();
+
+ CleanupStack::PushL(tEventDnldV6);
+
+ RSat::TNetworkSearchModeChangeEventV6Pckg *tEventDnldV6Pckg = new(ELeave)
+ RSat::TNetworkSearchModeChangeEventV6Pckg(*tEventDnldV6);
+ CleanupStack::PushL(tEventDnldV6Pckg);
+
+ tEventDnldV6->iNetworkSearchMode = RSat::EAutomatic;
+
+ iSat.EventDownload(reqStatus,RSat::KNetworkSearchModeChange ,*(tEventDnldV6Pckg));
+ iSat.CancelAsyncRequest(ESatEventDownload);
+ User::WaitForRequest(reqStatus);
+ TESTL((reqStatus.Int() == KErrNone) || (reqStatus.Int() == KErrCancel));
+
+ CleanupStack::PopAndDestroy(2);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8573 - Successful"));
+
+ return KErrNone;
+
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8574
+ *
+ * SYMREQ REQ7343
+ *
+ * SYMTestCaseDesc EVENT DOWNLOAD Browsing Status Change
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
+ * (ii) Call the API RSat::ClientSatProfileIndication using the reference of RSat::TSatProfileV6Pckg.
+ * (iii) The client notifies the ME for the EVENT DOWNLOAD using the RSat::EventDownload () with the
+ * eventlist as KBrowsingStatusChange in the TBrowsingStatusChangeV6 class parameter.
+ *
+ * SYMTestExpectedResults
+ * The EventDownload request completes successfully with KErrNone.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatEventDnld::testSAT8574L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8574"));
+
+ TRequestStatus reqStatus = KErrNone;
+
+ RSat::TBrowsingStatusEventV6 *tBrwStsV6 = new(ELeave) RSat::TBrowsingStatusEventV6();
+ CleanupStack::PushL(tBrwStsV6);
+
+ RSat::TBrowsingStatusEventV6Pckg *tBrwStsV6Pckg = new(ELeave)RSat::TBrowsingStatusEventV6Pckg(*tBrwStsV6);
+ CleanupStack::PushL(tBrwStsV6Pckg);
+
+ tBrwStsV6->iBrowserStatus = 0x02;
+
+ iSat.EventDownload(reqStatus,RSat::KBrowsingStatusChange ,*(tBrwStsV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(2);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8574 - Successful"));
+
+ return KErrNone;
+
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8575
+ *
+ * SYMREQ REQ7343
+ *
+ * SYMTestCaseDesc Cancellation of the EVENT DOWNLOAD command of Browsing Status Change
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) The client notifies the ME for the EVENT DOWNLOAD using the RSat::EventDownload ()
+ * with the TEventList as KBrowsingStatusChange in the TBrowsingStatusChangeV6 class parameter.
+ * (ii) Cancel the previously placed request using RSat::CancelAsyncRequest(ESatEventDownload).
+ *
+ * SYMTestExpectedResults
+ * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatEventDnld::testSAT8575L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8575"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TBrowsingStatusEventV6 *tBrwStsV6 = new(ELeave) RSat::TBrowsingStatusEventV6();
+ CleanupStack::PushL(tBrwStsV6);
+
+ RSat::TBrowsingStatusEventV6Pckg *tBrwStsV6Pckg = new(ELeave)RSat::TBrowsingStatusEventV6Pckg(*tBrwStsV6);
+ CleanupStack::PushL(tBrwStsV6Pckg);
+
+ tBrwStsV6->iBrowserStatus = 0x05;
+
+ iSat.EventDownload(reqStatus,RSat::KBrowsingStatusChange ,*(tBrwStsV6Pckg));
+ iSat.CancelAsyncRequest(ESatEventDownload);
+ User::WaitForRequest(reqStatus);
+ TESTL((reqStatus.Int() == KErrNone) || (reqStatus.Int() == KErrCancel));
+
+ CleanupStack::PopAndDestroy(2);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8575 - Successful"));
+
+ return KErrNone;
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8576
+ *
+ * SYMREQ REQ7343
+ *
+ * SYMTestCaseDesc EVENT DOWNLOAD Frames Information Change
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
+ * (ii) Call the API RSat::ClientSatProfileIndication using the reference of RSat::TSatProfileV6Pckg.
+ * (iii) The client notifies the ME for the EVENT DOWNLOAD using the RSat::EventDownload () with the
+ * eventlist as KFramesInformationChange in the TFramesInformationChangeV6 class parameter.
+ *
+ * SYMTestExpectedResults
+ * The EventDownload request completes successfully with KErrNone.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatEventDnld::testSAT8576L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8576"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
+ CleanupStack::PushL(profileV6);
+
+ RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
+ CleanupStack::PushL(profileV6Pckg);
+
+ iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL((profileV6->iSatProfileByte25) & (RSat::KCapsFrameParametersChangeEvent));
+
+ TRequestStatus trr = KErrNone;
+ trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
+ TESTL(trr == KErrNone);
+
+ RSat::TFramesInformationChangedEventV6 *tFrmsChgV6 = new(ELeave) RSat::TFramesInformationChangedEventV6();
+ CleanupStack::PushL(tFrmsChgV6);
+
+ RSat::TFramesInformationChangedEventV6Pckg *tFrmsChgV6Pckg = new(ELeave)
+ RSat::TFramesInformationChangedEventV6Pckg(*tFrmsChgV6);
+ CleanupStack::PushL(tFrmsChgV6Pckg);
+
+ _LIT8(KFrameIdBuf,"ABC");
+ TBuf8<255> buf(KFrameIdBuf);
+ tFrmsChgV6->iFramesInformation.iFrameId = 0x25;
+ tFrmsChgV6->iFramesInformation.iFrameList = buf;
+
+ iSat.EventDownload(reqStatus,RSat::KFramesInformationChange ,*(tFrmsChgV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8576 - Successful"));
+
+ return KErrNone;
+
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8577
+ *
+ * SYMREQ REQ7343
+ *
+ * SYMTestCaseDesc Cancellation of EVENT DOWNLOAD with Frames Information Change.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) The client notifies the ME for the REFRESH using the RSat::EventDownload () with the
+ * eventlist as KFramesInformationChange in the TFramesInformationChangeV6 class parameter.
+ * (ii) Cancel the previously placed request using RSat::CancelAsyncRequest(ESatEventDownload).
+ *
+ * SYMTestExpectedResults
+ * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
+ * SYMTestType CIT
+ */
+
+TInt CSimSatEventDnld::testSAT8577L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8577"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TFramesInformationChangedEventV6 *tFrmsChgV6 = new(ELeave) RSat::TFramesInformationChangedEventV6();
+ CleanupStack::PushL(tFrmsChgV6);
+
+ RSat::TFramesInformationChangedEventV6Pckg *tFrmsChgV6Pckg = new(ELeave)
+ RSat::TFramesInformationChangedEventV6Pckg(*tFrmsChgV6);
+ CleanupStack::PushL(tFrmsChgV6Pckg);
+
+ _LIT8(KFrameIdBuf,"ABC");
+ TBuf8<255> buf(KFrameIdBuf);
+ tFrmsChgV6->iFramesInformation.iFrameId = 0x25;
+ tFrmsChgV6->iFramesInformation.iFrameList = buf;
+
+ iSat.EventDownload(reqStatus,RSat::KFramesInformationChange ,*(tFrmsChgV6Pckg));
+ iSat.CancelAsyncRequest(ESatEventDownload);
+ User::WaitForRequest(reqStatus);
+ TESTL((reqStatus.Int() == KErrNone) || (reqStatus.Int() == KErrCancel));
+
+ CleanupStack::PopAndDestroy(2);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8577 - Successful"));
+
+ return KErrNone;
+
+ }
+
+
+CSimSatSendUssd::CSimSatSendUssd()
+ {
+ SetTestStepName(_L("SatTestSendUssd"));
+ }
+
+TVerdict CSimSatSendUssd::doTestStepL()
+ {
+ INFO_PRINTF1(_L("SEND USSD TESTING - START"));
+
+ CreateConfigFileL(_L("c:\\config4.txt"));
+ SetTestNumberL(0);
+
+ TInt ret = iPhone.Open(iTelServer,KPhoneName);
+ TESTL(ret == KErrNone);
+ INFO_PRINTF1(_L("Opened phone object"));
+ TESTL(iSat.Open(iPhone)==KErrNone);
+ INFO_PRINTF1(_L("Opened Sat object"));
+
+ testSAT8578L(); // For testing the TEL-SIMTSY-SAT-8578
+ testSAT8579L(); // For testing the TEL-SIMTSY-SAT-8579
+ testSAT8580L(); // For testing the TEL-SIMTSY-SAT-8580
+ testSAT8581L(); // For testing the TEL-SIMTSY-SAT-8581
+ testSAT8582L(); // For testing the TEL-SIMTSY-SAT-8582
+
+ iSat.Close();
+ iPhone.Close();
+ ASSERT(RThread().RequestCount()==0);
+
+ INFO_PRINTF1(_L("SEND USSD TESTING - END"));
+
+ return TestStepResult();
+
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8578
+ *
+ * SYMREQ REQ7340
+ *
+ * SYMTestCaseDesc SEND USSD to support the application mode.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Call the API RSat::GetMeSideSatProfile using the parameter RSat::TSatProfileV6Pckg as reference
+ * (ii) Call the API RSat::ClientSatProfileIndication using the reference of RSat::TSatProfileV6Pckg.
+ *
+ * SYMTestExpectedResults
+ * The TSatProfileV6 shall have the TSatProfileByte4 set to KCapsSendUSSD .
+ * The ClientSatProfileIndication shall return KErrNone.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatSendUssd::testSAT8578L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8578"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSatProfileV6 *profileV6 = new (ELeave)RSat::TSatProfileV6;
+ CleanupStack::PushL(profileV6);
+
+ RSat::TSatProfileV6Pckg *profileV6Pckg = new (ELeave)RSat::TSatProfileV6Pckg(*profileV6);
+ CleanupStack::PushL(profileV6Pckg);
+
+ iSat.GetMeSideSatProfile(reqStatus, *profileV6Pckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(profileV6->iSatProfileByte4 & (RSat::KCapsSendUSSD));
+
+ TRequestStatus trr = KErrNone;
+ trr= iSat.ClientSatProfileIndication(*profileV6Pckg);
+ TESTL(trr == KErrNone);
+
+ CleanupStack::PopAndDestroy(2);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8578- Successful"));
+
+ return KErrNone;
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8579
+ *
+ * SYMREQ REQ7340
+ *
+ * SYMTestCaseDesc SEND USSD to support the application mode.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Call the API RSat::NotifySendUssdPCmd using the TSendUssdV6 as the parameter.
+ *
+ * SYMTestExpectedResults
+ * The NotiftySendUssdPCmd request completes successfully with KErrNone.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatSendUssd::testSAT8579L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8579"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSendUssdV6* tSendUssd = new(ELeave) RSat::TSendUssdV6();
+ CleanupStack::PushL(tSendUssd);
+
+ RSat::TSendUssdV6Pckg* tSendUssdPckg = new(ELeave) RSat::TSendUssdV6Pckg(*tSendUssd);
+ CleanupStack::PushL(tSendUssdPckg);
+
+ iSat.NotifySendUssdPCmd(reqStatus,*(tSendUssdPckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(tSendUssd->iTextAttribute.iStatus == RSat::ETextAttributeProvided);
+ TESTL(tSendUssd->iTextAttribute.iTextAttributeData.Compare(SIMTSY_TXT_ATTR_DATA) ==0);
+
+ RSat::TSendUssdRspV1 *tSendUssdRsp = new (ELeave) RSat::TSendUssdRspV1;
+ CleanupStack::PushL(tSendUssdRsp);
+
+ RSat::TSendUssdRspV1Pckg *tSendUssdRspPckg = new (ELeave) RSat::TSendUssdRspV1Pckg(*tSendUssdRsp);
+ CleanupStack::PushL(tSendUssdRspPckg);
+
+ tSendUssdRsp->iGeneralResult = RSat::KSuccess;
+ tSendUssdRsp->iInfoType = RSat::KNoAdditionalInfo;
+ tSendUssdRsp->SetPCmdNumber(SIMTSY_SEND_USSD_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ESendUssd,*(tSendUssdRspPckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8579- Successful"));
+
+ return KErrNone;
+
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8580
+ *
+ * SYMREQ REQ7340
+ *
+ * SYMTestCaseDesc SEND USSD command rejected by the ME as ME is busy on a USSD transaction
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Client requests notification for RETRIEVE MULTIMEDIA MESSAGE using NotifySendUssdPCmd () API.
+ * (ii) UICC issues SEND USSD command to the ME.
+ * (iii) ME is unable to execute the command as its busy processing some other USSD transaction.
+ * (iv) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
+ *
+ * SYMTestExpectedResults
+ * ME is notified of the request.
+ * Upon completion of the proactive command, details are returned in a packaged version of
+ * TSendUssdV6in the command parameter.
+ * ME responds with KMeUnableToProcessCmd in the Terminal response with the additional information
+ * KMeBusyOnUssd.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatSendUssd::testSAT8580L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8580"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSendUssdV6* tSendUssd = new(ELeave) RSat::TSendUssdV6();
+ CleanupStack::PushL(tSendUssd);
+
+ RSat::TSendUssdV6Pckg* tSendUssdPckg = new(ELeave) RSat::TSendUssdV6Pckg(*tSendUssd);
+ CleanupStack::PushL(tSendUssdPckg);
+
+ iSat.NotifySendUssdPCmd(reqStatus,*(tSendUssdPckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(tSendUssd->iTextAttribute.iStatus == RSat::ETextAttributeProvided);
+ TESTL(tSendUssd->iTextAttribute.iTextAttributeData.Compare(SIMTSY_TXT_ATTR_DATA) ==0);
+
+ RSat::TSendUssdRspV1 *tSendUssdRsp = new (ELeave) RSat::TSendUssdRspV1;
+ CleanupStack::PushL(tSendUssdRsp);
+
+ RSat::TSendUssdRspV1Pckg *tSendUssdRspPckg = new (ELeave) RSat::TSendUssdRspV1Pckg(*tSendUssdRsp);
+ CleanupStack::PushL(tSendUssdRspPckg);
+
+ _LIT(KText,"KMeBusyOnUssd");
+ TBuf<254> buf(KText);
+ tSendUssdRsp->iGeneralResult = RSat::KMeUnableToProcessCmd;
+ tSendUssdRsp->iInfoType = RSat::KMeProblem;
+ tSendUssdRsp->iAdditionalInfo = buf;
+ tSendUssdRsp->SetPCmdNumber(SIMTSY_SEND_USSD_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ESendUssd,*(tSendUssdRspPckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8580- Successful"));
+
+ return KErrNone;
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8581
+ *
+ * SYMREQ REQ7340
+ *
+ * SYMTestCaseDesc SEND USSD command rejected by the ME as ME is busy on a SS transaction
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Client requests notification for RETRIEVE MULTIMEDIA MESSAGE using NotifySendUssdPCmd () API.
+ * (ii) UICC issues SEND USSD command to the ME.
+ * (iii) ME is unable to execute the command as its busy processing some other SS transaction.
+ * (iv) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
+ *
+ * SYMTestExpectedResults
+ * ME is notified of the request.
+ * Upon completion of the proactive command, details are returned in a packaged version of
+ * TSendUssdV6in the command parameter.
+ * ME responds with KMeUnableToProcessCmd in the Terminal response with the additional information
+ * KMeBusyOnSs.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatSendUssd::testSAT8581L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8581"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSendUssdV6* tSendUssd = new(ELeave) RSat::TSendUssdV6();
+ CleanupStack::PushL(tSendUssd);
+
+ RSat::TSendUssdV6Pckg* tSendUssdPckg = new(ELeave) RSat::TSendUssdV6Pckg(*tSendUssd);
+ CleanupStack::PushL(tSendUssdPckg);
+
+ iSat.NotifySendUssdPCmd(reqStatus,*(tSendUssdPckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(tSendUssd->iTextAttribute.iStatus == RSat::ETextAttributeProvided);
+ TESTL(tSendUssd->iTextAttribute.iTextAttributeData.Compare(SIMTSY_TXT_ATTR_DATA) ==0);
+
+ RSat::TSendUssdRspV1 *tSendUssdRsp = new (ELeave) RSat::TSendUssdRspV1;
+ CleanupStack::PushL(tSendUssdRsp);
+
+ RSat::TSendUssdRspV1Pckg *tSendUssdRspPckg = new (ELeave) RSat::TSendUssdRspV1Pckg(*tSendUssdRsp);
+ CleanupStack::PushL(tSendUssdRspPckg);
+
+ _LIT(KText,"KMeBusyOnSs");
+ TBuf<254> buf(KText);
+ tSendUssdRsp->iGeneralResult = RSat::KMeUnableToProcessCmd;
+ tSendUssdRsp->iInfoType = RSat::KMeProblem;
+ tSendUssdRsp->iAdditionalInfo = buf;
+ tSendUssdRsp->SetPCmdNumber(SIMTSY_SEND_USSD_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::ESendUssd,*(tSendUssdRspPckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8581- Successful"));
+
+ return KErrNone;
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8582
+ *
+ * SYMREQ REQ7340
+ *
+ * SYMTestCaseDesc Cancellation of SEND USSD command
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Call the API RSat::NotifySendUssdPCmd using the TSendUssdV6 as the parameter.
+ * (ii) Cancel the request using RSat::CancelAsyncRequest(ESatNotifySendUssdPCmd).
+ *
+ * SYMTestExpectedResults
+ * Client shall be able to cancel the request. The cancel API shall respond with KErrCancel or KErrNone.
+ * SYMTestType CIT
+ */
+
+TInt CSimSatSendUssd::testSAT8582L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8582"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSendUssdV6* tSendUssd = new(ELeave) RSat::TSendUssdV6();
+ CleanupStack::PushL(tSendUssd);
+
+ RSat::TSendUssdV6Pckg* tSendUssdPckg = new(ELeave) RSat::TSendUssdV6Pckg(*tSendUssd);
+ CleanupStack::PushL(tSendUssdPckg);
+
+ iSat.NotifySendUssdPCmd(reqStatus,*(tSendUssdPckg));
+ iSat.CancelAsyncRequest(ESatNotifySendUssdPCmd);
+ User::WaitForRequest(reqStatus);
+ TESTL((reqStatus.Int()==KErrNone) || (reqStatus.Int()==KErrCancel));
+
+ CleanupStack::PopAndDestroy(2);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8582 - Successful"));
+
+ return KErrNone;
+ }
+
+CSimSatGenPCmd::CSimSatGenPCmd()
+ {
+ SetTestStepName(_L("SatTestGenPCmd"));
+ }
+
+TVerdict CSimSatGenPCmd::doTestStepL()
+ {
+ INFO_PRINTF1(_L("FrameIdentifier and Text attribute TESTING - START"));
+
+ CreateConfigFileL(_L("c:\\config4.txt"));
+ SetTestNumberL(0);
+
+ TInt ret = iPhone.Open(iTelServer,KPhoneName);
+ TESTL(ret == KErrNone);
+ INFO_PRINTF1(_L("Opened phone object"));
+ TESTL(iSat.Open(iPhone)==KErrNone);
+ INFO_PRINTF1(_L("Opened Sat object"));
+
+ testSAT8583L(); // For testing the TEL-SIMTSY-SAT-8583
+ testSAT8584L(); // For testing the TEL-SIMTSY-SAT-8584
+
+ iSat.Close();
+ iPhone.Close();
+ ASSERT(RThread().RequestCount()==0);
+
+ INFO_PRINTF1(_L("SEND USSD TESTING - END"));
+
+ return TestStepResult();
+
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8583
+ *
+ * SYMREQ REQ7344
+ *
+ * SYMTestCaseDesc Extended support for the proactive commands for which the frame identifier is being added.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Call the API RSat::NotifyGetInkeyPCmd using the TGetInkeyV6 as the parameter that contains
+ * the Frame identifier and the iExtensionID as RSat::KSatV6.
+ *
+ * SYMTestExpectedResults
+ * The request shall be successfully completed with return status as KErrNone.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatGenPCmd::testSAT8583L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8583"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TGetInkeyV6* tGetInkey = new(ELeave) RSat::TGetInkeyV6;
+ CleanupStack::PushL(tGetInkey);
+
+ RSat::TGetInkeyV6Pckg *tGetInkeyPckg = new(ELeave) RSat::TGetInkeyV6Pckg(*tGetInkey);
+ CleanupStack::PushL(tGetInkeyPckg);
+
+ iSat.NotifyGetInkeyPCmd(reqStatus,*(tGetInkeyPckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(tGetInkey->iFrameId == 0x25);
+
+ RSat::TGetInkeyRspV2* tGetInkeyRsp = new (ELeave)RSat::TGetInkeyRspV2;
+ CleanupStack::PushL(tGetInkeyRsp);
+
+ RSat::TGetInkeyRspV2Pckg *tGetInkeyRspPckg = new(ELeave)RSat::TGetInkeyRspV2Pckg(*tGetInkeyRsp);
+ CleanupStack::PushL(tGetInkeyRspPckg);
+
+ tGetInkeyRsp->iGeneralResult = RSat::KSuccess;
+ tGetInkeyRsp->iInfoType = RSat::KNoAdditionalInfo;
+ tGetInkeyRsp->SetPCmdNumber(SIMTSY_GET_INKEY_PCMD_NUMBER);
+
+ iSat.TerminalRsp(reqStatus,RSat::EGetInkey,*(tGetInkeyRspPckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int() == KErrNone);
+
+ CleanupStack::PopAndDestroy(4);
+
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8583- Successful"));
+
+ return KErrNone;
+
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8584
+ *
+ * SYMREQ REQ7500
+ *
+ * SYMTestCaseDesc Extended support for the proactive commands for which the text attributes are being added.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Call the API RSat:: NotifySendSsPCmd using the TSendSsV6 as the parameter that contains the
+ * text attributes and the iExtensionID as RSat::KSatV6.
+ *
+ * SYMTestExpectedResults
+ * The request shall be successfully completed with return status as KErrNone.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatGenPCmd::testSAT8584L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8584"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSendSsV6* tSendSS = new (ELeave)RSat::TSendSsV6;
+ CleanupStack::PushL(tSendSS);
+
+ RSat::TSendSsV6Pckg* tSendSSpckg = new (ELeave)RSat::TSendSsV6Pckg(*tSendSS);
+ CleanupStack::PushL(tSendSSpckg);
+
+ iSat.NotifySendSsPCmd(reqStatus,*(tSendSSpckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(tSendSS->ExtensionId() == RSat::KSatV6);
+ TESTL(tSendSS->iTextAttribute.iStatus == RSat::ETextAttributeProvided);
+ TESTL(tSendSS->iTextAttribute.iTextAttributeData.Compare(SIMTSY_TXT_ATTR_DATA) == 0);
+
+ CleanupStack::PopAndDestroy(2);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8584- Successful"));
+
+ return KErrNone;
+
+ }
+
+
+CSimSatElemFile::CSimSatElemFile()
+ {
+ SetTestStepName(_L("SatTestElemFiles"));
+ }
+
+TVerdict CSimSatElemFile::doTestStepL()
+ {
+ INFO_PRINTF1(_L("ELEMENTARY FILES TESTING - START"));
+
+ CreateConfigFileL(_L("c:\\config4.txt"));
+ SetTestNumberL(0);
+
+ TInt ret = iPhone.Open(iTelServer,KPhoneName);
+ TESTL(ret == KErrNone);
+ INFO_PRINTF1(_L("Opened phone object"));
+ TESTL(iSat.Open(iPhone)==KErrNone);
+ INFO_PRINTF1(_L("Opened Sat object"));
+
+ testSAT8585L(); // For testing the TEL-SIMTSY-SAT-8585
+ testSAT8586L(); // For testing the TEL-SIMTSY-SAT-8586
+
+ iSat.Close();
+ iPhone.Close();
+ ASSERT(RThread().RequestCount()==0);
+
+ INFO_PRINTF1(_L("ELEMENTARY FILES TESTING - END"));
+
+ return TestStepResult();
+
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8585
+ *
+ * SYMREQ REQ7771
+ *
+ * SYMTestCaseDesc Elementary File change when a RETRIEVE MULTIMEDIA MESSAGE command is issued by UICC to ME.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Client requests notification for RETRIEVE MULTIMEDIA MESSAGE using
+ * RSat::NotifyRetrieveMultimediaMsgPCmd () API.
+ * (ii) UICC issues RETRIEVE MULTIMEDIA MESSAGE command to the ME.
+ * (iii) Clients requests notification for REFRESH using the RSat::NotifyRefreshPCmd() API
+ * with the TRefreshV1Pckg class.
+ * (iv) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
+ *
+ * SYMTestExpectedResults
+ * The TRefreshV1Pckg shall consists of the EFs EFMML and EFMMDF in the Filelist as the modified EFs.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatElemFile::testSAT8585L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8585"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TRetrieveMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TRetrieveMultimediaMessageV6;
+ CleanupStack::PushL(tMMMessageV6);
+
+ RSat::TRetrieveMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
+ RSat::TRetrieveMultimediaMessageV6Pckg(*tMMMessageV6);
+ CleanupStack::PushL(tMMMessagePckg);
+
+ iSat.NotifyRetrieveMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ RSat::TRefreshV2 *tRefreshV6 = new(ELeave) RSat::TRefreshV2();
+ CleanupStack::PushL(tRefreshV6);
+
+ RSat::TRefreshV2Pckg *tRefreshV6Pckg = new(ELeave)RSat::TRefreshV2Pckg(*tRefreshV6);
+ CleanupStack::PushL(tRefreshV6Pckg);
+
+ iSat.NotifyRefreshPCmd(reqStatus,*(tRefreshV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(tRefreshV6->iFileList.Length()==2);
+ TESTL(tRefreshV6->iFileList[0]==SIMTSY_MM_ELEM_FILE1);
+ TESTL(tRefreshV6->iFileList[1]==SIMTSY_MM_ELEM_FILE2);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8585- Successful"));
+
+ return KErrNone;
+
+ }
+
+/*
+ * SYMTestCaseID TEL-SIMTSY-NA-8586
+ *
+ * SYMREQ REQ7771
+ *
+ * SYMTestCaseDesc Elementary File change when a SUBMIT MULTIMEDIA MESSAGE command is issued by UICC to ME.
+ *
+ * SYMTestPriority High
+ *
+ * SYMTestActions
+ * (i) Client requests notification for SUBMIT MULTIMEDIA MESSAGE using
+ * RSat::NotifyRetrieveMultimediaMsgPCmd () API.
+ * (ii) UICC issues SUBMIT MULTIMEDIA MESSAGE command to the ME.
+ * (iii) Clients requests notification for REFRESH using the RSat::NotifyRefreshPCmd() API with the
+ * TRefreshV1Pckg class.
+ * (iv) ME sends Terminal Response to the UICC using RSat::TerminalRsp ().
+ *
+ * SYMTestExpectedResults
+ * The TRefreshV1Pckg shall consists of the EFs EFMML and EFMMDF in the Filelist as the modified EFs.
+ *
+ * SYMTestType CIT
+ */
+
+TInt CSimSatElemFile::testSAT8586L()
+ {
+
+ INFO_PRINTF1(_L("Executing the Test Case TEL-SIMTSY-SAT-8586"));
+
+ TRequestStatus reqStatus;
+
+ RSat::TSubmitMultimediaMessageV6 *tMMMessageV6 = new (ELeave) RSat::TSubmitMultimediaMessageV6;
+ CleanupStack::PushL(tMMMessageV6);
+
+ RSat::TSubmitMultimediaMessageV6Pckg *tMMMessagePckg = new (ELeave)
+ RSat::TSubmitMultimediaMessageV6Pckg(*tMMMessageV6);
+ CleanupStack::PushL(tMMMessagePckg);
+
+ iSat.NotifySubmitMultimediaMsgPCmd(reqStatus,*tMMMessagePckg);
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ RSat::TRefreshV2 *tRefreshV6 = new(ELeave) RSat::TRefreshV2();
+ CleanupStack::PushL(tRefreshV6);
+
+ RSat::TRefreshV2Pckg *tRefreshV6Pckg = new(ELeave)RSat::TRefreshV2Pckg(*tRefreshV6);
+ CleanupStack::PushL(tRefreshV6Pckg);
+
+ iSat.NotifyRefreshPCmd(reqStatus,*(tRefreshV6Pckg));
+ User::WaitForRequest(reqStatus);
+ TESTL(reqStatus.Int()==KErrNone);
+
+ TESTL(tRefreshV6->iFileList.Length()==2);
+ TESTL(tRefreshV6->iFileList[0]==SIMTSY_MM_ELEM_FILE1);
+ TESTL(tRefreshV6->iFileList[1]==SIMTSY_MM_ELEM_FILE2);
+
+ CleanupStack::PopAndDestroy(4);
+
+ INFO_PRINTF1(_L("Execution of the Test Case TEL-SIMTSY-SAT-8586- Successful"));
+
+ return KErrNone;
+ }
+