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