--- a/telephonyserverplugins/common_tsy/test/integration/src/cctsyintegrationtestphoneidentity.cpp Mon May 03 13:37:20 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/integration/src/cctsyintegrationtestphoneidentity.cpp Thu May 06 15:10:38 2010 +0100
@@ -1,1254 +1,1254 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// Test step definitions for the PhoneIdentity functional unit.
-//
-//
-
-/**
- @internalTechnology
-*/
-
-#include "cctsyintegrationtestphoneidentity.h"
-
-#include "cctsyinidata.h"
-
-
-CCTSYIntegrationTestPhoneIdentityBase::CCTSYIntegrationTestPhoneIdentityBase(CEtelSessionMgr& aEtelSessionMgr)
- : CCTSYIntegrationTestSuiteStepBase(aEtelSessionMgr), iCallControlHelper(*this), iSupplementalHelper(*this), iNetworkTestHelper(*this)
-/**
- * Constructor
- */
- {
- }
-
-CCTSYIntegrationTestPhoneIdentityBase::~CCTSYIntegrationTestPhoneIdentityBase()
-/*
- * Destructor
- */
- {
- }
-
-
-CCTSYIntegrationTestPhoneIdentity0001::CCTSYIntegrationTestPhoneIdentity0001(CEtelSessionMgr& aEtelSessionMgr)
- : CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
- {
- SetTestStepName(CCTSYIntegrationTestPhoneIdentity0001::GetTestStepName());
- }
-
-CCTSYIntegrationTestPhoneIdentity0001::~CCTSYIntegrationTestPhoneIdentity0001()
-/**
- * Destructor.
- */
- {
- }
-
-TVerdict CCTSYIntegrationTestPhoneIdentity0001::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-PID-0001
- * @SYMFssID BA/CTSY/PID-0001
- * @SYMTestCaseDesc Deactivate Calling Line Identification Restriction (CLIR).
- * @SYMTestPriority High
- * @SYMTestActions RMobileCall::NotifyMobileCallStatusChange, RMobilePhone::SetIdentityServiceStatus, RMobilePhone::NotifyIdentityServiceStatus, RMobileCall::GetMobileCallInfo, RCall::Dial, RCall::HangUp
- * @SYMTestExpectedResults Pass - CLIR can be deactivated and remote party can get the calling number.
- * @SYMTestType CIT
- * @SYMTestCaseDependencies live/manual
- *
- * Reason for test: Verify service status notifications complete and called party can get the calling number.
- *
- * @return - TVerdict code
- */
- {
-
- //
- // SET UP
- //
-
- // Ensure RMobilePhone::GetCallServiceCaps returns caps in set of KCapsGetClirStatus
- RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
- TUint32 callServiceCaps;
-
- CHECK_TRUE_L(mobilePhone.GetCallServiceCaps(callServiceCaps)==KErrNone, _L("RMobilePhone::GetCallServiceCaps return value is not KErrNone"));
- TUint32 expectedServiceCaps = RMobilePhone::KCapsGetClirStatus;
- CHECK_BITS_SET_L(callServiceCaps, expectedServiceCaps, KNoUnwantedBits, _L("RMobilePhone::GetCallServiceCaps returned wrong caps"));
-
- CHECK_EQUALS_L(iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(mobilePhone), KErrNone, _L("TNetworkTsyTestHelper::WaitForRegisteredOnHomeNetworkL returned with an error"));
-
-
- // Get Voice Line 1.
- RMobileLine& mobileLine= iEtelSessionMgr.GetLineL(KMainServer, KMainPhone, KVoiceLine);
-
- // Get Call 1.
- RMobileCall& mobileCall= iEtelSessionMgr.GetCallL(KMainServer, KMainPhone, KVoiceLine, KCall1);
-
- //
- // SET UP END
- //
-
- StartTest();
-
- //
- // TEST START
- //
-
- // Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerRestriction and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActiveDefaultAllowed
- RMobilePhone::TMobilePhoneIdServiceStatus idServiceStatus;
- TExtEtelRequestStatus getIdentityServiceStatus(mobilePhone, EMobilePhoneGetIdentityServiceStatus);
- CleanupStack::PushL(getIdentityServiceStatus);
-
- mobilePhone.GetIdentityServiceStatus(getIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, idServiceStatus);
-
- ASSERT_EQUALS(WaitForRequestWithTimeOut(getIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus timed-out"));
- ASSERT_EQUALS(getIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus getIdentityServiceStatus completed with incorrect error"));
-
- ASSERT_EQUALS(idServiceStatus, RMobilePhone::EIdServiceActiveDefaultAllowed, _L("RMobilePhone::GetIdentityServiceStatus idServiceStatus is not RMobilePhone::EIdServiceActiveDefaultAllowed"));
-
- /* $CTSYProblem
- * The CTSY does not support setting of the identity service status with RMobilePhone::SetIdentityServiceStatus API.
- * If support is added, the rest of this test case can be used.
- */
- ERR_PRINTF1(_L("<font color=Cyan>$CTSYProblem: RMobilePhone::SetIdentityServiceStatus not supported by CTSY.<font color=Black>"));
-
- // Set CLIR with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerRestriction aSetting=EIdServicePresentationRestricted
- /*TExtEtelRequestStatus setIdentityServiceStatus(mobilePhone, EMobilePhoneSetIdentityServiceStatus);
- CleanupStack::PushL(setIdentityServiceStatus);
-
- mobilePhone.SetIdentityServiceStatus(setIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, RMobilePhone::EIdServicePresentationRestricted);
-
- ASSERT_EQUALS(WaitForRequestWithTimeOut(setIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::SetIdentityServiceStatus timed-out"));
- ASSERT_EQUALS(setIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::SetIdentityServiceStatus setIdentityServiceStatus completed with incorrect error"));
-
- // Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerRestriction and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActiveDefaultRestricted
- mobilePhone.GetIdentityServiceStatus(getIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, idServiceStatus);
-
- ASSERT_EQUALS(WaitForRequestWithTimeOut(getIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus timed-out"));
- ASSERT_EQUALS(getIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus getIdentityServiceStatus completed with incorrect error"));
-
- ASSERT_EQUALS(idServiceStatus, RMobilePhone::EIdServiceActiveDefaultRestricted, _L("RMobilePhone::GetIdentityServiceStatus idServiceStatus is not RMobilePhone::EIdServiceActiveDefaultRestricted"));
-
-
- // === Check that caller ID is not available when CLIR is active ===
-
- // Display a prompt to the user to telling them that they should have set their own phone number to voice number 1 in the config file
- DisplayUserInteractionPromptL(_L("You should have set your own phone number to voice number 1 in the config file?"), ETimeMedium);
-
- // Dial the user's phone number.
- RMobileCall::TMobileCallStatus mobileCallState;
-
- // Post notification for RMobileCall::NotifyMobileCallStatusChange
- TExtEtelRequestStatus notifyMobileCallStatus(mobileCall, EMobileCallNotifyMobileCallStatusChange);
- CleanupStack::PushL(notifyMobileCallStatus);
-
- mobileCall.NotifyMobileCallStatusChange(notifyMobileCallStatus, mobileCallState);
-
- TPtrC number;
- ASSERT_TRUE(GetStringFromConfig(KIniVoiceNumSection, KIniVoiceNumber1, number) != EFalse, _L("GetStringFromConfig did not complete as expected"));
- DEBUG_PRINTF2(_L("Board Now Dialling: %S"), &number);
- TCoreEtelRequestStatus<RCall> dialStatus(mobileCall, &RCall::DialCancel);
- CleanupStack::PushL(dialStatus);
- mobileCall.Dial(dialStatus, number);
- ASSERT_EQUALS(WaitForRequestWithTimeOut(dialStatus, ETimeMedium), KErrNone, _L("RCall::Dial timed-out"));
- ASSERT_EQUALS(dialStatus.Int(), KErrNone, _L("RCall::Dial problem dialling"));
-
- // Check RMobileCall::NotifyMobileCallStatusChange completes with EStatusConnected.
- RMobileCall::TMobileCallStatus expectedMobileCallStatus=RMobileCall::EStatusConnected;
- iCallControlHelper.WaitForMobileCallNotifyMobileCallStatusChange(mobileCall,
- notifyMobileCallStatus,
- mobileCallState,
- expectedMobileCallStatus,
- KErrNone);
-
- mobileCall.NotifyMobileCallStatusChange(notifyMobileCallStatus, mobileCallState);
-
- // User should check that they can not see the caller's number
- DisplayUserInteractionPromptL(_L("User should check that they have received a phone call and should check that can not see the caller's number."), ETimeMedium);
-
- // Hang up.
- DEBUG_PRINTF1(_L("Hangup call"));
- ASSERT_EQUALS(mobileCall.HangUp(), KErrNone, _L("RCall::HangUp return value not KErrNone"));
-
- // Check RMobileCall::NotifyMobileCallStatusChange completes with EStatusIdle.
- expectedMobileCallStatus=RMobileCall::EStatusIdle;
- iCallControlHelper.WaitForMobileCallNotifyMobileCallStatusChange(mobileCall,
- notifyMobileCallStatus,
- mobileCallState,
- expectedMobileCallStatus,
- KErrNone);
-
- mobileCall.NotifyMobileCallStatusChange(notifyMobileCallStatus, mobileCallState);
-
- // === Deactivate CLIR ===
-
- // Deactivate CLIR with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerRestriction aSetting=EIdServicePresentationAllowed
- RMobilePhone::TMobilePhoneIdService idService = RMobilePhone::EIdServiceCallerRestriction;
- RMobilePhone::TMobilePhoneIdServiceStatus idServiceStateNotify;
-
- // Post notification for RMobileCall::NotifyIdentityServiceStatus
- TExtEtelRequestStatus notifyIdentityServiceStatus(mobilePhone, EMobilePhoneNotifyIdentityServiceStatus);
- CleanupStack::PushL(notifyIdentityServiceStatus);
-
- mobilePhone.NotifyIdentityServiceStatus(notifyIdentityServiceStatus, idService, idServiceStateNotify);
-
- mobilePhone.SetIdentityServiceStatus(setIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, RMobilePhone::EIdServicePresentationAllowed);
-
- ASSERT_EQUALS(WaitForRequestWithTimeOut(setIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::SetIdentityServiceStatus timed-out"));
- ASSERT_EQUALS(setIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::SetIdentityServiceStatus setIdentityServiceStatus completed with incorrect error"));
-
- // Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceCallerRestriction completes with aStatus=EIdServiceActiveDefaultAllowed
- RMobilePhone::TMobilePhoneIdService expectedService=RMobilePhone::EIdServiceCallerRestriction;
- iSupplementalHelper.WaitForMobilePhoneNotifyIdentityServiceStatus(mobilePhone,
- notifyIdentityServiceStatus,
- idService,
- expectedService,
- idServiceStateNotify,
- KErrNone);
-
- mobilePhone.NotifyIdentityServiceStatus(notifyIdentityServiceStatus, idService, idServiceStateNotify);
-
- // Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerRestriction and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActiveDefaultAllowed
- mobilePhone.GetIdentityServiceStatus(getIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, idServiceStatus);
-
- ASSERT_EQUALS(WaitForRequestWithTimeOut(getIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus timed-out"));
- ASSERT_EQUALS(getIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus getIdentityServiceStatus completed with incorrect error"));
-
- ASSERT_EQUALS(idServiceStatus, RMobilePhone::EIdServiceActiveDefaultAllowed, _L("RMobilePhone::GetIdentityServiceStatus idServiceStatus is not RMobilePhone::EIdServiceActiveDefaultAllowed"));
-
- // === Make a call and see if the remote number is present ===
-
- // Dial the user's phone number.
- DisplayUserInteractionPromptL(_L("You should have set your own phone number to voice number 1 in the config file?"), ETimeMedium);
-
- DEBUG_PRINTF2(_L("Board Now Dialling: %S"), &number);
- mobileCall.Dial(dialStatus, number);
- ASSERT_EQUALS(WaitForRequestWithTimeOut(dialStatus, ETimeMedium), KErrNone, _L("RCall::Dial timed-out"));
- ASSERT_EQUALS(dialStatus.Int(), KErrNone, _L("RCall::Dial problem dialling"));
-
- // Check RMobileCall::NotifyMobileCallStatusChange completes with EStatusConnected.
- expectedMobileCallStatus=RMobileCall::EStatusConnected;
- iCallControlHelper.WaitForMobileCallNotifyMobileCallStatusChange(mobileCall,
- notifyMobileCallStatus,
- mobileCallState,
- expectedMobileCallStatus,
- KErrNone);
-
- // User should check that they can see the caller's number
- DisplayUserInteractionPromptL(_L("User should check that they have received a phone call and should check that can see the caller's number."), ETimeMedium);
-
- // Hang up.
- DEBUG_PRINTF1(_L("Hangup call"));
- ASSERT_EQUALS(mobileCall.HangUp(), KErrNone, _L("RCall::HangUp return value not KErrNone"));
-
- // Check RMobileCall::NotifyMobileCallStatusChange completes with EStatusIdle.
- ASSERT_EQUALS(WaitForRequestWithTimeOut(notifyMobileCallStatus, ETimeMedium), KErrNone, _L("RMobileCall::HangUp timed-out"));
- ASSERT_EQUALS(notifyMobileCallStatus.Int(), KErrNone, _L("RMobileCall::HangUp notifyMobileCallStatus completed with incorrect error"));
-
- ASSERT_EQUALS(mobileCallState, RMobileCall::EStatusIdle, _L("RMobileCall::HangUp mobileCallState is not EStatusIdle"));
-
- // === Reactivate CLIR ===
-
- // Activate CLIR with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerRestriction aSetting=EIdServicePresentationRestricted
- mobilePhone.SetIdentityServiceStatus(setIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, RMobilePhone::EIdServicePresentationRestricted);
-
- ASSERT_EQUALS(WaitForRequestWithTimeOut(setIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::SetIdentityServiceStatus timed-out"));
- ASSERT_EQUALS(setIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::SetIdentityServiceStatus setIdentityServiceStatus completed with incorrect error"));
-
- // Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceCallerRestriction completes with aStatus=EIdServiceActiveDefaultRestricted
- expectedService=RMobilePhone::EIdServiceCallerRestriction;
- iSupplementalHelper.WaitForMobilePhoneNotifyIdentityServiceStatus(mobilePhone,
- notifyIdentityServiceStatus,
- idService,
- expectedService,
- idServiceStateNotify,
- KErrNone);
-
- // Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerRestriction and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActiveDefaultRestricted
- mobilePhone.GetIdentityServiceStatus(getIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, idServiceStatus);
-
- ASSERT_EQUALS(WaitForRequestWithTimeOut(getIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus timed-out"));
- ASSERT_EQUALS(getIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus getIdentityServiceStatus completed with incorrect error"));
-
- ASSERT_EQUALS(idServiceStatus, RMobilePhone::EIdServiceActiveDefaultRestricted, _L("RMobilePhone::GetIdentityServiceStatus idServiceStatus is not RMobilePhone::EIdServiceActiveDefaultRestricted"));
-*/
- //
- // TEST END
- //
-
- StartCleanup();
-
- CleanupStack::PopAndDestroy(&getIdentityServiceStatus);
-
- return TestStepResult();
- }
-
-TPtrC CCTSYIntegrationTestPhoneIdentity0001::GetTestStepName()
-/**
- * @return The test step name.
- */
- {
- return _L("CCTSYIntegrationTestPhoneIdentity0001");
- }
-
-
-
-CCTSYIntegrationTestPhoneIdentity0002::CCTSYIntegrationTestPhoneIdentity0002(CEtelSessionMgr& aEtelSessionMgr)
- : CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
- {
- SetTestStepName(CCTSYIntegrationTestPhoneIdentity0002::GetTestStepName());
- }
-
-CCTSYIntegrationTestPhoneIdentity0002::~CCTSYIntegrationTestPhoneIdentity0002()
-/**
- * Destructor.
- */
- {
- }
-
-TVerdict CCTSYIntegrationTestPhoneIdentity0002::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-PID-0002
- * @SYMFssID BA/CTSY/PID-0002
- * @SYMTestCaseDesc Activate Calling Line Identification Restriction (CLIR).
- * @SYMTestPriority High
- * @SYMTestActions RMobilePhone::GetIdentityServiceStatus, RMobilePhone::SetIdentityServiceStatus, RMobilePhone::NotifyIdentityServiceStatus, RMobileCall::GetMobileCallInfo, RCall::Dial, RCall::HangUp
- * @SYMTestExpectedResults Pass - CLIR can be activated.
- * @SYMTestType CIT
- * @SYMTestCaseDependencies live/manual
- *
- * Reason for test: Verify service status notifications complete and called party does not get the calling party's number.
- *
- * @return - TVerdict code
- */
- {
-
- //
- // SET UP
- //
-
- // Ensure RMobilePhone::GetCallServiceCaps returns caps in set of KCapsGetClirStatus
- RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
- TUint32 callServiceCaps;
-
- CHECK_TRUE_L(mobilePhone.GetCallServiceCaps(callServiceCaps)==KErrNone, _L("RMobilePhone::GetCallServiceCaps return value is not KErrNone"));
- TUint32 expectedservicecaps = RMobilePhone::KCapsGetClirStatus;
- CHECK_BITS_SET_L(callServiceCaps, expectedservicecaps, KNoUnwantedBits, _L("RMobilePhone::GetCallServiceCaps returned wrong caps"));
-
- CHECK_EQUALS_L(iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(mobilePhone), KErrNone, _L("TNetworkTsyTestHelper::WaitForRegisteredOnHomeNetworkL returned with an error"));
-
-
- // Get Voice Line 1.
- RMobileLine& mobileLine= iEtelSessionMgr.GetLineL(KMainServer, KMainPhone, KVoiceLine);
-
- // Get Call 1.
- RMobileCall& mobileCall= iEtelSessionMgr.GetCallL(KMainServer, KMainPhone, KVoiceLine, KCall1);
-
- //
- // SET UP END
- //
-
- StartTest();
-
- //
- // TEST START
- //
-
-
- // Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerRestriction and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActiveDefaultAllowed
- RMobilePhone::TMobilePhoneIdServiceStatus idServiceStatus;
- TExtEtelRequestStatus getIdentityServiceStatus(mobilePhone, EMobilePhoneGetIdentityServiceStatus);
- CleanupStack::PushL(getIdentityServiceStatus);
-
- mobilePhone.GetIdentityServiceStatus(getIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, idServiceStatus);
-
- ASSERT_EQUALS(WaitForRequestWithTimeOut(getIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus timed-out"));
- ASSERT_EQUALS(getIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus getIdentityServiceStatus completed with incorrect error"));
- ASSERT_EQUALS(idServiceStatus, RMobilePhone::EIdServiceActiveDefaultAllowed, _L("RMobilePhone::GetIdentityServiceStatus idServiceStatus is not RMobilePhone::EIdServiceActiveDefaultAllowed"));
-
- // $CTSYProblem
- // The CTSY currently does not support RMobilePhone::SetIdentityServiceStatus
- // so the rest of this test case is not applicable. If support is added for this API
- // The rest of this test can be uncommented and used.
- ERR_PRINTF1(_L("<font color=Cyan>$CTSYProblem: RMobilePhone::SetIdentityServiceStatus not supported by CTSY.<font color=Black>"));
- /*
- // === Activate CLIR ===
-
- // Activate CLIR with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerRestriction aSetting=EIdServicePresentationRestricted
- RMobilePhone::TMobilePhoneIdService idService = RMobilePhone::EIdServiceCallerRestriction;
- RMobilePhone::TMobilePhoneIdServiceStatus idServiceStateNotify;
-
- // Post notification for RMobileCall::NotifyIdentityServiceStatus
- TExtEtelRequestStatus notifyIdentityServiceStatus(mobilePhone, EMobilePhoneNotifyIdentityServiceStatus);
- CleanupStack::PushL(notifyIdentityServiceStatus);
-
- mobilePhone.NotifyIdentityServiceStatus(notifyIdentityServiceStatus, idService, idServiceStateNotify);
-
- mobilePhone.SetIdentityServiceStatus(setIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, RMobilePhone::EIdServicePresentationRestricted);
-
- ASSERT_EQUALS(WaitForRequestWithTimeOut(setIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::SetIdentityServiceStatus timed-out"));
- ASSERT_EQUALS(setIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::SetIdentityServiceStatus setIdentityServiceStatus completed with incorrect error"));
-
- // Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceCallerRestriction completes with aStatus=EIdServiceActiveDefaultRestricted
- RMobilePhone::TMobilePhoneIdService expectedService=RMobilePhone::EIdServiceCallerRestriction;
- iSupplementalHelper.WaitForMobilePhoneNotifyIdentityServiceStatus(mobilePhone,
- notifyIdentityServiceStatus,
- idService,
- expectedService,
- idServiceStateNotify,
- KErrNone);
-
- // Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerRestriction and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActiveDefaultRestricted
- mobilePhone.GetIdentityServiceStatus(getIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, idServiceStatus);
-
- ASSERT_EQUALS(WaitForRequestWithTimeOut(getIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus timed-out"));
- ASSERT_EQUALS(getIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus getIdentityServiceStatus completed with incorrect error"));
-
- ASSERT_EQUALS(idServiceStatus, RMobilePhone::EIdServiceActiveDefaultRestricted, _L("RMobilePhone::GetIdentityServiceStatus idServiceStatus is not RMobilePhone::EIdServiceActiveDefaultAllowed"));
-
- // === Check that caller ID is not available when CLIR is active ===
-
- // Display a prompt to the user to telling them that they should have set their own phone number to voice number 1 in the config file
- DisplayUserInteractionPromptL(_L("You should have set your own phone number to voice number 1 in the config file?"), ETimeMedium);
-
- // Dial the user's phone number.
- RMobileCall::TMobileCallStatus mobileCallState;
-
- TExtEtelRequestStatus notifyMobileCallStatus(mobileCall, EMobileCallNotifyMobileCallStatusChange);
- CleanupStack::PushL(notifyMobileCallStatus);
-
- mobileCall.NotifyMobileCallStatusChange(notifyMobileCallStatus, mobileCallState);
-
- TPtrC number;
- ASSERT_TRUE(GetStringFromConfig(KIniVoiceNumSection, KIniVoiceNumber1, number) != EFalse, _L("GetStringFromConfig did not complete as expected"));
- DEBUG_PRINTF2(_L("Board Now Dialling: %S"), &number);
- TCoreEtelRequestStatus<RCall> dialStatus(mobileCall, &RCall::DialCancel);
- CleanupStack::PushL(dialStatus);
- mobileCall.Dial(dialStatus, number);
- ASSERT_EQUALS(WaitForRequestWithTimeOut(dialStatus, ETimeMedium), KErrNone, _L("RCall::Dial timed-out"));
- ASSERT_EQUALS(dialStatus.Int(), KErrNone, _L("RCall::Dial problem dialling"));
-
- // Check RMobileCall::NotifyMobileCallStatusChange completes with EStatusConnected.
- RMobileCall::TMobileCallStatus expectedMobileCallState=RMobileCall::EStatusConnected;
- iCallControlHelper.WaitForMobileCallNotifyMobileCallStatusChange(mobileCall,
- notifyMobileCallStatus,
- mobileCallState,
- expectedMobileCallState,
- KErrNone);
-
- mobileCall.NotifyMobileCallStatusChange(notifyMobileCallStatus, mobileCallState);
-
- // User should check that they can not see the caller's number
- DisplayUserInteractionPromptL(_L("User should check that they have received a phone call and should check that can not see the caller's number."), ETimeMedium);
-
- // Hang up.
- DEBUG_PRINTF1(_L("Hangup call"));
- ASSERT_EQUALS(mobileCall.HangUp(), KErrNone, _L("RCall::HangUp return value not KErrNone"));
-
- // Check RMobileCall::NotifyMobileCallStatusChange completes with EStatusIdle.
- expectedMobileCallState=RMobileCall::EStatusIdle;
- iCallControlHelper.WaitForMobileCallNotifyMobileCallStatusChange(mobileCall,
- notifyMobileCallStatus,
- mobileCallState,
- expectedMobileCallState,
- KErrNone);
- */
- //
- // TEST END
- //
-
- StartCleanup();
-
- CleanupStack::PopAndDestroy(&getIdentityServiceStatus);
-
- return TestStepResult();
- }
-
-TPtrC CCTSYIntegrationTestPhoneIdentity0002::GetTestStepName()
-/**
- * @return The test step name.
- */
- {
- return _L("CCTSYIntegrationTestPhoneIdentity0002");
- }
-
-
-
-CCTSYIntegrationTestPhoneIdentity0003::CCTSYIntegrationTestPhoneIdentity0003(CEtelSessionMgr& aEtelSessionMgr)
- : CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
- {
- SetTestStepName(CCTSYIntegrationTestPhoneIdentity0003::GetTestStepName());
- }
-
-CCTSYIntegrationTestPhoneIdentity0003::~CCTSYIntegrationTestPhoneIdentity0003()
-/**
- * Destructor.
- */
- {
- }
-
-TVerdict CCTSYIntegrationTestPhoneIdentity0003::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-PID-0003
- * @SYMFssID BA/CTSY/PID-0003
- * @SYMTestCaseDesc Activate Calling Line Identity Presentation (CLIP)
- * @SYMTestPriority High
- * @SYMTestActions RCall::AnswerIncomingCall, RMobileCall::NotifyMobileCallStatusChange, RMobilePhone::GetIdentityServiceStatus, RMobilePhone::SetIdentityServiceStatus, RMobilePhone::NotifyIdentityServiceStatus, RMobileCall::GetMobileCallInfo, RCall::HangUp
- * @SYMTestExpectedResults Pass - Remote party's number retrieved correctly.
- * @SYMTestType CIT
- * @SYMTestCaseDependencies live/automatic
- *
- * Reason for test: Verify service status notifications complete and remote party information is correct.
- *
- * @return - TVerdict code
- */
- {
-
- //
- // SET UP
- //
-
-
- // Ensure RMobilePhone::GetCallServiceCaps returns caps in set of KCapsGetClipStatus capability.
-
- // Ensure RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerPresentation and aLocation=EInfoLocationCachePreferred does not return aStatus=EIdServiceActiveDefaultAllowed
-
- // Get Voice Line 1
-
- // Get Call 1
-
-
- //
- // SET UP END
- //
-
- StartTest();
-
- //
- // TEST START
- //
-
-
- // === Activate CLIP - Be able to see who is calling you - check notification completes ===
-
- // Activate CLIP with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerPresentation and aSetting=EIdServicePresentationAllowed
-
- // Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceCallerPresentation completes with aStatus=EIdServiceActivePermanent
-
- // Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerPresentation and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActivePermanent
-
- // === Request incoming call and check that the remote number can be retrieved ===
-
- // Request an incoming call from RPS.
-
- // Answer the call.
-
- // Check RMobileCall::NotifyMobileCallStatusChange completes with EStatusConnected.
-
- // Check RMobileCall::GetMobileCallInfo returns iRemoteParty.iCallingName has length > 0
- // Check RMobileCall::GetMobileCallInfo returns iRemoteParty.iDirection = EMobileTerminated
- // Check RMobileCall::GetMobileCallInfo returns iRemoteParty.iRemoteIdStatus = ERemoteIdentityAvailable
- // Check RMobileCall::GetMobileCallInfo returns iRemoteParty.iRemoteNumber is the number RPS is calling from (coded in BCD)
- // Check RMobileCall::GetMobileCallInfo returns iValid > 0.
- // Check RMobileCall::GetMobileCallInfo returns data for attributes marked as valid in iValid.
-
- // Hang up call.
-
-
- //
- // TEST END
- //
-
- StartCleanup();
-
- // Put any required test clean up here, then remove this comment
-
- return TestStepResult();
- }
-
-TPtrC CCTSYIntegrationTestPhoneIdentity0003::GetTestStepName()
-/**
- * @return The test step name.
- */
- {
- return _L("CCTSYIntegrationTestPhoneIdentity0003");
- }
-
-
-
-CCTSYIntegrationTestPhoneIdentity0004::CCTSYIntegrationTestPhoneIdentity0004(CEtelSessionMgr& aEtelSessionMgr)
- : CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
- {
- SetTestStepName(CCTSYIntegrationTestPhoneIdentity0004::GetTestStepName());
- }
-
-CCTSYIntegrationTestPhoneIdentity0004::~CCTSYIntegrationTestPhoneIdentity0004()
-/**
- * Destructor.
- */
- {
- }
-
-TVerdict CCTSYIntegrationTestPhoneIdentity0004::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-PID-0004
- * @SYMFssID BA/CTSY/PID-0004
- * @SYMTestCaseDesc Deactivate Calling Line Identity Presentation (CLIP)
- * @SYMTestPriority High
- * @SYMTestActions RCall::AnswerIncomingCall, RMobileCall::NotifyMobileCallStatusChange, RMobilePhone::GetIdentityServiceStatus, RMobilePhone::SetIdentityServiceStatus, RMobilePhone::NotifyIdentityServiceStatus, RMobileCall::GetMobileCallInfo, RCall::HangUp
- * @SYMTestExpectedResults Pass - Remote party's number not retrieved.
- * @SYMTestType CIT
- * @SYMTestCaseDependencies live/automatic
- *
- * Reason for test: Verify service status notifications complete and it is not possible to get the calling line identity.
- *
- * @return - TVerdict code
- */
- {
-
- //
- // SET UP
- //
-
-
- // Ensure RMobilePhone::GetCallServiceCaps returns caps in set of KCapsGetClipStatus capability.
-
- // Ensure RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerPresentation and aLocation=EInfoLocationCachePreferred does not return aStatus=EIdServiceActiveDefaultRestricted
-
- // Get Voice Line 1
-
- // Get Call 1
-
-
- //
- // SET UP END
- //
-
- StartTest();
-
- //
- // TEST START
- //
-
-
- // === Deactivate (restrict) CLIP - Not be able to see who is calling you - check notification completes ===
-
- // Deactivate CLIP with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerPresentation and aSetting=EIdServicePresentationRestricted
-
- // Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceCallerPresentation completes with aStatus=EIdServiceActivePermanent
-
- // Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerPresentation and aLocation=EInfoLocationCachePreferred returns aStatus!=EIdServiceActivePermanent
-
- // === Request incoming call and check that the remote number can be retrieved ===
-
- // Request an incoming call from RPS.
-
- // Answer the call.
-
- // Check RMobileCall::NotifyMobileCallStatusChange completes with EStatusConnected.
-
- // Check RMobileCall::GetMobileCallInfo returns iRemoteParty.iCallingName has length > 0
- // Check RMobileCall::GetMobileCallInfo returns iRemoteParty.iDirection = EMobileTerminated
- // Check RMobileCall::GetMobileCallInfo returns iRemoteParty.iRemoteIdStatus = ERemoteIdentityAvailableNoCliUnavailable or = ERemoteIdentityUnavailableNoCliInteractionWithOtherService
- // Check RMobileCall::GetMobileCallInfo returns iValid > 0.
- // Check RMobileCall::GetMobileCallInfo returns data for attributes marked as valid in iValid.
-
- // Hang up call.
-
-
- //
- // TEST END
- //
-
- StartCleanup();
-
- // Put any required test clean up here, then remove this comment
-
- return TestStepResult();
- }
-
-TPtrC CCTSYIntegrationTestPhoneIdentity0004::GetTestStepName()
-/**
- * @return The test step name.
- */
- {
- return _L("CCTSYIntegrationTestPhoneIdentity0004");
- }
-
-
-
-CCTSYIntegrationTestPhoneIdentity0005::CCTSYIntegrationTestPhoneIdentity0005(CEtelSessionMgr& aEtelSessionMgr)
- : CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
- {
- SetTestStepName(CCTSYIntegrationTestPhoneIdentity0005::GetTestStepName());
- }
-
-CCTSYIntegrationTestPhoneIdentity0005::~CCTSYIntegrationTestPhoneIdentity0005()
-/**
- * Destructor.
- */
- {
- }
-
-TVerdict CCTSYIntegrationTestPhoneIdentity0005::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-PID-0005
- * @SYMFssID BA/CTSY/PID-0005
- * @SYMTestCaseDesc Receive rejection of suppression of calling identity.
- * @SYMTestPriority High
- * @SYMTestActions RMobilePhone::SetIdentityServiceStatus, RMobilePhone::NotifyIdentitySuppressionRejected
- * @SYMTestExpectedResults Pass - Notification of identity suppression rejected completes.
- * @SYMTestType CIT
- * @SYMTestCaseDependencies simulated/manual
- *
- * Reason for test: Verify notification completes.
- *
- * @return - TVerdict code
- */
- {
-
- //
- // SET UP
- //
-
-
- // Ensure RMobilePhone::GetCallServiceCaps returns caps in set of KCapsGetClirStatus capability.
-
-
- //
- // SET UP END
- //
-
- StartTest();
-
- //
- // TEST START
- //
-
-
- // === Attempt to restrict caller ID ===
-
- // Activate CLIR with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerRestriction aSetting=EIdServicePresentationRestricted
-
- // Simulator should reject CLIR activation
-
- // Check RMobilePhone::NotifyIdentitySuppressionRejected completes with KErrNone
-
- // Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerRestriction and aLocation=EInfoLocationCachePreferred returns aStatus!=EIdServiceActiveDefaultRestricted
-
-
- //
- // TEST END
- //
-
- StartCleanup();
-
- // Put any required test clean up here, then remove this comment
-
- return TestStepResult();
- }
-
-TPtrC CCTSYIntegrationTestPhoneIdentity0005::GetTestStepName()
-/**
- * @return The test step name.
- */
- {
- return _L("CCTSYIntegrationTestPhoneIdentity0005");
- }
-
-
-
-CCTSYIntegrationTestPhoneIdentity0006::CCTSYIntegrationTestPhoneIdentity0006(CEtelSessionMgr& aEtelSessionMgr)
- : CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
- {
- SetTestStepName(CCTSYIntegrationTestPhoneIdentity0006::GetTestStepName());
- }
-
-CCTSYIntegrationTestPhoneIdentity0006::~CCTSYIntegrationTestPhoneIdentity0006()
-/**
- * Destructor.
- */
- {
- }
-
-TVerdict CCTSYIntegrationTestPhoneIdentity0006::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-PID-0006
- * @SYMFssID BA/CTSY/PID-0006
- * @SYMTestCaseDesc Activate and deactivate CNAP (calling name presentation)
- * @SYMTestPriority High
- * @SYMTestActions RMobilePhone::SetIdentityServiceStatus, RMobilePhone::NotifyIdentityServiceStatus
- * @SYMTestExpectedResults Pass - Identity service status notification completes and service status is correct.
- * @SYMTestType CIT
- * @SYMTestCaseDependencies live/automatic
- *
- * Reason for test: Verify notification completes and identity status is correct.
- *
- * @return - TVerdict code
- */
- {
-
- //
- // SET UP
- //
-
-
- // Ensure RMobilePhone::GetCallServiceCaps returns caps in set of KCapsGetCnapStatus capability.
-
- // Ensure RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerName and aLocation=EInfoLocationCachePreferred returns aStatus!=EIdServiceActivePermanent
-
-
- //
- // SET UP END
- //
-
- StartTest();
-
- //
- // TEST START
- //
-
-
- // === Activate CNAP ===
-
- // Activate CNAP with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerName and aSetting=EIdServicePresentationRestricted
-
- // Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceCallerName completes with aStatus=EIdServicePresentationRestricted
-
- // Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerName and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActivePermanent
-
- // === Deactivate CNAP ===
-
- // Deactivate CNAP with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerName and aSetting=EIdServicePresentationAllowed
-
- // Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceCallerName completes with aStatus=EIdServicePresentationAllowed
-
- // Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerName and aLocation=EInfoLocationCachePreferred returns aStatus!=EIdServiceActivePermanent
-
-
- //
- // TEST END
- //
-
- StartCleanup();
-
- // Put any required test clean up here, then remove this comment
-
- return TestStepResult();
- }
-
-TPtrC CCTSYIntegrationTestPhoneIdentity0006::GetTestStepName()
-/**
- * @return The test step name.
- */
- {
- return _L("CCTSYIntegrationTestPhoneIdentity0006");
- }
-
-
-
-CCTSYIntegrationTestPhoneIdentity0007::CCTSYIntegrationTestPhoneIdentity0007(CEtelSessionMgr& aEtelSessionMgr)
- : CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
- {
- SetTestStepName(CCTSYIntegrationTestPhoneIdentity0007::GetTestStepName());
- }
-
-CCTSYIntegrationTestPhoneIdentity0007::~CCTSYIntegrationTestPhoneIdentity0007()
-/**
- * Destructor.
- */
- {
- }
-
-TVerdict CCTSYIntegrationTestPhoneIdentity0007::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-PID-0007
- * @SYMFssID BA/CTSY/PID-0007
- * @SYMTestCaseDesc Get subscriber ID (IMSI) when no SIM present.
- * @SYMTestPriority High
- * @SYMTestActions RMobileCall::GetSubscriberId
- * @SYMTestExpectedResults Pass - Error returned on attempt to get IMSI with no SIM.
- * @SYMTestType CIT
- * @SYMTestCaseDependencies live/manual
- *
- * Reason for test: Verify IMSI retrieval fails.
- *
- * @return - TVerdict code
- */
- {
-
- //
- // SET UP
- //
-
- RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
-
- //
- // SET UP END
- //
-
- StartTest();
-
- //
- // TEST START
- //
-
-
- // Remove the SIM.
- TBuf<100> prompt(_L("Ensure SIM is not present"));
- DisplayUserInteractionPromptL(prompt); // 30 seconds
-
- // Check RMobilePhone::GetSubscriberId completes with error != KErrNone
- TExtEtelRequestStatus getSubscriberIdStatus(mobilePhone, EMobilePhoneGetSubscriberId);
- RMobilePhone::TMobilePhoneSubscriberId subscriberId;
- CleanupStack::PushL(getSubscriberIdStatus);
-
- mobilePhone.GetSubscriberId(getSubscriberIdStatus,subscriberId);
-
- ASSERT_EQUALS(WaitForRequestWithTimeOut(getSubscriberIdStatus, ETimeShort), KErrNone, _L("RMobilePhone::GetSubscriberId timed-out"));
- ASSERT_TRUE(getSubscriberIdStatus.Int() != KErrNone, _L("RMobilePhone::getSubscriberIdStatus returned with an error"));
-
- //
- // TEST END
- //
-
- StartCleanup();
-
- CleanupStack::PopAndDestroy(&getSubscriberIdStatus);
-
- return TestStepResult();
- }
-
-TPtrC CCTSYIntegrationTestPhoneIdentity0007::GetTestStepName()
-/**
- * @return The test step name.
- */
- {
- return _L("CCTSYIntegrationTestPhoneIdentity0007");
- }
-
-
-
-CCTSYIntegrationTestPhoneIdentity0008::CCTSYIntegrationTestPhoneIdentity0008(CEtelSessionMgr& aEtelSessionMgr)
- : CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
- {
- SetTestStepName(CCTSYIntegrationTestPhoneIdentity0008::GetTestStepName());
- }
-
-CCTSYIntegrationTestPhoneIdentity0008::~CCTSYIntegrationTestPhoneIdentity0008()
-/**
- * Destructor.
- */
- {
- }
-
-TVerdict CCTSYIntegrationTestPhoneIdentity0008::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-PID-0008
- * @SYMFssID BA/CTSY/PID-0008
- * @SYMTestCaseDesc Activate and deactivate COLP (connected line identification presentation)
- * @SYMTestPriority High
- * @SYMTestActions RMobilePhone::SetIdentityServiceStatus, RMobilePhone::NotifyIdentityServiceStatus
- * @SYMTestExpectedResults Pass - Identity service status notification completes and service status is correct.
- * @SYMTestType CIT
- * @SYMTestCaseDependencies live/automatic
- *
- * Reason for test: Verify notification completes and identity status is correct.
- *
- * @return - TVerdict code
- */
- {
-
- //
- // SET UP
- //
-
-
- // Ensure RMobilePhone::GetCallServiceCaps returns caps in set of KCapsGetColpStatus
-
- // Ensure RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceConnectedPresentation and aLocation=EInfoLocationCachePreferred returns aStatus!=EIdServiceActivePermanent
-
-
- //
- // SET UP END
- //
-
- StartTest();
-
- //
- // TEST START
- //
-
-
- // === Activate COLP ===
-
- // Activate COLP with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceConnectedPresentation and aSetting=EIdServicePresentationRestricted
-
- // Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceConnectedPresentation completes with aStatus=EIdServicePresentationRestricted
-
- // Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceConnectedPresentation and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActivePermanent
-
- // === Deactivate COLP ===
-
- // Deactivate COLP with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceConnectedPresentation and aSetting=EIdServicePresentationAllowed
-
- // Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceConnectedPresentation completes with aStatus=EIdServicePresentationAllowed
-
- // Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceConnectedPresentation and aLocation=EInfoLocationCachePreferred returns aStatus!=EIdServiceActivePermanent
-
-
- //
- // TEST END
- //
-
- StartCleanup();
-
- // Put any required test clean up here, then remove this comment
-
- return TestStepResult();
- }
-
-TPtrC CCTSYIntegrationTestPhoneIdentity0008::GetTestStepName()
-/**
- * @return The test step name.
- */
- {
- return _L("CCTSYIntegrationTestPhoneIdentity0008");
- }
-
-
-
-CCTSYIntegrationTestPhoneIdentity0009::CCTSYIntegrationTestPhoneIdentity0009(CEtelSessionMgr& aEtelSessionMgr)
- : CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
- {
- SetTestStepName(CCTSYIntegrationTestPhoneIdentity0009::GetTestStepName());
- }
-
-CCTSYIntegrationTestPhoneIdentity0009::~CCTSYIntegrationTestPhoneIdentity0009()
-/**
- * Destructor.
- */
- {
- }
-
-TVerdict CCTSYIntegrationTestPhoneIdentity0009::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-PID-0009
- * @SYMFssID BA/CTSY/PID-0009
- * @SYMTestCaseDesc Activate and deactivate COLR (connected line identity restriction)
- * @SYMTestPriority High
- * @SYMTestActions
- * @SYMTestExpectedResults Pass - COLR activated and deactivated.
- * @SYMTestType CIT
- * @SYMTestCaseDependencies live/automatic
- *
- * Reason for test: Verify notification completes and identity status is correct.
- *
- * @return - TVerdict code
- */
- {
-
- //
- // SET UP
- //
-
-
- // Ensure RMobilePhone::GetCallServiceCaps returns caps in set of KCapsGetColrStatus
-
- // Ensure RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceConnectedRestriction and aLocation=EInfoLocationCachePreferred returns aStatus!=EIdServiceActivePermanent
-
-
- //
- // SET UP END
- //
-
- StartTest();
-
- //
- // TEST START
- //
-
-
- // === Activate COLR ===
-
- // Activate COLR with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceConnectedRestriction and aSetting=EIdServicePresentationRestricted
-
- // Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceConnectedRestriction completes with aStatus=EIdServicePresentationRestricted
-
- // Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceConnectedRestriction and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActivePermanent
-
- // === Deactivate COLR ===
-
- // Deactivate COLR with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceConnectedRestriction and aSetting=EIdServicePresentationAllowed
-
- // Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceConnectedRestriction completes with aStatus=EIdServicePresentationAllowed
-
- // Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceConnectedRestriction and aLocation=EInfoLocationCachePreferred returns aStatus!=EIdServiceActivePermanent
-
-
- //
- // TEST END
- //
-
- StartCleanup();
-
- // Put any required test clean up here, then remove this comment
-
- return TestStepResult();
- }
-
-TPtrC CCTSYIntegrationTestPhoneIdentity0009::GetTestStepName()
-/**
- * @return The test step name.
- */
- {
- return _L("CCTSYIntegrationTestPhoneIdentity0009");
- }
-
-
-
-CCTSYIntegrationTestPhoneIdentity0010::CCTSYIntegrationTestPhoneIdentity0010(CEtelSessionMgr& aEtelSessionMgr)
- : CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
- {
- SetTestStepName(CCTSYIntegrationTestPhoneIdentity0010::GetTestStepName());
- }
-
-CCTSYIntegrationTestPhoneIdentity0010::~CCTSYIntegrationTestPhoneIdentity0010()
-/**
- * Destructor.
- */
- {
- }
-
-TVerdict CCTSYIntegrationTestPhoneIdentity0010::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-PID-0010
- * @SYMFssID BA/CTSY/PID-0010
- * @SYMTestCaseDesc Get the phone identity
- * @SYMTestPriority High
- * @SYMTestActions
- * @SYMTestExpectedResults Pass - Phone manufacturer, model, revision and serial number returned.
- * @SYMTestType CIT
- * @SYMTestCaseDependencies live/automatic
- *
- * Reason for test: Verify manufacturer, model, revision and serial number returned.
- *
- * @return - TVerdict code
- */
- {
-
- //
- // SET UP
- //
-
- RMobilePhone& phone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
-
- // EnsureRMobilePhone::GetIdentityCaps returns caps in set of
- // RMobilePhone::KCapsGetManufacturer | RMobilePhone::KCapsGetModel | RMobilePhone::KCapsGetRevision |
- // RMobilePhone::KCapsGetSerialNumber
-
- TUint32 caps;
- TInt result = phone.GetIdentityCaps(caps);
- CHECK_TRUE_L(result == KErrNone, _L("RMobilePhone::GetIdentityCaps failed."))
-
- // Needs all caps
- TUint neededCaps = RMobilePhone::KCapsGetManufacturer | RMobilePhone::KCapsGetModel |
- RMobilePhone::KCapsGetRevision | RMobilePhone::KCapsGetSerialNumber;
- CHECK_BITS_SET_L( caps, neededCaps, KNoUnwantedBits, _L("RMobilePhone::GetIdentityCaps returned wrong mask") )
- //
- // SET UP END
- //
-
- StartTest();
-
- //
- // TEST START
- //
-
-
- // === Get the phone identity ===
- RMobilePhone::TMobilePhoneIdentityV1 phoneId;
- TExtEtelRequestStatus requestStatus(phone, EMobilePhoneGetPhoneId);
- CleanupStack::PushL(requestStatus);
- phone.GetPhoneId(requestStatus, phoneId);
-
- ASSERT_EQUALS(WaitForRequestWithTimeOut(requestStatus, ETimeLong),
- KErrNone, _L("RMobilePhone::GetPhoneId timed out."))
- ASSERT_EQUALS(requestStatus.Int(), KErrNone, _L("RMobilePhone::GetPhoneId completed with incorrect status"))
-
- // Check RMobilePhone::GetPhoneId returns aId.iManufacturer with length > 0
- ASSERT_TRUE(phoneId.iManufacturer.Length() > 0,
- _L("RMobilePhone::GetPhoneId returned invalid manufacturer"))
-
- // Check RMobilePhone::GetPhoneId returns aId.iModel with length > 0
- ASSERT_TRUE(phoneId.iModel.Length() > 0,
- _L("RMobilePhone::GetPhoneId returned invalid model"))
-
- // Check RMobilePhone::GetPhoneId returns aId.iRevision with length > 0
- ASSERT_TRUE(phoneId.iRevision.Length() > 0,
- _L("RMobilePhone::GetPhoneId returned invalid revision"))
-
- // Check RMobilePhone::GetPhoneId returns aId.iSerialNumber with length > 0
- ASSERT_TRUE(phoneId.iSerialNumber.Length() > 0,
- _L("RMobilePhone::GetPhoneId returned invalid serial number"))
-
-
- //
- // TEST END
- //
-
- StartCleanup();
-
- CleanupStack::Pop(); // requestStatus
-
- return TestStepResult();
- }
-
-
-TPtrC CCTSYIntegrationTestPhoneIdentity0010::GetTestStepName()
-/**
- * @return The test step name.
- */
- {
- return _L("CCTSYIntegrationTestPhoneIdentity0010");
- }
-
-
-
+// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// Test step definitions for the PhoneIdentity functional unit.
+//
+//
+
+/**
+ @internalTechnology
+*/
+
+#include "cctsyintegrationtestphoneidentity.h"
+
+#include "cctsyinidata.h"
+
+
+CCTSYIntegrationTestPhoneIdentityBase::CCTSYIntegrationTestPhoneIdentityBase(CEtelSessionMgr& aEtelSessionMgr)
+ : CCTSYIntegrationTestSuiteStepBase(aEtelSessionMgr), iCallControlHelper(*this), iSupplementalHelper(*this), iNetworkTestHelper(*this)
+/**
+ * Constructor
+ */
+ {
+ }
+
+CCTSYIntegrationTestPhoneIdentityBase::~CCTSYIntegrationTestPhoneIdentityBase()
+/*
+ * Destructor
+ */
+ {
+ }
+
+
+CCTSYIntegrationTestPhoneIdentity0001::CCTSYIntegrationTestPhoneIdentity0001(CEtelSessionMgr& aEtelSessionMgr)
+ : CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+ {
+ SetTestStepName(CCTSYIntegrationTestPhoneIdentity0001::GetTestStepName());
+ }
+
+CCTSYIntegrationTestPhoneIdentity0001::~CCTSYIntegrationTestPhoneIdentity0001()
+/**
+ * Destructor.
+ */
+ {
+ }
+
+TVerdict CCTSYIntegrationTestPhoneIdentity0001::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-PID-0001
+ * @SYMFssID BA/CTSY/PID-0001
+ * @SYMTestCaseDesc Deactivate Calling Line Identification Restriction (CLIR).
+ * @SYMTestPriority High
+ * @SYMTestActions RMobileCall::NotifyMobileCallStatusChange, RMobilePhone::SetIdentityServiceStatus, RMobilePhone::NotifyIdentityServiceStatus, RMobileCall::GetMobileCallInfo, RCall::Dial, RCall::HangUp
+ * @SYMTestExpectedResults Pass - CLIR can be deactivated and remote party can get the calling number.
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies live/manual
+ *
+ * Reason for test: Verify service status notifications complete and called party can get the calling number.
+ *
+ * @return - TVerdict code
+ */
+ {
+
+ //
+ // SET UP
+ //
+
+ // Ensure RMobilePhone::GetCallServiceCaps returns caps in set of KCapsGetClirStatus
+ RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
+ TUint32 callServiceCaps;
+
+ CHECK_TRUE_L(mobilePhone.GetCallServiceCaps(callServiceCaps)==KErrNone, _L("RMobilePhone::GetCallServiceCaps return value is not KErrNone"));
+ TUint32 expectedServiceCaps = RMobilePhone::KCapsGetClirStatus;
+ CHECK_BITS_SET_L(callServiceCaps, expectedServiceCaps, KNoUnwantedBits, _L("RMobilePhone::GetCallServiceCaps returned wrong caps"));
+
+ CHECK_EQUALS_L(iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(mobilePhone), KErrNone, _L("TNetworkTsyTestHelper::WaitForRegisteredOnHomeNetworkL returned with an error"));
+
+
+ // Get Voice Line 1.
+ RMobileLine& mobileLine= iEtelSessionMgr.GetLineL(KMainServer, KMainPhone, KVoiceLine);
+
+ // Get Call 1.
+ RMobileCall& mobileCall= iEtelSessionMgr.GetCallL(KMainServer, KMainPhone, KVoiceLine, KCall1);
+
+ //
+ // SET UP END
+ //
+
+ StartTest();
+
+ //
+ // TEST START
+ //
+
+ // Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerRestriction and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActiveDefaultAllowed
+ RMobilePhone::TMobilePhoneIdServiceStatus idServiceStatus;
+ TExtEtelRequestStatus getIdentityServiceStatus(mobilePhone, EMobilePhoneGetIdentityServiceStatus);
+ CleanupStack::PushL(getIdentityServiceStatus);
+
+ mobilePhone.GetIdentityServiceStatus(getIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, idServiceStatus);
+
+ ASSERT_EQUALS(WaitForRequestWithTimeOut(getIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus timed-out"));
+ ASSERT_EQUALS(getIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus getIdentityServiceStatus completed with incorrect error"));
+
+ ASSERT_EQUALS(idServiceStatus, RMobilePhone::EIdServiceActiveDefaultAllowed, _L("RMobilePhone::GetIdentityServiceStatus idServiceStatus is not RMobilePhone::EIdServiceActiveDefaultAllowed"));
+
+ /* $CTSYProblem
+ * The CTSY does not support setting of the identity service status with RMobilePhone::SetIdentityServiceStatus API.
+ * If support is added, the rest of this test case can be used.
+ */
+ ERR_PRINTF1(_L("<font color=Cyan>$CTSYProblem: RMobilePhone::SetIdentityServiceStatus not supported by CTSY.<font color=Black>"));
+
+ // Set CLIR with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerRestriction aSetting=EIdServicePresentationRestricted
+ /*TExtEtelRequestStatus setIdentityServiceStatus(mobilePhone, EMobilePhoneSetIdentityServiceStatus);
+ CleanupStack::PushL(setIdentityServiceStatus);
+
+ mobilePhone.SetIdentityServiceStatus(setIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, RMobilePhone::EIdServicePresentationRestricted);
+
+ ASSERT_EQUALS(WaitForRequestWithTimeOut(setIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::SetIdentityServiceStatus timed-out"));
+ ASSERT_EQUALS(setIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::SetIdentityServiceStatus setIdentityServiceStatus completed with incorrect error"));
+
+ // Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerRestriction and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActiveDefaultRestricted
+ mobilePhone.GetIdentityServiceStatus(getIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, idServiceStatus);
+
+ ASSERT_EQUALS(WaitForRequestWithTimeOut(getIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus timed-out"));
+ ASSERT_EQUALS(getIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus getIdentityServiceStatus completed with incorrect error"));
+
+ ASSERT_EQUALS(idServiceStatus, RMobilePhone::EIdServiceActiveDefaultRestricted, _L("RMobilePhone::GetIdentityServiceStatus idServiceStatus is not RMobilePhone::EIdServiceActiveDefaultRestricted"));
+
+
+ // === Check that caller ID is not available when CLIR is active ===
+
+ // Display a prompt to the user to telling them that they should have set their own phone number to voice number 1 in the config file
+ DisplayUserInteractionPromptL(_L("You should have set your own phone number to voice number 1 in the config file?"), ETimeMedium);
+
+ // Dial the user's phone number.
+ RMobileCall::TMobileCallStatus mobileCallState;
+
+ // Post notification for RMobileCall::NotifyMobileCallStatusChange
+ TExtEtelRequestStatus notifyMobileCallStatus(mobileCall, EMobileCallNotifyMobileCallStatusChange);
+ CleanupStack::PushL(notifyMobileCallStatus);
+
+ mobileCall.NotifyMobileCallStatusChange(notifyMobileCallStatus, mobileCallState);
+
+ TPtrC number;
+ ASSERT_TRUE(GetStringFromConfig(KIniVoiceNumSection, KIniVoiceNumber1, number) != EFalse, _L("GetStringFromConfig did not complete as expected"));
+ DEBUG_PRINTF2(_L("Board Now Dialling: %S"), &number);
+ TCoreEtelRequestStatus<RCall> dialStatus(mobileCall, &RCall::DialCancel);
+ CleanupStack::PushL(dialStatus);
+ mobileCall.Dial(dialStatus, number);
+ ASSERT_EQUALS(WaitForRequestWithTimeOut(dialStatus, ETimeMedium), KErrNone, _L("RCall::Dial timed-out"));
+ ASSERT_EQUALS(dialStatus.Int(), KErrNone, _L("RCall::Dial problem dialling"));
+
+ // Check RMobileCall::NotifyMobileCallStatusChange completes with EStatusConnected.
+ RMobileCall::TMobileCallStatus expectedMobileCallStatus=RMobileCall::EStatusConnected;
+ iCallControlHelper.WaitForMobileCallNotifyMobileCallStatusChange(mobileCall,
+ notifyMobileCallStatus,
+ mobileCallState,
+ expectedMobileCallStatus,
+ KErrNone);
+
+ mobileCall.NotifyMobileCallStatusChange(notifyMobileCallStatus, mobileCallState);
+
+ // User should check that they can not see the caller's number
+ DisplayUserInteractionPromptL(_L("User should check that they have received a phone call and should check that can not see the caller's number."), ETimeMedium);
+
+ // Hang up.
+ DEBUG_PRINTF1(_L("Hangup call"));
+ ASSERT_EQUALS(mobileCall.HangUp(), KErrNone, _L("RCall::HangUp return value not KErrNone"));
+
+ // Check RMobileCall::NotifyMobileCallStatusChange completes with EStatusIdle.
+ expectedMobileCallStatus=RMobileCall::EStatusIdle;
+ iCallControlHelper.WaitForMobileCallNotifyMobileCallStatusChange(mobileCall,
+ notifyMobileCallStatus,
+ mobileCallState,
+ expectedMobileCallStatus,
+ KErrNone);
+
+ mobileCall.NotifyMobileCallStatusChange(notifyMobileCallStatus, mobileCallState);
+
+ // === Deactivate CLIR ===
+
+ // Deactivate CLIR with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerRestriction aSetting=EIdServicePresentationAllowed
+ RMobilePhone::TMobilePhoneIdService idService = RMobilePhone::EIdServiceCallerRestriction;
+ RMobilePhone::TMobilePhoneIdServiceStatus idServiceStateNotify;
+
+ // Post notification for RMobileCall::NotifyIdentityServiceStatus
+ TExtEtelRequestStatus notifyIdentityServiceStatus(mobilePhone, EMobilePhoneNotifyIdentityServiceStatus);
+ CleanupStack::PushL(notifyIdentityServiceStatus);
+
+ mobilePhone.NotifyIdentityServiceStatus(notifyIdentityServiceStatus, idService, idServiceStateNotify);
+
+ mobilePhone.SetIdentityServiceStatus(setIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, RMobilePhone::EIdServicePresentationAllowed);
+
+ ASSERT_EQUALS(WaitForRequestWithTimeOut(setIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::SetIdentityServiceStatus timed-out"));
+ ASSERT_EQUALS(setIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::SetIdentityServiceStatus setIdentityServiceStatus completed with incorrect error"));
+
+ // Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceCallerRestriction completes with aStatus=EIdServiceActiveDefaultAllowed
+ RMobilePhone::TMobilePhoneIdService expectedService=RMobilePhone::EIdServiceCallerRestriction;
+ iSupplementalHelper.WaitForMobilePhoneNotifyIdentityServiceStatus(mobilePhone,
+ notifyIdentityServiceStatus,
+ idService,
+ expectedService,
+ idServiceStateNotify,
+ KErrNone);
+
+ mobilePhone.NotifyIdentityServiceStatus(notifyIdentityServiceStatus, idService, idServiceStateNotify);
+
+ // Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerRestriction and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActiveDefaultAllowed
+ mobilePhone.GetIdentityServiceStatus(getIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, idServiceStatus);
+
+ ASSERT_EQUALS(WaitForRequestWithTimeOut(getIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus timed-out"));
+ ASSERT_EQUALS(getIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus getIdentityServiceStatus completed with incorrect error"));
+
+ ASSERT_EQUALS(idServiceStatus, RMobilePhone::EIdServiceActiveDefaultAllowed, _L("RMobilePhone::GetIdentityServiceStatus idServiceStatus is not RMobilePhone::EIdServiceActiveDefaultAllowed"));
+
+ // === Make a call and see if the remote number is present ===
+
+ // Dial the user's phone number.
+ DisplayUserInteractionPromptL(_L("You should have set your own phone number to voice number 1 in the config file?"), ETimeMedium);
+
+ DEBUG_PRINTF2(_L("Board Now Dialling: %S"), &number);
+ mobileCall.Dial(dialStatus, number);
+ ASSERT_EQUALS(WaitForRequestWithTimeOut(dialStatus, ETimeMedium), KErrNone, _L("RCall::Dial timed-out"));
+ ASSERT_EQUALS(dialStatus.Int(), KErrNone, _L("RCall::Dial problem dialling"));
+
+ // Check RMobileCall::NotifyMobileCallStatusChange completes with EStatusConnected.
+ expectedMobileCallStatus=RMobileCall::EStatusConnected;
+ iCallControlHelper.WaitForMobileCallNotifyMobileCallStatusChange(mobileCall,
+ notifyMobileCallStatus,
+ mobileCallState,
+ expectedMobileCallStatus,
+ KErrNone);
+
+ // User should check that they can see the caller's number
+ DisplayUserInteractionPromptL(_L("User should check that they have received a phone call and should check that can see the caller's number."), ETimeMedium);
+
+ // Hang up.
+ DEBUG_PRINTF1(_L("Hangup call"));
+ ASSERT_EQUALS(mobileCall.HangUp(), KErrNone, _L("RCall::HangUp return value not KErrNone"));
+
+ // Check RMobileCall::NotifyMobileCallStatusChange completes with EStatusIdle.
+ ASSERT_EQUALS(WaitForRequestWithTimeOut(notifyMobileCallStatus, ETimeMedium), KErrNone, _L("RMobileCall::HangUp timed-out"));
+ ASSERT_EQUALS(notifyMobileCallStatus.Int(), KErrNone, _L("RMobileCall::HangUp notifyMobileCallStatus completed with incorrect error"));
+
+ ASSERT_EQUALS(mobileCallState, RMobileCall::EStatusIdle, _L("RMobileCall::HangUp mobileCallState is not EStatusIdle"));
+
+ // === Reactivate CLIR ===
+
+ // Activate CLIR with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerRestriction aSetting=EIdServicePresentationRestricted
+ mobilePhone.SetIdentityServiceStatus(setIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, RMobilePhone::EIdServicePresentationRestricted);
+
+ ASSERT_EQUALS(WaitForRequestWithTimeOut(setIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::SetIdentityServiceStatus timed-out"));
+ ASSERT_EQUALS(setIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::SetIdentityServiceStatus setIdentityServiceStatus completed with incorrect error"));
+
+ // Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceCallerRestriction completes with aStatus=EIdServiceActiveDefaultRestricted
+ expectedService=RMobilePhone::EIdServiceCallerRestriction;
+ iSupplementalHelper.WaitForMobilePhoneNotifyIdentityServiceStatus(mobilePhone,
+ notifyIdentityServiceStatus,
+ idService,
+ expectedService,
+ idServiceStateNotify,
+ KErrNone);
+
+ // Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerRestriction and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActiveDefaultRestricted
+ mobilePhone.GetIdentityServiceStatus(getIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, idServiceStatus);
+
+ ASSERT_EQUALS(WaitForRequestWithTimeOut(getIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus timed-out"));
+ ASSERT_EQUALS(getIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus getIdentityServiceStatus completed with incorrect error"));
+
+ ASSERT_EQUALS(idServiceStatus, RMobilePhone::EIdServiceActiveDefaultRestricted, _L("RMobilePhone::GetIdentityServiceStatus idServiceStatus is not RMobilePhone::EIdServiceActiveDefaultRestricted"));
+*/
+ //
+ // TEST END
+ //
+
+ StartCleanup();
+
+ CleanupStack::PopAndDestroy(&getIdentityServiceStatus);
+
+ return TestStepResult();
+ }
+
+TPtrC CCTSYIntegrationTestPhoneIdentity0001::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+ {
+ return _L("CCTSYIntegrationTestPhoneIdentity0001");
+ }
+
+
+
+CCTSYIntegrationTestPhoneIdentity0002::CCTSYIntegrationTestPhoneIdentity0002(CEtelSessionMgr& aEtelSessionMgr)
+ : CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+ {
+ SetTestStepName(CCTSYIntegrationTestPhoneIdentity0002::GetTestStepName());
+ }
+
+CCTSYIntegrationTestPhoneIdentity0002::~CCTSYIntegrationTestPhoneIdentity0002()
+/**
+ * Destructor.
+ */
+ {
+ }
+
+TVerdict CCTSYIntegrationTestPhoneIdentity0002::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-PID-0002
+ * @SYMFssID BA/CTSY/PID-0002
+ * @SYMTestCaseDesc Activate Calling Line Identification Restriction (CLIR).
+ * @SYMTestPriority High
+ * @SYMTestActions RMobilePhone::GetIdentityServiceStatus, RMobilePhone::SetIdentityServiceStatus, RMobilePhone::NotifyIdentityServiceStatus, RMobileCall::GetMobileCallInfo, RCall::Dial, RCall::HangUp
+ * @SYMTestExpectedResults Pass - CLIR can be activated.
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies live/manual
+ *
+ * Reason for test: Verify service status notifications complete and called party does not get the calling party's number.
+ *
+ * @return - TVerdict code
+ */
+ {
+
+ //
+ // SET UP
+ //
+
+ // Ensure RMobilePhone::GetCallServiceCaps returns caps in set of KCapsGetClirStatus
+ RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
+ TUint32 callServiceCaps;
+
+ CHECK_TRUE_L(mobilePhone.GetCallServiceCaps(callServiceCaps)==KErrNone, _L("RMobilePhone::GetCallServiceCaps return value is not KErrNone"));
+ TUint32 expectedservicecaps = RMobilePhone::KCapsGetClirStatus;
+ CHECK_BITS_SET_L(callServiceCaps, expectedservicecaps, KNoUnwantedBits, _L("RMobilePhone::GetCallServiceCaps returned wrong caps"));
+
+ CHECK_EQUALS_L(iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(mobilePhone), KErrNone, _L("TNetworkTsyTestHelper::WaitForRegisteredOnHomeNetworkL returned with an error"));
+
+
+ // Get Voice Line 1.
+ RMobileLine& mobileLine= iEtelSessionMgr.GetLineL(KMainServer, KMainPhone, KVoiceLine);
+
+ // Get Call 1.
+ RMobileCall& mobileCall= iEtelSessionMgr.GetCallL(KMainServer, KMainPhone, KVoiceLine, KCall1);
+
+ //
+ // SET UP END
+ //
+
+ StartTest();
+
+ //
+ // TEST START
+ //
+
+
+ // Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerRestriction and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActiveDefaultAllowed
+ RMobilePhone::TMobilePhoneIdServiceStatus idServiceStatus;
+ TExtEtelRequestStatus getIdentityServiceStatus(mobilePhone, EMobilePhoneGetIdentityServiceStatus);
+ CleanupStack::PushL(getIdentityServiceStatus);
+
+ mobilePhone.GetIdentityServiceStatus(getIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, idServiceStatus);
+
+ ASSERT_EQUALS(WaitForRequestWithTimeOut(getIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus timed-out"));
+ ASSERT_EQUALS(getIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus getIdentityServiceStatus completed with incorrect error"));
+ ASSERT_EQUALS(idServiceStatus, RMobilePhone::EIdServiceActiveDefaultAllowed, _L("RMobilePhone::GetIdentityServiceStatus idServiceStatus is not RMobilePhone::EIdServiceActiveDefaultAllowed"));
+
+ // $CTSYProblem
+ // The CTSY currently does not support RMobilePhone::SetIdentityServiceStatus
+ // so the rest of this test case is not applicable. If support is added for this API
+ // The rest of this test can be uncommented and used.
+ ERR_PRINTF1(_L("<font color=Cyan>$CTSYProblem: RMobilePhone::SetIdentityServiceStatus not supported by CTSY.<font color=Black>"));
+ /*
+ // === Activate CLIR ===
+
+ // Activate CLIR with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerRestriction aSetting=EIdServicePresentationRestricted
+ RMobilePhone::TMobilePhoneIdService idService = RMobilePhone::EIdServiceCallerRestriction;
+ RMobilePhone::TMobilePhoneIdServiceStatus idServiceStateNotify;
+
+ // Post notification for RMobileCall::NotifyIdentityServiceStatus
+ TExtEtelRequestStatus notifyIdentityServiceStatus(mobilePhone, EMobilePhoneNotifyIdentityServiceStatus);
+ CleanupStack::PushL(notifyIdentityServiceStatus);
+
+ mobilePhone.NotifyIdentityServiceStatus(notifyIdentityServiceStatus, idService, idServiceStateNotify);
+
+ mobilePhone.SetIdentityServiceStatus(setIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, RMobilePhone::EIdServicePresentationRestricted);
+
+ ASSERT_EQUALS(WaitForRequestWithTimeOut(setIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::SetIdentityServiceStatus timed-out"));
+ ASSERT_EQUALS(setIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::SetIdentityServiceStatus setIdentityServiceStatus completed with incorrect error"));
+
+ // Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceCallerRestriction completes with aStatus=EIdServiceActiveDefaultRestricted
+ RMobilePhone::TMobilePhoneIdService expectedService=RMobilePhone::EIdServiceCallerRestriction;
+ iSupplementalHelper.WaitForMobilePhoneNotifyIdentityServiceStatus(mobilePhone,
+ notifyIdentityServiceStatus,
+ idService,
+ expectedService,
+ idServiceStateNotify,
+ KErrNone);
+
+ // Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerRestriction and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActiveDefaultRestricted
+ mobilePhone.GetIdentityServiceStatus(getIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, idServiceStatus);
+
+ ASSERT_EQUALS(WaitForRequestWithTimeOut(getIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus timed-out"));
+ ASSERT_EQUALS(getIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus getIdentityServiceStatus completed with incorrect error"));
+
+ ASSERT_EQUALS(idServiceStatus, RMobilePhone::EIdServiceActiveDefaultRestricted, _L("RMobilePhone::GetIdentityServiceStatus idServiceStatus is not RMobilePhone::EIdServiceActiveDefaultAllowed"));
+
+ // === Check that caller ID is not available when CLIR is active ===
+
+ // Display a prompt to the user to telling them that they should have set their own phone number to voice number 1 in the config file
+ DisplayUserInteractionPromptL(_L("You should have set your own phone number to voice number 1 in the config file?"), ETimeMedium);
+
+ // Dial the user's phone number.
+ RMobileCall::TMobileCallStatus mobileCallState;
+
+ TExtEtelRequestStatus notifyMobileCallStatus(mobileCall, EMobileCallNotifyMobileCallStatusChange);
+ CleanupStack::PushL(notifyMobileCallStatus);
+
+ mobileCall.NotifyMobileCallStatusChange(notifyMobileCallStatus, mobileCallState);
+
+ TPtrC number;
+ ASSERT_TRUE(GetStringFromConfig(KIniVoiceNumSection, KIniVoiceNumber1, number) != EFalse, _L("GetStringFromConfig did not complete as expected"));
+ DEBUG_PRINTF2(_L("Board Now Dialling: %S"), &number);
+ TCoreEtelRequestStatus<RCall> dialStatus(mobileCall, &RCall::DialCancel);
+ CleanupStack::PushL(dialStatus);
+ mobileCall.Dial(dialStatus, number);
+ ASSERT_EQUALS(WaitForRequestWithTimeOut(dialStatus, ETimeMedium), KErrNone, _L("RCall::Dial timed-out"));
+ ASSERT_EQUALS(dialStatus.Int(), KErrNone, _L("RCall::Dial problem dialling"));
+
+ // Check RMobileCall::NotifyMobileCallStatusChange completes with EStatusConnected.
+ RMobileCall::TMobileCallStatus expectedMobileCallState=RMobileCall::EStatusConnected;
+ iCallControlHelper.WaitForMobileCallNotifyMobileCallStatusChange(mobileCall,
+ notifyMobileCallStatus,
+ mobileCallState,
+ expectedMobileCallState,
+ KErrNone);
+
+ mobileCall.NotifyMobileCallStatusChange(notifyMobileCallStatus, mobileCallState);
+
+ // User should check that they can not see the caller's number
+ DisplayUserInteractionPromptL(_L("User should check that they have received a phone call and should check that can not see the caller's number."), ETimeMedium);
+
+ // Hang up.
+ DEBUG_PRINTF1(_L("Hangup call"));
+ ASSERT_EQUALS(mobileCall.HangUp(), KErrNone, _L("RCall::HangUp return value not KErrNone"));
+
+ // Check RMobileCall::NotifyMobileCallStatusChange completes with EStatusIdle.
+ expectedMobileCallState=RMobileCall::EStatusIdle;
+ iCallControlHelper.WaitForMobileCallNotifyMobileCallStatusChange(mobileCall,
+ notifyMobileCallStatus,
+ mobileCallState,
+ expectedMobileCallState,
+ KErrNone);
+ */
+ //
+ // TEST END
+ //
+
+ StartCleanup();
+
+ CleanupStack::PopAndDestroy(&getIdentityServiceStatus);
+
+ return TestStepResult();
+ }
+
+TPtrC CCTSYIntegrationTestPhoneIdentity0002::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+ {
+ return _L("CCTSYIntegrationTestPhoneIdentity0002");
+ }
+
+
+
+CCTSYIntegrationTestPhoneIdentity0003::CCTSYIntegrationTestPhoneIdentity0003(CEtelSessionMgr& aEtelSessionMgr)
+ : CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+ {
+ SetTestStepName(CCTSYIntegrationTestPhoneIdentity0003::GetTestStepName());
+ }
+
+CCTSYIntegrationTestPhoneIdentity0003::~CCTSYIntegrationTestPhoneIdentity0003()
+/**
+ * Destructor.
+ */
+ {
+ }
+
+TVerdict CCTSYIntegrationTestPhoneIdentity0003::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-PID-0003
+ * @SYMFssID BA/CTSY/PID-0003
+ * @SYMTestCaseDesc Activate Calling Line Identity Presentation (CLIP)
+ * @SYMTestPriority High
+ * @SYMTestActions RCall::AnswerIncomingCall, RMobileCall::NotifyMobileCallStatusChange, RMobilePhone::GetIdentityServiceStatus, RMobilePhone::SetIdentityServiceStatus, RMobilePhone::NotifyIdentityServiceStatus, RMobileCall::GetMobileCallInfo, RCall::HangUp
+ * @SYMTestExpectedResults Pass - Remote party's number retrieved correctly.
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies live/automatic
+ *
+ * Reason for test: Verify service status notifications complete and remote party information is correct.
+ *
+ * @return - TVerdict code
+ */
+ {
+
+ //
+ // SET UP
+ //
+
+
+ // Ensure RMobilePhone::GetCallServiceCaps returns caps in set of KCapsGetClipStatus capability.
+
+ // Ensure RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerPresentation and aLocation=EInfoLocationCachePreferred does not return aStatus=EIdServiceActiveDefaultAllowed
+
+ // Get Voice Line 1
+
+ // Get Call 1
+
+
+ //
+ // SET UP END
+ //
+
+ StartTest();
+
+ //
+ // TEST START
+ //
+
+
+ // === Activate CLIP - Be able to see who is calling you - check notification completes ===
+
+ // Activate CLIP with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerPresentation and aSetting=EIdServicePresentationAllowed
+
+ // Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceCallerPresentation completes with aStatus=EIdServiceActivePermanent
+
+ // Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerPresentation and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActivePermanent
+
+ // === Request incoming call and check that the remote number can be retrieved ===
+
+ // Request an incoming call from RPS.
+
+ // Answer the call.
+
+ // Check RMobileCall::NotifyMobileCallStatusChange completes with EStatusConnected.
+
+ // Check RMobileCall::GetMobileCallInfo returns iRemoteParty.iCallingName has length > 0
+ // Check RMobileCall::GetMobileCallInfo returns iRemoteParty.iDirection = EMobileTerminated
+ // Check RMobileCall::GetMobileCallInfo returns iRemoteParty.iRemoteIdStatus = ERemoteIdentityAvailable
+ // Check RMobileCall::GetMobileCallInfo returns iRemoteParty.iRemoteNumber is the number RPS is calling from (coded in BCD)
+ // Check RMobileCall::GetMobileCallInfo returns iValid > 0.
+ // Check RMobileCall::GetMobileCallInfo returns data for attributes marked as valid in iValid.
+
+ // Hang up call.
+
+
+ //
+ // TEST END
+ //
+
+ StartCleanup();
+
+ // Put any required test clean up here, then remove this comment
+
+ return TestStepResult();
+ }
+
+TPtrC CCTSYIntegrationTestPhoneIdentity0003::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+ {
+ return _L("CCTSYIntegrationTestPhoneIdentity0003");
+ }
+
+
+
+CCTSYIntegrationTestPhoneIdentity0004::CCTSYIntegrationTestPhoneIdentity0004(CEtelSessionMgr& aEtelSessionMgr)
+ : CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+ {
+ SetTestStepName(CCTSYIntegrationTestPhoneIdentity0004::GetTestStepName());
+ }
+
+CCTSYIntegrationTestPhoneIdentity0004::~CCTSYIntegrationTestPhoneIdentity0004()
+/**
+ * Destructor.
+ */
+ {
+ }
+
+TVerdict CCTSYIntegrationTestPhoneIdentity0004::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-PID-0004
+ * @SYMFssID BA/CTSY/PID-0004
+ * @SYMTestCaseDesc Deactivate Calling Line Identity Presentation (CLIP)
+ * @SYMTestPriority High
+ * @SYMTestActions RCall::AnswerIncomingCall, RMobileCall::NotifyMobileCallStatusChange, RMobilePhone::GetIdentityServiceStatus, RMobilePhone::SetIdentityServiceStatus, RMobilePhone::NotifyIdentityServiceStatus, RMobileCall::GetMobileCallInfo, RCall::HangUp
+ * @SYMTestExpectedResults Pass - Remote party's number not retrieved.
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies live/automatic
+ *
+ * Reason for test: Verify service status notifications complete and it is not possible to get the calling line identity.
+ *
+ * @return - TVerdict code
+ */
+ {
+
+ //
+ // SET UP
+ //
+
+
+ // Ensure RMobilePhone::GetCallServiceCaps returns caps in set of KCapsGetClipStatus capability.
+
+ // Ensure RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerPresentation and aLocation=EInfoLocationCachePreferred does not return aStatus=EIdServiceActiveDefaultRestricted
+
+ // Get Voice Line 1
+
+ // Get Call 1
+
+
+ //
+ // SET UP END
+ //
+
+ StartTest();
+
+ //
+ // TEST START
+ //
+
+
+ // === Deactivate (restrict) CLIP - Not be able to see who is calling you - check notification completes ===
+
+ // Deactivate CLIP with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerPresentation and aSetting=EIdServicePresentationRestricted
+
+ // Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceCallerPresentation completes with aStatus=EIdServiceActivePermanent
+
+ // Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerPresentation and aLocation=EInfoLocationCachePreferred returns aStatus!=EIdServiceActivePermanent
+
+ // === Request incoming call and check that the remote number can be retrieved ===
+
+ // Request an incoming call from RPS.
+
+ // Answer the call.
+
+ // Check RMobileCall::NotifyMobileCallStatusChange completes with EStatusConnected.
+
+ // Check RMobileCall::GetMobileCallInfo returns iRemoteParty.iCallingName has length > 0
+ // Check RMobileCall::GetMobileCallInfo returns iRemoteParty.iDirection = EMobileTerminated
+ // Check RMobileCall::GetMobileCallInfo returns iRemoteParty.iRemoteIdStatus = ERemoteIdentityAvailableNoCliUnavailable or = ERemoteIdentityUnavailableNoCliInteractionWithOtherService
+ // Check RMobileCall::GetMobileCallInfo returns iValid > 0.
+ // Check RMobileCall::GetMobileCallInfo returns data for attributes marked as valid in iValid.
+
+ // Hang up call.
+
+
+ //
+ // TEST END
+ //
+
+ StartCleanup();
+
+ // Put any required test clean up here, then remove this comment
+
+ return TestStepResult();
+ }
+
+TPtrC CCTSYIntegrationTestPhoneIdentity0004::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+ {
+ return _L("CCTSYIntegrationTestPhoneIdentity0004");
+ }
+
+
+
+CCTSYIntegrationTestPhoneIdentity0005::CCTSYIntegrationTestPhoneIdentity0005(CEtelSessionMgr& aEtelSessionMgr)
+ : CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+ {
+ SetTestStepName(CCTSYIntegrationTestPhoneIdentity0005::GetTestStepName());
+ }
+
+CCTSYIntegrationTestPhoneIdentity0005::~CCTSYIntegrationTestPhoneIdentity0005()
+/**
+ * Destructor.
+ */
+ {
+ }
+
+TVerdict CCTSYIntegrationTestPhoneIdentity0005::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-PID-0005
+ * @SYMFssID BA/CTSY/PID-0005
+ * @SYMTestCaseDesc Receive rejection of suppression of calling identity.
+ * @SYMTestPriority High
+ * @SYMTestActions RMobilePhone::SetIdentityServiceStatus, RMobilePhone::NotifyIdentitySuppressionRejected
+ * @SYMTestExpectedResults Pass - Notification of identity suppression rejected completes.
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies simulated/manual
+ *
+ * Reason for test: Verify notification completes.
+ *
+ * @return - TVerdict code
+ */
+ {
+
+ //
+ // SET UP
+ //
+
+
+ // Ensure RMobilePhone::GetCallServiceCaps returns caps in set of KCapsGetClirStatus capability.
+
+
+ //
+ // SET UP END
+ //
+
+ StartTest();
+
+ //
+ // TEST START
+ //
+
+
+ // === Attempt to restrict caller ID ===
+
+ // Activate CLIR with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerRestriction aSetting=EIdServicePresentationRestricted
+
+ // Simulator should reject CLIR activation
+
+ // Check RMobilePhone::NotifyIdentitySuppressionRejected completes with KErrNone
+
+ // Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerRestriction and aLocation=EInfoLocationCachePreferred returns aStatus!=EIdServiceActiveDefaultRestricted
+
+
+ //
+ // TEST END
+ //
+
+ StartCleanup();
+
+ // Put any required test clean up here, then remove this comment
+
+ return TestStepResult();
+ }
+
+TPtrC CCTSYIntegrationTestPhoneIdentity0005::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+ {
+ return _L("CCTSYIntegrationTestPhoneIdentity0005");
+ }
+
+
+
+CCTSYIntegrationTestPhoneIdentity0006::CCTSYIntegrationTestPhoneIdentity0006(CEtelSessionMgr& aEtelSessionMgr)
+ : CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+ {
+ SetTestStepName(CCTSYIntegrationTestPhoneIdentity0006::GetTestStepName());
+ }
+
+CCTSYIntegrationTestPhoneIdentity0006::~CCTSYIntegrationTestPhoneIdentity0006()
+/**
+ * Destructor.
+ */
+ {
+ }
+
+TVerdict CCTSYIntegrationTestPhoneIdentity0006::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-PID-0006
+ * @SYMFssID BA/CTSY/PID-0006
+ * @SYMTestCaseDesc Activate and deactivate CNAP (calling name presentation)
+ * @SYMTestPriority High
+ * @SYMTestActions RMobilePhone::SetIdentityServiceStatus, RMobilePhone::NotifyIdentityServiceStatus
+ * @SYMTestExpectedResults Pass - Identity service status notification completes and service status is correct.
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies live/automatic
+ *
+ * Reason for test: Verify notification completes and identity status is correct.
+ *
+ * @return - TVerdict code
+ */
+ {
+
+ //
+ // SET UP
+ //
+
+
+ // Ensure RMobilePhone::GetCallServiceCaps returns caps in set of KCapsGetCnapStatus capability.
+
+ // Ensure RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerName and aLocation=EInfoLocationCachePreferred returns aStatus!=EIdServiceActivePermanent
+
+
+ //
+ // SET UP END
+ //
+
+ StartTest();
+
+ //
+ // TEST START
+ //
+
+
+ // === Activate CNAP ===
+
+ // Activate CNAP with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerName and aSetting=EIdServicePresentationRestricted
+
+ // Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceCallerName completes with aStatus=EIdServicePresentationRestricted
+
+ // Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerName and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActivePermanent
+
+ // === Deactivate CNAP ===
+
+ // Deactivate CNAP with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerName and aSetting=EIdServicePresentationAllowed
+
+ // Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceCallerName completes with aStatus=EIdServicePresentationAllowed
+
+ // Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerName and aLocation=EInfoLocationCachePreferred returns aStatus!=EIdServiceActivePermanent
+
+
+ //
+ // TEST END
+ //
+
+ StartCleanup();
+
+ // Put any required test clean up here, then remove this comment
+
+ return TestStepResult();
+ }
+
+TPtrC CCTSYIntegrationTestPhoneIdentity0006::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+ {
+ return _L("CCTSYIntegrationTestPhoneIdentity0006");
+ }
+
+
+
+CCTSYIntegrationTestPhoneIdentity0007::CCTSYIntegrationTestPhoneIdentity0007(CEtelSessionMgr& aEtelSessionMgr)
+ : CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+ {
+ SetTestStepName(CCTSYIntegrationTestPhoneIdentity0007::GetTestStepName());
+ }
+
+CCTSYIntegrationTestPhoneIdentity0007::~CCTSYIntegrationTestPhoneIdentity0007()
+/**
+ * Destructor.
+ */
+ {
+ }
+
+TVerdict CCTSYIntegrationTestPhoneIdentity0007::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-PID-0007
+ * @SYMFssID BA/CTSY/PID-0007
+ * @SYMTestCaseDesc Get subscriber ID (IMSI) when no SIM present.
+ * @SYMTestPriority High
+ * @SYMTestActions RMobileCall::GetSubscriberId
+ * @SYMTestExpectedResults Pass - Error returned on attempt to get IMSI with no SIM.
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies live/manual
+ *
+ * Reason for test: Verify IMSI retrieval fails.
+ *
+ * @return - TVerdict code
+ */
+ {
+
+ //
+ // SET UP
+ //
+
+ RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
+
+ //
+ // SET UP END
+ //
+
+ StartTest();
+
+ //
+ // TEST START
+ //
+
+
+ // Remove the SIM.
+ TBuf<100> prompt(_L("Ensure SIM is not present"));
+ DisplayUserInteractionPromptL(prompt); // 30 seconds
+
+ // Check RMobilePhone::GetSubscriberId completes with error != KErrNone
+ TExtEtelRequestStatus getSubscriberIdStatus(mobilePhone, EMobilePhoneGetSubscriberId);
+ RMobilePhone::TMobilePhoneSubscriberId subscriberId;
+ CleanupStack::PushL(getSubscriberIdStatus);
+
+ mobilePhone.GetSubscriberId(getSubscriberIdStatus,subscriberId);
+
+ ASSERT_EQUALS(WaitForRequestWithTimeOut(getSubscriberIdStatus, ETimeShort), KErrNone, _L("RMobilePhone::GetSubscriberId timed-out"));
+ ASSERT_TRUE(getSubscriberIdStatus.Int() != KErrNone, _L("RMobilePhone::getSubscriberIdStatus returned with an error"));
+
+ //
+ // TEST END
+ //
+
+ StartCleanup();
+
+ CleanupStack::PopAndDestroy(&getSubscriberIdStatus);
+
+ return TestStepResult();
+ }
+
+TPtrC CCTSYIntegrationTestPhoneIdentity0007::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+ {
+ return _L("CCTSYIntegrationTestPhoneIdentity0007");
+ }
+
+
+
+CCTSYIntegrationTestPhoneIdentity0008::CCTSYIntegrationTestPhoneIdentity0008(CEtelSessionMgr& aEtelSessionMgr)
+ : CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+ {
+ SetTestStepName(CCTSYIntegrationTestPhoneIdentity0008::GetTestStepName());
+ }
+
+CCTSYIntegrationTestPhoneIdentity0008::~CCTSYIntegrationTestPhoneIdentity0008()
+/**
+ * Destructor.
+ */
+ {
+ }
+
+TVerdict CCTSYIntegrationTestPhoneIdentity0008::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-PID-0008
+ * @SYMFssID BA/CTSY/PID-0008
+ * @SYMTestCaseDesc Activate and deactivate COLP (connected line identification presentation)
+ * @SYMTestPriority High
+ * @SYMTestActions RMobilePhone::SetIdentityServiceStatus, RMobilePhone::NotifyIdentityServiceStatus
+ * @SYMTestExpectedResults Pass - Identity service status notification completes and service status is correct.
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies live/automatic
+ *
+ * Reason for test: Verify notification completes and identity status is correct.
+ *
+ * @return - TVerdict code
+ */
+ {
+
+ //
+ // SET UP
+ //
+
+
+ // Ensure RMobilePhone::GetCallServiceCaps returns caps in set of KCapsGetColpStatus
+
+ // Ensure RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceConnectedPresentation and aLocation=EInfoLocationCachePreferred returns aStatus!=EIdServiceActivePermanent
+
+
+ //
+ // SET UP END
+ //
+
+ StartTest();
+
+ //
+ // TEST START
+ //
+
+
+ // === Activate COLP ===
+
+ // Activate COLP with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceConnectedPresentation and aSetting=EIdServicePresentationRestricted
+
+ // Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceConnectedPresentation completes with aStatus=EIdServicePresentationRestricted
+
+ // Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceConnectedPresentation and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActivePermanent
+
+ // === Deactivate COLP ===
+
+ // Deactivate COLP with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceConnectedPresentation and aSetting=EIdServicePresentationAllowed
+
+ // Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceConnectedPresentation completes with aStatus=EIdServicePresentationAllowed
+
+ // Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceConnectedPresentation and aLocation=EInfoLocationCachePreferred returns aStatus!=EIdServiceActivePermanent
+
+
+ //
+ // TEST END
+ //
+
+ StartCleanup();
+
+ // Put any required test clean up here, then remove this comment
+
+ return TestStepResult();
+ }
+
+TPtrC CCTSYIntegrationTestPhoneIdentity0008::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+ {
+ return _L("CCTSYIntegrationTestPhoneIdentity0008");
+ }
+
+
+
+CCTSYIntegrationTestPhoneIdentity0009::CCTSYIntegrationTestPhoneIdentity0009(CEtelSessionMgr& aEtelSessionMgr)
+ : CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+ {
+ SetTestStepName(CCTSYIntegrationTestPhoneIdentity0009::GetTestStepName());
+ }
+
+CCTSYIntegrationTestPhoneIdentity0009::~CCTSYIntegrationTestPhoneIdentity0009()
+/**
+ * Destructor.
+ */
+ {
+ }
+
+TVerdict CCTSYIntegrationTestPhoneIdentity0009::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-PID-0009
+ * @SYMFssID BA/CTSY/PID-0009
+ * @SYMTestCaseDesc Activate and deactivate COLR (connected line identity restriction)
+ * @SYMTestPriority High
+ * @SYMTestActions
+ * @SYMTestExpectedResults Pass - COLR activated and deactivated.
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies live/automatic
+ *
+ * Reason for test: Verify notification completes and identity status is correct.
+ *
+ * @return - TVerdict code
+ */
+ {
+
+ //
+ // SET UP
+ //
+
+
+ // Ensure RMobilePhone::GetCallServiceCaps returns caps in set of KCapsGetColrStatus
+
+ // Ensure RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceConnectedRestriction and aLocation=EInfoLocationCachePreferred returns aStatus!=EIdServiceActivePermanent
+
+
+ //
+ // SET UP END
+ //
+
+ StartTest();
+
+ //
+ // TEST START
+ //
+
+
+ // === Activate COLR ===
+
+ // Activate COLR with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceConnectedRestriction and aSetting=EIdServicePresentationRestricted
+
+ // Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceConnectedRestriction completes with aStatus=EIdServicePresentationRestricted
+
+ // Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceConnectedRestriction and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActivePermanent
+
+ // === Deactivate COLR ===
+
+ // Deactivate COLR with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceConnectedRestriction and aSetting=EIdServicePresentationAllowed
+
+ // Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceConnectedRestriction completes with aStatus=EIdServicePresentationAllowed
+
+ // Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceConnectedRestriction and aLocation=EInfoLocationCachePreferred returns aStatus!=EIdServiceActivePermanent
+
+
+ //
+ // TEST END
+ //
+
+ StartCleanup();
+
+ // Put any required test clean up here, then remove this comment
+
+ return TestStepResult();
+ }
+
+TPtrC CCTSYIntegrationTestPhoneIdentity0009::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+ {
+ return _L("CCTSYIntegrationTestPhoneIdentity0009");
+ }
+
+
+
+CCTSYIntegrationTestPhoneIdentity0010::CCTSYIntegrationTestPhoneIdentity0010(CEtelSessionMgr& aEtelSessionMgr)
+ : CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+ {
+ SetTestStepName(CCTSYIntegrationTestPhoneIdentity0010::GetTestStepName());
+ }
+
+CCTSYIntegrationTestPhoneIdentity0010::~CCTSYIntegrationTestPhoneIdentity0010()
+/**
+ * Destructor.
+ */
+ {
+ }
+
+TVerdict CCTSYIntegrationTestPhoneIdentity0010::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-PID-0010
+ * @SYMFssID BA/CTSY/PID-0010
+ * @SYMTestCaseDesc Get the phone identity
+ * @SYMTestPriority High
+ * @SYMTestActions
+ * @SYMTestExpectedResults Pass - Phone manufacturer, model, revision and serial number returned.
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies live/automatic
+ *
+ * Reason for test: Verify manufacturer, model, revision and serial number returned.
+ *
+ * @return - TVerdict code
+ */
+ {
+
+ //
+ // SET UP
+ //
+
+ RMobilePhone& phone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
+
+ // EnsureRMobilePhone::GetIdentityCaps returns caps in set of
+ // RMobilePhone::KCapsGetManufacturer | RMobilePhone::KCapsGetModel | RMobilePhone::KCapsGetRevision |
+ // RMobilePhone::KCapsGetSerialNumber
+
+ TUint32 caps;
+ TInt result = phone.GetIdentityCaps(caps);
+ CHECK_TRUE_L(result == KErrNone, _L("RMobilePhone::GetIdentityCaps failed."))
+
+ // Needs all caps
+ TUint neededCaps = RMobilePhone::KCapsGetManufacturer | RMobilePhone::KCapsGetModel |
+ RMobilePhone::KCapsGetRevision | RMobilePhone::KCapsGetSerialNumber;
+ CHECK_BITS_SET_L( caps, neededCaps, KNoUnwantedBits, _L("RMobilePhone::GetIdentityCaps returned wrong mask") )
+ //
+ // SET UP END
+ //
+
+ StartTest();
+
+ //
+ // TEST START
+ //
+
+
+ // === Get the phone identity ===
+ RMobilePhone::TMobilePhoneIdentityV1 phoneId;
+ TExtEtelRequestStatus requestStatus(phone, EMobilePhoneGetPhoneId);
+ CleanupStack::PushL(requestStatus);
+ phone.GetPhoneId(requestStatus, phoneId);
+
+ ASSERT_EQUALS(WaitForRequestWithTimeOut(requestStatus, ETimeLong),
+ KErrNone, _L("RMobilePhone::GetPhoneId timed out."))
+ ASSERT_EQUALS(requestStatus.Int(), KErrNone, _L("RMobilePhone::GetPhoneId completed with incorrect status"))
+
+ // Check RMobilePhone::GetPhoneId returns aId.iManufacturer with length > 0
+ ASSERT_TRUE(phoneId.iManufacturer.Length() > 0,
+ _L("RMobilePhone::GetPhoneId returned invalid manufacturer"))
+
+ // Check RMobilePhone::GetPhoneId returns aId.iModel with length > 0
+ ASSERT_TRUE(phoneId.iModel.Length() > 0,
+ _L("RMobilePhone::GetPhoneId returned invalid model"))
+
+ // Check RMobilePhone::GetPhoneId returns aId.iRevision with length > 0
+ ASSERT_TRUE(phoneId.iRevision.Length() > 0,
+ _L("RMobilePhone::GetPhoneId returned invalid revision"))
+
+ // Check RMobilePhone::GetPhoneId returns aId.iSerialNumber with length > 0
+ ASSERT_TRUE(phoneId.iSerialNumber.Length() > 0,
+ _L("RMobilePhone::GetPhoneId returned invalid serial number"))
+
+
+ //
+ // TEST END
+ //
+
+ StartCleanup();
+
+ CleanupStack::Pop(); // requestStatus
+
+ return TestStepResult();
+ }
+
+
+TPtrC CCTSYIntegrationTestPhoneIdentity0010::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+ {
+ return _L("CCTSYIntegrationTestPhoneIdentity0010");
+ }
+
+
+