cellularsrvapitest/telephonyhaitest/etelmm/scripts/telephony-etelmm-voicecall-validation-multiplecalls.script
author ivan.fildichev@opencode.com
Thu, 18 Nov 2010 15:42:16 +0200
branchopencode
changeset 88 5e27cc612ac7
parent 24 6638e7f4bd8f
permissions -rw-r--r--
Latest bug-fixes with added tests.

//
// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
// All rights reserved.
// This component and the accompanying materials are made available
// under the terms of "Eclipse Public License v1.0"
// which accompanies this distribution, and is available
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
//
// Initial Contributors:
// Nokia Corporation - initial contribution.
//
// Contributors:
//
// Description:
//
//! @file
//! @SYMTestSuiteName telephony-etelmm-voicecall-validation-multiplecalls
//! @SYMScriptTestEnvironment This test script requires a basic ROM.
//
// Tests all public elements of the RMmCustomAPI; RMobileLine; RMobilePhone; RTelServer; RMobileConferenceCall and RMobileCall
// classes as a means of confidence that the APIs work as expected.
// 
// The purpose is to provide a regression test suite of PublishedAll
// APIs for: RMmCustomAPI; RMobileLine; RMobilePhone; RTelServer; RMobileConferenceCall and RMobileCall
// Voice Call tests are intended for semi-automatic testing because dialing/ answering calls require user interaction.
//



LOAD_SUITE t_etelmm





START_TESTCASE TELEPHONY-ETELMM-VOICECALL-VALIDATION-MULTIPLECALLS-0001

