--- a/mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaSipConnectionObserver.cpp Tue Feb 02 00:09:07 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,500 +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 "UT_CMusAvaSipConnectionObserver.h"
-#include "muslogger.h"
-#include "mussettings.inl"
-#include "CSipSseTestTls.h"
-#include "mussettingskeys.h"
-#include "musavasipdefaulthandler.h"
-#include "sipconnectionobserver.h"
-#include "musavasipdefaulthandler.h"
-#include "musavasipconnectionadapter.h"
-#include "musavasettingsimp.h"
-#include "musavaregisteravailability.h"
-#include "musavasipprofileregistryobserver.h"
-#include "musavasipadapterimp.h"
-#include "musavasipconnectionobserver.h"
-#include "musavacapabilitytesthelper.h" //remove compilation warning
-
-// EXTERNAL INCLUDES
-#include <digia/eunit/eunitmacros.h>
-#include <e32base.h>
-//#include <telephonyinternalpskeys.h>
-#include <sipprofileregistry.h>
-#include <sip.h>
-#include <siprefresh.h>
-
-// INTERNAL INCLUDES
-#include "musavasipobserver.h"
-
-
-
-// CONSTRUCTION
-UT_CMusAvaSipConnectionObserver* UT_CMusAvaSipConnectionObserver::NewL()
- {
- UT_CMusAvaSipConnectionObserver* self = UT_CMusAvaSipConnectionObserver::NewLC();
- CleanupStack::Pop();
-
- return self;
- }
-
-UT_CMusAvaSipConnectionObserver* UT_CMusAvaSipConnectionObserver::NewLC()
- {
- UT_CMusAvaSipConnectionObserver* self = new( ELeave ) UT_CMusAvaSipConnectionObserver();
- CleanupStack::PushL( self );
-
- self->ConstructL();
-
- return self;
- }
-
-// Destructor (virtual by CBase)
-UT_CMusAvaSipConnectionObserver::~UT_CMusAvaSipConnectionObserver()
- {
- }
-
-// Default constructor
-UT_CMusAvaSipConnectionObserver::UT_CMusAvaSipConnectionObserver()
- {
- }
-
-// Second phase construct
-void UT_CMusAvaSipConnectionObserver::ConstructL()
- {
- // The ConstructL from the base class CEUnitTestSuiteClass must be called.
- // It generates the test case table.
- CEUnitTestSuiteClass::ConstructL();
- }
-
-// METHODS
-
-
-
-void UT_CMusAvaSipConnectionObserver::SetupL( )
- {
- SIPStrings::OpenL();
- iAdapterImp = CMusAvaSipAdapterImp::NewL();
- iAdapterImp2 = CMusAvaSipAdapterImp::NewL();
- iAdapterImp3 = CMusAvaSipAdapterImp::NewL();
- iMusAvaSipConnectionObserver = CMusAvaSipConnectionObserver::NewL();
- }
-
-void UT_CMusAvaSipConnectionObserver::Teardown( )
- {
- delete iMusAvaSipConnectionObserver;
- iMusAvaSipConnectionObserver = NULL;
- delete iAdapterImp;
- iAdapterImp = NULL;
- delete iAdapterImp2;
- iAdapterImp2 = NULL;
- delete iAdapterImp3;
- iAdapterImp3 = NULL;
- SIPStrings::Close();
- }
-
-void UT_CMusAvaSipConnectionObserver::RemoveDefaultHandler()
- {
- TInt defaultHandlerIndex( iMusAvaSipConnectionObserver->iObservers.Count() - 1 );
- MMusAvaSipConnectionAdapter* defaultHandler =
- iMusAvaSipConnectionObserver->iObservers[ defaultHandlerIndex ];
- iMusAvaSipConnectionObserver->iObservers.Remove( defaultHandlerIndex );
- delete iMusAvaSipConnectionObserver->iDefaultHandler;
- iMusAvaSipConnectionObserver->iDefaultHandler = NULL;
- }
-
-void UT_CMusAvaSipConnectionObserver::AddObserversL()
- {
- EUNIT_ASSERT( iMusAvaSipConnectionObserver->iObservers.Count() == 1 ); // default observer
- iMusAvaSipConnectionObserver->AddObserverL( *iAdapterImp, KErrNotFound );
- EUNIT_ASSERT( iMusAvaSipConnectionObserver->iObservers.Count() == 2 );
-
- }
-
-void UT_CMusAvaSipConnectionObserver::UT_CMusAvaSipConnectionObserver_AddObserverL()
- {
- EUNIT_ASSERT( iMusAvaSipConnectionObserver->iObservers.Count() == 1 ); // default observer
- iMusAvaSipConnectionObserver->AddObserverL( *iAdapterImp, KErrNotFound );
- EUNIT_ASSERT( iMusAvaSipConnectionObserver->iObservers.Count() == 2 );
-
- iMusAvaSipConnectionObserver->AddObserverL( *iAdapterImp, KErrNotFound );
- EUNIT_ASSERT( iMusAvaSipConnectionObserver->iObservers.Count() == 2 );
-
- iMusAvaSipConnectionObserver->AddObserverL( *iAdapterImp2, 0 );
- EUNIT_ASSERT( iMusAvaSipConnectionObserver->iObservers.Count() == 3 );
- EUNIT_ASSERT( iMusAvaSipConnectionObserver->iObservers[0] == iAdapterImp2 );
- EUNIT_ASSERT( iMusAvaSipConnectionObserver->iObservers[1] == iAdapterImp );
- EUNIT_ASSERT( iMusAvaSipConnectionObserver->iObservers[2] != NULL );
-
- iMusAvaSipConnectionObserver->iObservers.Remove(1);
- iMusAvaSipConnectionObserver->iObservers.Remove(0);
- EUNIT_ASSERT( iMusAvaSipConnectionObserver->iObservers[0] != iAdapterImp );
- EUNIT_ASSERT( iMusAvaSipConnectionObserver->iObservers[0] != iAdapterImp2 );
- EUNIT_ASSERT( iMusAvaSipConnectionObserver->iObservers[0] != NULL );
-
- iMusAvaSipConnectionObserver->AddObserverL( *iAdapterImp, KErrNotFound ); // invite handler
- iMusAvaSipConnectionObserver->AddObserverL( *iAdapterImp2, KErrNotFound ); // default option handler
- iMusAvaSipConnectionObserver->AddObserverL( *iAdapterImp3, 1 ); // option handler
- EUNIT_ASSERT( iMusAvaSipConnectionObserver->iObservers[0] == iAdapterImp );
- EUNIT_ASSERT( iMusAvaSipConnectionObserver->iObservers[1] == iAdapterImp3 );
- EUNIT_ASSERT( iMusAvaSipConnectionObserver->iObservers[2] == iAdapterImp2 );
- EUNIT_ASSERT( iMusAvaSipConnectionObserver->iObservers[3] != NULL );
-
- iMusAvaSipConnectionObserver->iObservers.Remove(2);
- EUNIT_ASSERT( iMusAvaSipConnectionObserver->iObservers.Count() == 3 );
-
- iMusAvaSipConnectionObserver->AddObserverL( *iAdapterImp2, 10 );
- EUNIT_ASSERT( iMusAvaSipConnectionObserver->iObservers.Count() == 4 );
-
- }
-
-void UT_CMusAvaSipConnectionObserver::UT_CMusAvaSipConnectionObserver_RemoveObserverL()
- {
- AddObserversL();
- iMusAvaSipConnectionObserver->RemoveObserver( *iAdapterImp );
- EUNIT_ASSERT( iMusAvaSipConnectionObserver->iObservers.Count() == 1 );
- iMusAvaSipConnectionObserver->RemoveObserver( *iAdapterImp );
- EUNIT_ASSERT( iMusAvaSipConnectionObserver->iObservers.Count() == 1 );
- }
-
-void UT_CMusAvaSipConnectionObserver::UT_CMusAvaSipConnectionObserver_ConnectionStateChangedL()
- {
- AddObserversL();
-
- RemoveDefaultHandler();
-
- iMusAvaSipConnectionObserver->ConnectionStateChanged( CSIPConnection::EActive );
- EUNIT_ASSERT( iAdapterImp->iState == CSIPConnection::EActive );
-
- iAdapterImp->Reset();
- iAdapterImp->iReturnCode = KErrGeneral;
- iMusAvaSipConnectionObserver->ConnectionStateChanged( CSIPConnection::EActive );
- EUNIT_ASSERT( iAdapterImp->iState != CSIPConnection::EActive );
- }
-
-void UT_CMusAvaSipConnectionObserver::UT_CMusAvaSipConnectionObserver_ErrorOccuredL()
- {
- AddObserversL();
-
- RemoveDefaultHandler();
-
- // ErrorOccured variant 1
- //
- CSIPClientTransaction* clientTransaction =
- CSIPClientTransaction::NewL( SIPStrings::StringF( SipStrConsts::EOptions ) );
- CleanupStack::PushL( clientTransaction );
- TInt regBindingFake( 3 );
- CSIPRegistrationBinding* regBinding = reinterpret_cast<CSIPRegistrationBinding*>( ®BindingFake );
- iMusAvaSipConnectionObserver->ErrorOccured( KErrNotFound, *clientTransaction, *regBinding );
- EUNIT_ASSERT( iAdapterImp->iError == KErrNotFound );
- EUNIT_ASSERT( iAdapterImp->iClientTransaction == clientTransaction );
- EUNIT_ASSERT( iAdapterImp->iRegBinding == regBinding );
-
- iAdapterImp->Reset();
- iAdapterImp->iReturnCode = KErrGeneral;
- iMusAvaSipConnectionObserver->ErrorOccured( KErrNotFound, *clientTransaction, *regBinding );
- EUNIT_ASSERT( iAdapterImp->iError == KErrNone );
-
- // ErrorOccured variant 2
- //
- iAdapterImp->Reset();
- CSIPServerTransaction* serverTransaction =
- CSIPServerTransaction::NewL( SIPStrings::StringF( SipStrConsts::EOptions ) );
- CleanupStack::PushL( serverTransaction );
- TInt dialogAssocFake( 4 );
- CSIPInviteDialogAssoc* dialogAssoc = reinterpret_cast<CSIPInviteDialogAssoc*>( &dialogAssocFake );
- iMusAvaSipConnectionObserver->ErrorOccured( KErrNotFound, *dialogAssoc );
- EUNIT_ASSERT( iAdapterImp->iError == KErrNotFound );
- EUNIT_ASSERT( iAdapterImp->iDialogAssoc == dialogAssoc );
-
- iAdapterImp->Reset();
- iAdapterImp->iReturnCode = KErrGeneral;
- iMusAvaSipConnectionObserver->ErrorOccured( KErrNotFound, *dialogAssoc );
- EUNIT_ASSERT( iAdapterImp->iError == KErrNone );
-
- // ErrorOccured variant 3
- //
- iAdapterImp->Reset();
- TInt refreshFake( 5 );
- CSIPRefresh* refresh = reinterpret_cast<CSIPRefresh*>( &refreshFake );
- iMusAvaSipConnectionObserver->ErrorOccured( KErrNotFound, *refresh );
- EUNIT_ASSERT( iAdapterImp->iError == KErrNotFound );
- EUNIT_ASSERT( iAdapterImp->iRefresh == refresh );
-
- iAdapterImp->Reset();
- iAdapterImp->iReturnCode = KErrGeneral;
- iMusAvaSipConnectionObserver->ErrorOccured( KErrNotFound, *refresh );
- EUNIT_ASSERT( iAdapterImp->iError == KErrNone );
-
- // ErrorOccured variant 4
- //
- iAdapterImp->Reset();
- iMusAvaSipConnectionObserver->ErrorOccured( KErrNotFound, *regBinding );
- EUNIT_ASSERT( iAdapterImp->iError == KErrNotFound );
- EUNIT_ASSERT( iAdapterImp->iRegBinding == regBinding );
-
- iAdapterImp->Reset();
- iAdapterImp->iReturnCode = KErrGeneral;
- iMusAvaSipConnectionObserver->ErrorOccured( KErrNotFound, *regBinding );
- EUNIT_ASSERT( iAdapterImp->iError == KErrNone );
-
- // ErrorOccured variant 5
- //
- iAdapterImp->Reset();
- iMusAvaSipConnectionObserver->ErrorOccured( KErrNotFound, *clientTransaction );
- EUNIT_ASSERT( iAdapterImp->iError == KErrNotFound );
- EUNIT_ASSERT( iAdapterImp->iTransaction == clientTransaction );
-
- iAdapterImp->Reset();
- iAdapterImp->iReturnCode = KErrGeneral;
- iMusAvaSipConnectionObserver->ErrorOccured( KErrNotFound, *clientTransaction );
- EUNIT_ASSERT( iAdapterImp->iError == KErrNone );
-
- // ErrorOccured variant 6
- //
- iAdapterImp->Reset();
- iMusAvaSipConnectionObserver->ErrorOccured( KErrNotFound, *clientTransaction, *dialogAssoc );
- EUNIT_ASSERT( iAdapterImp->iError == KErrNotFound );
- EUNIT_ASSERT( iAdapterImp->iTransaction == clientTransaction );
- EUNIT_ASSERT( iAdapterImp->iDialogAssoc == dialogAssoc );
-
- iAdapterImp->Reset();
- iAdapterImp->iReturnCode = KErrGeneral;
- iMusAvaSipConnectionObserver->ErrorOccured( KErrNotFound, *clientTransaction, *dialogAssoc );
- EUNIT_ASSERT( iAdapterImp->iError == KErrNone );
-
- CleanupStack::PopAndDestroy( serverTransaction );
- CleanupStack::PopAndDestroy( clientTransaction );
- }
-
-void UT_CMusAvaSipConnectionObserver::UT_CMusAvaSipConnectionObserver_IncomingRequestL()
- {
- AddObserversL();
-
- RemoveDefaultHandler();
-
- // Variant 1
- //
- CSIPServerTransaction* serverTransaction =
- CSIPServerTransaction::NewL( SIPStrings::StringF( SipStrConsts::EOptions ) );
-
- iMusAvaSipConnectionObserver->IncomingRequest( serverTransaction );
- EUNIT_ASSERT( iAdapterImp->iServerTransaction == serverTransaction );
-
- serverTransaction = NULL;
- serverTransaction =
- CSIPServerTransaction::NewL( SIPStrings::StringF( SipStrConsts::EOptions ) );
- iAdapterImp->Reset();
- iAdapterImp->iReturnCode = KErrGeneral;
- iMusAvaSipConnectionObserver->IncomingRequest( serverTransaction );
- EUNIT_ASSERT( iAdapterImp->iServerTransaction == NULL );
- delete serverTransaction;
-
- // Variant 2
- //
- serverTransaction = NULL;
- serverTransaction =
- CSIPServerTransaction::NewL( SIPStrings::StringF( SipStrConsts::EOptions ) );
- iAdapterImp->Reset();
- TInt dialogFake( 4 );
- CSIPDialog* dialog = reinterpret_cast<CSIPDialog*>( &dialogFake );
- iMusAvaSipConnectionObserver->IncomingRequest( serverTransaction, *dialog );
- EUNIT_ASSERT( iAdapterImp->iServerTransaction == serverTransaction );
- EUNIT_ASSERT( iAdapterImp->iDialog == dialog );
-
- serverTransaction = NULL;
- serverTransaction =
- CSIPServerTransaction::NewL( SIPStrings::StringF( SipStrConsts::EOptions ) );
- iAdapterImp->Reset();
- iAdapterImp->iReturnCode = KErrGeneral;
- iMusAvaSipConnectionObserver->IncomingRequest( serverTransaction, *dialog );
- EUNIT_ASSERT( iAdapterImp->iServerTransaction == NULL );
- delete serverTransaction;
- }
-
-void UT_CMusAvaSipConnectionObserver::UT_CMusAvaSipConnectionObserver_IncomingResponseL()
- {
- AddObserversL();
-
- RemoveDefaultHandler();
-
- // Variant 1
- //
- CSIPClientTransaction* clientTransaction =
- CSIPClientTransaction::NewL( SIPStrings::StringF( SipStrConsts::EOptions ) );
- CleanupStack::PushL( clientTransaction );
- iMusAvaSipConnectionObserver->IncomingResponse( *clientTransaction );
- EUNIT_ASSERT( iAdapterImp->iClientTransaction == clientTransaction );
-
- iAdapterImp->Reset();
- iAdapterImp->iReturnCode = KErrGeneral;
- iMusAvaSipConnectionObserver->IncomingResponse( *clientTransaction );
- EUNIT_ASSERT( iAdapterImp->iClientTransaction == NULL );
-
- // Variant 2
- //
- iAdapterImp->Reset();
- TInt dialogAssocFake( 4 );
- CSIPInviteDialogAssoc* dialogAssoc = reinterpret_cast<CSIPInviteDialogAssoc*>( &dialogAssocFake );
- iMusAvaSipConnectionObserver->IncomingResponse( *clientTransaction, *dialogAssoc );
- EUNIT_ASSERT( iAdapterImp->iClientTransaction == clientTransaction );
- EUNIT_ASSERT( iAdapterImp->iDialogAssoc == dialogAssoc );
-
- iAdapterImp->Reset();
- iAdapterImp->iReturnCode = KErrGeneral;
- iMusAvaSipConnectionObserver->IncomingResponse( *clientTransaction, *dialogAssoc );
- EUNIT_ASSERT( iAdapterImp->iClientTransaction == NULL );
-
- // Variant 3
- //
- iAdapterImp->Reset();
- iMusAvaSipConnectionObserver->IncomingResponse( *clientTransaction, NULL );
- EUNIT_ASSERT( iAdapterImp->iClientTransaction == clientTransaction );
- EUNIT_ASSERT( iAdapterImp->iInviteAssoc == NULL );
-
- iAdapterImp->Reset();
- iAdapterImp->iReturnCode = KErrGeneral;
- iMusAvaSipConnectionObserver->IncomingResponse( *clientTransaction, NULL );
- EUNIT_ASSERT( iAdapterImp->iClientTransaction == NULL );
-
- // Variant 4
- //
- iAdapterImp->Reset();
- TInt regBindingFake( 3 );
- CSIPRegistrationBinding* regBinding = reinterpret_cast<CSIPRegistrationBinding*>( ®BindingFake );
- iMusAvaSipConnectionObserver->IncomingResponse( *clientTransaction, *regBinding );
- EUNIT_ASSERT( iAdapterImp->iClientTransaction == clientTransaction );
- EUNIT_ASSERT( iAdapterImp->iRegBinding == regBinding );
-
- iAdapterImp->Reset();
- iAdapterImp->iReturnCode = KErrGeneral;
- iMusAvaSipConnectionObserver->IncomingResponse( *clientTransaction, *regBinding );
- EUNIT_ASSERT( iAdapterImp->iClientTransaction == NULL );
-
- CleanupStack::PopAndDestroy( clientTransaction );
- }
-
-void UT_CMusAvaSipConnectionObserver::UT_CMusAvaSipConnectionObserver_InviteCanceledL()
- {
- AddObserversL();
-
- RemoveDefaultHandler();
-
- CSIPServerTransaction* serverTransaction =
- CSIPServerTransaction::NewL( SIPStrings::StringF( SipStrConsts::EOptions ) );
- CleanupStack::PushL( serverTransaction );
-
- iMusAvaSipConnectionObserver->InviteCanceled( *serverTransaction );
- EUNIT_ASSERT( iAdapterImp->iServerTransaction == serverTransaction );
-
- iAdapterImp->Reset();
- iAdapterImp->iReturnCode = KErrGeneral;
- iMusAvaSipConnectionObserver->InviteCanceled( *serverTransaction );
- EUNIT_ASSERT( iAdapterImp->iServerTransaction == NULL );
-
- CleanupStack::PopAndDestroy( serverTransaction );
- }
-
-void UT_CMusAvaSipConnectionObserver::UT_CMusAvaSipConnectionObserver_InviteCompletedL()
- {
- AddObserversL();
-
- RemoveDefaultHandler();
-
- CSIPClientTransaction* clientTransaction =
- CSIPClientTransaction::NewL( SIPStrings::StringF( SipStrConsts::EOptions ) );
- CleanupStack::PushL( clientTransaction );
-
- iMusAvaSipConnectionObserver->InviteCompleted( *clientTransaction );
- EUNIT_ASSERT( iAdapterImp->iClientTransaction == clientTransaction );
-
- iAdapterImp->Reset();
- iAdapterImp->iReturnCode = KErrGeneral;
- iMusAvaSipConnectionObserver->InviteCompleted( *clientTransaction );
- EUNIT_ASSERT( iAdapterImp->iClientTransaction == NULL );
-
- CleanupStack::PopAndDestroy( clientTransaction );
- }
-
-// TEST TABLE
-
-EUNIT_BEGIN_TEST_TABLE(
- UT_CMusAvaSipConnectionObserver,
- "CMusAvaSipConnectionObserver",
- "UNIT" )
-
-EUNIT_TEST(
- "AddObserverL - test ",
- "CMusAvaSipConnectionObserver",
- "AddObserverL",
- "FUNCTIONALITY",
- SetupL, UT_CMusAvaSipConnectionObserver_AddObserverL, Teardown)
-
-EUNIT_TEST(
- "RemoveObserverL - test ",
- "CMusAvaSipConnectionObserver",
- "RemoveObserverL",
- "FUNCTIONALITY",
- SetupL, UT_CMusAvaSipConnectionObserver_RemoveObserverL, Teardown)
-
-EUNIT_TEST(
- "ConnectionStateChangedL - test ",
- "CMusAvaSipConnectionObserver",
- "ConnectionStateChangedL",
- "FUNCTIONALITY",
- SetupL, UT_CMusAvaSipConnectionObserver_ConnectionStateChangedL, Teardown)
-
-EUNIT_TEST(
- "ErrorOccuredL - test ",
- "CMusAvaSipConnectionObserver",
- "ErrorOccuredL",
- "FUNCTIONALITY",
- SetupL, UT_CMusAvaSipConnectionObserver_ErrorOccuredL, Teardown)
-
-EUNIT_TEST(
- "IncomingRequestL - test ",
- "CMusAvaSipConnectionObserver",
- "IncomingRequestL",
- "FUNCTIONALITY",
- SetupL, UT_CMusAvaSipConnectionObserver_IncomingRequestL, Teardown)
-
-EUNIT_TEST(
- "IncomingResponseL - test ",
- "CMusAvaSipConnectionObserver",
- "IncomingResponseL",
- "FUNCTIONALITY",
- SetupL, UT_CMusAvaSipConnectionObserver_IncomingResponseL, Teardown)
-
-EUNIT_TEST(
- "InviteCanceledL - test ",
- "CMusAvaSipConnectionObserver",
- "InviteCanceledL",
- "FUNCTIONALITY",
- SetupL, UT_CMusAvaSipConnectionObserver_InviteCanceledL, Teardown)
-
-EUNIT_TEST(
- "InviteCompletedL - test ",
- "CMusAvaSipConnectionObserver",
- "InviteCompletedL",
- "FUNCTIONALITY",
- SetupL, UT_CMusAvaSipConnectionObserver_InviteCompletedL, Teardown)
-
-EUNIT_END_TEST_TABLE
-
-// END OF FILE