telephonyserverplugins/common_tsy/test/component/src/cctsycallcontrolfu.cpp
branchRCL_3
changeset 17 3f227a47ad75
parent 0 3553901f7fa8
child 65 630d2f34d719
equal deleted inserted replaced
16:fe8b59ab9fa0 17:3f227a47ad75
    14 // The TEFUnit test suite for CallControl in the Common TSY.
    14 // The TEFUnit test suite for CallControl in the Common TSY.
    15 // 
    15 // 
    16 //
    16 //
    17 
    17 
    18 /**
    18 /**
    19  @file 
    19  @file      
    20 */
    20 */
    21 
    21 
    22 #include "cctsycallcontrolfu.h"
    22 #include "cctsycallcontrolfu.h"
    23 #include <etel.h>
    23 #include <etel.h>
    24 #include <etelmm.h>
    24 #include <etelmm.h>
    43 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall0008L);
    43 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall0008L);
    44 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall0009L);
    44 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall0009L);
    45 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall00010L);
    45 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall00010L);
    46 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall00011L);
    46 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall00011L);
    47 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0001L);
    47 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0001L);
    48 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0001bL);
    48     ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0001bL);
       
    49     ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0001cL);
    49 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0002L);
    50 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0002L);
    50 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0003L);
    51 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0003L);
    51 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0004L);
    52 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0004L);
    52 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0005L);
    53 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0005L);
    53 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0006L);
    54 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0006L);
  1850 
  1851 
  1851     TRequestStatus requestStatus;    
  1852     TRequestStatus requestStatus;    
  1852     _LIT(KSomeNumber, "123456789");   
  1853     _LIT(KSomeNumber, "123456789");   
  1853 
  1854 
  1854     RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;    
  1855     RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;    
  1855     TInt expecteCallId = 0;
  1856     TInt expectedCallId = 0;
  1856 
  1857 
  1857     RMobileCall::TMobileCallParamsV7 callParams; 
  1858     RMobileCall::TMobileCallParamsV7 callParams; 
  1858     RMobileCall::TMobileCallParamsV7Pckg    pckgCallParams(callParams);
  1859     RMobileCall::TMobileCallParamsV7Pckg    pckgCallParams(callParams);
  1859     RMobileCall::TMobileCallInfoV8 callInfo;   
  1860     RMobileCall::TMobileCallInfoV8 callInfo;   
  1860     callParams.iSpeakerControl  = RCall::EMonitorSpeakerControlOnUntilCarrier;
  1861     callParams.iSpeakerControl  = RCall::EMonitorSpeakerControlOnUntilCarrier;
  1881     callInfo.iDialledParty.iTelNumber.Copy( KSomeNumber );
  1882     callInfo.iDialledParty.iTelNumber.Copy( KSomeNumber );
  1882     callInfo.iDialledParty.iNumberPlan = RMobilePhone::EUnknownNumberingPlan;
  1883     callInfo.iDialledParty.iNumberPlan = RMobilePhone::EUnknownNumberingPlan;
  1883     callInfo.iDialledParty.iTypeOfNumber = RMobilePhone::EUnknownNumber;   
  1884     callInfo.iDialledParty.iTypeOfNumber = RMobilePhone::EUnknownNumber;   
  1884 
  1885 
  1885     TMockLtsyCallData2< RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV8 >
  1886     TMockLtsyCallData2< RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV8 >
  1886     mockCallData(expecteCallId, mobileService, callParams, callInfo);
  1887     mockCallData(expectedCallId, mobileService, callParams, callInfo);
  1887     mockCallData.SerialiseL(expectData);
  1888     mockCallData.SerialiseL(expectData);
  1888     
  1889     
  1889     iMockLTSY.ExpectL(EEtelCallDial, expectData);
  1890     iMockLTSY.ExpectL(EEtelCallDial, expectData);
  1890 
  1891 
  1891     TInt callId = 1;
  1892     TInt callId = 1;
  1908     callParamsX.iInterval        = 100;
  1909     callParamsX.iInterval        = 100;
  1909     callParamsX.iWaitForDialTone = RCall::EDialToneWait;
  1910     callParamsX.iWaitForDialTone = RCall::EDialToneWait;
  1910     TPckg<RCall::TCallParams> pckgCallParamsX(callParamsX);
  1911     TPckg<RCall::TCallParams> pckgCallParamsX(callParamsX);
  1911         
  1912         
  1912     call.Dial(requestStatus, pckgCallParamsX, KSomeNumber);   
  1913     call.Dial(requestStatus, pckgCallParamsX, KSomeNumber);   
       
  1914         
       
  1915     User::WaitForRequest(requestStatus);          
       
  1916     ASSERT_EQUALS(KErrNone, requestStatus.Int());
       
  1917     AssertMockLtsyStatusL();   
       
  1918     
       
  1919     CleanupStack::PopAndDestroy(5,this);
       
  1920     
       
  1921     }
       
  1922 
       
  1923 
       
  1924 /**
       
  1925 @SYMTestCaseID BA-CTSY-CCON-CD-0001c
       
  1926 @SYMComponent  telephony_ctsy
       
  1927 @SYMTestCaseDesc Test support in CTSY for RCall::Dial for voice calls with changing parameters
       
  1928 @SYMTestPriority High
       
  1929 @SYMTestActions Invokes RCall::Dial for voice calls
       
  1930 @SYMTestExpectedResults Pass
       
  1931 @SYMTestType CT
       
  1932 */
       
  1933 void CCTsyCallControlFU::TestDial0001cL()
       
  1934     {
       
  1935     
       
  1936     OpenEtelServerL(EUseExtendedError);
       
  1937     CleanupStack::PushL(TCleanupItem(Cleanup,this));
       
  1938     OpenPhoneL();
       
  1939 
       
  1940     RBuf8 expectData;
       
  1941     CleanupClosePushL(expectData);
       
  1942 
       
  1943     RBuf8 completeData;
       
  1944     CleanupClosePushL(completeData);
       
  1945 
       
  1946     TInt errorCode = KErrNone;    
       
  1947 
       
  1948     //-- For Voice1 -------------------------
       
  1949 
       
  1950     TBuf<256> lineName(KMmTsyVoice1LineName);    
       
  1951     // Open new line
       
  1952     RLine line;
       
  1953     errorCode = line.Open(iPhone, lineName);
       
  1954     ASSERT_EQUALS(KErrNone, errorCode);
       
  1955     CleanupClosePushL(line);      
       
  1956     // open call
       
  1957     _LIT(KDoubleColon, "::");    
       
  1958     TBuf<256> name;
       
  1959     name = KMmTsyPhoneName;
       
  1960     name.Append(KDoubleColon);
       
  1961     name.Append(lineName);
       
  1962     name.Append(KDoubleColon);
       
  1963 
       
  1964     RMobileCall call;
       
  1965     errorCode = call.OpenNewCall(line, name);
       
  1966     ASSERT_EQUALS(KErrNone, errorCode);
       
  1967     CleanupClosePushL(call);   
       
  1968 
       
  1969     TRequestStatus requestStatus;    
       
  1970     _LIT(KSomeNumber, "123456789");   
       
  1971 
       
  1972     RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;    
       
  1973     TInt expectedCallId = 0;
       
  1974     RMobileCall::TMobileCallInfoV8 callInfo;
       
  1975     callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;    
       
  1976     callInfo.iService   = mobileService;
       
  1977     callInfo.iStatus    = RMobileCall::EStatusUnknown;
       
  1978     callInfo.iCallId    =-1;
       
  1979     callInfo.iExitCode  =0; 
       
  1980     callInfo.iEmergency =0;
       
  1981     callInfo.iForwarded =0; 
       
  1982     callInfo.iPrivacy               = RMobilePhone::EPrivacyUnspecified;
       
  1983     callInfo.iAlternatingCall       = RMobilePhone::EAlternatingModeUnspecified;    
       
  1984     callInfo.iDialledParty.iTelNumber.Copy( KSomeNumber );
       
  1985     callInfo.iDialledParty.iNumberPlan = RMobilePhone::EUnknownNumberingPlan;
       
  1986     callInfo.iDialledParty.iTypeOfNumber = RMobilePhone::EUnknownNumber;   
       
  1987     
       
  1988     // A. Call with V7 params.
       
  1989     // Fill the params with random values
       
  1990     RMobileCall::TMobileCallParamsV7 callParams;
       
  1991     RMobileCall::TMobileCallParamsV7Pckg    pckgCallParams(callParams);
       
  1992     callParams.iAlphaId.Copy(_L("Alpha Id"));
       
  1993     callParams.iIconId.iQualifier = RMobileCall::ESelfExplanatory;
       
  1994     callParams.iIconId.iIdentifier = 0x0A;
       
  1995     callParams.iBCRepeatIndicator = RMobileCall::EBCServiceChangeAndFallbackMode;
       
  1996     callParams.iBearerCap2.Copy(_L("Cap2"));
       
  1997     callParams.iBearerCap1.Copy(_L("Cap1"));
       
  1998     callParams.iSubAddress.Copy(_L("SubAddress"));
       
  1999     callParams.iCallParamOrigin = RMobileCall::EOriginatorEtelClient;
       
  2000     callParams.iBearerMode = RMobileCall::EMulticallShareBearer;
       
  2001     callParams.iIdRestrict = RMobileCall::EDontSendMyId;
       
  2002     callParams.iCug.iExplicitInvoke = EFalse;
       
  2003     callParams.iCug.iCugIndex = 0xAABB;
       
  2004     callParams.iCug.iSuppressPrefCug = EFalse;
       
  2005     callParams.iCug.iSuppressOA = ETrue;
       
  2006     callParams.iAutoRedial = ETrue;
       
  2007     callParams.iSpeakerControl = RCall::EMonitorSpeakerControlOnUntilCarrier; 
       
  2008     callParams.iSpeakerVolume = RCall::EMonitorSpeakerVolumeLow;
       
  2009     callParams.iInterval = 0;
       
  2010     callParams.iWaitForDialTone = RCall::EDialToneWait;
       
  2011     
       
  2012     TMockLtsyCallData2< RMobileCall::TMobileCallParamsV7, RMobileCall::TMobileCallInfoV8 >
       
  2013     mockCallData(expectedCallId, mobileService, callParams, callInfo);
       
  2014     mockCallData.SerialiseL(expectData);
       
  2015     
       
  2016     iMockLTSY.ExpectL(EEtelCallDial, expectData);
       
  2017 
       
  2018     TInt callId = 1;
       
  2019     
       
  2020     completeData.Close();
       
  2021     TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> callInfoData(callId, mobileService, callInfo);
       
  2022     callInfoData.SerialiseL(completeData);
       
  2023     //Complete Mobile Call Info in order to set the call ID 
       
  2024     iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, completeData);
       
  2025     
       
  2026     TMockLtsyCallData0 mockDataComplete(callId, mobileService);
       
  2027     completeData.Close();
       
  2028     mockDataComplete.SerialiseL(completeData);
       
  2029     // Complete the Dial
       
  2030     iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
       
  2031 
       
  2032     call.Dial(requestStatus, pckgCallParams, KSomeNumber);   
       
  2033         
       
  2034     User::WaitForRequest(requestStatus);          
       
  2035     ASSERT_EQUALS(KErrNone, requestStatus.Int());
       
  2036     AssertMockLtsyStatusL();   
       
  2037     
       
  2038     // B. Call with V0 params. 
       
  2039     // The CTSY should send the default V7 values to the LTSY, and not the previous call parameters which are irrelevant.  
       
  2040     // Fill the params with other random values.
       
  2041     callParams.iAlphaId.Zero();
       
  2042     callParams.iIconId.iQualifier = RMobileCall::EIconQualifierNotSet;
       
  2043     callParams.iIconId.iIdentifier = 0x00;
       
  2044     callParams.iBCRepeatIndicator = RMobileCall::EBCAlternateMode;
       
  2045     callParams.iBearerCap2.Zero();
       
  2046     callParams.iBearerCap1.Zero();
       
  2047     callParams.iSubAddress.Zero();
       
  2048     callParams.iCallParamOrigin = RMobileCall::EOriginatorUnknown;
       
  2049     callParams.iBearerMode = RMobileCall::EMulticallNotSupported;
       
  2050     callParams.iIdRestrict = RMobileCall::EIdRestrictDefault;
       
  2051     callParams.iCug.iExplicitInvoke = EFalse;
       
  2052     callParams.iCug.iCugIndex = 0xFFFF;
       
  2053     callParams.iCug.iSuppressPrefCug = EFalse;
       
  2054     callParams.iCug.iSuppressOA = EFalse;
       
  2055     callParams.iAutoRedial = EFalse;
       
  2056     callParams.iSpeakerControl = RCall::EMonitorSpeakerControlAlwaysOn; 
       
  2057     callParams.iSpeakerVolume = RCall::EMonitorSpeakerVolumeMedium;
       
  2058     callParams.iInterval = 12;
       
  2059     callParams.iWaitForDialTone = RCall::EDialToneNoWait;
       
  2060     
       
  2061 
       
  2062     RMobileCall::TCallParams callParams0;
       
  2063     callParams0.iSpeakerControl = callParams.iSpeakerControl; 
       
  2064     callParams0.iSpeakerVolume = callParams.iSpeakerVolume;
       
  2065     callParams0.iInterval = callParams.iInterval;
       
  2066     callParams0.iWaitForDialTone = callParams.iWaitForDialTone; 
       
  2067     RCall::TCallParamsPckg   pckgCallParams0(callParams0);
       
  2068 
       
  2069     expectData.Close();
       
  2070     TMockLtsyCallData2< RMobileCall::TMobileCallParamsV7, RMobileCall::TMobileCallInfoV8 >
       
  2071         mockCallData2(1, mobileService, callParams, callInfo);
       
  2072     mockCallData2.SerialiseL(expectData);
       
  2073     
       
  2074     iMockLTSY.ExpectL(EEtelCallDial, expectData);
       
  2075 
       
  2076     
       
  2077     completeData.Close();
       
  2078     callInfoData.SerialiseL(completeData);
       
  2079     //Complete Mobile Call Info in order to set the call ID 
       
  2080     iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, completeData);
       
  2081     
       
  2082     completeData.Close();
       
  2083     mockDataComplete.SerialiseL(completeData);
       
  2084     // Complete the Dial
       
  2085     iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
       
  2086 
       
  2087     call.Dial(requestStatus, pckgCallParams0, KSomeNumber);   
  1913         
  2088         
  1914     User::WaitForRequest(requestStatus);          
  2089     User::WaitForRequest(requestStatus);          
  1915     ASSERT_EQUALS(KErrNone, requestStatus.Int());
  2090     ASSERT_EQUALS(KErrNone, requestStatus.Int());
  1916     AssertMockLtsyStatusL();   
  2091     AssertMockLtsyStatusL();   
  1917     
  2092     
  3965 
  4140 
  3966     TRequestStatus requestStatus;    
  4141     TRequestStatus requestStatus;    
  3967     _LIT(KSomeNumber, "123456789");   
  4142     _LIT(KSomeNumber, "123456789");   
  3968 
  4143 
  3969     RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;    
  4144     RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;    
  3970     TInt expecteCallId = 0;
  4145     TInt expectedCallId = 0;
  3971 
  4146 
  3972     RMobileCall::TMobileDataCallParamsV8 callParams; 
  4147     RMobileCall::TMobileDataCallParamsV8 callParams; 
  3973     RMobileCall::TMobileDataCallParamsV8Pckg    pckgCallParams(callParams);
  4148     RMobileCall::TMobileDataCallParamsV8Pckg    pckgCallParams(callParams);
  3974     RMobileCall::TMobileCallInfoV8 callInfo;   
  4149     RMobileCall::TMobileCallInfoV8 callInfo;   
  3975     callParams.iSpeakerControl  = RCall::EMonitorSpeakerControlOnUntilCarrier;
  4150     callParams.iSpeakerControl  = RCall::EMonitorSpeakerControlOnUntilCarrier;
  3996     callInfo.iDialledParty.iTelNumber.Copy( KSomeNumber );
  4171     callInfo.iDialledParty.iTelNumber.Copy( KSomeNumber );
  3997     callInfo.iDialledParty.iNumberPlan = RMobilePhone::EUnknownNumberingPlan;
  4172     callInfo.iDialledParty.iNumberPlan = RMobilePhone::EUnknownNumberingPlan;
  3998     callInfo.iDialledParty.iTypeOfNumber = RMobilePhone::EUnknownNumber;   
  4173     callInfo.iDialledParty.iTypeOfNumber = RMobilePhone::EUnknownNumber;   
  3999 
  4174 
  4000     TMockLtsyCallData2< RMobileCall::TMobileDataCallParamsV8, RMobileCall::TMobileCallInfoV8 >
  4175     TMockLtsyCallData2< RMobileCall::TMobileDataCallParamsV8, RMobileCall::TMobileCallInfoV8 >
  4001     mockCallData(expecteCallId, mobileService, callParams, callInfo);
  4176     mockCallData(expectedCallId, mobileService, callParams, callInfo);
  4002     mockCallData.SerialiseL(expectData);
  4177     mockCallData.SerialiseL(expectData);
  4003     
  4178     
  4004     iMockLTSY.ExpectL(EEtelCallDial, expectData);
  4179     iMockLTSY.ExpectL(EEtelCallDial, expectData);
  4005 
  4180 
  4006     TInt callId = 1;
  4181     TInt callId = 1;