//!@SYMTestCaseID		TELEPHONY-ETELMM-VOICECALL-VALIDATION-MULTIPLECALLS-0001
//!@SYMAPI
//!                RLine::Open(RPhone{ref};const TDesC{ref});
//!                RLine::OpenNewCall(RLine{ref};TDes{ref});
//!                RCall::GetCaps(TCaps{ref});
//!                RCall::Dial(TRequestStatus{ref};const TTelNumberC{ref});
//!                RCall::Hold (TRequestStatus{ref});
//!                RCall::Resume (TRequestStatus{ref});
//!                RCall::Swap(TRequestStatus{ref});
//!                TCallInfo::HangUp(TRequestStatus{ref});
//!                RCall::Close( )
//!                RLine::Close( )
//!@SYMAuthor			JPacho
//!@SYMCreationDate		19/5/2008
//!@SYMTestCaseDesc		Dial a call and hold it, then make a second call and swap it with the first one
//!@SYMTestActions
//!                1. Open telephony server
//!                2. Open mobile phone (RTelServer=telServer; Phone=0)
//!                3. Initialise mobile phone
//!                4. Initialize custom API (RMobilePhone=mobilePhone)
//!                5. Open line (RMobilePhone=mobilePhone;Line = Voice1)
//!                6. Open new Call1 (RMobileLine=mobileLine;Call = 1)
//!                7. Open new Call2 (RMobileLine=mobileLine;Call = 2)
//!                8. Get VoiceCall capabilities for Call1 (Call = 1)
//!                9. Check VoiceCall capabilities (Capabilities = VoiceCall)
//!                10. Get VoiceCall capabilities for Call2 (Call = 2)
//!                11. Check VoiceCall capabilities (Capabilities = VoiceCall)
//!                12. Dial Call1 (Call = 1;PhoneNumber = {PHONENUMBERS, PhoneNumber1};CallTimeout = 10)
//!                13.Get Hold capabilities for Call1 (Call = 1)
//!                14. Check Hold capabilities (Capabilities = Hold)
//!                15.Hold Call1 (Call = 1)
//!                16.Dial Call2 (Call = 2;PhoneNumber = {PHONENUMBERS, PhoneNumber2};CallTimeout = 10)
//!                17.Get Swap capabilities for Call1 (Call = 1)
//!                18.Check Swap capabilities (Capabilities = Swap)
//!                19.Swap calls (Call = 1)
//!                20.Get Call1 duration (Call = 1)
//!                21.Hang up Call1 (Call = 1)
//!                22.Get Call2 duration (Call = 2)
//!                23.Hang up Call2 (Call = 2)
//!                24.Close Call1 (Call = 1)
//!                25.Close Call2 (Call = 2)
//!                26.Close line
//!                27.Close custom API
//!                28.Close mobile phone
//!                29.Close telephony server
//!@SYMTestStatus		Implemented
//!@SYMTestPriority		High
//!@SYMTestExpectedResults
//!                Function does not leave nor panic. First call is dialed and hold, then a second call is dialed and finally swap the calls.
//!@SYMTestType			CIT

	START_TEST_BLOCK	600	t_etelmm	\telephony\etelmm\telephony-etelmm-voicecall-validation-multiplecalls.ini
		CREATE_OBJECT	RTelServer		telServer
		CREATE_OBJECT	RMobilePhone		mobilePhone
		CREATE_OBJECT	RMobileLine		mobileLine
		CREATE_OBJECT	RMobileCall		mobileCall
		CREATE_OBJECT	RMmCustomAPI		customApi
		COMMAND		telServer		Connect
		COMMAND		mobilePhone		Open			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0001-0001-Open_command02
		COMMAND		mobilePhone		Initialise
		COMMAND		customApi		Open			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0001-0001-Open_command04
		COMMAND		mobileLine		Open			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0001-0001-Open_command05
		COMMAND		mobileCall		OpenNewCall			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0001-0001-OpenNewCall_command06
		COMMAND		mobileCall		OpenNewCall			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0001-0001-OpenNewCall_command07
		COMMAND		mobileCall		GetCaps			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0001-0001-GetCaps_command08
		COMMAND		mobileCall		CheckCaps			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0001-0001-CheckCaps_command09
		COMMAND		mobileCall		GetCaps			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0001-0001-GetCaps_command10
		COMMAND		mobileCall		CheckCaps			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0001-0001-CheckCaps_command11
		COMMAND		mobileCall		Dial			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0001-0001-Dial_command12
		ASYNC_DELAY  30000000 
		COMMAND		mobileCall		GetCaps			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0001-0001-GetCaps_command13
		COMMAND		mobileCall		CheckCaps			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0001-0001-CheckCaps_command14
		COMMAND		mobileCall		Hold			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0001-0001-Hold_command15
		OUTSTANDING
		DELAY  5000000 
		COMMAND		mobileCall		Dial			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0001-0001-Dial_command16
		ASYNC_DELAY  30000000 
		COMMAND		mobileCall		GetCaps			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0001-0001-GetCaps_command17
		COMMAND		mobileCall		CheckCaps			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0001-0001-CheckCaps_command18
		COMMAND		mobileCall		Swap			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0001-0001-Swap_command19
		OUTSTANDING
		DELAY  5000000 
		COMMAND		mobileCall		GetCallDuration			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0001-0001-GetCallDuration_command20
		COMMAND		mobileCall		HangUp			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0001-0001-HangUp_command21
		OUTSTANDING
		COMMAND		mobileCall		GetCallDuration			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0001-0001-GetCallDuration_command22
		COMMAND		mobileCall		HangUp			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0001-0001-HangUp_command23
		OUTSTANDING
		COMMAND		mobileCall		Close			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0001-0001-Close_command24
		COMMAND		mobileCall		Close			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0001-0001-Close_command25
		COMMAND		mobileLine		Close
		COMMAND		customApi		Close
		COMMAND		mobilePhone		Close
		COMMAND		telServer		Close
	END_TEST_BLOCK
END_TESTCASE TELEPHONY-ETELMM-VOICECALL-VALIDATION-MULTIPLECALLS-0001




START_TESTCASE TELEPHONY-ETELMM-VOICECALL-VALIDATION-MULTIPLECALLS-0002

