--- a/mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaCapabilityQuery.cpp Tue Feb 02 00:09:07 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1248 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-// CLASS HEADER
-#include "UT_CMusAvaCapabilityQuery.h"
-#include "musavasettingsimp.h"
-#include "musavaobserverimp.h"
-#include "musavaavailabilityobserver.h"
-#include "musavaavailabilityobserverimp.h"
-#include "muslogger.h"
-#include "mussesseioninformationapi.h"
-
-// EXTERNAL INCLUDES
-#include <EscapeUtils.h>
-#include <digia/eunit/eunitmacros.h>
-#include <sipstrings.h>
-#include <sipstrconsts.h>
-#include <stringpool.h>
-#include <sipservertransaction.h>
-#include <siptransactionbase.h>
-#include <sdpfmtattributefield.h>
-#include <SdpMediaField.h>
-#include <SdpRtpmapValue.h>
-
-#include <e32debug.h>
-
-// INTERNAL INCLUDES
-#include "musavaoptionhandler.h"
-#include "musavacapabilitytesthelper.h"
-#include "CSipSseTestTls.h"
-#include "musavaCapabilityExchange.h"
-#include "musavacapabilitysipagent.h"
-#include "MusAvaCapabilityQuery.h"
-#include "musavaterminal.h"
-#include "sipprofile.h"
-#include "musavasharedobject.h"
-#include "mussettingskeys.h"
-#include "mussettings.h"
-#include "musavasip.h"
-#include "musavacapabilityqueryobserverimp.h"
-
-_LIT8( KRTPCapabilitySDPAttributeClockrate, "90000" );
-_LIT8( KRTPCapabilitySDPAttributePayloadTypeH264, "98" );
-_LIT8( KRTPCapabilitySDPAttributeCodec, "H264" );
-
-_LIT8( KRTPCapabilitySDPAttributePayloadTypeH263, "96" );
-_LIT8( KRTPCapabilitySDPAttributeCodecH263, "H263-2000" );
-
-// CONSTRUCTION
-UT_CMusAvaCapabilityQuery* UT_CMusAvaCapabilityQuery::NewL()
- {
- UT_CMusAvaCapabilityQuery* self = UT_CMusAvaCapabilityQuery::NewLC();
- CleanupStack::Pop();
-
- return self;
- }
-
-UT_CMusAvaCapabilityQuery* UT_CMusAvaCapabilityQuery::NewLC()
- {
- UT_CMusAvaCapabilityQuery* self = new( ELeave ) UT_CMusAvaCapabilityQuery();
- CleanupStack::PushL( self );
- self->ConstructL();
-
- return self;
- }
-
-// Destructor (virtual by CBase)
-UT_CMusAvaCapabilityQuery::~UT_CMusAvaCapabilityQuery()
- {
- }
-
-// Default constructor
-UT_CMusAvaCapabilityQuery::UT_CMusAvaCapabilityQuery()
- {
- }
-
-// Second phase construct
-void UT_CMusAvaCapabilityQuery::ConstructL()
- {
- // The ConstructL from the base class CEUnitTestSuiteClass must be called.
- // It generates the test case table.
- CEUnitTestSuiteClass::ConstructL();
- }
-
-// METHODS
-
-void UT_CMusAvaCapabilityQuery::SetupL( )
- {
- iSharedObject = CMusAvaSharedObject::GetSingletonL();
- iAvailabilityObserver = CMusAvaAvailabilityObserverImp::NewL();
- iConcreteSettings = CMusAvaSettingsImp::NewL();
- iOptionHandler = CMusAvaOptionHandler::NewL( *iAvailabilityObserver,
- *iConcreteSettings );
- iExchange = iOptionHandler->iCapabilityExchange;
- iSipAgent = CMusAvaCapabilitySipAgent::NewL( *iExchange,
- *iOptionHandler->iSharedObj,
- iOptionHandler->iObserver );
-
- iCapability = iOptionHandler->iSwisCapability;
-
- MSIPConnectionObserver& connectionObserver =
- iSharedObject->MusAvaSip().ConnectionObserver();
-
- CSIP& sip = iSharedObject->MusAvaSip().Sip();
- iSharedObject->MusAvaSip().CreateProfileL();
- iProfile = iSharedObject->MusAvaSip().Profile();
- if ( !iProfile->iArray )
- {
- iProfile->iArray = new ( ELeave ) CDesC8ArrayFlat( 1 );
- iProfile->iArray->AppendL( _L8("sip:user@domain.com") );
- }
- if ( !iProfile->iRegisteredContact )
- {
- iProfile->iRegisteredContact = KRegisteredContact().AllocL();
- }
-
- TUint32 iapId;
- TInt err = iProfile->GetParameter( KSIPAccessPointId, iapId );
- iSIPConnection = CSIPConnection::NewL( sip,
- iapId,
- connectionObserver );
-
- iQuery = CMusAvaCapabilityQuery::NewL( *iCapability,
- *iSIPConnection,
- *iProfile,
- KCapabilityTestSIPAddressUri_B );
-
- CSipSseTestTls::OpenL();
- iStorage = CSipSseTestTls::Storage();
- iOpVariantSetting = MultimediaSharingSettings::OperatorVariantSettingL();
- }
-
-void UT_CMusAvaCapabilityQuery::Teardown( )
- {
- delete HelpFlags::iTestSipAddress;
- HelpFlags::iTestSipAddress = NULL;
- delete iQuery;
- CMusAvaSharedObject::DeleteSingleton();
- if ( iStorage )
- {
- iStorage->Clear();
- CSipSseTestTls::Close();
- iStorage = NULL;
- }
-
- delete iSipAgent;
- delete iOptionHandler;
- delete iConcreteSettings;
- delete iAvailabilityObserver;
- delete iSIPConnection;
- PropertyHelper::Close();
- }
-
-void UT_CMusAvaCapabilityQuery::UT_CMusAvaCapabilityQuery_NewLL( )
- {
- // 1.basic test and iQuery is constructed already. Check it
- EUNIT_ASSERT( iQuery );
-
- // 2.test for sipaddress is empty,should leave
- delete iQuery;
- iQuery = NULL; // clean the previous one
- TRAPD( error, iQuery = CMusAvaCapabilityQuery::NewL( *iCapability,
- *iSIPConnection,
- *iProfile,
- KNullDesC ) );
- EUNIT_ASSERT( error == KErrNoMemory || error == KErrArgument );
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT( !iQuery ); // iQuery Should be empty.
-
- // 3.Contact user part tests, getting KSIPRegisteredContact leaves
- delete iProfile->iRegisteredContact;
- iProfile->iRegisteredContact = NULL;
- TRAP( error, iQuery = CMusAvaCapabilityQuery::NewL( *iCapability,
- *iSIPConnection,
- *iProfile,
- KCapabilityTestSIPAddressUri_B ) );
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT( error == KErrNotFound );
- EUNIT_ASSERT( !iQuery ); // iQuery Should be empty.
-
- // 4.Contact user part tests, CSIPContactHeader::DecodeL has less than 1.
- iProfile->iRegisteredContact = KRegisteredContact().AllocL();
- HelpFlags::iEmptyContactHeader = ETrue;
- TRAP( error, iQuery = CMusAvaCapabilityQuery::NewL( *iCapability,
- *iSIPConnection,
- *iProfile,
- KCapabilityTestSIPAddressUri_B ) );
- HelpFlags::iEmptyContactHeader = EFalse;
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT( error == KErrNotFound );
- EUNIT_ASSERT( !iQuery ); // iQuery Should be empty.
-
- // 5.Contact user part tests ,CSIPContactHeader::DecodeL has 1 contact
- delete iQuery;
- iQuery = NULL; // clean the previous one
- delete iProfile->iRegisteredContact;
- iProfile->iRegisteredContact = NULL;
- iProfile->iRegisteredContact = KRegisteredContact().AllocL();
-
- HelpFlags::iTestSipAddress = CSIPAddress::DecodeL( KRegisteredContact );
- HelpFlags::iUseTestSipAddress = ETrue;
-
- TRAP( error, iQuery = CMusAvaCapabilityQuery::NewL( *iCapability,
- *iSIPConnection,
- *iProfile,
- KCapabilityTestSIPAddressUri_B ) );
- HelpFlags::iUseTestSipAddress = EFalse;
- if ( error == KErrNoMemory ) User::Leave( error );
- delete HelpFlags::iTestSipAddress;
- HelpFlags::iTestSipAddress = NULL;
-
- EUNIT_ASSERT( error == KErrNone );
- EUNIT_ASSERT( iQuery );
-
- // 6.Contact user part tests ,CSIPContactHeader::DecodeL has 1 contact but
- // sip address empty
- delete iQuery;
- iQuery = NULL; // clean the previous one
-
- delete iProfile->iRegisteredContact;
- iProfile->iRegisteredContact = NULL;
- iProfile->iRegisteredContact = KRegisteredContact().AllocL();
-
- HelpFlags::iUseTestSipAddress = ETrue;
- TRAP(error,iQuery = CMusAvaCapabilityQuery::NewL( *iCapability,
- *iSIPConnection,
- *iProfile,
- KCapabilityTestSIPAddressUri_B ));
- HelpFlags::iUseTestSipAddress = EFalse;
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT( error == KErrNotFound );
- EUNIT_ASSERT( !iQuery ); // iQuery Should be empty.
-
- }
-
-void UT_CMusAvaCapabilityQuery::UT_CMusAvaCapabilityQuery_ExecuteLL( )
- {
- /* includes testing of functions:
- * Prepare(),
- * DoCompletedL() case KMUSAVASIP200
- * DoCompleted200OKL()
- * ValidateCodecL()
- * ValidateAttributesL()
- * ValidateContactL(),
- * Retrying()
- * Capability()
- * SetState()
- * Terminal()
- * ExecuteL()
- * CompletedL()
- * State()
- * Result()
- * AddAcceptContactHeaderL()
- * AddContactHeaderL()
- * ResetAndDestroyTrx()
- * LocalAddress()
- */
-
- EUNIT_ASSERT( iExchange->Terminals().Count() == 1 );
-
- CMusAvaTerminal& terminal = iQuery->Terminal();
- EUNIT_ASSERT( terminal.iQueries == 1 );
- EUNIT_ASSERT( terminal.iQuery == NULL );
-
- EUNIT_ASSERT( iQuery->Terminal().Uri().Compare( KCapabilityTestSIPAddressUri8_B ) == 0 );
-
- iQuery->SetState( CMusAvaCapabilityQueryBase::ECapabilityQueryPrepared );
- TRAPD( error, iQuery->ExecuteL() );
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT( error != KErrNone );
-
- iQuery->SetState( CMusAvaCapabilityQueryBase::ECapabilityQueryCreated );
- iQuery->ExecuteL( );
-
- EUNIT_ASSERT( iQuery->State() ==
- CMusAvaCapabilityQueryBase::ECapabilityQueryExecuting );
- EUNIT_ASSERT( !iQuery->iTimer );
- EUNIT_ASSERT( iQuery->iTrx );
-
- EUNIT_ASSERT( iStorage->iClientRequest->Method() ==
- SIPStrings::StringF( SipStrConsts::EOptions ) );
- EUNIT_ASSERT( iStorage->iClientRequest->MessageElements().Content().Length()
- != 0 );
- _LIT8(contentType,"application/sdp");
- EUNIT_ASSERT(
- iStorage->iClientRequest->MessageElements().ContentType() );
- EUNIT_ASSERT(
- iStorage->iClientRequest->MessageElements().UserHeaders().Count()
- == 6 );
- MUS_HEADER_ASSERT( iStorage->iClientRequest, 0,
- KCapabilityTestAcceptContactHeader );
- MUS_HEADER_ASSERT( iStorage->iClientRequest, 5,
- KCapabilityTestContactHeader_A1Updated );
- MUS_HEADER_ASSERT( iStorage->iClientRequest, 3,
- KCapabilityTestAcceptHeader );
- EUNIT_ASSERT( iOptionHandler->State() ==
- MMusAvaObserver::EMusAvaStatusNotExecuted );
-
- // set response 200 OK FT
- CapabilityTestHelper::SetResponseL( *iQuery->iTrx, KMUSAVASIP200,
- SipStrConsts::EPhraseOk,
- KCapabilityTestAddress_B,
- KCapabilitySwisFeature,
- KCapabilityTestTerminalID_B,
- KPAssertedIdentity_B,
- KCapabilityTestSDP );
- iQuery->CompletedL( *iQuery->iTrx );
-
- MusSettingsKeys::TOperatorVariant op = MultimediaSharingSettings::OperatorVariantSettingL();
- EUNIT_ASSERT( op == MusSettingsKeys::EStandard );
-
- EUNIT_ASSERT( iQuery->iState ==
- CMusAvaCapabilityQueryBase::ECapabilityQueryCompleted );
- EUNIT_ASSERT( !iQuery->Retrying() );
- EUNIT_ASSERT( iQuery->iTimer == NULL );
-
- EUNIT_ASSERT( iStorage->iClientRequest->Method() ==
- SIPStrings::StringF( SipStrConsts::EOptions ) );
-
- EUNIT_ASSERT( iStorage->iClientRequest->MessageElements().Content().Length()
- > 0 );
- EUNIT_ASSERT( iStorage->iClientRequest->MessageElements().ContentType() );
- EUNIT_ASSERT( iStorage->iClientRequest->RemoteUri().Uri().UriDes().Compare(
- KCapabilityTestSIPAddressUri8_B ) == 0);
- EUNIT_ASSERT( iStorage->iClientRequest->MessageElements().UserHeaders().
- Count() == 6 );
- MUS_HEADER_ASSERT( iStorage->iClientRequest,
- 0,
- KCapabilityTestAcceptContactHeader );
- MUS_HEADER_ASSERT( iStorage->iClientRequest,
- 5,
- KCapabilityTestContactHeader_A1Updated );
- MUS_HEADER_ASSERT( iStorage->iClientRequest, 3,
- KCapabilityTestAcceptHeader );
- EUNIT_ASSERT( iOptionHandler->State() ==
- MMusAvaObserver::EMusAvaStatusAvailable );
-
-
- iQuery->SetState( CMusAvaCapabilityQueryBase::ECapabilityQueryCompleted );
- TRAP( error, iQuery->ExecuteL() );
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT ( error == KErrNone );
-
- iQuery->DoRetryL();
- TRAP( error, iQuery->ExecuteL() );
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT ( error == KErrNone );
- iQuery->DoRetryL();
-
- // set TerminalId for CMusAvaCapabilityExchange, terminal Id will be added to headers
- CMusAvaCapabilityQueryObserverImp* capabQueryObserver =
- new ( ELeave ) CMusAvaCapabilityQueryObserverImp();
- CleanupStack::PushL( capabQueryObserver );
- CMusAvaCapabilityExchange* exchange =
- CMusAvaCapabilityExchange::NewL(
- KCapabilityTestTerminalID_A,
- *capabQueryObserver );
- CleanupStack::PushL( exchange );
- CMusAvaCapability* capability = CMusAvaCapability::NewL( *exchange );
- CleanupStack::PushL( capability );
-
- CMusAvaCapabilityQuery* query = CMusAvaCapabilityQuery::NewL( *capability,
- *iSIPConnection,
- *iProfile,
- KCapabilityTestSIPAddressUri_B );
- CleanupStack::PushL( query );
-
- query->SetState( CMusAvaCapabilityQueryBase::ECapabilityQueryCreated );
- query->ExecuteL();
- EUNIT_ASSERT_EQUALS( iStorage->iClientRequest->MessageElements().UserHeaders().Count(), 7 );
- MUS_HEADER_ASSERT( iStorage->iClientRequest, 6,
- KCapabilityTestUserAgent_A );
-
- CleanupStack::PopAndDestroy( query );
- CleanupStack::PopAndDestroy( capability );
- CleanupStack::PopAndDestroy( exchange );
- CleanupStack::PopAndDestroy( capabQueryObserver );
- }
-
-void UT_CMusAvaCapabilityQuery::UT_CMusAvaCapabilityQuery_CanceledL( )
- {
-
- iQuery->ExecuteL( );
-
-
- EUNIT_ASSERT( iQuery->State() ==
- CMusAvaCapabilityQueryBase::ECapabilityQueryExecuting );
-
- // set response 200 OK FT
- CapabilityTestHelper::SetResponseL( *iQuery->iTrx,
- KMUSAVASIP200,
- SipStrConsts::EPhraseOk,
- KCapabilityTestAddress_B,
- KCapabilitySwisFeature,
- KCapabilityTestTerminalID_B,
- KPAssertedIdentity_B,
- KCapabilityTestSDP );
-
- iQuery->Canceled( *iQuery->iTrx );
- EUNIT_ASSERT( iQuery->State() ==
- CMusAvaCapabilityQueryBase::ECapabilityQueryCompleted );
- EUNIT_ASSERT( iQuery->Result() == KCapabilityCapabilitesNotFound );
- EUNIT_ASSERT( iOptionHandler->State() ==
- MMusAvaObserver::EMusAvaOptionNotAvailable );
-
-
- // give different response than iTrx
- iQuery->SetState( CMusAvaCapabilityQueryBase::ECapabilityQueryCreated );
- iQuery->ExecuteL();
- CSIPClientTransaction* cliTransaction = NULL;
- cliTransaction = CSIPClientTransaction::NewL( iQuery->iTrx->Type() );
- CleanupStack::PushL( cliTransaction );
-
- CapabilityTestHelper::SetResponseL( *cliTransaction,
- KMUSAVASIPForbidden,
- SipStrConsts::EPhraseOk,
- KCapabilityTestAddress_B,
- KCapabilitySwisFeature,
- KCapabilityTestTerminalID_B,
- KPAssertedIdentity_B,
- KCapabilityTestSDP );
- iQuery->Canceled( *cliTransaction );
- EUNIT_ASSERT_NOT_EQUALS( iQuery->State(), CMusAvaCapabilityQueryBase::ECapabilityQueryCompleted );
- iQuery->ResetAndDestroyTrx();
- iQuery->Canceled( *cliTransaction );
- EUNIT_ASSERT_NOT_EQUALS( iQuery->State(), CMusAvaCapabilityQueryBase::ECapabilityQueryCompleted );
- CleanupStack::PopAndDestroy( cliTransaction );
- }
-
-void UT_CMusAvaCapabilityQuery::UT_CMusAvaCapabilityQuery_CompletedLL( )
- {
- TRAPD( error, RProperty::Define(
- NMusSessionInformationApi::KCategoryUid,
- NMusSessionInformationApi::KMUSForbidden,
- RProperty::EInt,
- 0 ) );
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT ( error == KErrNone );
-
- TRAP( error, RProperty::Set(
- NMusSessionInformationApi::KCategoryUid,
- NMusSessionInformationApi::KMUSForbidden,
- ( TInt ) NMusSessionInformationApi::EMUSAllowed ) );
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT ( error == KErrNone );
-
- // Test for forbidden response (403)
-
- //Cingular specific case && 403 Forbidden
- MultimediaSharingSettings::SetOperatorVariantSettingL(
- MusSettingsKeys::EOperatorSpecific );
- iQuery->ExecuteL( );
-
- EUNIT_ASSERT( iQuery->State() ==
- CMusAvaCapabilityQueryBase::ECapabilityQueryExecuting );
-
- // set response 200 OK FT
- CapabilityTestHelper::SetResponseL( *iQuery->iTrx,
- KMUSAVASIPForbidden,
- SipStrConsts::EPhraseOk,
- KCapabilityTestAddress_B,
- KCapabilitySwisFeature,
- KCapabilityTestTerminalID_B,
- KPAssertedIdentity_B,
- KCapabilityTestSDP );
-
- iQuery->CompletedL( *iQuery->iTrx );
- EUNIT_ASSERT( iQuery->State() ==
- CMusAvaCapabilityQueryBase::ECapabilityQueryCompleted );
- EUNIT_ASSERT( iQuery->Result() == KCapabilityCapabilitiesForbidden );
- EUNIT_ASSERT( iOptionHandler->State() ==
- MMusAvaObserver::EMusAvaFailureCode );
- // check if it is "forbidden"
- TInt forbidden;
- TRAP( error, RProperty::Get( NMusSessionInformationApi::KCategoryUid,
- NMusSessionInformationApi::KMUSForbidden,
- forbidden ) );
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT ( error == KErrNone );
-
- EUNIT_ASSERT_EQUALS( NMusSessionInformationApi::EMUSForbidden, forbidden );
- // set back the forbidden flag to allowed
- TRAP( error, RProperty::Set( NMusSessionInformationApi::KCategoryUid,
- NMusSessionInformationApi::KMUSForbidden,
- ( TInt ) NMusSessionInformationApi::EMUSAllowed ) );
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT ( error == KErrNone );
-
- MultimediaSharingSettings::SetOperatorVariantSettingL(
- MusSettingsKeys::EStandard );
-
- // give different response than iTrx
- iQuery->SetState( CMusAvaCapabilityQueryBase::ECapabilityQueryCreated );
- iQuery->ExecuteL( );
- CSIPClientTransaction* cliTransaction = NULL;
- cliTransaction = CSIPClientTransaction::NewL( iQuery->iTrx->Type() );
- CleanupStack::PushL( cliTransaction );
-
- CapabilityTestHelper::SetResponseL( *cliTransaction,
- KMUSAVASIPForbidden,
- SipStrConsts::EPhraseOk,
- KCapabilityTestAddress_B,
- KCapabilitySwisFeature,
- KCapabilityTestTerminalID_B,
- KPAssertedIdentity_B,
- KCapabilityTestSDP );
- iQuery->CompletedL( *cliTransaction );
- EUNIT_ASSERT_NOT_EQUALS( iQuery->State(), CMusAvaCapabilityQueryBase::ECapabilityQueryCompleted );
- iQuery->ResetAndDestroyTrx();
- iQuery->CompletedL( *cliTransaction );
- EUNIT_ASSERT_NOT_EQUALS( iQuery->State(), CMusAvaCapabilityQueryBase::ECapabilityQueryCompleted );
- CleanupStack::PopAndDestroy( cliTransaction );
-
- // set response 199
- iQuery->SetState( CMusAvaCapabilityQueryBase::ECapabilityQueryCreated );
- iQuery->ExecuteL( );
- CapabilityTestHelper::SetResponseL( *iQuery->iTrx,
- KMUSAVASIP200-1,
- SipStrConsts::EPhraseOk,
- KCapabilityTestAddress_B,
- KCapabilitySwisFeature,
- KCapabilityTestTerminalID_B,
- KPAssertedIdentity_B,
- KCapabilityTestSDP );
-
-
- iQuery->CompletedL( *iQuery->iTrx );
- EUNIT_ASSERT_NOT_EQUALS( iQuery->State(), CMusAvaCapabilityQueryBase::ECapabilityQueryCompleted );
- iQuery->ResetAndDestroyTrx();
-
- // set response <100
- iQuery->SetState( CMusAvaCapabilityQueryBase::ECapabilityQueryCreated );
- iQuery->ExecuteL( );
- CapabilityTestHelper::SetResponseL( *iQuery->iTrx,
- KMUSAVASIP200-150,
- SipStrConsts::EPhraseOk,
- KCapabilityTestAddress_B,
- KCapabilitySwisFeature,
- KCapabilityTestTerminalID_B,
- KPAssertedIdentity_B,
- KCapabilityTestSDP );
- iQuery->CompletedL( *iQuery->iTrx );
- EUNIT_ASSERT_EQUALS( iQuery->State(), CMusAvaCapabilityQueryBase::ECapabilityQueryCompleted );
- }
-
-void UT_CMusAvaCapabilityQuery::UT_CMusAvaCapabilityQuery_CompletedL1L( )
- {
- //Standard case && 403 Forbidden
- iQuery->ExecuteL( );
-
- EUNIT_ASSERT( iQuery->State() ==
- CMusAvaCapabilityQueryBase::ECapabilityQueryExecuting );
-
- // set response 200 OK FT
- CapabilityTestHelper::SetResponseL( *iQuery->iTrx,
- KMUSAVASIPForbidden,
- SipStrConsts::EPhraseOk,
- KCapabilityTestAddress_B,
- KCapabilitySwisFeature,
- KCapabilityTestTerminalID_B,
- KPAssertedIdentity_B,
- KCapabilityTestSDP );
-
- iQuery->CompletedL( *iQuery->iTrx );
- EUNIT_ASSERT( iQuery->State() ==
- CMusAvaCapabilityQueryBase::ECapabilityQueryCompleted );
- EUNIT_ASSERT( iQuery->Result() == KCapabilityCapabilitesNotFound );
- EUNIT_ASSERT( iOptionHandler->State() ==
- MMusAvaObserver::EMusAvaOptionNotAvailable );
-
- }
-
-void UT_CMusAvaCapabilityQuery::UT_CMusAvaCapabilityQuery_CompletedL2L( )
- {
- //Standard case
- iQuery->ExecuteL( );
-
- EUNIT_ASSERT( iQuery->State() ==
- CMusAvaCapabilityQueryBase::ECapabilityQueryExecuting );
-
- // set response 200 OK FT
- CapabilityTestHelper::SetResponse2L( *iQuery->iTrx,
- KMUSAVASIP200,
- SipStrConsts::EPhraseOk,
- KCapabilityTestAddress_B,
- KCapabilitySwisFeature,
- KCapabilityTestTerminalID_B,
- KPAssertedIdentity_B,
- KPAssertedIdentity_B1,
- KCapabilityTestSDP );
-
- iQuery->CompletedL( *iQuery->iTrx );
- EUNIT_ASSERT( iQuery->State() ==
- CMusAvaCapabilityQueryBase::ECapabilityQueryCompleted );
- EUNIT_ASSERT( iQuery->Result() == KCapabilityCapabilitesReady );
- EUNIT_ASSERT( iOptionHandler->State() ==
- MMusAvaObserver::EMusAvaStatusAvailable );
- const MDesCArray& sipAddresses = iOptionHandler->iSettings.SipAddresses();
- EUNIT_ASSERT( sipAddresses.MdcaCount() == 1);
- EUNIT_ASSERT( sipAddresses.MdcaPoint( 0 ).Compare( KPAssertedIdentity_B_16() )
- == KErrNone );
- }
-
-void UT_CMusAvaCapabilityQuery::UT_CMusAvaCapabilityQuery_ValidateAndStoreCodecsLL()
- {
-
- // OK - H.263 codec
- TBool ret = EFalse;
- CSdpDocument* sdpContent = CSdpDocument::DecodeLC( KCapabilityTestSDP );
- TRAPD( error, ret = iQuery->ValidateAndStoreCodecsL( *sdpContent ) );
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT( ret );
- CleanupStack::PopAndDestroy( sdpContent );
-
- // OK - H.264 codec
- ret = EFalse;
- sdpContent = CSdpDocument::DecodeLC( KCapabilityTestSDP264 );
- TRAP( error, ret = iQuery->ValidateAndStoreCodecsL( *sdpContent ) );
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT( ret );
- CleanupStack::PopAndDestroy( sdpContent );
-
- // OK - both H.263 and H.264 codec
- ret = EFalse;
- sdpContent = CSdpDocument::DecodeLC( KCapabilityTestSDP264And263 );
- TRAP( error, ret = iQuery->ValidateAndStoreCodecsL( *sdpContent ) );
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT( ret );
- CleanupStack::PopAndDestroy( sdpContent );
-
- // NOK - invalid codec
- ret = ETrue;
- sdpContent = CSdpDocument::DecodeLC( KCapabilityTestSDPWrongCodec );
- TRAP( error, ret = iQuery->ValidateAndStoreCodecsL( *sdpContent ) );
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT( !ret );
- CleanupStack::PopAndDestroy( sdpContent );
-}
-
-void UT_CMusAvaCapabilityQuery::UT_CMusAvaCapabilityQuery_ValidateAttributesLL()
- {
-
- // set operator specific
- MultimediaSharingSettings::SetOperatorVariantSettingL( MusSettingsKeys::EOperatorSpecific );
-
- // operator specific OK
- CSdpDocument* sdpContent = CSdpDocument::DecodeLC( KCapabilityTestSDP );
- TBool ret = EFalse;
- TRAPD( error, ret = iQuery->ValidateAttributesL( *sdpContent ) );
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT( ret );
- CleanupStack::PopAndDestroy( sdpContent );
-
- // operator specific no application
- sdpContent = CSdpDocument::DecodeLC( KCapabilityTestSDPNoApplication );
- TRAP( error, ret = iQuery->ValidateAttributesL( *sdpContent ) );
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT( !ret );
- CleanupStack::PopAndDestroy( sdpContent );
-
- // operator specific wrong application
- sdpContent = CSdpDocument::DecodeLC( KCapabilityTestSDPWrongApplication );
- TRAP( error, ret = iQuery->ValidateAttributesL( *sdpContent ) );
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT( !ret );
- CleanupStack::PopAndDestroy( sdpContent );
-
- // operator specific no type
- sdpContent = CSdpDocument::DecodeLC( KCapabilityTestSDPNoType );
- TRAP( error, ret = iQuery->ValidateAttributesL( *sdpContent ) );
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT( !ret );
- CleanupStack::PopAndDestroy( sdpContent );
-
- // operator specific wrong type
- sdpContent = CSdpDocument::DecodeLC( KCapabilityTestSDPWrongType );
- TRAP( error, ret = iQuery->ValidateAttributesL( *sdpContent ) );
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT( !ret );
- CleanupStack::PopAndDestroy( sdpContent );
-
- // set standard
- MultimediaSharingSettings::SetOperatorVariantSettingL( MusSettingsKeys::EStandard );
-
- // OK
- sdpContent = CSdpDocument::DecodeLC( KCapabilityTestSDP );
- TRAP( error, ret = iQuery->ValidateAttributesL( *sdpContent ) );
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT( ret );
- CleanupStack::PopAndDestroy( sdpContent );
-
- // no application, good type
- sdpContent = CSdpDocument::DecodeLC( KCapabilityTestSDPNoApplication );
- TRAP( error, ret = iQuery->ValidateAttributesL( *sdpContent ) );
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT( ret );
- CleanupStack::PopAndDestroy( sdpContent );
-
- // wrong application, good type
- sdpContent = CSdpDocument::DecodeLC( KCapabilityTestSDPWrongApplication );
- TRAP( error, ret = iQuery->ValidateAttributesL( *sdpContent ) );
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT( ret );
- CleanupStack::PopAndDestroy( sdpContent );
-
- // no type, good application
- sdpContent = CSdpDocument::DecodeLC( KCapabilityTestSDPNoType );
- TRAP( error, ret = iQuery->ValidateAttributesL( *sdpContent ) );
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT( ret );
- CleanupStack::PopAndDestroy( sdpContent );
-
- // wrong type, good application
- sdpContent = CSdpDocument::DecodeLC( KCapabilityTestSDPWrongType );
- TRAP( error, ret = iQuery->ValidateAttributesL( *sdpContent ) );
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT( ret );
- CleanupStack::PopAndDestroy( sdpContent );
-
- // no application, no type
- sdpContent = CSdpDocument::DecodeLC( KCapabilityTestSDPNoAppNoType );
- TRAP( error, ret = iQuery->ValidateAttributesL( *sdpContent ) );
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT( !ret );
- CleanupStack::PopAndDestroy( sdpContent );
-
- // no application, wrong type
- sdpContent = CSdpDocument::DecodeLC( KCapabilityTestSDPNoAppWrongType );
- TRAP( error, ret = iQuery->ValidateAttributesL( *sdpContent ) );
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT( !ret );
- CleanupStack::PopAndDestroy( sdpContent );
- }
-
-
-void UT_CMusAvaCapabilityQuery::UT_CMusAvaCapabilityQuery_ValidateContactLL()
- {
-
- // no contact header
- CSIPClientTransaction* optionResp = CapabilityTestHelper::OptionsResponseL(
- KMUSAVASIP200,
- SipStrConsts::EPhraseOk,
- KCapabilityTestAddress_B,
- KNullDesC8,
- KCapabilityTestTerminalID_B,
- KPAssertedIdentity_B,
- KCapabilityTestSDP );
- CleanupStack::PushL( optionResp );
- TBool ret = EFalse;
- TRAPD( error, ret = iQuery->ValidateContactL( *optionResp ) );
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT( !ret );
- CleanupStack::PopAndDestroy( optionResp );
-
- // valid contact header
- optionResp = CapabilityTestHelper::OptionsResponseL( KMUSAVASIP200,
- SipStrConsts::EPhraseOk,
- KCapabilityTestAddress_B,
- KCapabilitySwisFeature,
- KCapabilityTestTerminalID_B,
- KPAssertedIdentity_B,
- KCapabilityTestSDP );
- CleanupStack::PushL( optionResp );
-
- TRAP( error, ret = iQuery->ValidateContactL( *optionResp ) );
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT( ret );
- CleanupStack::PopAndDestroy( optionResp );
-
- // false contact header
- optionResp = CapabilityTestHelper::OptionsResponseL( KMUSAVASIP200,
- SipStrConsts::EPhraseOk,
- KCapabilityTestAddress_B,
- KCapabilitySwisFeatureFalse,
- KCapabilityTestTerminalID_B,
- KPAssertedIdentity_B,
- KCapabilityTestSDP );
- CleanupStack::PushL( optionResp );
- TRAP( error, ret = iQuery->ValidateContactL( *optionResp ) );
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT( !ret );
- CleanupStack::PopAndDestroy( optionResp );
-
- // wrong contact header
- optionResp = CapabilityTestHelper::OptionsResponseL( KMUSAVASIP200,
- SipStrConsts::EPhraseOk,
- KCapabilityTestAddress_B,
- KCapabilityTestDataFeature,
- KCapabilityTestTerminalID_B,
- KPAssertedIdentity_B,
- KCapabilityTestSDP );
- CleanupStack::PushL( optionResp );
- TRAP( error, ret = iQuery->ValidateContactL( *optionResp ) );
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT( !ret );
- CleanupStack::PopAndDestroy( optionResp );
- }
-
-
-void UT_CMusAvaCapabilityQuery::UT_CMusAvaCapabilityQuery_PrepareL()
- {
- RPointerArray<CSIPHeaderBase> headers;
- CleanupClosePushL(headers);
-
- iQuery->Prepare( headers );
- EUNIT_ASSERT_EQUALS( iQuery->State(), CMusAvaCapabilityQueryBase::ECapabilityQueryPrepared );
-
- iQuery->DoRetryL();
-
- EUNIT_ASSERT_EQUALS( iQuery->State(), CMusAvaCapabilityQueryBase::ECapabilityQueryCreated );
- iQuery->Prepare( headers );
- EUNIT_ASSERT_EQUALS( iQuery->State(), CMusAvaCapabilityQueryBase::ECapabilityQueryCreated );
- iQuery->DoRetryL();
- EUNIT_ASSERT_EQUALS( iQuery->State(), CMusAvaCapabilityQueryBase::ECapabilityQueryCompleted );
-
- CleanupStack::PopAndDestroy( &headers );
- }
-
-
-void UT_CMusAvaCapabilityQuery::UT_CMusAvaCapabilityQuery_DoCompletedLL()
- {
-
- // response elements are NULL
- CSIPClientTransaction* optionResp = NULL;
- optionResp = CapabilityTestHelper::OptionsResponseL(
- KMUSAVASIP200,
- SipStrConsts::EPhraseOk,
- KCapabilityTestAddress_B,
- KNullDesC8,
- KCapabilityTestTerminalID_B,
- KPAssertedIdentity_B,
- KCapabilityTestSDP );
- CleanupStack::PushL( optionResp );
- optionResp->SetResponseElements( NULL );
-
- TRAPD( error, iQuery->DoCompletedL( *optionResp ) );
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT( error == KErrGeneral );
- CleanupStack::PopAndDestroy( optionResp );
-
- // status code KMUSAVASIPNotImplemented
- optionResp = CapabilityTestHelper::OptionsResponseL(
- KMUSAVASIPNotImplemented,
- SipStrConsts::EPhraseOk,
- KCapabilityTestAddress_B,
- KNullDesC8,
- KCapabilityTestTerminalID_B,
- KPAssertedIdentity_B,
- KCapabilityTestSDP );
- CleanupStack::PushL( optionResp );
- iQuery->DoCompletedL( *optionResp );
- EUNIT_ASSERT_EQUALS( iQuery->State(), CMusAvaCapabilityQueryBase::ECapabilityQueryCompleted );
- EUNIT_ASSERT_EQUALS( iQuery->Result(), KCapabilityCapabilitesReady );
- CleanupStack::PopAndDestroy( optionResp );
-
- // status code KMUSAVASIPTemporarilyUnavailable
- optionResp = CapabilityTestHelper::OptionsResponseL(
- KMUSAVASIPTemporarilyUnavailable,
- SipStrConsts::EPhraseOk,
- KCapabilityTestAddress_B,
- KNullDesC8,
- KCapabilityTestTerminalID_B,
- KPAssertedIdentity_B,
- KCapabilityTestSDP );
- CleanupStack::PushL( optionResp );
- iQuery->DoCompletedL( *optionResp );
- EUNIT_ASSERT_EQUALS( iQuery->State(), CMusAvaCapabilityQueryBase::ECapabilityQueryCreated );
- EUNIT_ASSERT_EQUALS( iQuery->Result(), KCapabilityQueryNotReady );
- TRAP( error, iQuery->DoRetryL() );
- if ( error == KErrNoMemory ) User::Leave( error );
- CleanupStack::PopAndDestroy( optionResp );
-
- // status code KMUSAVASIPServerInternalError
- optionResp = CapabilityTestHelper::OptionsResponseL(
- KMUSAVASIPServerInternalError,
- SipStrConsts::EPhraseOk,
- KCapabilityTestAddress_B,
- KNullDesC8,
- KCapabilityTestTerminalID_B,
- KPAssertedIdentity_B,
- KCapabilityTestSDP );
- CleanupStack::PushL( optionResp );
- TRAP( error, iQuery->DoCompletedL( *optionResp ) );
- if ( error == KErrNoMemory ) User::Leave( error );
- EUNIT_ASSERT_EQUALS( iQuery->State(), CMusAvaCapabilityQueryBase::ECapabilityQueryCompleted );
- EUNIT_ASSERT_EQUALS( iQuery->Result(), KCapabilityCapabilitesNotFound );
- CleanupStack::PopAndDestroy( optionResp );
-
- }
-
-
-void UT_CMusAvaCapabilityQuery::UT_CMusAvaCapabilityQuery_DoCompleted200OKLL()
- {
-
- // no content
- CSIPClientTransaction* optionResp = CapabilityTestHelper::OptionsResponseL(
- KMUSAVASIP200,
- SipStrConsts::EPhraseOk,
- KCapabilityTestAddress_B,
- KCapabilitySwisFeature,
- KCapabilityTestTerminalID_B,
- KPAssertedIdentity_B,
- KNullDesC8 );
- CleanupStack::PushL( optionResp );
- iQuery->DoCompleted200OKL( *optionResp );
- EUNIT_ASSERT_EQUALS( iQuery->State(), CMusAvaCapabilityQueryBase::ECapabilityQueryCompleted );
- EUNIT_ASSERT_EQUALS( iQuery->Result(), KCapabilityCapabilitesNotFound );
- CleanupStack::PopAndDestroy( optionResp );
-
-
- // wrong content type header
- optionResp =
- CapabilityTestHelper::OptionsResponseL( KMUSAVASIP200,
- SipStrConsts::EPhraseOk,
- KCapabilityTestAddress_B,
- KCapabilitySwisFeature,
- KCapabilityTestTerminalID_B,
- KPAssertedIdentity_B,
- KCapabilityTestSDP );
- CleanupStack::PushL( optionResp );
-
- const TDesC8& sdp = KCapabilityTestSDP;
- HBufC8* content = NULL;
- content = sdp.AllocL();
- CleanupStack::PushL( content );
- const CSIPResponseElements* response = optionResp->ResponseElements();
- CSIPMessageElements& message =
- CONST_CAST(CSIPResponseElements*, response)->MessageElements();
-
- CSIPContentTypeHeader* contentTypeHeader = CSIPContentTypeHeader::NewLC(
- KMUSAVASIPMediaTypeApplication,
- KMUSAVASIPParamFalse );
-
- message.SetContentL( content, contentTypeHeader );
- CleanupStack::Pop( contentTypeHeader );
- CleanupStack::Pop( content );
- iQuery->DoCompleted200OKL( *optionResp );
- EUNIT_ASSERT_EQUALS( iQuery->State(),
- CMusAvaCapabilityQueryBase::ECapabilityQueryCompleted );
- EUNIT_ASSERT_EQUALS( iQuery->Result(), KCapabilityCapabilitesNotFound );
-
- content = sdp.AllocL();
- CleanupStack::PushL( content );
- contentTypeHeader = CSIPContentTypeHeader::NewLC( KMUSAVASIPParamFalse,
- KMUSAVASIPMediaSubTypeSDP );
- message.SetContentL( content, contentTypeHeader );
- CleanupStack::Pop( contentTypeHeader );
- CleanupStack::Pop( content );
- iQuery->DoCompleted200OKL( *optionResp );
- EUNIT_ASSERT_EQUALS( iQuery->State(),
- CMusAvaCapabilityQueryBase::ECapabilityQueryCompleted );
- EUNIT_ASSERT_EQUALS( iQuery->Result(), KCapabilityCapabilitesNotFound );
-
- CleanupStack::PopAndDestroy( optionResp );
-
-
- // wrong codec
- optionResp = CapabilityTestHelper::OptionsResponseL( KMUSAVASIP200,
- SipStrConsts::EPhraseOk,
- KCapabilityTestAddress_B,
- KCapabilitySwisFeature,
- KCapabilityTestTerminalID_B,
- KPAssertedIdentity_B,
- KCapabilityTestSDPWrongCodec );
- CleanupStack::PushL( optionResp );
- iQuery->DoCompleted200OKL( *optionResp );
- EUNIT_ASSERT_EQUALS( iQuery->State(),
- CMusAvaCapabilityQueryBase::ECapabilityQueryCompleted );
- EUNIT_ASSERT_EQUALS( iQuery->Result(), KCapabilityCapabilitesNotFound );
- CleanupStack::PopAndDestroy( optionResp );
-
- // set standard
- MultimediaSharingSettings::SetOperatorVariantSettingL(
- MusSettingsKeys::EStandard );
-
- // wrong attribute (no application, no type ), wrong feature tag
- optionResp = CapabilityTestHelper::OptionsResponseL( KMUSAVASIP200,
- SipStrConsts::EPhraseOk,
- KCapabilityTestAddress_B,
- KCapabilitySwisFeatureFalse,
- KCapabilityTestTerminalID_B,
- KPAssertedIdentity_B,
- KCapabilityTestSDPNoAppNoType );
- CleanupStack::PushL( optionResp );
- iQuery->DoCompleted200OKL( *optionResp );
- EUNIT_ASSERT_EQUALS( iQuery->State(),
- CMusAvaCapabilityQueryBase::ECapabilityQueryCompleted );
- EUNIT_ASSERT_EQUALS( iQuery->Result(), KCapabilityCapabilitesNotFound );
- CleanupStack::PopAndDestroy( optionResp );
-
-
- // good attribute, wrong feature tag => KCapabilityCapabilitesReady
- optionResp = CapabilityTestHelper::OptionsResponseL( KMUSAVASIP200,
- SipStrConsts::EPhraseOk,
- KCapabilityTestAddress_B,
- KCapabilitySwisFeatureFalse,
- KCapabilityTestTerminalID_B,
- KPAssertedIdentity_B,
- KCapabilityTestSDP );
- CleanupStack::PushL( optionResp );
- iQuery->DoCompleted200OKL( *optionResp );
- EUNIT_ASSERT_EQUALS( iQuery->State(),
- CMusAvaCapabilityQueryBase::ECapabilityQueryCompleted );
- EUNIT_ASSERT_EQUALS( iQuery->Result(), KCapabilityCapabilitesNotFound );
- CleanupStack::PopAndDestroy( optionResp );
-
- // wrong attribute (no application, no type ), good feature tag => KCapabilityCapabilitesReady
- optionResp = CapabilityTestHelper::OptionsResponseL( KMUSAVASIP200,
- SipStrConsts::EPhraseOk,
- KCapabilityTestAddress_B,
- KCapabilitySwisFeature,
- KCapabilityTestTerminalID_B,
- KPAssertedIdentity_B,
- KCapabilityTestSDPNoAppNoType );
- CleanupStack::PushL( optionResp );
- iQuery->DoCompleted200OKL( *optionResp );
- EUNIT_ASSERT_EQUALS( iQuery->State(),
- CMusAvaCapabilityQueryBase::ECapabilityQueryCompleted );
- EUNIT_ASSERT_EQUALS( iQuery->Result(), KCapabilityCapabilitesReady );
- CleanupStack::PopAndDestroy( optionResp );
-
-
-
- // set operator specific
- MultimediaSharingSettings::SetOperatorVariantSettingL(
- MusSettingsKeys::EOperatorSpecific );
-
- // operator specific, wrong attribute (no application, no type )
- optionResp = CapabilityTestHelper::OptionsResponseL( KMUSAVASIP200,
- SipStrConsts::EPhraseOk,
- KCapabilityTestAddress_B,
- KCapabilitySwisFeature,
- KCapabilityTestTerminalID_B,
- KPAssertedIdentity_B,
- KCapabilityTestSDPNoAppNoType );
- CleanupStack::PushL( optionResp );
- iQuery->DoCompleted200OKL( *optionResp );
- EUNIT_ASSERT_EQUALS( iQuery->State(),
- CMusAvaCapabilityQueryBase::ECapabilityQueryCompleted );
- EUNIT_ASSERT_EQUALS( iQuery->Result(), KCapabilityCapabilitesNotFound );
- CleanupStack::PopAndDestroy( optionResp );
-
-
- // operator specific, wrong feature tag
- optionResp = CapabilityTestHelper::OptionsResponseL( KMUSAVASIP200,
- SipStrConsts::EPhraseOk,
- KCapabilityTestAddress_B,
- KCapabilitySwisFeatureFalse,
- KCapabilityTestTerminalID_B,
- KPAssertedIdentity_B,
- KCapabilityTestSDP );
- CleanupStack::PushL( optionResp );
- iQuery->DoCompleted200OKL( *optionResp );
- EUNIT_ASSERT_EQUALS( iQuery->State(),
- CMusAvaCapabilityQueryBase::ECapabilityQueryCompleted );
- EUNIT_ASSERT_EQUALS( iQuery->Result(), KCapabilityCapabilitesNotFound );
- CleanupStack::PopAndDestroy( optionResp );
-
-
- }
-
-void UT_CMusAvaCapabilityQuery::UT_CMusAvaCapabilityOtherSDPHeadersLL()
- {
- CSdpDocument* content = CSdpDocument::NewLC();
- //AVC Disabled
- MultimediaSharingSettings::SetPropertyValueL(MusSettingsKeys::KEncodingDevice,
- KMusDisableAVC );
- iQuery->OtherSDPHeadersL(*content);
-
- RStringF media = MusAvaCapabilityContext::SDPStringL(
- SdpCodecStringConstants::EMediaVideo );
- RStringF rtpmap = MusAvaCapabilityContext::SDPStringL(
- SdpCodecStringConstants::EAttributeRtpmap );
-
- RPointerArray<CSdpMediaField>& mediaFields = content->MediaFields();
-
- for ( TInt i=0; i < mediaFields.Count(); i++ )
- {
- if ( mediaFields[ i ]->Media() == media )
- {
- EUNIT_ASSERT( mediaFields[ i ]->FormatList().Find( KCapabilitySwisFormatListH263Only ) >= KErrNone );
- RPointerArray<CSdpFmtAttributeField>& fmtLines =
- mediaFields[ i ]->FormatAttributeFields();
- EUNIT_ASSERT( fmtLines.Count() == 1 );
- for ( TInt j=0; j < fmtLines.Count(); j++ )
- {
- if ( fmtLines[ j ]->Attribute() == rtpmap )
- {
- EUNIT_ASSERT(fmtLines[ j ]->Value().Find( KRTPCapabilitySDPAttributeCodecH263 ) == 0 );
- EUNIT_ASSERT(fmtLines[ j ]->Format().Find( KRTPCapabilitySDPAttributePayloadTypeH263 ) == 0 );
- }
- }
- }
- }
- CleanupStack::PopAndDestroy(content );
- //AVC Enabled
- content = CSdpDocument::NewLC();
- MultimediaSharingSettings::SetPropertyValueL(MusSettingsKeys::KEncodingDevice,
- KMusDisableAVC - 1 );
- iQuery->OtherSDPHeadersL(*content);
-
- mediaFields = content->MediaFields();
-
- for ( TInt i=0; i < mediaFields.Count(); i++ )
- {
- if ( mediaFields[ i ]->Media() == media )
- {
- EUNIT_ASSERT( mediaFields[ i ]->FormatList().Find( KCapabilitySwisFormatList ) >= KErrNone );
- RPointerArray<CSdpFmtAttributeField>& fmtLines =
- mediaFields[ i ]->FormatAttributeFields();
- EUNIT_ASSERT( fmtLines.Count() == 2 )
- for ( TInt j=0; j < fmtLines.Count(); j++ )
- {
- if ( fmtLines[ j ]->Attribute() == rtpmap )
- {
- if ( j == 0 ) //AVC first i.e. prefered
- {
- EUNIT_ASSERT(fmtLines[ j ]->Value().Find( KRTPCapabilitySDPAttributeCodec ) == 0 );
- EUNIT_ASSERT(fmtLines[ j ]->Format().Find( KRTPCapabilitySDPAttributePayloadTypeH264 ) == 0 );
- }
- else
- {
- EUNIT_ASSERT(fmtLines[ j ]->Value().Find( KRTPCapabilitySDPAttributeCodecH263 ) == 0 );
- EUNIT_ASSERT(fmtLines[ j ]->Format().Find( KRTPCapabilitySDPAttributePayloadTypeH263 ) == 0 );
- }
- }
- }
- }
- }
- CleanupStack::PopAndDestroy(content );
- }
-// TEST TABLE
-
-EUNIT_BEGIN_TEST_TABLE(
- UT_CMusAvaCapabilityQuery,
- "CMusAvaCapabilityQuery",
- "UNIT" )
-
-EUNIT_TEST(
- "NewL - test ",
- "CMusAvaCapabilityQuery",
- "NewL",
- "FUNCTIONALITY",
- SetupL,UT_CMusAvaCapabilityQuery_NewLL, Teardown)
-
-EUNIT_TEST(
- "ExecuteL - test ",
- "CMusAvaCapabilityQuery",
- "ExecuteL",
- "FUNCTIONALITY",
- SetupL,UT_CMusAvaCapabilityQuery_ExecuteLL, Teardown)
-
-EUNIT_TEST(
- "Canceled - test ",
- "CMusAvaCapabilityQuery",
- "Canceled",
- "FUNCTIONALITY",
- SetupL,UT_CMusAvaCapabilityQuery_CanceledL, Teardown)
-
-EUNIT_TEST(
- "CompletedL - test ",
- "CMusAvaCapabilityQuery",
- "CompletedL",
- "FUNCTIONALITY",
- SetupL,UT_CMusAvaCapabilityQuery_CompletedLL, Teardown)
-
-EUNIT_TEST(
- "CompletedL1 - test ",
- "CMusAvaCapabilityQuery",
- "CompletedL",
- "FUNCTIONALITY",
- SetupL,UT_CMusAvaCapabilityQuery_CompletedL1L, Teardown)
-
-EUNIT_TEST(
- "CompletedL2 - test ",
- "CMusAvaCapabilityQuery",
- "CompletedL",
- "FUNCTIONALITY",
- SetupL,UT_CMusAvaCapabilityQuery_CompletedL2L, Teardown)
-
-EUNIT_TEST(
- "ValidateAndStoreCodecsL - test ",
- "CMusAvaCapabilityQuery",
- "ValidateAndStoreCodecsL",
- "FUNCTIONALITY",
- SetupL,UT_CMusAvaCapabilityQuery_ValidateAndStoreCodecsLL, Teardown)
-
-EUNIT_TEST(
- "ValidateAttributesL - test ",
- "CMusAvaCapabilityQuery",
- "ValidateAttributesL",
- "FUNCTIONALITY",
- SetupL,UT_CMusAvaCapabilityQuery_ValidateAttributesLL, Teardown)
-
-EUNIT_TEST(
- "ValidateContactL - test ",
- "CMusAvaCapabilityQuery",
- "ValidateContactL",
- "FUNCTIONALITY",
- SetupL,UT_CMusAvaCapabilityQuery_ValidateContactLL, Teardown)
-
-EUNIT_TEST(
- "Prepare - test ",
- "CMusAvaCapabilityQuery",
- "Prepare",
- "FUNCTIONALITY",
- SetupL,UT_CMusAvaCapabilityQuery_PrepareL, Teardown)
-
-EUNIT_TEST(
- "DoCompletedL - test ",
- "CMusAvaCapabilityQuery",
- "DoCompletedL",
- "FUNCTIONALITY",
- SetupL,UT_CMusAvaCapabilityQuery_DoCompletedLL, Teardown)
-
-EUNIT_TEST(
- "DoCompleted200OKL - test ",
- "CMusAvaCapabilityQuery",
- "DoCompleted200OKL",
- "FUNCTIONALITY",
- SetupL,UT_CMusAvaCapabilityQuery_DoCompleted200OKLL, Teardown)
-
-EUNIT_TEST(
- "OtherSDPHeadersL - test ",
- "CMusAvaCapabilityQuery",
- "OtherSDPHeadersL",
- "FUNCTIONALITY",
- SetupL,UT_CMusAvaCapabilityOtherSDPHeadersLL, Teardown)
-
-
-EUNIT_END_TEST_TABLE
-
-// END OF FILE