--- a/telephonyserverplugins/common_tsy/test/component/src/cctsysessionmanagementfu.cpp Mon May 03 13:37:20 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/component/src/cctsysessionmanagementfu.cpp Thu May 06 15:10:38 2010 +0100
@@ -1,916 +1,916 @@
-// 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 SessionManagement in the Common TSY.
-//
-//
-
-/**
- @file
-*/
-
-#include "cctsysessionmanagementfu.h"
-#include <etel.h>
-#include <etelmm.h>
-#include <ctsy/mmtsy_names.h>
-#include "tmockltsydata.h"
-#include <ctsy/serviceapi/gsmerror.h>
-
-
-_LIT(KDoubleColon, "::");
-
-
-CTestSuite* CCTsySessionManagementFU::CreateSuiteL(const TDesC& aName)
- {
- SUB_SUITE;
-
- ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestInitialise0001L);
- ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestInitialise0004L);
- ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestOpen0001L);
- ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestOpen0003L);
- ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestGetTsyName0001L);
- ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestGetTsyName0003L);
- ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestEnumeratePhones0001L);
- ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestUnloadPhoneModule0001L);
- ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestUnloadPhoneModule0003L);
- ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestGetTsyVersionNumber0001L);
- ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestGetTsyVersionNumber0003L);
- ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestSetExtendedErrorGranularity0001L);
- ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestReferenceCount0001L);
- ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestReferenceCount0006L);
- ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestReferenceCount00011L);
- ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestOpenExistingCall0001L);
- ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestOpenExistingCall0003L);
- ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestOpenExistingCall0006L);
- ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestOpenExistingCall0008L);
- ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestOpenExistingCall00011L);
- ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestOpenExistingCall00013L);
- ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestInitialiseMM0001L);
-
- END_SUITE;
- }
-
-
-//
-// Actual test cases
-//
-
-
-/**
-@SYMTestCaseID BA-CTSY-SESMG-PI-0001
-@SYMComponent telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RPhone::Initialise
-@SYMTestPriority High
-@SYMTestActions Invokes RPhone::Initialise
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsySessionManagementFU::TestInitialise0001L()
- {
-
- OpenEtelServerL(EUseExtendedError);
- CleanupStack::PushL(TCleanupItem(Cleanup,this));
-
- TInt ret = iPhone.Open(iTelServer,KMmTsyPhoneName);
- ASSERT_EQUALS(KErrNone, ret);
-
- // test synchronous version of RPhone::Initialise
- ret = iPhone.Initialise();
- ASSERT_EQUALS(KErrNone, ret);
-
- // test asynchronous version of RPhone::Initialise
- TRequestStatus requestStatus;
-
- iPhone.Initialise(requestStatus);
-
- User::WaitForRequest(requestStatus);
- ASSERT_EQUALS(KErrNone, requestStatus.Int());
-
- CleanupStack::PopAndDestroy(1, this);
-
- }
-
-
-
-/**
-@SYMTestCaseID BA-CTSY-SESMG-PI-0004
-@SYMComponent telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for multiple client requests to RPhone::Initialise
-@SYMTestPriority High
-@SYMTestActions Invokes multiple client requests to RPhone::Initialise
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsySessionManagementFU::TestInitialise0004L()
- {
-
- OpenEtelServerL(EUseExtendedError);
- CleanupStack::PushL(TCleanupItem(Cleanup,this));
-
- TInt ret = iPhone.Open(iTelServer,KMmTsyPhoneName);
- ASSERT_EQUALS(KErrNone, ret);
-
-
- // Open second client
- RTelServer telServer2;
- ret = telServer2.Connect();
- ASSERT_EQUALS(KErrNone, ret);
- CleanupClosePushL(telServer2);
-
- RMobilePhone phone2;
- ret = phone2.Open(telServer2,KMmTsyPhoneName);
- ASSERT_EQUALS(KErrNone, ret);
- CleanupClosePushL(phone2);
-
- TRequestStatus requestStatus;
- TRequestStatus requestStatus2;
-
- iPhone.Initialise(requestStatus);
- phone2.Initialise(requestStatus2);
-
- User::WaitForRequest(requestStatus);
- ASSERT_EQUALS(KErrNone, requestStatus.Int());
-
- User::WaitForRequest(requestStatus2);
- ASSERT_EQUALS(KErrNone, requestStatus2.Int());
-
- CleanupStack::PopAndDestroy(3, this);
-
- }
-
-
-
-/**
-@SYMTestCaseID BA-CTSY-SESMG-PO-0001
-@SYMComponent telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RPhone::Open
-@SYMTestPriority High
-@SYMTestActions Invokes RPhone::Open
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsySessionManagementFU::TestOpen0001L()
- {
-
- OpenEtelServerL(EUseExtendedError);
- CleanupStack::PushL(TCleanupItem(Cleanup,this));
-
- TInt err = iPhone.Open(iTelServer, KMmTsyPhoneName);
- ASSERT_EQUALS(KErrNone, err);
-
- CleanupStack::PopAndDestroy(1, this);
-
- }
-
-
-/**
-@SYMTestCaseID BA-CTSY-SESMG-PO-0003
-@SYMComponent telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RPhone::Open with bad parameter data
-@SYMTestPriority High
-@SYMTestActions Invokes RPhone::Open with bad parameter data
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsySessionManagementFU::TestOpen0003L()
- {
-
- OpenEtelServerL(EUseExtendedError);
- CleanupStack::PushL(TCleanupItem(Cleanup,this));
-
- //"::" needed to cover some branches in name analyze
- _LIT(KBadPhoneName, "::Bad::Phone::Name::");
-
- TInt err = iPhone.Open(iTelServer, KBadPhoneName);
- ASSERT_EQUALS(KErrNotFound, err);
-
- CleanupStack::PopAndDestroy(1, this);
-
- }
-
-
-/**
-@SYMTestCaseID BA-CTSY-SESMG-TGTN-0001
-@SYMComponent telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RTelServer::GetTsyName
-@SYMTestPriority High
-@SYMTestActions Invokes RTelServer::GetTsyName
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsySessionManagementFU::TestGetTsyName0001L()
- {
-
- OpenEtelServerL(EUseExtendedError);
- CleanupStack::PushL(TCleanupItem(Cleanup,this));
-
- TInt index(0);
- TName tsyName;
-
- _LIT(KTsyName, "PHONETSY");
-
- TInt ret = iTelServer.GetTsyName(index, tsyName);
- ASSERT_EQUALS(KErrNone, ret);
- ASSERT_EQUALS(0, tsyName.Compare(KTsyName));
-
- CleanupStack::PopAndDestroy(1, this);
-
- }
-
-
-
-/**
-@SYMTestCaseID BA-CTSY-SESMG-TGTN-0003
-@SYMComponent telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RTelServer::GetTsyName with bad parameter data
-@SYMTestPriority High
-@SYMTestActions Invokes RTelServer::GetTsyName with bad parameter data
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsySessionManagementFU::TestGetTsyName0003L()
- {
-
- OpenEtelServerL(EUseExtendedError);
- CleanupStack::PushL(TCleanupItem(Cleanup,this));
-
- // test on negative index
- TInt index(-1);
- TName tsyName;
-
- TInt ret = iTelServer.GetTsyName(index, tsyName);
- ASSERT_EQUALS(KErrNotFound, ret);
-
- // test on a too large index
- index = 100;
-
- ret = iTelServer.GetTsyName(index, tsyName);
- ASSERT_EQUALS(KErrNotFound, ret);
-
- index = 0;
-
- // test on buffer overflow
- TBuf<1> littleName(KNullDesC);
- ret = iTelServer.GetTsyName(index, littleName);
- ASSERT_EQUALS(KErrOverflow, ret);
-
- CleanupStack::PopAndDestroy(1, this);
-
- }
-
-
-
-/**
-@SYMTestCaseID BA-CTSY-SESMG-TEP-0001
-@SYMComponent telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RTelServer::EnumeratePhones
-@SYMTestPriority High
-@SYMTestActions Invokes RTelServer::EnumeratePhones
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsySessionManagementFU::TestEnumeratePhones0001L()
- {
-
- OpenEtelServerL(EUseExtendedError);
- CleanupStack::PushL(TCleanupItem(Cleanup,this));
-
- TInt ret = iTelServer.UnloadPhoneModule(KMmTsyModuleName);
- ASSERT_EQUALS(KErrNone, ret);
-
- TInt numPhones;
-
- // check if there are no phones loaded
- ret = iTelServer.EnumeratePhones(numPhones);
- ASSERT_EQUALS(KErrNone, ret);
- ASSERT_EQUALS(0, numPhones);
-
- // now add a phone
- ret = iTelServer.LoadPhoneModule(KMmTsyModuleName);
- ASSERT_EQUALS(KErrNone, ret);
-
- ret = iTelServer.EnumeratePhones(numPhones);
- ASSERT_EQUALS(KErrNone, ret);
- ASSERT_EQUALS(1, numPhones);
-
- CleanupStack::PopAndDestroy(1, this);
-
- }
-
-
-/**
-@SYMTestCaseID BA-CTSY-SESMG-TUPM-0001
-@SYMComponent telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RTelServer::UnloadPhoneModule
-@SYMTestPriority High
-@SYMTestActions Invokes RTelServer::UnloadPhoneModule
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsySessionManagementFU::TestUnloadPhoneModule0001L()
- {
-
- OpenEtelServerL(EUseExtendedError);
- CleanupStack::PushL(TCleanupItem(Cleanup,this));
-
- // test for loaded module
- TInt ret = iTelServer.LoadPhoneModule(KMmTsyModuleName);
- ASSERT_EQUALS(KErrNone, ret);
-
- ret = iTelServer.UnloadPhoneModule(KMmTsyModuleName);
- ASSERT_EQUALS(KErrNone, ret);
-
-
- // test for unload with extension
- //use the same name, but with extension
- _LIT(KMyTsyName, "phonetsy.tsy");
-
- ret = iTelServer.LoadPhoneModule(KMyTsyName);
- ASSERT_EQUALS(KErrNone, ret);
-
- ret = iTelServer.UnloadPhoneModule(KMyTsyName);
- ASSERT_EQUALS(KErrNone, ret);
-
-
- CleanupStack::PopAndDestroy(1, this);
-
- }
-
-
-
-/**
-@SYMTestCaseID BA-CTSY-SESMG-TUPM-0003
-@SYMComponent telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RTelServer::UnloadPhoneModule with bad parameter data
-@SYMTestPriority High
-@SYMTestActions Invokes RTelServer::UnloadPhoneModule with bad parameter data
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsySessionManagementFU::TestUnloadPhoneModule0003L()
- {
-
- OpenEtelServerL(EUseExtendedError);
- CleanupStack::PushL(TCleanupItem(Cleanup,this));
-
- // test on bad name
- _LIT(KNoName, "noname");
-
- TInt ret = iTelServer.UnloadPhoneModule(KNoName);
- ASSERT_EQUALS(KErrNotFound, ret);
-
-
- // test for KNullDesC as module name
-
- ret = iTelServer.UnloadPhoneModule(KNullDesC);
- ASSERT_EQUALS(KErrNotFound, ret);
-
- CleanupStack::PopAndDestroy(1, this);
-
- }
-
-
-
-/**
-@SYMTestCaseID BA-CTSY-SESMG-TGTVN-0001
-@SYMComponent telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RTelServer::GetTsyVersionNumber
-@SYMTestPriority High
-@SYMTestActions Invokes RTelServer::GetTsyVersionNumber
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsySessionManagementFU::TestGetTsyVersionNumber0001L()
- {
-
- OpenEtelServerL(EUseExtendedError);
- CleanupStack::PushL(TCleanupItem(Cleanup,this));
-
- TVersion version(0, 0, 0);
-
- TInt ret = iTelServer.GetTsyVersionNumber(KMmTsyModuleName, version);
- ASSERT_EQUALS(KErrNone, ret);
- ASSERT_TRUE(0 <= version.iBuild); // just common sense check
- ASSERT_TRUE(0 <= version.iMajor);
- ASSERT_TRUE(0 <= version.iMinor);
-
- CleanupStack::PopAndDestroy(1, this);
-
- }
-
-
-
-/**
-@SYMTestCaseID BA-CTSY-SESMG-TGTVN-0003
-@SYMComponent telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RTelServer::GetTsyVersionNumber with bad parameter data
-@SYMTestPriority High
-@SYMTestActions Invokes RTelServer::GetTsyVersionNumber with bad parameter data
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsySessionManagementFU::TestGetTsyVersionNumber0003L()
- {
-
- OpenEtelServerL(EUseExtendedError);
- CleanupStack::PushL(TCleanupItem(Cleanup,this));
-
- TVersion version(0, 0, 0);
-
-
- _LIT(KBadName, "BadName");
-
- // test not existiong tsy
- TInt ret = iTelServer.GetTsyVersionNumber(KBadName, version);
- ASSERT_EQUALS(KErrNotFound, ret);
-
-
- TFileName bigName;
-
- bigName.SetMax();
- bigName.Repeat(_L(" "));
-
- // check buffer overlow, Etel calls PanicClient
- ret = iTelServer.GetTsyVersionNumber(bigName, version);
- ASSERT_EQUALS(KErrGeneral, ret);
-
- CleanupStack::PopAndDestroy(2, this);
-
- }
-
-
-/**
-@SYMTestCaseID BA-CTSY-SESMG-TSEEG-0001
-@SYMComponent telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RTelServer::SetExtendedErrorGranularity
-@SYMTestPriority High
-@SYMTestActions Invokes RTelServer::SetExtendedErrorGranularity
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsySessionManagementFU::TestSetExtendedErrorGranularity0001L()
- {
-
- OpenEtelServerL(EUseExtendedError);
- CleanupStack::PushL(TCleanupItem(Cleanup,this));
-
- RTelServer::TErrorGranularity granularity(RTelServer::EErrorExtended);
-
- TInt ret = iTelServer.SetExtendedErrorGranularity(granularity);
- ASSERT_EQUALS(KErrNone, ret);
-
- CleanupStack::PopAndDestroy(1, this);
-
- }
-
-
-
-
-void CCTsySessionManagementFU::AuxReferenceCountL(const TDesC &aName)
- {
-
- OpenEtelServerL(EUseExtendedError);
- CleanupStack::PushL(TCleanupItem(Cleanup,this));
-
- OpenPhoneL();
-
- TName lineName(aName);
- RLine line;
-
- TInt ret = line.Open(iPhone, lineName);
- ASSERT_EQUALS(KErrNone, ret);
- CleanupClosePushL(line);
-
- TName name;
- RCall call;
-
- ret = OpenNewCall(line, call, lineName, name);
- ASSERT_EQUALS(KErrNone, ret);
- CleanupClosePushL(call);
-
- // test on successful completion
- TInt count = call.ReferenceCount();
- ASSERT_EQUALS(1, count);
-
- AssertMockLtsyStatusL();
-
- // test on successful completion, increasing count
- RCall call2;
-
- ret = call2.OpenExistingCall(line, name);
- ASSERT_EQUALS(KErrNone, ret);
- CleanupClosePushL(call2);
-
- count = call.ReferenceCount();
- ASSERT_EQUALS(2, count);
-
- AssertMockLtsyStatusL();
-
- // test on successful completion, decreasing count
- CleanupStack::PopAndDestroy(1);
-
- count = call.ReferenceCount();
- ASSERT_EQUALS(1, count);
-
-
- AssertMockLtsyStatusL();
- CleanupStack::PopAndDestroy(3, this);
-
- }
-
-
-
-/**
-@SYMTestCaseID BA-CTSY-SESMG-CRC-0001
-@SYMComponent telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::ReferenceCount for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::ReferenceCount for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsySessionManagementFU::TestReferenceCount0001L()
- {
-
- AuxReferenceCountL(KMmTsyVoice1LineName);
-
- }
-
-
-
-
-
-/**
-@SYMTestCaseID BA-CTSY-SESMG-CRC-0006
-@SYMComponent telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::ReferenceCount for data calls
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::ReferenceCount for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsySessionManagementFU::TestReferenceCount0006L()
- {
-
- AuxReferenceCountL(KMmTsyDataLineName);
-
- }
-
-
-
-
-/**
-@SYMTestCaseID BA-CTSY-SESMG-CRC-00011
-@SYMComponent telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::ReferenceCount for fax calls
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::ReferenceCount for fax calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsySessionManagementFU::TestReferenceCount00011L()
- {
-
- AuxReferenceCountL(KMmTsyFaxLineName);
-
- }
-
-
-
-
-void CCTsySessionManagementFU::AuxOpenExisting1L(const TDesC &aName)
- {
-
- OpenEtelServerL(EUseExtendedError);
- CleanupStack::PushL(TCleanupItem(Cleanup,this));
- OpenPhoneL();
-
- TName lineName(aName);
- RLine line;
-
- TInt ret = line.Open(iPhone, lineName);
- ASSERT_EQUALS(KErrNone, ret);
- CleanupClosePushL(line);
-
- TName callname;
- RCall call;
-
- ret = OpenNewCall(line, call, lineName, callname);
- ASSERT_EQUALS(KErrNone, ret);
- CleanupClosePushL(call);
-
-
- // test on successful completion
- RCall call2;
-
- ret = call2.OpenExistingCall(line, callname);
- ASSERT_EQUALS(KErrNone, ret);
- CleanupClosePushL(call2);
-
- AssertMockLtsyStatusL();
-
- // test on successful completion (another params set)
- TName name;
- name = lineName;
- name.Append(KDoubleColon);
- name.Append(callname);
-
- RCall call3;
-
- ret = call3.OpenExistingCall(iPhone, name);
- ASSERT_EQUALS(KErrNone, ret);
- CleanupClosePushL(call3);
-
- AssertMockLtsyStatusL();
-
- // test on successful completion (another params set)
- RCall call4;
-
- name = KMmTsyPhoneName;
- name.Append(KDoubleColon);
- name.Append(lineName);
- name.Append(KDoubleColon);
- name.Append(callname);
-
- ret = call4.OpenExistingCall(iTelServer, name);
- ASSERT_EQUALS(KErrNone, ret);
- CleanupClosePushL(call4);
-
- AssertMockLtsyStatusL();
-
- CleanupStack::PopAndDestroy(6, this);
-
- }
-
-
-
-void CCTsySessionManagementFU::AuxOpenExisting3L(const TDesC &aName)
- {
- OpenEtelServerL(EUseExtendedError);
- CleanupStack::PushL(TCleanupItem(Cleanup,this));
- OpenPhoneL();
-
- TName lineName(aName);
- RLine line;
-
- TInt ret = line.Open(iPhone, lineName);
- ASSERT_EQUALS(KErrNone, ret);
- CleanupClosePushL(line);
-
- TName callname;
- RCall call;
-
- ret = OpenNewCall(line, call, lineName, callname);
- ASSERT_EQUALS(KErrNone, ret);
- CleanupClosePushL(call);
-
-
- // test on bad call name
-
- _LIT(KBadCallName, "BadCallName");
-
- RCall call2;
-
- ret = call2.OpenExistingCall(line, KBadCallName);
- ASSERT_EQUALS(KErrNotFound, ret);
-
- AssertMockLtsyStatusL();
-
-
- // test on bad line name
-
- _LIT(KBadLineName, "BadLineName");
-
- TName name;
- name = KBadLineName;
- name.Append(KDoubleColon);
- name.Append(callname);
-
- ret = call2.OpenExistingCall(iPhone, name);
- ASSERT_EQUALS(KErrNotSupported, ret);
-
- AssertMockLtsyStatusL();
-
-
- // test on bad call name and correct line
-
- name = lineName;
- name.Append(KDoubleColon);
- name.Append(KBadCallName);
-
- ret = call2.OpenExistingCall(iPhone, name);
- ASSERT_EQUALS(KErrNotFound, ret);
-
- AssertMockLtsyStatusL();
-
-
- // test on bad phone name
-
- _LIT(KBadPhoneName, "BadPhoneName");
-
- name = KBadPhoneName;
- name.Append(KDoubleColon);
- name.Append(lineName);
- name.Append(KDoubleColon);
- name.Append(callname);
-
- ret = call2.OpenExistingCall(iTelServer, name);
- ASSERT_EQUALS(KErrNotFound, ret);
-
- AssertMockLtsyStatusL();
-
-
- // test on bad line name and correct phone
-
- name = KMmTsyPhoneName;
- name.Append(KDoubleColon);
- name.Append(KBadLineName);
- name.Append(KDoubleColon);
- name.Append(callname);
-
- ret = call2.OpenExistingCall(iTelServer, name);
- ASSERT_EQUALS(KErrNotSupported, ret);
-
- AssertMockLtsyStatusL();
-
-
- // test on bad call name with correct phone and line
-
- name = KMmTsyPhoneName;
- name.Append(KDoubleColon);
- name.Append(lineName);
- name.Append(KDoubleColon);
- name.Append(KBadCallName);
-
- ret = call2.OpenExistingCall(iTelServer, name);
- ASSERT_EQUALS(KErrNotFound, ret);
-
-
- // test on string analyze
-
- _LIT(KBad, "::::::::");
-
- name = KBad;
-
- ret = call2.OpenExistingCall(iTelServer, name);
- ASSERT_EQUALS(KErrNotFound, ret);
-
- AssertMockLtsyStatusL();
-
- CleanupStack::PopAndDestroy(3, this);
-
- }
-
-
-/**
-@SYMTestCaseID BA-CTSY-SESMG-COEC-0001
-@SYMComponent telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::OpenExistingCall for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::OpenExistingCall for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsySessionManagementFU::TestOpenExistingCall0001L()
- {
-
- AuxOpenExisting1L(KMmTsyVoice1LineName);
-
- }
-
-
-
-/**
-@SYMTestCaseID BA-CTSY-SESMG-COEC-0003
-@SYMComponent telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::OpenExistingCall with bad parameter data for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::OpenExistingCall with bad parameter data for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsySessionManagementFU::TestOpenExistingCall0003L()
- {
-
- AuxOpenExisting3L(KMmTsyVoice1LineName);
-
- }
-
-
-
-/**
-@SYMTestCaseID BA-CTSY-SESMG-COEC-0006
-@SYMComponent telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::OpenExistingCall for data calls
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::OpenExistingCall for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsySessionManagementFU::TestOpenExistingCall0006L()
- {
-
- AuxOpenExisting1L(KMmTsyDataLineName);
-
- }
-
-
-
-
-/**
-@SYMTestCaseID BA-CTSY-SESMG-COEC-0008
-@SYMComponent telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::OpenExistingCall with bad parameter data for data calls
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::OpenExistingCall with bad parameter data for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsySessionManagementFU::TestOpenExistingCall0008L()
- {
-
- AuxOpenExisting3L(KMmTsyDataLineName);
-
- }
-
-
-
-
-/**
-@SYMTestCaseID BA-CTSY-SESMG-COEC-00011
-@SYMComponent telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::OpenExistingCall for fax calls
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::OpenExistingCall for fax calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsySessionManagementFU::TestOpenExistingCall00011L()
- {
-
- AuxOpenExisting1L(KMmTsyFaxLineName);
-
- }
-
-
-/**
-@SYMTestCaseID BA-CTSY-SESMG-COEC-00013
-@SYMComponent telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::OpenExistingCall with bad parameter data for fax calls
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::OpenExistingCall with bad parameter data for fax calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsySessionManagementFU::TestOpenExistingCall00013L()
- {
-
- AuxOpenExisting3L(KMmTsyFaxLineName);
-
- }
-
-
-
-/**
-@SYMTestCaseID BA-CTSY-SESMG-MIM-0001
-@SYMComponent telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobilePhone::InitialiseMM
-@SYMTestPriority High
-@SYMTestActions Invokes RMobilePhone::InitialiseMM
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsySessionManagementFU::TestInitialiseMM0001L()
- {
-
- OpenEtelServerL(EUseExtendedError);
- CleanupStack::PushL(TCleanupItem(Cleanup,this));
- OpenPhoneL();
-
-
- TRequestStatus requestStatus;
-
- RMobilePhone::TMMTableSettings tableSettings;
- tableSettings.iLocId = 0;
- RMobilePhone::TMMTableSettingsPckg tableSettingsPckg(tableSettings);
-
- iPhone.InitialiseMM(requestStatus, tableSettingsPckg);
-
- User::WaitForRequest(requestStatus);
- ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
- AssertMockLtsyStatusL();
- CleanupStack::PopAndDestroy(1, this);
-
- }
-
+// 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 SessionManagement in the Common TSY.
+//
+//
+
+/**
+ @file
+*/
+
+#include "cctsysessionmanagementfu.h"
+#include <etel.h>
+#include <etelmm.h>
+#include <ctsy/mmtsy_names.h>
+#include "tmockltsydata.h"
+#include <ctsy/serviceapi/gsmerror.h>
+
+
+_LIT(KDoubleColon, "::");
+
+
+CTestSuite* CCTsySessionManagementFU::CreateSuiteL(const TDesC& aName)
+ {
+ SUB_SUITE;
+
+ ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestInitialise0001L);
+ ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestInitialise0004L);
+ ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestOpen0001L);
+ ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestOpen0003L);
+ ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestGetTsyName0001L);
+ ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestGetTsyName0003L);
+ ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestEnumeratePhones0001L);
+ ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestUnloadPhoneModule0001L);
+ ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestUnloadPhoneModule0003L);
+ ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestGetTsyVersionNumber0001L);
+ ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestGetTsyVersionNumber0003L);
+ ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestSetExtendedErrorGranularity0001L);
+ ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestReferenceCount0001L);
+ ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestReferenceCount0006L);
+ ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestReferenceCount00011L);
+ ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestOpenExistingCall0001L);
+ ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestOpenExistingCall0003L);
+ ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestOpenExistingCall0006L);
+ ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestOpenExistingCall0008L);
+ ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestOpenExistingCall00011L);
+ ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestOpenExistingCall00013L);
+ ADD_TEST_STEP_ISO_CPP(CCTsySessionManagementFU, TestInitialiseMM0001L);
+
+ END_SUITE;
+ }
+
+
+//
+// Actual test cases
+//
+
+
+/**
+@SYMTestCaseID BA-CTSY-SESMG-PI-0001
+@SYMComponent telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RPhone::Initialise
+@SYMTestPriority High
+@SYMTestActions Invokes RPhone::Initialise
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsySessionManagementFU::TestInitialise0001L()
+ {
+
+ OpenEtelServerL(EUseExtendedError);
+ CleanupStack::PushL(TCleanupItem(Cleanup,this));
+
+ TInt ret = iPhone.Open(iTelServer,KMmTsyPhoneName);
+ ASSERT_EQUALS(KErrNone, ret);
+
+ // test synchronous version of RPhone::Initialise
+ ret = iPhone.Initialise();
+ ASSERT_EQUALS(KErrNone, ret);
+
+ // test asynchronous version of RPhone::Initialise
+ TRequestStatus requestStatus;
+
+ iPhone.Initialise(requestStatus);
+
+ User::WaitForRequest(requestStatus);
+ ASSERT_EQUALS(KErrNone, requestStatus.Int());
+
+ CleanupStack::PopAndDestroy(1, this);
+
+ }
+
+
+
+/**
+@SYMTestCaseID BA-CTSY-SESMG-PI-0004
+@SYMComponent telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for multiple client requests to RPhone::Initialise
+@SYMTestPriority High
+@SYMTestActions Invokes multiple client requests to RPhone::Initialise
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsySessionManagementFU::TestInitialise0004L()
+ {
+
+ OpenEtelServerL(EUseExtendedError);
+ CleanupStack::PushL(TCleanupItem(Cleanup,this));
+
+ TInt ret = iPhone.Open(iTelServer,KMmTsyPhoneName);
+ ASSERT_EQUALS(KErrNone, ret);
+
+
+ // Open second client
+ RTelServer telServer2;
+ ret = telServer2.Connect();
+ ASSERT_EQUALS(KErrNone, ret);
+ CleanupClosePushL(telServer2);
+
+ RMobilePhone phone2;
+ ret = phone2.Open(telServer2,KMmTsyPhoneName);
+ ASSERT_EQUALS(KErrNone, ret);
+ CleanupClosePushL(phone2);
+
+ TRequestStatus requestStatus;
+ TRequestStatus requestStatus2;
+
+ iPhone.Initialise(requestStatus);
+ phone2.Initialise(requestStatus2);
+
+ User::WaitForRequest(requestStatus);
+ ASSERT_EQUALS(KErrNone, requestStatus.Int());
+
+ User::WaitForRequest(requestStatus2);
+ ASSERT_EQUALS(KErrNone, requestStatus2.Int());
+
+ CleanupStack::PopAndDestroy(3, this);
+
+ }
+
+
+
+/**
+@SYMTestCaseID BA-CTSY-SESMG-PO-0001
+@SYMComponent telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RPhone::Open
+@SYMTestPriority High
+@SYMTestActions Invokes RPhone::Open
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsySessionManagementFU::TestOpen0001L()
+ {
+
+ OpenEtelServerL(EUseExtendedError);
+ CleanupStack::PushL(TCleanupItem(Cleanup,this));
+
+ TInt err = iPhone.Open(iTelServer, KMmTsyPhoneName);
+ ASSERT_EQUALS(KErrNone, err);
+
+ CleanupStack::PopAndDestroy(1, this);
+
+ }
+
+
+/**
+@SYMTestCaseID BA-CTSY-SESMG-PO-0003
+@SYMComponent telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RPhone::Open with bad parameter data
+@SYMTestPriority High
+@SYMTestActions Invokes RPhone::Open with bad parameter data
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsySessionManagementFU::TestOpen0003L()
+ {
+
+ OpenEtelServerL(EUseExtendedError);
+ CleanupStack::PushL(TCleanupItem(Cleanup,this));
+
+ //"::" needed to cover some branches in name analyze
+ _LIT(KBadPhoneName, "::Bad::Phone::Name::");
+
+ TInt err = iPhone.Open(iTelServer, KBadPhoneName);
+ ASSERT_EQUALS(KErrNotFound, err);
+
+ CleanupStack::PopAndDestroy(1, this);
+
+ }
+
+
+/**
+@SYMTestCaseID BA-CTSY-SESMG-TGTN-0001
+@SYMComponent telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RTelServer::GetTsyName
+@SYMTestPriority High
+@SYMTestActions Invokes RTelServer::GetTsyName
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsySessionManagementFU::TestGetTsyName0001L()
+ {
+
+ OpenEtelServerL(EUseExtendedError);
+ CleanupStack::PushL(TCleanupItem(Cleanup,this));
+
+ TInt index(0);
+ TName tsyName;
+
+ _LIT(KTsyName, "PHONETSY");
+
+ TInt ret = iTelServer.GetTsyName(index, tsyName);
+ ASSERT_EQUALS(KErrNone, ret);
+ ASSERT_EQUALS(0, tsyName.Compare(KTsyName));
+
+ CleanupStack::PopAndDestroy(1, this);
+
+ }
+
+
+
+/**
+@SYMTestCaseID BA-CTSY-SESMG-TGTN-0003
+@SYMComponent telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RTelServer::GetTsyName with bad parameter data
+@SYMTestPriority High
+@SYMTestActions Invokes RTelServer::GetTsyName with bad parameter data
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsySessionManagementFU::TestGetTsyName0003L()
+ {
+
+ OpenEtelServerL(EUseExtendedError);
+ CleanupStack::PushL(TCleanupItem(Cleanup,this));
+
+ // test on negative index
+ TInt index(-1);
+ TName tsyName;
+
+ TInt ret = iTelServer.GetTsyName(index, tsyName);
+ ASSERT_EQUALS(KErrNotFound, ret);
+
+ // test on a too large index
+ index = 100;
+
+ ret = iTelServer.GetTsyName(index, tsyName);
+ ASSERT_EQUALS(KErrNotFound, ret);
+
+ index = 0;
+
+ // test on buffer overflow
+ TBuf<1> littleName(KNullDesC);
+ ret = iTelServer.GetTsyName(index, littleName);
+ ASSERT_EQUALS(KErrOverflow, ret);
+
+ CleanupStack::PopAndDestroy(1, this);
+
+ }
+
+
+
+/**
+@SYMTestCaseID BA-CTSY-SESMG-TEP-0001
+@SYMComponent telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RTelServer::EnumeratePhones
+@SYMTestPriority High
+@SYMTestActions Invokes RTelServer::EnumeratePhones
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsySessionManagementFU::TestEnumeratePhones0001L()
+ {
+
+ OpenEtelServerL(EUseExtendedError);
+ CleanupStack::PushL(TCleanupItem(Cleanup,this));
+
+ TInt ret = iTelServer.UnloadPhoneModule(KMmTsyModuleName);
+ ASSERT_EQUALS(KErrNone, ret);
+
+ TInt numPhones;
+
+ // check if there are no phones loaded
+ ret = iTelServer.EnumeratePhones(numPhones);
+ ASSERT_EQUALS(KErrNone, ret);
+ ASSERT_EQUALS(0, numPhones);
+
+ // now add a phone
+ ret = iTelServer.LoadPhoneModule(KMmTsyModuleName);
+ ASSERT_EQUALS(KErrNone, ret);
+
+ ret = iTelServer.EnumeratePhones(numPhones);
+ ASSERT_EQUALS(KErrNone, ret);
+ ASSERT_EQUALS(1, numPhones);
+
+ CleanupStack::PopAndDestroy(1, this);
+
+ }
+
+
+/**
+@SYMTestCaseID BA-CTSY-SESMG-TUPM-0001
+@SYMComponent telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RTelServer::UnloadPhoneModule
+@SYMTestPriority High
+@SYMTestActions Invokes RTelServer::UnloadPhoneModule
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsySessionManagementFU::TestUnloadPhoneModule0001L()
+ {
+
+ OpenEtelServerL(EUseExtendedError);
+ CleanupStack::PushL(TCleanupItem(Cleanup,this));
+
+ // test for loaded module
+ TInt ret = iTelServer.LoadPhoneModule(KMmTsyModuleName);
+ ASSERT_EQUALS(KErrNone, ret);
+
+ ret = iTelServer.UnloadPhoneModule(KMmTsyModuleName);
+ ASSERT_EQUALS(KErrNone, ret);
+
+
+ // test for unload with extension
+ //use the same name, but with extension
+ _LIT(KMyTsyName, "phonetsy.tsy");
+
+ ret = iTelServer.LoadPhoneModule(KMyTsyName);
+ ASSERT_EQUALS(KErrNone, ret);
+
+ ret = iTelServer.UnloadPhoneModule(KMyTsyName);
+ ASSERT_EQUALS(KErrNone, ret);
+
+
+ CleanupStack::PopAndDestroy(1, this);
+
+ }
+
+
+
+/**
+@SYMTestCaseID BA-CTSY-SESMG-TUPM-0003
+@SYMComponent telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RTelServer::UnloadPhoneModule with bad parameter data
+@SYMTestPriority High
+@SYMTestActions Invokes RTelServer::UnloadPhoneModule with bad parameter data
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsySessionManagementFU::TestUnloadPhoneModule0003L()
+ {
+
+ OpenEtelServerL(EUseExtendedError);
+ CleanupStack::PushL(TCleanupItem(Cleanup,this));
+
+ // test on bad name
+ _LIT(KNoName, "noname");
+
+ TInt ret = iTelServer.UnloadPhoneModule(KNoName);
+ ASSERT_EQUALS(KErrNotFound, ret);
+
+
+ // test for KNullDesC as module name
+
+ ret = iTelServer.UnloadPhoneModule(KNullDesC);
+ ASSERT_EQUALS(KErrNotFound, ret);
+
+ CleanupStack::PopAndDestroy(1, this);
+
+ }
+
+
+
+/**
+@SYMTestCaseID BA-CTSY-SESMG-TGTVN-0001
+@SYMComponent telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RTelServer::GetTsyVersionNumber
+@SYMTestPriority High
+@SYMTestActions Invokes RTelServer::GetTsyVersionNumber
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsySessionManagementFU::TestGetTsyVersionNumber0001L()
+ {
+
+ OpenEtelServerL(EUseExtendedError);
+ CleanupStack::PushL(TCleanupItem(Cleanup,this));
+
+ TVersion version(0, 0, 0);
+
+ TInt ret = iTelServer.GetTsyVersionNumber(KMmTsyModuleName, version);
+ ASSERT_EQUALS(KErrNone, ret);
+ ASSERT_TRUE(0 <= version.iBuild); // just common sense check
+ ASSERT_TRUE(0 <= version.iMajor);
+ ASSERT_TRUE(0 <= version.iMinor);
+
+ CleanupStack::PopAndDestroy(1, this);
+
+ }
+
+
+
+/**
+@SYMTestCaseID BA-CTSY-SESMG-TGTVN-0003
+@SYMComponent telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RTelServer::GetTsyVersionNumber with bad parameter data
+@SYMTestPriority High
+@SYMTestActions Invokes RTelServer::GetTsyVersionNumber with bad parameter data
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsySessionManagementFU::TestGetTsyVersionNumber0003L()
+ {
+
+ OpenEtelServerL(EUseExtendedError);
+ CleanupStack::PushL(TCleanupItem(Cleanup,this));
+
+ TVersion version(0, 0, 0);
+
+
+ _LIT(KBadName, "BadName");
+
+ // test not existiong tsy
+ TInt ret = iTelServer.GetTsyVersionNumber(KBadName, version);
+ ASSERT_EQUALS(KErrNotFound, ret);
+
+
+ TFileName bigName;
+
+ bigName.SetMax();
+ bigName.Repeat(_L(" "));
+
+ // check buffer overlow, Etel calls PanicClient
+ ret = iTelServer.GetTsyVersionNumber(bigName, version);
+ ASSERT_EQUALS(KErrGeneral, ret);
+
+ CleanupStack::PopAndDestroy(2, this);
+
+ }
+
+
+/**
+@SYMTestCaseID BA-CTSY-SESMG-TSEEG-0001
+@SYMComponent telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RTelServer::SetExtendedErrorGranularity
+@SYMTestPriority High
+@SYMTestActions Invokes RTelServer::SetExtendedErrorGranularity
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsySessionManagementFU::TestSetExtendedErrorGranularity0001L()
+ {
+
+ OpenEtelServerL(EUseExtendedError);
+ CleanupStack::PushL(TCleanupItem(Cleanup,this));
+
+ RTelServer::TErrorGranularity granularity(RTelServer::EErrorExtended);
+
+ TInt ret = iTelServer.SetExtendedErrorGranularity(granularity);
+ ASSERT_EQUALS(KErrNone, ret);
+
+ CleanupStack::PopAndDestroy(1, this);
+
+ }
+
+
+
+
+void CCTsySessionManagementFU::AuxReferenceCountL(const TDesC &aName)
+ {
+
+ OpenEtelServerL(EUseExtendedError);
+ CleanupStack::PushL(TCleanupItem(Cleanup,this));
+
+ OpenPhoneL();
+
+ TName lineName(aName);
+ RLine line;
+
+ TInt ret = line.Open(iPhone, lineName);
+ ASSERT_EQUALS(KErrNone, ret);
+ CleanupClosePushL(line);
+
+ TName name;
+ RCall call;
+
+ ret = OpenNewCall(line, call, lineName, name);
+ ASSERT_EQUALS(KErrNone, ret);
+ CleanupClosePushL(call);
+
+ // test on successful completion
+ TInt count = call.ReferenceCount();
+ ASSERT_EQUALS(1, count);
+
+ AssertMockLtsyStatusL();
+
+ // test on successful completion, increasing count
+ RCall call2;
+
+ ret = call2.OpenExistingCall(line, name);
+ ASSERT_EQUALS(KErrNone, ret);
+ CleanupClosePushL(call2);
+
+ count = call.ReferenceCount();
+ ASSERT_EQUALS(2, count);
+
+ AssertMockLtsyStatusL();
+
+ // test on successful completion, decreasing count
+ CleanupStack::PopAndDestroy(1);
+
+ count = call.ReferenceCount();
+ ASSERT_EQUALS(1, count);
+
+
+ AssertMockLtsyStatusL();
+ CleanupStack::PopAndDestroy(3, this);
+
+ }
+
+
+
+/**
+@SYMTestCaseID BA-CTSY-SESMG-CRC-0001
+@SYMComponent telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::ReferenceCount for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::ReferenceCount for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsySessionManagementFU::TestReferenceCount0001L()
+ {
+
+ AuxReferenceCountL(KMmTsyVoice1LineName);
+
+ }
+
+
+
+
+
+/**
+@SYMTestCaseID BA-CTSY-SESMG-CRC-0006
+@SYMComponent telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::ReferenceCount for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::ReferenceCount for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsySessionManagementFU::TestReferenceCount0006L()
+ {
+
+ AuxReferenceCountL(KMmTsyDataLineName);
+
+ }
+
+
+
+
+/**
+@SYMTestCaseID BA-CTSY-SESMG-CRC-00011
+@SYMComponent telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::ReferenceCount for fax calls
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::ReferenceCount for fax calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsySessionManagementFU::TestReferenceCount00011L()
+ {
+
+ AuxReferenceCountL(KMmTsyFaxLineName);
+
+ }
+
+
+
+
+void CCTsySessionManagementFU::AuxOpenExisting1L(const TDesC &aName)
+ {
+
+ OpenEtelServerL(EUseExtendedError);
+ CleanupStack::PushL(TCleanupItem(Cleanup,this));
+ OpenPhoneL();
+
+ TName lineName(aName);
+ RLine line;
+
+ TInt ret = line.Open(iPhone, lineName);
+ ASSERT_EQUALS(KErrNone, ret);
+ CleanupClosePushL(line);
+
+ TName callname;
+ RCall call;
+
+ ret = OpenNewCall(line, call, lineName, callname);
+ ASSERT_EQUALS(KErrNone, ret);
+ CleanupClosePushL(call);
+
+
+ // test on successful completion
+ RCall call2;
+
+ ret = call2.OpenExistingCall(line, callname);
+ ASSERT_EQUALS(KErrNone, ret);
+ CleanupClosePushL(call2);
+
+ AssertMockLtsyStatusL();
+
+ // test on successful completion (another params set)
+ TName name;
+ name = lineName;
+ name.Append(KDoubleColon);
+ name.Append(callname);
+
+ RCall call3;
+
+ ret = call3.OpenExistingCall(iPhone, name);
+ ASSERT_EQUALS(KErrNone, ret);
+ CleanupClosePushL(call3);
+
+ AssertMockLtsyStatusL();
+
+ // test on successful completion (another params set)
+ RCall call4;
+
+ name = KMmTsyPhoneName;
+ name.Append(KDoubleColon);
+ name.Append(lineName);
+ name.Append(KDoubleColon);
+ name.Append(callname);
+
+ ret = call4.OpenExistingCall(iTelServer, name);
+ ASSERT_EQUALS(KErrNone, ret);
+ CleanupClosePushL(call4);
+
+ AssertMockLtsyStatusL();
+
+ CleanupStack::PopAndDestroy(6, this);
+
+ }
+
+
+
+void CCTsySessionManagementFU::AuxOpenExisting3L(const TDesC &aName)
+ {
+ OpenEtelServerL(EUseExtendedError);
+ CleanupStack::PushL(TCleanupItem(Cleanup,this));
+ OpenPhoneL();
+
+ TName lineName(aName);
+ RLine line;
+
+ TInt ret = line.Open(iPhone, lineName);
+ ASSERT_EQUALS(KErrNone, ret);
+ CleanupClosePushL(line);
+
+ TName callname;
+ RCall call;
+
+ ret = OpenNewCall(line, call, lineName, callname);
+ ASSERT_EQUALS(KErrNone, ret);
+ CleanupClosePushL(call);
+
+
+ // test on bad call name
+
+ _LIT(KBadCallName, "BadCallName");
+
+ RCall call2;
+
+ ret = call2.OpenExistingCall(line, KBadCallName);
+ ASSERT_EQUALS(KErrNotFound, ret);
+
+ AssertMockLtsyStatusL();
+
+
+ // test on bad line name
+
+ _LIT(KBadLineName, "BadLineName");
+
+ TName name;
+ name = KBadLineName;
+ name.Append(KDoubleColon);
+ name.Append(callname);
+
+ ret = call2.OpenExistingCall(iPhone, name);
+ ASSERT_EQUALS(KErrNotSupported, ret);
+
+ AssertMockLtsyStatusL();
+
+
+ // test on bad call name and correct line
+
+ name = lineName;
+ name.Append(KDoubleColon);
+ name.Append(KBadCallName);
+
+ ret = call2.OpenExistingCall(iPhone, name);
+ ASSERT_EQUALS(KErrNotFound, ret);
+
+ AssertMockLtsyStatusL();
+
+
+ // test on bad phone name
+
+ _LIT(KBadPhoneName, "BadPhoneName");
+
+ name = KBadPhoneName;
+ name.Append(KDoubleColon);
+ name.Append(lineName);
+ name.Append(KDoubleColon);
+ name.Append(callname);
+
+ ret = call2.OpenExistingCall(iTelServer, name);
+ ASSERT_EQUALS(KErrNotFound, ret);
+
+ AssertMockLtsyStatusL();
+
+
+ // test on bad line name and correct phone
+
+ name = KMmTsyPhoneName;
+ name.Append(KDoubleColon);
+ name.Append(KBadLineName);
+ name.Append(KDoubleColon);
+ name.Append(callname);
+
+ ret = call2.OpenExistingCall(iTelServer, name);
+ ASSERT_EQUALS(KErrNotSupported, ret);
+
+ AssertMockLtsyStatusL();
+
+
+ // test on bad call name with correct phone and line
+
+ name = KMmTsyPhoneName;
+ name.Append(KDoubleColon);
+ name.Append(lineName);
+ name.Append(KDoubleColon);
+ name.Append(KBadCallName);
+
+ ret = call2.OpenExistingCall(iTelServer, name);
+ ASSERT_EQUALS(KErrNotFound, ret);
+
+
+ // test on string analyze
+
+ _LIT(KBad, "::::::::");
+
+ name = KBad;
+
+ ret = call2.OpenExistingCall(iTelServer, name);
+ ASSERT_EQUALS(KErrNotFound, ret);
+
+ AssertMockLtsyStatusL();
+
+ CleanupStack::PopAndDestroy(3, this);
+
+ }
+
+
+/**
+@SYMTestCaseID BA-CTSY-SESMG-COEC-0001
+@SYMComponent telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::OpenExistingCall for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::OpenExistingCall for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsySessionManagementFU::TestOpenExistingCall0001L()
+ {
+
+ AuxOpenExisting1L(KMmTsyVoice1LineName);
+
+ }
+
+
+
+/**
+@SYMTestCaseID BA-CTSY-SESMG-COEC-0003
+@SYMComponent telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::OpenExistingCall with bad parameter data for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::OpenExistingCall with bad parameter data for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsySessionManagementFU::TestOpenExistingCall0003L()
+ {
+
+ AuxOpenExisting3L(KMmTsyVoice1LineName);
+
+ }
+
+
+
+/**
+@SYMTestCaseID BA-CTSY-SESMG-COEC-0006
+@SYMComponent telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::OpenExistingCall for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::OpenExistingCall for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsySessionManagementFU::TestOpenExistingCall0006L()
+ {
+
+ AuxOpenExisting1L(KMmTsyDataLineName);
+
+ }
+
+
+
+
+/**
+@SYMTestCaseID BA-CTSY-SESMG-COEC-0008
+@SYMComponent telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::OpenExistingCall with bad parameter data for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::OpenExistingCall with bad parameter data for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsySessionManagementFU::TestOpenExistingCall0008L()
+ {
+
+ AuxOpenExisting3L(KMmTsyDataLineName);
+
+ }
+
+
+
+
+/**
+@SYMTestCaseID BA-CTSY-SESMG-COEC-00011
+@SYMComponent telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::OpenExistingCall for fax calls
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::OpenExistingCall for fax calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsySessionManagementFU::TestOpenExistingCall00011L()
+ {
+
+ AuxOpenExisting1L(KMmTsyFaxLineName);
+
+ }
+
+
+/**
+@SYMTestCaseID BA-CTSY-SESMG-COEC-00013
+@SYMComponent telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::OpenExistingCall with bad parameter data for fax calls
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::OpenExistingCall with bad parameter data for fax calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsySessionManagementFU::TestOpenExistingCall00013L()
+ {
+
+ AuxOpenExisting3L(KMmTsyFaxLineName);
+
+ }
+
+
+
+/**
+@SYMTestCaseID BA-CTSY-SESMG-MIM-0001
+@SYMComponent telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobilePhone::InitialiseMM
+@SYMTestPriority High
+@SYMTestActions Invokes RMobilePhone::InitialiseMM
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsySessionManagementFU::TestInitialiseMM0001L()
+ {
+
+ OpenEtelServerL(EUseExtendedError);
+ CleanupStack::PushL(TCleanupItem(Cleanup,this));
+ OpenPhoneL();
+
+
+ TRequestStatus requestStatus;
+
+ RMobilePhone::TMMTableSettings tableSettings;
+ tableSettings.iLocId = 0;
+ RMobilePhone::TMMTableSettingsPckg tableSettingsPckg(tableSettings);
+
+ iPhone.InitialiseMM(requestStatus, tableSettingsPckg);
+
+ User::WaitForRequest(requestStatus);
+ ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+ AssertMockLtsyStatusL();
+ CleanupStack::PopAndDestroy(1, this);
+
+ }
+