//!@SYMTestCaseID		TELEPHONY-ETELMM-VOICECALL-VALIDATION-MULTIPLECALLS-0002
//!@SYMAPI
//!                RLine::Open(RPhone{ref},const TDesC{ref});
//!                RLine::OpenNewCall(RLine{ref},TDes{ref});
//!                RCall::GetCaps(TCaps{ref});
//!                RCall::Dial(TRequestStatus{ref},const TTelNumberC{ref});
//!                RMobileConferenceCall::CreateConference(TRequestStatus{ref});
//!                RMobileConferenceCall::EnumerateCalls(TInt{ref});
//!                RMobileConferenceCall::Open(RMobilePhone{ref});
//!                RMobileConferenceCall::Close();
//!                TCallInfo::HangUp(TRequestStatus{ref});
//!                RCall::Close( )
//!                RLine::Close( )
//!@SYMAuthor			JPacho
//!@SYMCreationDate		19/5/2008
//!@SYMTestCaseDesc		Open a conference call between the testing device and two other phones.
//!@SYMTestActions
//!                1. Open telephony server
//!                2. Open mobile phone (RTelServer=telServer; Phone=0)
//!                3. Initialise mobile phone
//!                4. Initialize custom API (RMobilePhone=mobilePhone)
//!                5. Open line (RMobilePhone=mobilePhone;Line = Voice1)
//!                6. Open new Call1 (RMobileLine=mobileLine;Call = 1)
//!                7. Open new Call2 (RMobileLine=mobileLine;Call = 2)
//!                8. Get VoiceCall capabilities for Call1 (Call = 1) 
//!                9. Check VoiceCall capabilities (Capabilities = VoiceCall)
//!                10. Get VoiceCall capabilities fro Call2 (Call = 2)
//!                11. Check VoiceCall capabilities (Capabilities = VoiceCall)
//!                12. Dial Call1 (Call = 1;PhoneNumber = {PHONENUMBERS, PhoneNumber1};CallTimeout = 10)
//!                13.Get Hold capabilities for Call1 (Call = 1)
//!                14.Check Hold capabilities (Capabilities = Hold)
//!                15.Hold Call1 (Call = 1)
//!                16.Dial Call2 (Call = 2;PhoneNumber = {PHONENUMBERS, PhoneNumber2};CallTimeout = 10)
//!                17.Open conference call (RMobilePhone=mobilePhone)
//!                18.Create conference call 
//!                19.Enumerate calls in the conference call (NumOfCalls = 2)
//!                20.Get Call1 duration (Call = 1)
//!                21.Hang up Call1 (Call = 1)
//!                22.Get Call2 duration (Call = 2)
//!                23.Hang up Call2 (Call = 2) 
//!                24.Close conference call 
//!                25.Close Call1 (Call = 1)
//!                26.Close Call2 (Call = 2)
//!                27.Close line
//!                28.Close custom API
//!                29.Close mobile phone
//!                30.Close telephony server
//!@SYMTestStatus		Implemented
//!@SYMTestPriority		High
//!@SYMTestExpectedResults
//!                Function does not leave nor panic. Open a conference call between the testing device and other two phones.
//!@SYMTestType			CIT

	START_TEST_BLOCK	600	t_etelmm	\telephony\etelmm\telephony-etelmm-voicecall-validation-multiplecalls.ini
		CREATE_OBJECT	RTelServer		telServer
		CREATE_OBJECT	RMobilePhone		mobilePhone
		CREATE_OBJECT	RMobileLine		mobileLine
		CREATE_OBJECT	RMobileConferenceCall		conferenceCall
		CREATE_OBJECT	RMobileCall		mobileCall
		CREATE_OBJECT	RMmCustomAPI		customApi
		COMMAND		telServer		Connect
		COMMAND		mobilePhone		Open			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0002-0001-Open_command02
		COMMAND		mobilePhone		Initialise
		COMMAND		customApi		Open			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0002-0001-Open_command04
		COMMAND		mobileLine		Open			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0002-0001-Open_command05
		COMMAND		mobileCall		OpenNewCall			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0002-0001-OpenNewCall_command06
		COMMAND		mobileCall		OpenNewCall			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0002-0001-OpenNewCall_command07
		COMMAND		mobileCall		GetCaps			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0002-0001-GetCaps_command08
		COMMAND		mobileCall		CheckCaps			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0002-0001-CheckCaps_command09
		COMMAND		mobileCall		GetCaps			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0002-0001-GetCaps_command10
		COMMAND		mobileCall		CheckCaps			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0002-0001-CheckCaps_command11
		COMMAND		mobileCall		Dial			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0002-0001-Dial_command12
		ASYNC_DELAY  30000000 
		COMMAND		mobileCall		GetCaps			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0002-0001-GetCaps_command13
		COMMAND		mobileCall		CheckCaps			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0002-0001-CheckCaps_command14
		COMMAND		mobileCall		Hold			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0002-0001-Hold_command15
		OUTSTANDING
		DELAY  5000000 
		COMMAND		mobileCall		Dial			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0002-0001-Dial_command16
		ASYNC_DELAY  30000000 
		COMMAND		conferenceCall		Open			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0002-0001-Open_command17
		COMMAND		conferenceCall		CreateConference
		OUTSTANDING
		COMMAND		conferenceCall		EnumerateCalls			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0002-0001-EnumerateCalls_command19
		DELAY  5000000 
		COMMAND		mobileCall		GetCallDuration			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0002-0001-GetCallDuration_command20
		COMMAND		mobileCall		HangUp			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0002-0001-HangUp_command21
		OUTSTANDING
		COMMAND		mobileCall		GetCallDuration			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0002-0001-GetCallDuration_command22
		COMMAND		mobileCall		HangUp			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0002-0001-HangUp_command23
		OUTSTANDING
		COMMAND		conferenceCall		Close
		COMMAND		mobileCall		Close			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0002-0001-Close_command25
		COMMAND		mobileCall		Close			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0002-0001-Close_command26
		COMMAND		mobileLine		Close
		COMMAND		customApi		Close
		COMMAND		mobilePhone		Close
		COMMAND		telServer		Close
	END_TEST_BLOCK
