diff -r b31261fd4e04 -r ccd8e69b5392 mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaCapabilityQuery.cpp --- 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 -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -// 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 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& 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& 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& 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