mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaTerminal.cpp
branchRCL_3
changeset 23 bc78a40cd63c
parent 22 73a1feb507fb
equal deleted inserted replaced
22:73a1feb507fb 23:bc78a40cd63c
    38 #include "musavacapabilitycontext.h"
    38 #include "musavacapabilitycontext.h"
    39 #include "musavasip.h"
    39 #include "musavasip.h"
    40 #include "musavasharedobject.h"
    40 #include "musavasharedobject.h"
    41 #include "mussettings.h"
    41 #include "mussettings.h"
    42 
    42 
       
    43 _LIT8( KCapabilityTestOriginatorSIPAddressUri8, "sip:user@domain.com");
    43 
    44 
    44 // CONSTRUCTION
    45 // CONSTRUCTION
    45 UT_CMusAvaTerminal* UT_CMusAvaTerminal::NewL()
    46 UT_CMusAvaTerminal* UT_CMusAvaTerminal::NewL()
    46     {
    47     {
    47     UT_CMusAvaTerminal* self = UT_CMusAvaTerminal::NewLC();
    48     UT_CMusAvaTerminal* self = UT_CMusAvaTerminal::NewLC();
   115         {
   116         {
   116         iProfile->iRegisteredContact = KRegisteredContact().AllocL();
   117         iProfile->iRegisteredContact = KRegisteredContact().AllocL();
   117         }
   118         }
   118     
   119     
   119     CSipSseTestTls::OpenL();
   120     CSipSseTestTls::OpenL();
   120     iStorage = CSipSseTestTls::Storage();
       
   121     iStorage->Set( MusSettingsKeys::KFastStartupMode, 
       
   122         MusSettingsKeys::EFastModeOff );
       
   123     }
   121     }
   124 
   122 
   125 
   123 
   126 void UT_CMusAvaTerminal::Teardown(  )
   124 void UT_CMusAvaTerminal::Teardown(  )
   127     {
   125     {
   128     if ( iStorage )
   126 
   129         {
   127     CSipSseTestTls::Close();
   130         iStorage->Clear();
       
   131         CSipSseTestTls::Close();
       
   132         iStorage = NULL;
       
   133         }
       
   134 
       
   135     delete iTerminal;
   128     delete iTerminal;
   136     delete iOptionHandler;
   129     delete iOptionHandler;
   137     delete iConcreteSettings;
   130     delete iConcreteSettings;
   138     delete iAvailabilityObserver;
   131     delete iAvailabilityObserver;
   139 
   132 
   224     {
   217     {
   225     MultimediaSharingSettings::SetSipProfileSettingL( 1 );
   218     MultimediaSharingSettings::SetSipProfileSettingL( 1 );
   226     if ( !iProfile->iArray )
   219     if ( !iProfile->iArray )
   227         {
   220         {
   228         iProfile->iArray = new ( ELeave ) CDesC8ArrayFlat( 1 );
   221         iProfile->iArray = new ( ELeave ) CDesC8ArrayFlat( 1 );
   229         iProfile->iArray->AppendL( _L8("sip:user@domain.com") );
   222         iProfile->iArray->AppendL( KCapabilityTestOriginatorSIPAddressUri8 );
   230         }
   223         }
   231     
   224     
   232     EUNIT_ASSERT( iExchange->Terminals().Count() == 0 );
   225     EUNIT_ASSERT( iExchange->Terminals().Count() == 0 );
   233     
   226     
   234     CMusAvaCapabilityQuery* query = NULL;
   227     CMusAvaCapabilityQuery* query = NULL;
   263     CleanupStack::Pop( query );
   256     CleanupStack::Pop( query );
   264     
   257     
   265     EUNIT_ASSERT( terminal.iQueries == 1 );
   258     EUNIT_ASSERT( terminal.iQueries == 1 );
   266     EUNIT_ASSERT( terminal.iQuery == query );
   259     EUNIT_ASSERT( terminal.iQuery == query );
   267     
   260     
       
   261 
       
   262     CMusAvaCapabilityQuery* tmpQuery = query;
   268     query = CMusAvaCapabilityQuery::NewL( *iCapability,
   263     query = CMusAvaCapabilityQuery::NewL( *iCapability,
   269                                         *iSIPConnection,
   264                                         *iSIPConnection,
   270                                         *iProfile,
   265                                         *iProfile,
   271                                         KCapabilityTestSIPAddressUri_B );
   266                                         KCapabilityTestSIPAddressUri_B );
   272     CleanupStack::PushL( query );
   267     CleanupStack::PushL( query );
   273     EUNIT_ASSERT( iExchange->Terminals().Count() == 1 );
   268     EUNIT_ASSERT( iExchange->Terminals().Count() == 1 );
   274     EUNIT_ASSERT( terminal.iQueries == 2 );
   269     EUNIT_ASSERT( terminal.iQueries == 2 );
   275     
   270  
       
   271 
   276     //Second query cannot be executed
   272     //Second query cannot be executed
   277     EUNIT_ASSERT_SPECIFIC_LEAVE( terminal.ExecuteQueryL( query ),
   273     EUNIT_ASSERT_SPECIFIC_LEAVE( terminal.ExecuteQueryL( query ),
   278                                  KErrAlreadyExists )
   274                                  KErrAlreadyExists )
   279     EUNIT_ASSERT( terminal.iQuery != query );
   275     EUNIT_ASSERT( terminal.iQuery != query );
       
   276 
       
   277     
       
   278     //Uri identical case
       
   279 	terminal.iQuery = NULL;
       
   280 	query->iRemoteUri.Copy( KCapabilityTestOriginatorSIPAddressUri8 );
       
   281 	EUNIT_ASSERT_SPECIFIC_LEAVE( terminal.ExecuteQueryL( query ),
       
   282 								 KErrNotSupported )      
       
   283         
   280     CleanupStack::PopAndDestroy( query );
   284     CleanupStack::PopAndDestroy( query );
       
   285     delete tmpQuery;
   281     }
   286     }
   282 
   287 
   283 
   288 
   284 void UT_CMusAvaTerminal::UT_CMusAvaTerminal_QueryCompletedLL(  )
   289 void UT_CMusAvaTerminal::UT_CMusAvaTerminal_QueryCompletedLL(  )
   285     {
   290     {
   452     EUNIT_ASSERT( iTerminal->RequestedQuery() == iCapability );
   457     EUNIT_ASSERT( iTerminal->RequestedQuery() == iCapability );
   453     EUNIT_ASSERT( iConcreteSettings->SipAddresses().MdcaCount() == 0 );
   458     EUNIT_ASSERT( iConcreteSettings->SipAddresses().MdcaCount() == 0 );
   454     
   459     
   455     CleanupStack::PopAndDestroy( options );
   460     CleanupStack::PopAndDestroy( options );
   456 
   461 
   457     // with Asserted Identity
   462     // with Asserted Identity, check also that SDP of received request is used
   458     options =   
   463     options =   
   459         CapabilityTestHelper::OptionsRequestL( KCapabilityTestAddress_A,
   464         CapabilityTestHelper::OptionsRequestL( KCapabilityTestAddress_A,
   460                                          KCapabilityTestAddress_B,
   465                                          KCapabilityTestAddress_B,
   461                                          KCapabilitySwisFeature,
   466                                          KCapabilitySwisFeature,
   462                                          KCapabilitySwisFeature,
   467                                          KCapabilitySwisFeature,
   463                                          KCapabilityTestAcceptHeader,
   468                                          KCapabilityTestAcceptHeader,
   464                                          KCapabilityTestTerminalID_B,
   469                                          KCapabilityTestTerminalID_B,
   465                                          KCapabilityPAssertedIdentity );
   470                                          KCapabilityPAssertedIdentity,
       
   471                                          KCapabilityTestSDP);
   466     CleanupStack::PushL( options );        
   472     CleanupStack::PushL( options );        
   467     iTerminal->QueryRequestedL( *options );            
   473     iTerminal->QueryRequestedL( *options );   
       
   474 
       
   475     
   468     EUNIT_ASSERT( iConcreteSettings->SipAddresses().MdcaCount() == 1 );    
   476     EUNIT_ASSERT( iConcreteSettings->SipAddresses().MdcaCount() == 1 );    
       
   477     EUNIT_ASSERT_EQUALS( iConcreteSettings->iVideoCodecs->MdcaCount(), 1 );
       
   478     EUNIT_ASSERT_EQUALS( iConcreteSettings->iVideoCodecs->MdcaPoint(0), _L("H263-2000/90000") );
   469     CleanupStack::PopAndDestroy( options );
   479     CleanupStack::PopAndDestroy( options );
   470   
   480   
   471 
       
   472     CSipSseTestTls* server = CSipSseTestTls::Storage();
   481     CSipSseTestTls* server = CSipSseTestTls::Storage();
       
   482     CSipSseTestTls::Storage()->Clear();
       
   483     iTerminal->iRequestedQuery = NULL;
       
   484     EUNIT_ASSERT( iTerminal->RequestedQuery() == NULL );
       
   485     
       
   486     // with Asserted Identity, check also that SDP of received request is used
       
   487    options =   
       
   488         CapabilityTestHelper::OptionsRequestL( KCapabilityTestAddress_A,
       
   489                                          KCapabilityTestAddress_B,
       
   490                                          KCapabilitySwisFeature,
       
   491                                          KCapabilitySwisFeature,
       
   492                                          KCapabilityTestAcceptHeader,
       
   493                                          KCapabilityTestTerminalID_B,
       
   494                                          KCapabilityPAssertedIdentity,
       
   495                                          KCapabilityTestSDP264And263);
       
   496     CleanupStack::PushL( options );        
       
   497     iTerminal->QueryRequestedL( *options );   
       
   498     EUNIT_ASSERT( iConcreteSettings->SipAddresses().MdcaCount() == 1 );    
       
   499     EUNIT_ASSERT_EQUALS( iConcreteSettings->iVideoCodecs->MdcaCount(), 2 );
       
   500     EUNIT_ASSERT_EQUALS( iConcreteSettings->iVideoCodecs->MdcaPoint(0), _L("H264/90000") );
       
   501     EUNIT_ASSERT_EQUALS( iConcreteSettings->iVideoCodecs->MdcaPoint(1), _L("H263-2000/90000") );
       
   502     CleanupStack::PopAndDestroy( options );
       
   503     
   473     CSipSseTestTls::Storage()->Clear();
   504     CSipSseTestTls::Storage()->Clear();
   474     
   505     
   475     iTerminal->iRequestedQuery = NULL;
   506     iTerminal->iRequestedQuery = NULL;
   476     EUNIT_ASSERT( iTerminal->RequestedQuery() == NULL );
   507     EUNIT_ASSERT( iTerminal->RequestedQuery() == NULL );
   477 
   508 
   479         CapabilityTestHelper::OptionsRequestL( KCapabilityTestAddress_A,
   510         CapabilityTestHelper::OptionsRequestL( KCapabilityTestAddress_A,
   480                                          KCapabilityTestAddress_B,
   511                                          KCapabilityTestAddress_B,
   481                                          KCapabilityTestDataFeature,
   512                                          KCapabilityTestDataFeature,
   482                                          KCapabilitySwisFeature,
   513                                          KCapabilitySwisFeature,
   483                                          KCapabilityTestAcceptHeader,
   514                                          KCapabilityTestAcceptHeader,
   484                                          KCapabilityTestTerminalID_B );
   515                                          KCapabilityTestTerminalID_B);
   485     CleanupStack::PushL( options );
   516     CleanupStack::PushL( options );
   486     
   517     
   487     iTerminal->QueryRequestedL( *options );
   518     iTerminal->QueryRequestedL( *options );
   488     EUNIT_ASSERT( iTerminal->RequestedQuery() == NULL );
   519     EUNIT_ASSERT( iTerminal->RequestedQuery() == NULL );
   489     EUNIT_ASSERT( server->iResponseToRequest == 
   520     EUNIT_ASSERT( server->iResponseToRequest ==