mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaNetworkAvailability.cpp
branchRCL_3
changeset 22 73a1feb507fb
parent 21 33a5d2bbf6fc
child 23 bc78a40cd63c
equal deleted inserted replaced
21:33a5d2bbf6fc 22:73a1feb507fb
    30 #include "musavaavailabilityobserverimp.h"
    30 #include "musavaavailabilityobserverimp.h"
    31 #include "musavasettingsimp.h"
    31 #include "musavasettingsimp.h"
    32 #include "mussesseioninformationapi.h"
    32 #include "mussesseioninformationapi.h"
    33 
    33 
    34 _LIT( KTelNumber, "12345" );
    34 _LIT( KTelNumber, "12345" );
    35 _LIT( KAnotherTelNumber, "54321" );
    35 _LIT( KSipUri, "sip:uri@host" );
    36 
    36 
    37 // CONSTRUCTION
    37 // CONSTRUCTION
    38 UT_CMusAvaNetworkAvailability* UT_CMusAvaNetworkAvailability::NewL()
    38 UT_CMusAvaNetworkAvailability* UT_CMusAvaNetworkAvailability::NewL()
    39     {
    39     {
    40     UT_CMusAvaNetworkAvailability* self = UT_CMusAvaNetworkAvailability::NewLC();
    40     UT_CMusAvaNetworkAvailability* self = UT_CMusAvaNetworkAvailability::NewLC();
    84                        
    84                        
    85     RProperty::Define( NMusSessionInformationApi::KCategoryUid,
    85     RProperty::Define( NMusSessionInformationApi::KCategoryUid,
    86                        NMusSessionInformationApi::KMusCallDirection,
    86                        NMusSessionInformationApi::KMusCallDirection,
    87                        RProperty::EInt,
    87                        RProperty::EInt,
    88                        0 );
    88                        0 );
    89     
       
    90 	
       
    91     RProperty::Define( NMusSessionInformationApi::KCategoryUid,
       
    92                        NMusSessionInformationApi::KMUSPrivacy,
       
    93                        RProperty::EInt,
       
    94                        0 );
       
    95                        
    89                        
    96     }
    90     }
    97 
    91 
    98 //  METHODS
    92 //  METHODS
    99 
    93 
   121     // no call
   115     // no call
   122 
   116 
   123     User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid,
   117     User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid,
   124                     	NMusSessionInformationApi::KMusCallEvent,
   118                     	NMusSessionInformationApi::KMusCallEvent,
   125                     	0 ));
   119                     	0 ));
   126 
       
   127     User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid,
       
   128                         NMusSessionInformationApi::KMUSPrivacy,
       
   129                         0 ));
       
   130     
   120     
   131     iNetworkAvailability->DoExecuteL();    
   121     iNetworkAvailability->DoExecuteL();    
   132     EUNIT_ASSERT_EQUALS( iNetworkAvailability->State(), 
   122     EUNIT_ASSERT_EQUALS( iNetworkAvailability->State(), 
   133                          MMusAvaObserver::EMusAvaStatusNoCall );
   123                          MMusAvaObserver::EMusAvaStatusNoCall );
   134               
   124               
   136     
   126     
   137     User::LeaveIfError(	RProperty::Set( NMusSessionInformationApi::KCategoryUid,
   127     User::LeaveIfError(	RProperty::Set( NMusSessionInformationApi::KCategoryUid,
   138                     	NMusSessionInformationApi::KMusCallEvent,
   128                     	NMusSessionInformationApi::KMusCallEvent,
   139                     	1 ));
   129                     	1 ));
   140                     
   130                     
   141     User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid,
   131 	User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid,
   142                     NMusSessionInformationApi::KMusTelNumber,
   132                     	NMusSessionInformationApi::KMusTelNumber,
   143                     KTelNumber ));
   133                     	KTelNumber ));
   144                 
   134                     
   145     User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid,
   135 	User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid,
   146                 NMusSessionInformationApi::KMusCallDirection,
   136                     NMusSessionInformationApi::KMusCallDirection,
   147                 0 ));
   137                     0 ));
   148                                                                          
   138                                                                          
   149     iNetworkAvailability->DoExecuteL();
   139     iNetworkAvailability->DoExecuteL();
   150     EUNIT_ASSERT_EQUALS( iNetworkAvailability->State(), 
   140     EUNIT_ASSERT_EQUALS( iNetworkAvailability->State(), 
   151                          MMusAvaObserver::EMusAvaStatusAvailable );
   141                          MMusAvaObserver::EMusAvaStatusAvailable );
   152     EUNIT_ASSERT_EQUALS( iSettings->TelNumber(), KTelNumber );
   142     EUNIT_ASSERT_EQUALS( iSettings->TelNumber(), KTelNumber );
       
   143     const MDesCArray& sipAddresses = iSettings->SipAddresses();
       
   144     EUNIT_ASSERT_EQUALS( sipAddresses.MdcaCount(), 0 );
   153     EUNIT_ASSERT_EQUALS( iSettings->CallDirection(), 0 );
   145     EUNIT_ASSERT_EQUALS( iSettings->CallDirection(), 0 );
   154     
   146     }
   155     }
   147     
   156     
   148 void UT_CMusAvaNetworkAvailability::UT_CMusAvaNetworkAvailability_DoExecuteL_SipUriL()
       
   149     {
       
   150     // one call, SIP URI given
       
   151     User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid,
       
   152                         NMusSessionInformationApi::KMusCallEvent,
       
   153                         1 ));
       
   154                     
       
   155     User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid,
       
   156                         NMusSessionInformationApi::KMusTelNumber,
       
   157                         KSipUri ));
       
   158                     
       
   159     User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid,
       
   160                     NMusSessionInformationApi::KMusCallDirection,
       
   161                     0 ));
       
   162                                                                          
       
   163     iNetworkAvailability->DoExecuteL();
       
   164     EUNIT_ASSERT_EQUALS( iNetworkAvailability->State(), 
       
   165                          MMusAvaObserver::EMusAvaStatusAvailable );
       
   166     EUNIT_ASSERT_EQUALS( iSettings->TelNumber(), KNullDesC );
       
   167 
       
   168     const MDesCArray& sipAddresses = iSettings->SipAddresses();
       
   169     EUNIT_ASSERT_EQUALS( sipAddresses.MdcaCount(), 1 );
       
   170     EUNIT_ASSERT_EQUALS( sipAddresses.MdcaPoint( 0 ), KSipUri );
       
   171     
       
   172     EUNIT_ASSERT_EQUALS( iSettings->CallDirection(), 0 );
       
   173     }
       
   174 
   157 void UT_CMusAvaNetworkAvailability::UT_CMusAvaNetworkAvailability_StopL()
   175 void UT_CMusAvaNetworkAvailability::UT_CMusAvaNetworkAvailability_StopL()
   158     {
   176     {
   159     iNetworkAvailability->Stop();
   177     iNetworkAvailability->Stop();
   160     EUNIT_ASSERT_EQUALS( iNetworkAvailability->State(), 
   178     EUNIT_ASSERT_EQUALS( iNetworkAvailability->State(), 
   161                          MMusAvaObserver::EMusAvaStatusNotExecuted );
   179                          MMusAvaObserver::EMusAvaStatusNotExecuted );
   170 void UT_CMusAvaNetworkAvailability::UT_CMusAvaNetworkAvailability_CallConnectedLL()
   188 void UT_CMusAvaNetworkAvailability::UT_CMusAvaNetworkAvailability_CallConnectedLL()
   171     {
   189     {
   172     User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid,
   190     User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid,
   173                    		NMusSessionInformationApi::KMusCallDirection,
   191                    		NMusSessionInformationApi::KMusCallDirection,
   174                     	0 ));
   192                     	0 ));
   175 
   193                     	                                                     
   176     User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid,
   194     iNetworkAvailability->CallConnectedL( KTelNumber, EFalse );
   177                         NMusSessionInformationApi::KMUSPrivacy,
       
   178                         0 ));
       
   179     
       
   180     iNetworkAvailability->iConfcall = ETrue;
       
   181     iNetworkAvailability->iSettings.SetOptionSentNumber( KTelNumber );
       
   182     iNetworkAvailability->CallConnectedL( KTelNumber );
       
   183     EUNIT_ASSERT_EQUALS( iNetworkAvailability->State(), 
   195     EUNIT_ASSERT_EQUALS( iNetworkAvailability->State(), 
   184                          MMusAvaObserver::EMusAvaStatusAvailable );
   196                          MMusAvaObserver::EMusAvaStatusAvailable );
   185     
   197     EUNIT_ASSERT_EQUALS( iSettings->TelNumber(), KTelNumber );
   186     
   198     
   187     iNetworkAvailability->iSettings.SetOptionSentNumber( KAnotherTelNumber );
   199 
   188     iNetworkAvailability->CallConnectedL( KTelNumber );   
   200     // Test SIP URI
   189     EUNIT_ASSERT_EQUALS( iNetworkAvailability->State(), 
   201     iNetworkAvailability->CallConnectedL( KSipUri, ETrue );
   190                          MMusAvaObserver::EMusAvaStatusInProgress );
   202     // Tel number should not have been modified
   191     EUNIT_ASSERT( iNetworkAvailability->iSettings.OptionSentTelNumber().Length() == 0 );
   203     EUNIT_ASSERT_EQUALS( iSettings->TelNumber(), KTelNumber );
   192     
   204     const MDesCArray& sipAddresses = iSettings->SipAddresses();
   193     
   205     EUNIT_ASSERT_EQUALS( sipAddresses.MdcaCount(), 1 );
   194     EUNIT_ASSERT_EQUALS( iSettings->TelNumber(), KTelNumber );    
   206     EUNIT_ASSERT_EQUALS( sipAddresses.MdcaPoint( 0 ), KSipUri );
   195     }
   207     }
   196     
   208     
   197 void UT_CMusAvaNetworkAvailability::UT_CMusAvaNetworkAvailability_ConferenceCallLL()
   209 void UT_CMusAvaNetworkAvailability::UT_CMusAvaNetworkAvailability_ConferenceCallLL()
   198     {
   210     {
   199     iNetworkAvailability->ConferenceCallL();
   211     iNetworkAvailability->ConferenceCallL();
   204 void UT_CMusAvaNetworkAvailability::UT_CMusAvaNetworkAvailability_CallHoldLL()
   216 void UT_CMusAvaNetworkAvailability::UT_CMusAvaNetworkAvailability_CallHoldLL()
   205     {
   217     {
   206     User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid,
   218     User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid,
   207                    		NMusSessionInformationApi::KMusCallDirection,
   219                    		NMusSessionInformationApi::KMusCallDirection,
   208                     	0 ));
   220                     	0 ));
   209     User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid,
   221     
   210                         NMusSessionInformationApi::KMUSPrivacy,
   222     iNetworkAvailability->CallHoldL( KTelNumber, EFalse );
   211                         0 ));
       
   212     
       
   213     
       
   214     iNetworkAvailability->CallHoldL( KTelNumber );
       
   215     EUNIT_ASSERT_EQUALS( iNetworkAvailability->State(), 
   223     EUNIT_ASSERT_EQUALS( iNetworkAvailability->State(), 
   216                          MMusAvaObserver::EMusAvaStatusCallOnHold );
   224                          MMusAvaObserver::EMusAvaStatusCallOnHold );
   217     EUNIT_ASSERT_EQUALS( iSettings->TelNumber(), KTelNumber );    
   225     EUNIT_ASSERT_EQUALS( iSettings->TelNumber(), KTelNumber );
   218     }
   226     
   219     
   227     // Test SIP URI
       
   228     iNetworkAvailability->CallConnectedL( KSipUri, ETrue );    
       
   229     // Tel number should not have been modified
       
   230     EUNIT_ASSERT_EQUALS( iSettings->TelNumber(), KTelNumber );
       
   231     const MDesCArray& sipAddresses = iSettings->SipAddresses();
       
   232     EUNIT_ASSERT_EQUALS( sipAddresses.MdcaCount(), 1 );
       
   233     EUNIT_ASSERT_EQUALS( sipAddresses.MdcaPoint( 0 ), KSipUri );
       
   234     }
       
   235 
   220 void UT_CMusAvaNetworkAvailability::UT_CMusAvaNetworkAvailability_NoActiveCallLL()
   236 void UT_CMusAvaNetworkAvailability::UT_CMusAvaNetworkAvailability_NoActiveCallLL()
   221     {
   237     {
   222     iNetworkAvailability->NoActiveCallL();
   238     iNetworkAvailability->NoActiveCallL();
   223     EUNIT_ASSERT_EQUALS( iNetworkAvailability->State(), 
   239     EUNIT_ASSERT_EQUALS( iNetworkAvailability->State(), 
   224                          MMusAvaObserver::EMusAvaStatusNoCall );
   240                          MMusAvaObserver::EMusAvaStatusNoCall );
   225     EUNIT_ASSERT_EQUALS( iSettings->TelNumber(), KNullDesC );    
   241     EUNIT_ASSERT_EQUALS( iSettings->TelNumber(), KNullDesC );    
   226     }                
   242     }                
   227 
   243 
       
   244 void UT_CMusAvaNetworkAvailability::UT_CMusAvaNetworkAvailability_SetRemoteHostLL()
       
   245     {
       
   246     _LIT( KMusTestPhoneNum, "12341234" );
       
   247     iNetworkAvailability->SetRemoteHostL( KMusTestPhoneNum(), EFalse );
       
   248     EUNIT_ASSERT_EQUALS( iSettings->TelNumber(), KMusTestPhoneNum );
       
   249     EUNIT_ASSERT_EQUALS( iSettings->ContactResolvingUri(), KNullDesC );
       
   250     
       
   251     _LIT( KMusTestSipUri, "sip:12341234@1.2.3.4" );
       
   252     iNetworkAvailability->SetRemoteHostL( KMusTestSipUri(), ETrue );
       
   253     EUNIT_ASSERT_EQUALS( iSettings->ContactResolvingUri(), KMusTestSipUri );
       
   254     }                
   228 
   255 
   229 
   256 
   230 //  TEST TABLE
   257 //  TEST TABLE
   231 
   258 
   232 EUNIT_BEGIN_TEST_TABLE(
   259 EUNIT_BEGIN_TEST_TABLE(
   240     "DoExecuteL",
   267     "DoExecuteL",
   241     "FUNCTIONALITY",
   268     "FUNCTIONALITY",
   242     SetupL, UT_CMusAvaNetworkAvailability_DoExecuteLL, Teardown)
   269     SetupL, UT_CMusAvaNetworkAvailability_DoExecuteLL, Teardown)
   243 
   270 
   244 EUNIT_TEST(
   271 EUNIT_TEST(
       
   272     "DoExecuteL - test SIP URI ",
       
   273     "CMusAvaNetworkAvailability",
       
   274     "DoExecuteL",
       
   275     "FUNCTIONALITY",
       
   276     SetupL, UT_CMusAvaNetworkAvailability_DoExecuteL_SipUriL, Teardown)
       
   277 
       
   278 EUNIT_TEST(
   245     "Stop - test ",
   279     "Stop - test ",
   246     "CMusAvaNetworkAvailability",
   280     "CMusAvaNetworkAvailability",
   247     "Stop",
   281     "Stop",
   248     "FUNCTIONALITY",
   282     "FUNCTIONALITY",
   249     SetupL, UT_CMusAvaNetworkAvailability_StopL, Teardown)
   283     SetupL, UT_CMusAvaNetworkAvailability_StopL, Teardown)
   280     "NoActiveCallL - test ",
   314     "NoActiveCallL - test ",
   281     "CMusAvaNetworkAvailability",
   315     "CMusAvaNetworkAvailability",
   282     "NoActiveCallL",
   316     "NoActiveCallL",
   283     "FUNCTIONALITY",
   317     "FUNCTIONALITY",
   284     SetupL, UT_CMusAvaNetworkAvailability_NoActiveCallLL, Teardown )      
   318     SetupL, UT_CMusAvaNetworkAvailability_NoActiveCallLL, Teardown )      
       
   319 
       
   320 EUNIT_TEST(
       
   321     "SetRemoteHostL - test ",
       
   322     "CMusAvaNetworkAvailability",
       
   323     "SetRemoteHostL",
       
   324     "FUNCTIONALITY",
       
   325     SetupL, UT_CMusAvaNetworkAvailability_SetRemoteHostLL, Teardown )  
   285     
   326     
   286 
   327 
   287 EUNIT_END_TEST_TABLE
   328 EUNIT_END_TEST_TABLE
   288 
   329 
   289 //  END OF FILE
   330 //  END OF FILE