--- a/mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaOptionHandler.cpp Tue Feb 02 00:09:07 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,401 +0,0 @@
-/*
-* Copyright (c) 2004 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 "sipprofile.h"
-#include "UT_CMusAvaOptionHandler.h"
-
-// EXTERNAL INCLUDES
-#include <digia/eunit/eunitmacros.h>
-#include <digia/eunit/eunitdecorators.h>
-#include <EscapeUtils.h>
-#include <sipstrings.h>
-#include <sipstrconsts.h>
-#include <stringpool.h>
-#include <sipservertransaction.h>
-#include <siptransactionbase.h>
-// INTERNAL INCLUDES
-#include "musavaoptionhandler.h"
-#include "musavaavailabilityobserver.h"
-#include "musavaavailabilityobserverimp.h"
-#include "musavasettingsimp.h"
-#include "musavaobserverimp.h"
-#include "muslogger.h"
-#include "musavasharedobject.h"
-#include "mussettingskeys.h"
-#include "mussettings.h"
-#include "musavasip.h"
-#include "CSipSseTestTls.h"
-#include "musavacapabilitytesthelper.h"
-
-
-// CONSTRUCTION
-UT_CMusAvaOptionHandler* UT_CMusAvaOptionHandler::NewL()
- {
- UT_CMusAvaOptionHandler* self = UT_CMusAvaOptionHandler::NewLC();
- CleanupStack::Pop();
-
- return self;
- }
-
-UT_CMusAvaOptionHandler* UT_CMusAvaOptionHandler::NewLC()
- {
- UT_CMusAvaOptionHandler* self = new( ELeave ) UT_CMusAvaOptionHandler();
- CleanupStack::PushL( self );
- self->ConstructL();
-
- return self;
- }
-
-// Destructor (virtual by CBase)
-UT_CMusAvaOptionHandler::~UT_CMusAvaOptionHandler()
- {
- }
-
-// Default constructor
-UT_CMusAvaOptionHandler::UT_CMusAvaOptionHandler()
- {
- }
-
-// Second phase construct
-void UT_CMusAvaOptionHandler::ConstructL()
- {
- // The ConstructL from the base class CEUnitTestSuiteClass must be called.
- // It generates the test case table.
- CEUnitTestSuiteClass::ConstructL();
- }
-
-// METHODS
-
-void UT_CMusAvaOptionHandler::SetupL( )
- {
- iSharedObject = CMusAvaSharedObject::GetSingletonL();
- iAvailabilityObserver = CMusAvaAvailabilityObserverImp::NewL();
- iConcreteSettings = CMusAvaSettingsImp::NewL();
- iOptionHandler = CMusAvaOptionHandler::NewL( *iAvailabilityObserver,
- *iConcreteSettings );
-
- MSIPConnectionObserver& connectionObserver =
- iSharedObject->MusAvaSip().ConnectionObserver();
- CSIP& sip = iSharedObject->MusAvaSip().Sip();
- CSipSseTestTls::OpenL();
- iStorage = CSipSseTestTls::Storage();
- iSharedObject->MusAvaSip().CreateProfileL();
- iProfile = iSharedObject->MusAvaSip().Profile();
- iSharedObject->MusAvaSip().ConnectionL( );
-
- if ( !iProfile->iArray )
- {
- iProfile->iArray = new ( ELeave ) CDesC8ArrayFlat( 1 );
- iProfile->iArray->AppendL( _L8("sip:user@domain.com") );
- }
- if ( !iProfile->iRegisteredContact )
- {
- iProfile->iRegisteredContact = KRegisteredContact().AllocL();
- }
-
- MultimediaSharingSettings::SetCapabilityQuerySettingL(
- MusSettingsKeys::ESequential );
- }
-
-void UT_CMusAvaOptionHandler::Teardown( )
- {
- CMusAvaSharedObject::DeleteSingleton();
- delete iAvailabilityObserver;
- delete iConcreteSettings;
- if ( iStorage )
- {
- iStorage->Clear();
- CSipSseTestTls::Close();
- iStorage = NULL;
- }
- delete iOptionHandler;
- }
-
-void UT_CMusAvaOptionHandler::UT_CMusAvaOptionHandler_NewLL( )
- {
- EUNIT_ASSERT( iOptionHandler );
- EUNIT_ASSERT( iOptionHandler->State() ==
- MMusAvaObserver::EMusAvaStatusNotExecuted );
- }
-
-void UT_CMusAvaOptionHandler::UT_CMusAvaOptionHandler_DoExecuteLL()
- {
- // test for B-party && Cingular variant
- iOptionHandler->iSettings.SetCallDirection( 2 );
- MultimediaSharingSettings::SetOperatorVariantSettingL(
- MusSettingsKeys::EOperatorSpecific );
- iOptionHandler->DoExecuteL();
- EUNIT_ASSERT( iOptionHandler->State() ==
- MMusAvaObserver::EMusAvaStatusOptionsNotSent );
- iOptionHandler->iSettings.SetCallDirection( 1 );
- MultimediaSharingSettings::SetOperatorVariantSettingL(
- MusSettingsKeys::EStandard );
-
- // usual case
- TBufC16<16> str(KCapabilityTestSIPAddressUri_B);
- HBufC16* ptr;
- ptr = str.AllocLC();
- CDesCArrayFlat* sipAddress = new( ELeave ) CDesCArrayFlat( 1 );
- CleanupStack::PushL( sipAddress );
- sipAddress->AppendL( *ptr );
- iOptionHandler->iSettings.SetSipAddressesL( *sipAddress );
- sipAddress->Reset();
- CleanupStack::PopAndDestroy( sipAddress );
- CleanupStack::PopAndDestroy(); //ptr
-
- MultimediaSharingSettings::SetCapabilityQuerySettingL(
- MusSettingsKeys::ESequential );
- EUNIT_ASSERT( iSharedObject->MusAvaSip().CreateProfileL() == ETrue );
- MultimediaSharingSettings::SetSipProfileSettingL( 1 );
- TRAPD( error, iOptionHandler->DoExecuteL() );
- TInt count = 0;
- EUNIT_GET_ALLOC_DECORATOR_FAILCOUNT( count );
- EUNIT_ASSERT( error == KErrNoMemory || error == KErrNone );
- if ( error == KErrNoMemory ) User::Leave( error );
-
- if ( count > 0 )
- {
- EUNIT_ASSERT( iOptionHandler->State() ==
- MMusAvaObserver::EMusAvaOptionNotAvailable );
- }
- else
- {
- EUNIT_ASSERT( iOptionHandler->State() ==
- MMusAvaObserver::EMusAvaStatusOptionsSent );
-
- 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 );
- }
-
- // when needed sip profile and not registered yet. means sip connection is still
- // null
- MultimediaSharingSettings::SetCapabilityQuerySettingL(
- MusSettingsKeys::ESequential );
- EUNIT_ASSERT( iSharedObject->MusAvaSip().CreateProfileL() == ETrue );
- MultimediaSharingSettings::SetSipProfileSettingL( 1 );
- iSharedObject->MusAvaSip().ConnectionL(EFalse);
-
- delete iSharedObject->MusAvaSip().iSipConnection;
- iSharedObject->MusAvaSip().iSipConnection = NULL;
-
- iOptionHandler->SetState( MMusAvaObserver::EMusAvaStatusOptionsNotSent );
-
- iOptionHandler->DoExecuteL();
- EUNIT_ASSERT( iOptionHandler->State() ==
- MMusAvaObserver::EMusAvaStatusNotExecuted );
- }
-
-void UT_CMusAvaOptionHandler::UT_CMusAvaOptionHandler_NameL()
- {
- EUNIT_ASSERT( iOptionHandler->Name() ==
- MMusAvaObserver::EMusAvaOptionHandler );
- }
-
-
-void UT_CMusAvaOptionHandler::UT_CMusAvaOptionHandler_StatusL()
- {
- EUNIT_ASSERT( iOptionHandler->State() ==
- MMusAvaObserver::EMusAvaStatusNotExecuted );
- }
-
-void UT_CMusAvaOptionHandler::UT_CMusAvaOptionHandler_StopL()
- {
- iOptionHandler->Stop();
- }
-
-void UT_CMusAvaOptionHandler::UT_CMusAvaOptionHandler_CapabilitiesResolvedL()
- {
- _LIT( KSipAddress , "b@foobar.com" );
- _LIT( KSipAddressA , "a@foobar.com" );
- _LIT( KEmpty, "" );
-
- EUNIT_ASSERT( iOptionHandler->State() ==
- MMusAvaObserver::EMusAvaStatusNotExecuted );
- iOptionHandler->CapabilitiesResolvedL( KEmpty );
- EUNIT_ASSERT( iOptionHandler->iSettings.SipAddresses().MdcaCount() == 0 );
- EUNIT_ASSERT( iOptionHandler->State() ==
- MMusAvaObserver::EMusAvaStatusNotExecuted );
-
- iOptionHandler->iState = MMusAvaObserver::EMusAvaStatusNotExecuted;
- iOptionHandler->CapabilitiesResolvedL( KSipAddress );
- EUNIT_ASSERT( iOptionHandler->iSettings.SipAddresses().MdcaPoint( 0 ).
- Compare( KSipAddress() ) == KErrNone );
- EUNIT_ASSERT( iOptionHandler->State() ==
- MMusAvaObserver::EMusAvaStatusNotExecuted );
-
- iOptionHandler->CapabilitiesResolvedL( KSipAddressA );
- EUNIT_ASSERT( iOptionHandler->iSettings.SipAddresses().MdcaPoint( 0 ).
- Compare( KSipAddressA() ) == KErrNone );
-
- EUNIT_ASSERT( iOptionHandler->State() ==
- MMusAvaObserver::EMusAvaStatusNotExecuted );
- }
-
-void UT_CMusAvaOptionHandler::UT_CMusAvaOptionHandler_CapabilitiesResolvedForCingularL()
- {
- EUNIT_ASSERT( iOptionHandler->CapabilitiesResolvedForCingular() == EFalse );
- iOptionHandler->SetCapabilitiesResolvedForCingular();
- EUNIT_ASSERT( iOptionHandler->CapabilitiesResolvedForCingular() == ETrue );
- }
-
-void UT_CMusAvaOptionHandler::UT_CMusAvaOptionHandler_SipHeadersL()
- {
- CDesCArrayFlat* headers = new( ELeave ) CDesCArrayFlat( 1 );
- CleanupStack::PushL(headers);
- headers->AppendL(_L("sip:test1@10.21.32.51"));
- iOptionHandler->SipHeadersL(*headers,SipStrConsts::EToHeader);
- EUNIT_ASSERT( iOptionHandler->iSettings.SipAddresses().MdcaCount()==1 );
-
- _LIT( KPAssertedIdentityTelNumber, "+4455667788");
- headers->Reset();
- headers->AppendL(KPAssertedIdentity_B_16);
- headers->AppendL(KPAssertedIdentity_B1_16);
- iOptionHandler->SipHeadersL(*headers,SipStrConsts::EToHeader);
- EUNIT_ASSERT( iOptionHandler->iSettings.SipAddresses().MdcaCount()==1 );
- EUNIT_ASSERT( iOptionHandler->iSettings.SipAddresses().MdcaPoint( 0 ).Compare(
- KPAssertedIdentity_B_16() ) == KErrNone );
- EUNIT_ASSERT( iOptionHandler->iSettings.TelNumber().Compare(
- KPAssertedIdentityTelNumber ) == 0 );
-
- headers->Reset();
- iOptionHandler->SipHeadersL(*headers,SipStrConsts::EToHeader);
- EUNIT_ASSERT( iOptionHandler->iSettings.SipAddresses().MdcaCount()==0 );
-
- headers->Reset();
- headers->AppendL(_L("sip:test1@10.21.32.51"));
- iOptionHandler->SipHeadersL(*headers,SipStrConsts::EFromHeader);
- EUNIT_ASSERT( iOptionHandler->iSettings.SipAddresses().MdcaCount()==0 );
-
- CleanupStack::PopAndDestroy(headers);
-
-
- }
-
-void UT_CMusAvaOptionHandler::UT_CMusAvaOptionHandler_VideoCodecsResolvedLL()
- {
- _LIT16( KVideoCodec , "H.264" );
- TBufC16<16> str(KVideoCodec);
- HBufC16* ptr;
- ptr = str.AllocLC();
-
- CDesCArrayFlat* videoCodecs = new( ELeave ) CDesCArrayFlat( 1 );
- CleanupStack::PushL( videoCodecs );
-
- videoCodecs->AppendL( *ptr );
- iOptionHandler->VideoCodecsResolvedL( *videoCodecs );
- EUNIT_ASSERT ( iOptionHandler->iSettings.iVideoCodecs->MdcaCount() > KErrNone );
- EUNIT_ASSERT ( iOptionHandler->iSettings.iVideoCodecs->MdcaPoint(0).Compare ( *ptr ) == 0 );
-
- videoCodecs->Reset();
- CleanupStack::PopAndDestroy( videoCodecs );
- CleanupStack::PopAndDestroy();
-
- }
-
-// TEST TABLE
-
-EUNIT_BEGIN_TEST_TABLE(
- UT_CMusAvaOptionHandler,
- "CMusAvaOptionHandler",
- "UNIT" )
-
-EUNIT_TEST(
- "NewL - test ",
- "CMusAvaOptionHandler",
- "NewL",
- "FUNCTIONALITY",
- SetupL,UT_CMusAvaOptionHandler_NewLL, Teardown)
-
-EUNIT_TEST(
- "DoExecuteL - test ",
- "CMusAvaOptionHandler",
- "DoExecuteL",
- "FUNCTIONALITY",
- SetupL,UT_CMusAvaOptionHandler_DoExecuteLL, Teardown)
-
-EUNIT_TEST(
- "Name - test ",
- "CMusAvaOptionHandler",
- "Name",
- "FUNCTIONALITY",
- SetupL,UT_CMusAvaOptionHandler_NameL, Teardown)
-
-
-EUNIT_TEST(
- "Status - test ",
- "CMusAvaOptionHandler",
- "Status",
- "FUNCTIONALITY",
- SetupL,UT_CMusAvaOptionHandler_StatusL, Teardown)
-
-EUNIT_TEST(
- "Stop - test ",
- "CMusAvaOptionHandler",
- "Stop",
- "FUNCTIONALITY",
- SetupL,UT_CMusAvaOptionHandler_StopL, Teardown)
-
-EUNIT_TEST(
- "CapabilitiesResolved - test ",
- "CMusAvaOptionHandler",
- "CapabilitiesResolved",
- "FUNCTIONALITY",
- SetupL,UT_CMusAvaOptionHandler_CapabilitiesResolvedL, Teardown)
-
-EUNIT_TEST(
- "CapabilitiesResolvedForCingular - test ",
- "CMusAvaOptionHandler",
- "CapabilitiesResolvedForCingular",
- "FUNCTIONALITY",
- SetupL,UT_CMusAvaOptionHandler_CapabilitiesResolvedForCingularL,
- Teardown)
-
-EUNIT_TEST(
- "SipHeadersL - test ",
- "CMusAvaOptionHandler",
- "SipHeadersL",
- "FUNCTIONALITY",
- SetupL,UT_CMusAvaOptionHandler_SipHeadersL,
- Teardown)
-
-EUNIT_TEST(
- "VideoCodecsResolvedL - test ",
- "CMusAvaOptionHandler",
- "VideoCodecsResolvedL",
- "FUNCTIONALITY",
- SetupL,UT_CMusAvaOptionHandler_VideoCodecsResolvedLL,
- Teardown)
-
-EUNIT_END_TEST_TABLE
-
-// END OF FILE