telephonyserverplugins/common_tsy/test/component/src/cctsyalternatingcallfu.cpp
changeset 0 3553901f7fa8
child 24 6638e7f4bd8f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyserverplugins/common_tsy/test/component/src/cctsyalternatingcallfu.cpp	Tue Feb 02 01:41:59 2010 +0200
@@ -0,0 +1,469 @@
+// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// The TEFUnit test suite for AlternatingCall in the Common TSY.
+// 
+//
+
+/**
+ @file 
+*/
+
+#include "cctsyalternatingcallfu.h"
+#include <etel.h>
+#include <etelmm.h>
+#include <et_clsvr.h>
+#include <ctsy/mmtsy_names.h>
+#include <ctsy/serviceapi/mmtsy_ipcdefs.h>
+#include "tmockltsydata.h"
+#include <ctsy/serviceapi/gsmerror.h>
+
+CTestSuite* CCTsyAlternatingCallFU::CreateSuiteL(const TDesC& aName)
+	{
+	SUB_SUITE;
+
+	ADD_TEST_STEP_ISO_CPP(CCTsyAlternatingCallFU, TestSwitchAlternatingCall0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyAlternatingCallFU, TestSwitchAlternatingCall0002L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyAlternatingCallFU, TestSwitchAlternatingCall0003L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyAlternatingCallFU, TestNotifyAlternatingCallSwitch0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyAlternatingCallFU, TestNotifyAlternatingCallSwitch0002L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyAlternatingCallFU, TestNotifyAlternatingCallSwitch0003L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyAlternatingCallFU, TestGetAlternatingCallCaps0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyAlternatingCallFU, TestGetAlternatingCallMode0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyAlternatingCallFU, TestSetAlternatingCallMode0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyAlternatingCallFU, TestNotifyAlternatingCallCapsChange0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyAlternatingCallFU, TestNotifyAlternatingCallModeChange0001L);
+
+	END_SUITE;
+	}
+
+
+//
+// Actual test cases
+//
+
+
+/**
+@SYMTestCaseID BA-CTSY-ALTC-CSAC-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::SwitchAlternatingCall for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::SwitchAlternatingCall for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyAlternatingCallFU::TestSwitchAlternatingCall0001L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RMobileCall mobileCall;
+	RLine line;
+
+	TInt err = line.Open(iPhone, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, err)
+    CleanupClosePushL(line);
+	
+	err = OpenNewCall(line, mobileCall, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, err)
+    CleanupClosePushL(mobileCall);
+
+	TRequestStatus reqStatus;
+	mobileCall.SwitchAlternatingCall(reqStatus);
+	User::WaitForRequest(reqStatus);
+	ASSERT_EQUALS(KErrNotSupported, reqStatus.Int())
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(2); // mobileCall, line
+
+	err = line.Open(iPhone, KMmTsyVoice2LineName);
+	ASSERT_EQUALS(KErrNone, err)
+    CleanupClosePushL(line);
+	
+	err = OpenNewCall(line, mobileCall, KMmTsyVoice2LineName);
+	ASSERT_EQUALS(KErrNone, err)
+    CleanupClosePushL(mobileCall);
+
+	mobileCall.SwitchAlternatingCall(reqStatus);
+	User::WaitForRequest(reqStatus);
+	ASSERT_EQUALS(KErrNotSupported, reqStatus.Int())
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(3, this); // mobileCall, line, this
+		
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-ALTC-CSAC-0002
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::SwitchAlternatingCall for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::SwitchAlternatingCall for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyAlternatingCallFU::TestSwitchAlternatingCall0002L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RMobileCall mobileCall;
+	RLine line;
+
+	TInt err = line.Open(iPhone, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, err)
+    CleanupClosePushL(line);
+	
+	err = OpenNewCall(line, mobileCall, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, err)
+    CleanupClosePushL(mobileCall);
+
+	TRequestStatus reqStatus;
+	mobileCall.SwitchAlternatingCall(reqStatus);
+	User::WaitForRequest(reqStatus);
+	ASSERT_EQUALS(KErrNotSupported, reqStatus.Int())
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(3, this); // mobileCall, line, this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-ALTC-CSAC-0003
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::SwitchAlternatingCall for fax calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::SwitchAlternatingCall for fax calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyAlternatingCallFU::TestSwitchAlternatingCall0003L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RMobileCall mobileCall;
+	RLine line;
+
+	TInt err = line.Open(iPhone, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, err)
+    CleanupClosePushL(line);
+	
+	err = OpenNewCall(line, mobileCall, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, err)
+    CleanupClosePushL(mobileCall);
+
+	TRequestStatus reqStatus;
+	mobileCall.SwitchAlternatingCall(reqStatus);
+	User::WaitForRequest(reqStatus);
+	ASSERT_EQUALS(KErrNotSupported, reqStatus.Int())
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(3, this); // mobileCall, line, this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-ALTC-CNACS-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::NotifyAlternatingCallSwitch for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::NotifyAlternatingCallSwitch for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyAlternatingCallFU::TestNotifyAlternatingCallSwitch0001L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RMobileCall mobileCall;
+	RLine line;
+
+	TInt err = line.Open(iPhone, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, err)
+    CleanupClosePushL(line);
+	
+	err = OpenNewCall(line, mobileCall, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, err)
+    CleanupClosePushL(mobileCall);
+
+	TRequestStatus reqStatus;
+	mobileCall.NotifyAlternatingCallSwitch(reqStatus);
+	User::WaitForRequest(reqStatus);
+	ASSERT_EQUALS(KErrNotSupported, reqStatus.Int())
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(2); // mobileCall, line
+	
+	err = line.Open(iPhone, KMmTsyVoice2LineName);
+	ASSERT_EQUALS(KErrNone, err)
+    CleanupClosePushL(line);
+	
+	err = OpenNewCall(line, mobileCall, KMmTsyVoice2LineName);
+	ASSERT_EQUALS(KErrNone, err)
+    CleanupClosePushL(mobileCall);
+
+	mobileCall.NotifyAlternatingCallSwitch(reqStatus);
+	User::WaitForRequest(reqStatus);
+	ASSERT_EQUALS(KErrNotSupported, reqStatus.Int())
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(3, this); // mobileCall, line, this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-ALTC-CNACS-0002
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::NotifyAlternatingCallSwitch for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::NotifyAlternatingCallSwitch for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyAlternatingCallFU::TestNotifyAlternatingCallSwitch0002L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RMobileCall mobileCall;
+	RLine line;
+
+	TInt err = line.Open(iPhone, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, err)
+    CleanupClosePushL(line);
+	
+	err = OpenNewCall(line, mobileCall, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, err)
+    CleanupClosePushL(mobileCall);
+
+	TRequestStatus reqStatus;
+	mobileCall.NotifyAlternatingCallSwitch(reqStatus);
+	User::WaitForRequest(reqStatus);
+	ASSERT_EQUALS(KErrNotSupported, reqStatus.Int())
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(3, this); // mobileCall, line, this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-ALTC-CNACS-0003
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::NotifyAlternatingCallSwitch for fax calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::NotifyAlternatingCallSwitch for fax calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyAlternatingCallFU::TestNotifyAlternatingCallSwitch0003L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RMobileCall mobileCall;
+	RLine line;
+
+	TInt err = line.Open(iPhone, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, err)
+    CleanupClosePushL(line);
+	
+	err = OpenNewCall(line, mobileCall, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, err)
+    CleanupClosePushL(mobileCall);
+
+	TRequestStatus reqStatus;
+	mobileCall.NotifyAlternatingCallSwitch(reqStatus);
+	User::WaitForRequest(reqStatus);
+	ASSERT_EQUALS(KErrNotSupported, reqStatus.Int())
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(3, this); // mobileCall, line, this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-ALTC-MGACC-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobilePhone::GetAlternatingCallCaps
+@SYMTestPriority High
+@SYMTestActions Invokes RMobilePhone::GetAlternatingCallCaps
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyAlternatingCallFU::TestGetAlternatingCallCaps0001L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	TUint32 caps(0);
+	TInt ret = iPhone.GetAlternatingCallCaps(caps);
+	ASSERT_EQUALS(KErrNotSupported, ret);
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(this); // this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-ALTC-MCALCM-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobilePhone::GetAlternatingCallMode
+@SYMTestPriority High
+@SYMTestActions Invokes RMobilePhone::GetAlternatingCallMode
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyAlternatingCallFU::TestGetAlternatingCallMode0001L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RMobilePhone::TMobilePhoneAlternatingCallMode mode(RMobilePhone::EAlternatingModeUnspecified);
+	RMobilePhone::TMobileService firstService(RMobilePhone::EServiceUnspecified);
+	
+	TInt ret = iPhone.GetAlternatingCallMode(mode, firstService);
+	ASSERT_EQUALS(KErrNotSupported, ret);
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(this); // this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-ALTC-MSACM-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobilePhone::SetAlternatingCallMode
+@SYMTestPriority High
+@SYMTestActions Invokes RMobilePhone::SetAlternatingCallMode
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyAlternatingCallFU::TestSetAlternatingCallMode0001L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RMobilePhone::TMobilePhoneAlternatingCallMode mode(RMobilePhone::EAlternatingModeUnspecified);
+	RMobilePhone::TMobileService firstService(RMobilePhone::EServiceUnspecified);
+
+	TRequestStatus reqStatus;
+	iPhone.SetAlternatingCallMode(reqStatus, mode, firstService);
+	User::WaitForRequest(reqStatus);
+	ASSERT_EQUALS(KErrNotSupported, reqStatus.Int());
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(this); // this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-ALTC-MNACCC-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobilePhone::NotifyAlternatingCallCapsChange
+@SYMTestPriority High
+@SYMTestActions Invokes RMobilePhone::NotifyAlternatingCallCapsChange
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyAlternatingCallFU::TestNotifyAlternatingCallCapsChange0001L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	TUint32 caps(0);
+
+	TRequestStatus reqStatus;
+	iPhone.NotifyAlternatingCallCapsChange(reqStatus, caps);
+	User::WaitForRequest(reqStatus);
+	ASSERT_EQUALS(KErrNotSupported, reqStatus.Int());
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(this); // this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-ALTC-MNACMC-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobilePhone::NotifyAlternatingCallModeChange
+@SYMTestPriority High
+@SYMTestActions Invokes RMobilePhone::NotifyAlternatingCallModeChange
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyAlternatingCallFU::TestNotifyAlternatingCallModeChange0001L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RMobilePhone::TMobilePhoneAlternatingCallMode mode(RMobilePhone::EAlternatingModeUnspecified);
+	RMobilePhone::TMobileService firstService(RMobilePhone::EServiceUnspecified);
+
+	TRequestStatus reqStatus;
+	iPhone.NotifyAlternatingCallModeChange(reqStatus, mode, firstService);
+	User::WaitForRequest(reqStatus);
+	ASSERT_EQUALS(KErrNotSupported, reqStatus.Int());
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(this); // this
+	
+	}
+
+
+
+TInt CCTsyAlternatingCallFU::OpenNewCall(RLine& aLine, RMobileCall& aMobileCall, const TDesC& aLineName)
+    {
+    _LIT(KDoubleColon, "::");
+
+    TBuf<256> name;
+    name = KMmTsyPhoneName;
+    name.Append(KDoubleColon);
+    name.Append(aLineName);
+    name.Append(KDoubleColon);
+
+   	return aMobileCall.OpenNewCall(aLine, name);
+    }