mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaCapabilityQuery.cpp
branchRCL_3
changeset 33 bc78a40cd63c
parent 32 73a1feb507fb
equal deleted inserted replaced
32:73a1feb507fb 33:bc78a40cd63c
    31 #include <sipstrings.h>
    31 #include <sipstrings.h>
    32 #include <sipstrconsts.h>
    32 #include <sipstrconsts.h>
    33 #include <stringpool.h>
    33 #include <stringpool.h>
    34 #include <sipservertransaction.h>
    34 #include <sipservertransaction.h>
    35 #include <siptransactionbase.h>
    35 #include <siptransactionbase.h>
       
    36 #include <sdpfmtattributefield.h>
       
    37 #include <SdpMediaField.h>
       
    38 #include <SdpRtpmapValue.h>
       
    39 
       
    40 #include <e32debug.h>
       
    41 
    36 //  INTERNAL INCLUDES
    42 //  INTERNAL INCLUDES
    37 #include "musavaoptionhandler.h"
    43 #include "musavaoptionhandler.h"
    38 #include "musavacapabilitytesthelper.h"
    44 #include "musavacapabilitytesthelper.h"
    39 #include "CSipSseTestTls.h"
    45 #include "CSipSseTestTls.h"
    40 #include "musavaCapabilityExchange.h"
    46 #include "musavaCapabilityExchange.h"
    46 #include "mussettingskeys.h"
    52 #include "mussettingskeys.h"
    47 #include "mussettings.h"
    53 #include "mussettings.h"
    48 #include "musavasip.h"
    54 #include "musavasip.h"
    49 #include "musavacapabilityqueryobserverimp.h"
    55 #include "musavacapabilityqueryobserverimp.h"
    50 
    56 
       
    57 _LIT8( KRTPCapabilitySDPAttributeClockrate, "90000" );
       
    58 _LIT8( KRTPCapabilitySDPAttributePayloadTypeH264, "98" );
       
    59 _LIT8( KRTPCapabilitySDPAttributeCodec, "H264" );
       
    60 
       
    61 _LIT8( KRTPCapabilitySDPAttributePayloadTypeH263, "96" );
       
    62 _LIT8( KRTPCapabilitySDPAttributeCodecH263, "H263-2000" );
    51 
    63 
    52 // CONSTRUCTION
    64 // CONSTRUCTION
    53 UT_CMusAvaCapabilityQuery* UT_CMusAvaCapabilityQuery::NewL()
    65 UT_CMusAvaCapabilityQuery* UT_CMusAvaCapabilityQuery::NewL()
    54     {
    66     {
    55     UT_CMusAvaCapabilityQuery* self = UT_CMusAvaCapabilityQuery::NewLC(); 
    67     UT_CMusAvaCapabilityQuery* self = UT_CMusAvaCapabilityQuery::NewLC(); 
   128                                             *iProfile,
   140                                             *iProfile,
   129                                             KCapabilityTestSIPAddressUri_B );
   141                                             KCapabilityTestSIPAddressUri_B );
   130 
   142 
   131     CSipSseTestTls::OpenL();
   143     CSipSseTestTls::OpenL();
   132     iStorage = CSipSseTestTls::Storage();
   144     iStorage = CSipSseTestTls::Storage();
   133     iStorage->Set( MusSettingsKeys::KFastStartupMode, 
       
   134         MusSettingsKeys::EFastModeOff );
       
   135     iOpVariantSetting = MultimediaSharingSettings::OperatorVariantSettingL();
   145     iOpVariantSetting = MultimediaSharingSettings::OperatorVariantSettingL();
   136     } 
   146     } 
   137 
   147 
   138 void UT_CMusAvaCapabilityQuery::Teardown(  )
   148 void UT_CMusAvaCapabilityQuery::Teardown(  )
   139     {
   149     {
   378     
   388     
   379     CleanupStack::PopAndDestroy( query );
   389     CleanupStack::PopAndDestroy( query );
   380     CleanupStack::PopAndDestroy( capability );
   390     CleanupStack::PopAndDestroy( capability );
   381     CleanupStack::PopAndDestroy( exchange );
   391     CleanupStack::PopAndDestroy( exchange );
   382     CleanupStack::PopAndDestroy( capabQueryObserver );
   392     CleanupStack::PopAndDestroy( capabQueryObserver );
       
   393     }
       
   394 
       
   395 
       
   396 void UT_CMusAvaCapabilityQuery::UT_CMusAvaCapabilityQuery_ValidateUriL()
       
   397     {
       
   398 	if( iQuery->iOriginator )
       
   399 		{
       
   400 	    delete iQuery->iOriginator;
       
   401 		}
       
   402 	
       
   403     //SIP Uri case, identical
       
   404 	CSIPAddress* iOriginatorSipAddress = CSIPAddress::DecodeL( _L8("sip:username111@domain.com") );
       
   405     CleanupStack::PushL( iOriginatorSipAddress );
       
   406 
       
   407 	iQuery->iOriginator = CUri8::NewL( iOriginatorSipAddress->Uri8().Uri() );
       
   408 	iQuery->iRemoteUri.Copy( _L8("sip:username111@domain.com") );
       
   409 	
       
   410 	EUNIT_ASSERT( iQuery->ValidateUri() == EFalse );
       
   411 	
       
   412     CleanupStack::PopAndDestroy(iOriginatorSipAddress);    
       
   413 	
       
   414     delete iQuery->iOriginator;
       
   415     
       
   416     //SIP Uri case, not identical
       
   417 	iOriginatorSipAddress = CSIPAddress::DecodeL( _L8("sip:username111@domain.com") );	
       
   418     CleanupStack::PushL( iOriginatorSipAddress );
       
   419     
       
   420 	iQuery->iOriginator = CUri8::NewL( iOriginatorSipAddress->Uri8().Uri() );	
       
   421 	iQuery->iRemoteUri.Copy( _L8("sip:username222@domain.com") );
       
   422 	
       
   423 	EUNIT_ASSERT( iQuery->ValidateUri() == ETrue );
       
   424     CleanupStack::PopAndDestroy(iOriginatorSipAddress);
       
   425 	
       
   426     delete iQuery->iOriginator;
       
   427     
       
   428     //TEL Uri, identical
       
   429 	iOriginatorSipAddress = CSIPAddress::DecodeL( _L8("sip:18586037801@domain.com") );
       
   430     CleanupStack::PushL( iOriginatorSipAddress );
       
   431 
       
   432 	iQuery->iOriginator = CUri8::NewL( iOriginatorSipAddress->Uri8().Uri() );
       
   433 	iQuery->iRemoteUri.Copy( _L8("tel:8586037801") );
       
   434 	
       
   435 	EUNIT_ASSERT( iQuery->ValidateUri() == EFalse );
       
   436     CleanupStack::PopAndDestroy(iOriginatorSipAddress);
       
   437 
       
   438     delete iQuery->iOriginator;
       
   439 	
       
   440     //TEL Uri, not identical
       
   441 	iOriginatorSipAddress = CSIPAddress::DecodeL( _L8("sip:18586037801@domain.com") );
       
   442     CleanupStack::PushL( iOriginatorSipAddress );
       
   443 
       
   444 	iQuery->iOriginator = CUri8::NewL( iOriginatorSipAddress->Uri8().Uri() );
       
   445 	iQuery->iRemoteUri.Copy( _L8("tel:9876543210") );
       
   446 	
       
   447 	EUNIT_ASSERT( iQuery->ValidateUri() == ETrue );
       
   448     CleanupStack::PopAndDestroy(iOriginatorSipAddress);
   383     }
   449     }
   384 
   450 
   385 void UT_CMusAvaCapabilityQuery::UT_CMusAvaCapabilityQuery_CanceledL(  )
   451 void UT_CMusAvaCapabilityQuery::UT_CMusAvaCapabilityQuery_CanceledL(  )
   386     {
   452     {
   387     
   453     
  1062     CleanupStack::PopAndDestroy( optionResp );      
  1128     CleanupStack::PopAndDestroy( optionResp );      
  1063                                     
  1129                                     
  1064     
  1130     
  1065     }
  1131     }
  1066 
  1132 
       
  1133 void UT_CMusAvaCapabilityQuery::UT_CMusAvaCapabilityOtherSDPHeadersLL()
       
  1134     {
       
  1135     CSdpDocument* content = CSdpDocument::NewLC();
       
  1136     //AVC Disabled  
       
  1137     MultimediaSharingSettings::SetPropertyValueL(MusSettingsKeys::KEncodingDevice,
       
  1138                                                  KMusDisableAVC );
       
  1139     iQuery->OtherSDPHeadersL(*content);
       
  1140     
       
  1141     RStringF media = MusAvaCapabilityContext::SDPStringL( 
       
  1142                                           SdpCodecStringConstants::EMediaVideo );
       
  1143     RStringF rtpmap =  MusAvaCapabilityContext::SDPStringL( 
       
  1144                                  SdpCodecStringConstants::EAttributeRtpmap );
       
  1145      
       
  1146     RPointerArray<CSdpMediaField>& mediaFields = content->MediaFields();
       
  1147     
       
  1148     for ( TInt i=0; i < mediaFields.Count(); i++ )
       
  1149      {
       
  1150      if ( mediaFields[ i ]->Media() == media )
       
  1151          {
       
  1152          EUNIT_ASSERT( mediaFields[ i ]->FormatList().Find( KCapabilitySwisFormatListH263Only ) >= KErrNone ); 
       
  1153          RPointerArray<CSdpFmtAttributeField>& fmtLines =  
       
  1154                              mediaFields[ i ]->FormatAttributeFields();
       
  1155          EUNIT_ASSERT( fmtLines.Count() == 1 ); 
       
  1156          for ( TInt j=0; j < fmtLines.Count(); j++ )
       
  1157              {
       
  1158              if ( fmtLines[ j ]->Attribute() == rtpmap ) 
       
  1159                  {
       
  1160                  EUNIT_ASSERT(fmtLines[ j ]->Value().Find( KRTPCapabilitySDPAttributeCodecH263 ) == 0 );
       
  1161                  EUNIT_ASSERT(fmtLines[ j ]->Format().Find( KRTPCapabilitySDPAttributePayloadTypeH263 ) == 0 );
       
  1162                  } 
       
  1163              }
       
  1164          }
       
  1165      }
       
  1166     CleanupStack::PopAndDestroy(content );
       
  1167     //AVC Enabled
       
  1168     content = CSdpDocument::NewLC();
       
  1169     MultimediaSharingSettings::SetPropertyValueL(MusSettingsKeys::KEncodingDevice,
       
  1170                                                  KMusDisableAVC - 1 );
       
  1171     iQuery->OtherSDPHeadersL(*content);
       
  1172     
       
  1173     mediaFields = content->MediaFields();
       
  1174     
       
  1175     for ( TInt i=0; i < mediaFields.Count(); i++ )
       
  1176          {
       
  1177          if ( mediaFields[ i ]->Media() == media )
       
  1178              {
       
  1179              EUNIT_ASSERT( mediaFields[ i ]->FormatList().Find( KCapabilitySwisFormatList ) >= KErrNone ); 
       
  1180              RPointerArray<CSdpFmtAttributeField>& fmtLines =  
       
  1181                                  mediaFields[ i ]->FormatAttributeFields();
       
  1182              EUNIT_ASSERT( fmtLines.Count() == 2 )
       
  1183              for ( TInt j=0; j < fmtLines.Count(); j++ )
       
  1184                  {
       
  1185                  if ( fmtLines[ j ]->Attribute() == rtpmap ) 
       
  1186                      {
       
  1187                      if ( j == 0 ) //AVC first i.e. prefered
       
  1188                          {
       
  1189                          EUNIT_ASSERT(fmtLines[ j ]->Value().Find( KRTPCapabilitySDPAttributeCodec ) == 0 );
       
  1190                          EUNIT_ASSERT(fmtLines[ j ]->Format().Find( KRTPCapabilitySDPAttributePayloadTypeH264 ) == 0 );
       
  1191                          }
       
  1192                      else
       
  1193                          {
       
  1194                          EUNIT_ASSERT(fmtLines[ j ]->Value().Find( KRTPCapabilitySDPAttributeCodecH263 ) == 0 );
       
  1195                          EUNIT_ASSERT(fmtLines[ j ]->Format().Find( KRTPCapabilitySDPAttributePayloadTypeH263 ) == 0 );
       
  1196                          }
       
  1197                      }                     
       
  1198                  }
       
  1199              }
       
  1200          }
       
  1201     CleanupStack::PopAndDestroy(content );
       
  1202     }
  1067 //  TEST TABLE
  1203 //  TEST TABLE
  1068 
  1204 
  1069 EUNIT_BEGIN_TEST_TABLE( 
  1205 EUNIT_BEGIN_TEST_TABLE( 
  1070     UT_CMusAvaCapabilityQuery,
  1206     UT_CMusAvaCapabilityQuery,
  1071     "CMusAvaCapabilityQuery",
  1207     "CMusAvaCapabilityQuery",
  1082     "ExecuteL - test ",
  1218     "ExecuteL - test ",
  1083     "CMusAvaCapabilityQuery",
  1219     "CMusAvaCapabilityQuery",
  1084     "ExecuteL",
  1220     "ExecuteL",
  1085     "FUNCTIONALITY",
  1221     "FUNCTIONALITY",
  1086     SetupL,UT_CMusAvaCapabilityQuery_ExecuteLL, Teardown)
  1222     SetupL,UT_CMusAvaCapabilityQuery_ExecuteLL, Teardown)
  1087 
  1223   
       
  1224 EUNIT_TEST(
       
  1225     "ValidateUri - test ",
       
  1226     "CMusAvaCapabilityQuery",
       
  1227     "ValidateUri",
       
  1228     "FUNCTIONALITY",
       
  1229     SetupL,UT_CMusAvaCapabilityQuery_ValidateUriL, Teardown)    
       
  1230     
  1088 EUNIT_TEST(
  1231 EUNIT_TEST(
  1089     "Canceled - test ",
  1232     "Canceled - test ",
  1090     "CMusAvaCapabilityQuery",
  1233     "CMusAvaCapabilityQuery",
  1091     "Canceled",
  1234     "Canceled",
  1092     "FUNCTIONALITY",
  1235     "FUNCTIONALITY",
  1153     "CMusAvaCapabilityQuery",
  1296     "CMusAvaCapabilityQuery",
  1154     "DoCompleted200OKL",
  1297     "DoCompleted200OKL",
  1155     "FUNCTIONALITY",
  1298     "FUNCTIONALITY",
  1156     SetupL,UT_CMusAvaCapabilityQuery_DoCompleted200OKLL, Teardown)  
  1299     SetupL,UT_CMusAvaCapabilityQuery_DoCompleted200OKLL, Teardown)  
  1157     
  1300     
       
  1301 EUNIT_TEST(
       
  1302     "OtherSDPHeadersL - test ",
       
  1303     "CMusAvaCapabilityQuery",
       
  1304     "OtherSDPHeadersL",
       
  1305     "FUNCTIONALITY",
       
  1306     SetupL,UT_CMusAvaCapabilityOtherSDPHeadersLL, Teardown)  
       
  1307 
       
  1308     
  1158 EUNIT_END_TEST_TABLE
  1309 EUNIT_END_TEST_TABLE
  1159 
  1310 
  1160 //  END OF FILE
  1311 //  END OF FILE