END_TESTCASE TELEPHONY-ETELMM-VOICECALL-VALIDATION-MULTIPLECALLS-0002




START_TESTCASE TELEPHONY-ETELMM-VOICECALL-VALIDATION-MULTIPLECALLS-0003

//!@SYMTestCaseID		TELEPHONY-ETELMM-VOICECALL-VALIDATION-MULTIPLECALLS-0003
//!@SYMAPI
//!                RLine::Open(RPhone{ref},const TDesC{ref});
//!                RLine::OpenNewCall(RLine{ref},TDes{ref});
//!                RCall::GetCaps(TCaps{ref});
//!                RCall::Dial(TRequestStatus{ref},const TTelNumberC{ref});
//!                RCall::Hold (TRequestStatus{ref});
//!                RMobileCall::Transfer(TRequestStatus{ref});
//!                TCallInfo::HangUp(TRequestStatus{ref});
//!                RCall::Close( )
//!                RLine::Close( )
//!@SYMAuthor			JPacho
//!@SYMCreationDate		19/5/2008
//!@SYMTestCaseDesc		Dial a call and hold it, then call a second call and tranfer it to the first call
//!@SYMTestActions
//!                1. Open telephony server
//!                2. Open mobile phone (RTelServer=telServer; Phone=0)
//!                3. Initialise mobile phone
//!                4. Initialize custom API (RMobilePhone=mobilePhone)
//!                5. Open line (RMobilePhone=mobilePhone;Line = Voice1)
//!                6. Open new Call1 (RMobileLine=mobileLine;Call = 1)
//!                7. Open new Call2 (RMobileLine=mobileLine;Call = 2)
//!                8. Get VoiceCall capabilities for Call1 (Call = 1)
//!                9. Check VoiceCall capabilities (Capabilities = VoiceCall)
//!                10.Get VoiceCall capabilities for Call2 (Call = 2)
//!                11.Check VoiceCall capabilities (Capabilities = VoiceCall)
//!                12. Dial Call1 (Call = 1;PhoneNumber = {PHONENUMBERS, PhoneNumber1};CallTimeout = 10)
//!                13.Get Hold capabilities for Call1 (Call = 1)
//!                14.Check Hold capabilities (Capabilities = Hold)
//!                15.Hold Call1 (Call = 1)
//!                16.Dial Call2 (Call = 2;PhoneNumber = {PHONENUMBERS, PhoneNumber2};CallTimeout = 10)
//!                17.Get Transfer capabilities for Call1 (Call = 1)
//!                18.Check Transfer capabilities (Capabilities = Transfer)
//!                19.Get Transfer capabilities for Call2 (Call = 2)
//!                20.Check Transfer capabilities (Capabilities = Transfer)
//!                21.Transfer calls (Call = 2)
//!                22.Get Call1 duration (Call = 1)
//!                23.Hang up Call1 (Call = 1)
//!                24.Get Call2 duration (Call = 2)
//!                25.Hang up Call2 (Call = 2)
//!                26.Close Call1 (Call = 1)
//!                27.Close Call2 (Call = 2)
//!                28.Close line
//!                29.Close custom API
//!                30.Close mobile phone
//!                31.Close telephony server
//!@SYMTestStatus		Implemented
//!@SYMTestPriority		High
//!@SYMTestExpectedResults
//!                Function does not leave nor panic. First call is dialed and hold, then a second call is dialed and the second call is transferred to the first call.
//!@SYMTestType			CIT

	START_TEST_BLOCK	600	t_etelmm	\telephony\etelmm\telephony-etelmm-voicecall-validation-multiplecalls.ini
		CREATE_OBJECT	RTelServer		telServer
		CREATE_OBJECT	RMobilePhone		mobilePhone
		CREATE_OBJECT	RMobileLine		mobileLine
		CREATE_OBJECT	RMobileCall		mobileCall
		CREATE_OBJECT	RMmCustomAPI		customApi
		COMMAND		telServer		Connect
		COMMAND		mobilePhone		Open			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0003-0001-Open_command02
		COMMAND		mobilePhone		Initialise
		COMMAND		customApi		Open			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0003-0001-Open_command04
		COMMAND		mobileLine		Open			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0003-0001-Open_command05
		COMMAND		mobileCall		OpenNewCall			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0003-0001-OpenNewCall_command06
		COMMAND		mobileCall		OpenNewCall			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0003-0001-OpenNewCall_command07
		COMMAND		mobileCall		GetCaps			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0003-0001-GetCaps_command08
		COMMAND		mobileCall		CheckCaps			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0003-0001-CheckCaps_command09
		COMMAND		mobileCall		GetCaps			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0003-0001-GetCaps_command10
		COMMAND		mobileCall		CheckCaps			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0003-0001-CheckCaps_command11
		COMMAND		mobileCall		Dial			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0003-0001-Dial_command12
		OUTSTANDING
		COMMAND		mobileCall		GetCaps			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0003-0001-GetCaps_command13
		COMMAND		mobileCall		CheckCaps			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0003-0001-CheckCaps_command14
		COMMAND		mobileCall		Hold			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0003-0001-Hold_command15
		OUTSTANDING
		DELAY  5000000 
		COMMAND		mobileCall		Dial			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0003-0001-Dial_command16
		OUTSTANDING
		COMMAND		mobileCall		GetCaps			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0003-0001-GetCaps_command17
		COMMAND		mobileCall		CheckCaps			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0003-0001-CheckCaps_command18
		COMMAND		mobileCall		GetCaps			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0003-0001-GetCaps_command19
		COMMAND		mobileCall		CheckCaps			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0003-0001-CheckCaps_command20
		COMMAND		mobileCall		Transfer			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0003-0001-Transfer_command21
		OUTSTANDING
		DELAY  5000000 
		COMMAND		mobileCall		GetCallDuration			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0003-0001-GetCallDuration_command22
		COMMAND		mobileCall		HangUp			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0003-0001-HangUp_command23
		OUTSTANDING
		COMMAND		mobileCall		GetCallDuration			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0003-0001-GetCallDuration_command24
		COMMAND		mobileCall		HangUp			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0003-0001-HangUp_command25
		OUTSTANDING
		COMMAND		mobileCall		Close			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0003-0001-Close_command26
		COMMAND		mobileCall		Close			TELEPHONY-ETELMM-VoiceCall-MultipleCalls-0003-0001-Close_command27
		COMMAND		mobileLine		Close
		COMMAND		customApi		Close
		COMMAND		mobilePhone		Close
		COMMAND		telServer		Close
	END_TEST_BLOCK
END_TESTCASE TELEPHONY-ETELMM-VOICECALL-VALIDATION-MULTIPLECALLS-0003