mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaTerminal.cpp
branchRCL_3
changeset 33 bc78a40cd63c
parent 32 73a1feb507fb
--- a/mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaTerminal.cpp	Tue Aug 31 15:12:07 2010 +0300
+++ b/mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaTerminal.cpp	Wed Sep 01 12:31:01 2010 +0100
@@ -40,6 +40,7 @@
 #include "musavasharedobject.h"
 #include "mussettings.h"
 
+_LIT8( KCapabilityTestOriginatorSIPAddressUri8, "sip:user@domain.com");
 
 // CONSTRUCTION
 UT_CMusAvaTerminal* UT_CMusAvaTerminal::NewL()
@@ -117,21 +118,13 @@
         }
     
     CSipSseTestTls::OpenL();
-    iStorage = CSipSseTestTls::Storage();
-    iStorage->Set( MusSettingsKeys::KFastStartupMode, 
-        MusSettingsKeys::EFastModeOff );
     }
 
 
 void UT_CMusAvaTerminal::Teardown(  )
     {
-    if ( iStorage )
-        {
-        iStorage->Clear();
-        CSipSseTestTls::Close();
-        iStorage = NULL;
-        }
 
+    CSipSseTestTls::Close();
     delete iTerminal;
     delete iOptionHandler;
     delete iConcreteSettings;
@@ -226,7 +219,7 @@
     if ( !iProfile->iArray )
         {
         iProfile->iArray = new ( ELeave ) CDesC8ArrayFlat( 1 );
-        iProfile->iArray->AppendL( _L8("sip:user@domain.com") );
+        iProfile->iArray->AppendL( KCapabilityTestOriginatorSIPAddressUri8 );
         }
     
     EUNIT_ASSERT( iExchange->Terminals().Count() == 0 );
@@ -265,6 +258,8 @@
     EUNIT_ASSERT( terminal.iQueries == 1 );
     EUNIT_ASSERT( terminal.iQuery == query );
     
+
+    CMusAvaCapabilityQuery* tmpQuery = query;
     query = CMusAvaCapabilityQuery::NewL( *iCapability,
                                         *iSIPConnection,
                                         *iProfile,
@@ -272,12 +267,22 @@
     CleanupStack::PushL( query );
     EUNIT_ASSERT( iExchange->Terminals().Count() == 1 );
     EUNIT_ASSERT( terminal.iQueries == 2 );
-    
+ 
+
     //Second query cannot be executed
     EUNIT_ASSERT_SPECIFIC_LEAVE( terminal.ExecuteQueryL( query ),
                                  KErrAlreadyExists )
     EUNIT_ASSERT( terminal.iQuery != query );
+
+    
+    //Uri identical case
+	terminal.iQuery = NULL;
+	query->iRemoteUri.Copy( KCapabilityTestOriginatorSIPAddressUri8 );
+	EUNIT_ASSERT_SPECIFIC_LEAVE( terminal.ExecuteQueryL( query ),
+								 KErrNotSupported )      
+        
     CleanupStack::PopAndDestroy( query );
+    delete tmpQuery;
     }
 
 
@@ -454,7 +459,7 @@
     
     CleanupStack::PopAndDestroy( options );
 
-    // with Asserted Identity
+    // with Asserted Identity, check also that SDP of received request is used
     options =   
         CapabilityTestHelper::OptionsRequestL( KCapabilityTestAddress_A,
                                          KCapabilityTestAddress_B,
@@ -462,15 +467,41 @@
                                          KCapabilitySwisFeature,
                                          KCapabilityTestAcceptHeader,
                                          KCapabilityTestTerminalID_B,
-                                         KCapabilityPAssertedIdentity );
+                                         KCapabilityPAssertedIdentity,
+                                         KCapabilityTestSDP);
     CleanupStack::PushL( options );        
-    iTerminal->QueryRequestedL( *options );            
+    iTerminal->QueryRequestedL( *options );   
+
+    
     EUNIT_ASSERT( iConcreteSettings->SipAddresses().MdcaCount() == 1 );    
+    EUNIT_ASSERT_EQUALS( iConcreteSettings->iVideoCodecs->MdcaCount(), 1 );
+    EUNIT_ASSERT_EQUALS( iConcreteSettings->iVideoCodecs->MdcaPoint(0), _L("H263-2000/90000") );
     CleanupStack::PopAndDestroy( options );
   
-
     CSipSseTestTls* server = CSipSseTestTls::Storage();
     CSipSseTestTls::Storage()->Clear();
+    iTerminal->iRequestedQuery = NULL;
+    EUNIT_ASSERT( iTerminal->RequestedQuery() == NULL );
+    
+    // with Asserted Identity, check also that SDP of received request is used
+   options =   
+        CapabilityTestHelper::OptionsRequestL( KCapabilityTestAddress_A,
+                                         KCapabilityTestAddress_B,
+                                         KCapabilitySwisFeature,
+                                         KCapabilitySwisFeature,
+                                         KCapabilityTestAcceptHeader,
+                                         KCapabilityTestTerminalID_B,
+                                         KCapabilityPAssertedIdentity,
+                                         KCapabilityTestSDP264And263);
+    CleanupStack::PushL( options );        
+    iTerminal->QueryRequestedL( *options );   
+    EUNIT_ASSERT( iConcreteSettings->SipAddresses().MdcaCount() == 1 );    
+    EUNIT_ASSERT_EQUALS( iConcreteSettings->iVideoCodecs->MdcaCount(), 2 );
+    EUNIT_ASSERT_EQUALS( iConcreteSettings->iVideoCodecs->MdcaPoint(0), _L("H264/90000") );
+    EUNIT_ASSERT_EQUALS( iConcreteSettings->iVideoCodecs->MdcaPoint(1), _L("H263-2000/90000") );
+    CleanupStack::PopAndDestroy( options );
+    
+    CSipSseTestTls::Storage()->Clear();
     
     iTerminal->iRequestedQuery = NULL;
     EUNIT_ASSERT( iTerminal->RequestedQuery() == NULL );
@@ -481,7 +512,7 @@
                                          KCapabilityTestDataFeature,
                                          KCapabilitySwisFeature,
                                          KCapabilityTestAcceptHeader,
-                                         KCapabilityTestTerminalID_B );
+                                         KCapabilityTestTerminalID_B);
     CleanupStack::PushL( options );
     
     iTerminal->QueryRequestedL( *options );