--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaRegisterAvailability.cpp Fri Jun 11 13:36:18 2010 +0300
@@ -0,0 +1,486 @@
+/*
+* 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_CMusAvaRegisterAvailability.h"
+#include "musavaavailabilityobserver.h"
+#include "musavaavailabilityobserverimp.h"
+#include "musavaobserver.h"
+#include "musavaobserverimp.h"
+#include "musavadefaultimp.h"
+#include "musavaobserverimp.h"
+#include "musavasettingsimp.h"
+#include "mussettingskeys.h"
+#include "mussettings.h"
+#include "CSipSseTestTls.h"
+#include "musavasharedobject.h"
+#include "sipprofile.h"
+#include "musavasip.h"
+#include "sipprofileregistry.h"
+#include "sipprofileregistryobserver.h"
+#include "musavasipprofileregistryobserver.h"
+#include "musavacapabilitytesthelper.h" //remove compilation warning
+
+// EXTERNAL INCLUDES
+#include <digia/eunit/eunitmacros.h>
+#include <e32base.h>
+//#include <telephonyinternalpskeys.h>
+#include <sipprofileregistry.h>
+#include <sipprofileregistryobserver.h>
+#include <sipstrings.h>
+#include <sipstrconsts.h>
+#include <digia/eunit/eunitdecorators.h>
+
+// INTERNAL INCLUDES
+#include "musavaregisteravailability.h"
+
+//const TInt KNumberMatchingDigitsRequired( 7 );
+
+//_LIT(KNumberZero,"");
+//_LIT(KNumber,"05012345678");
+//_LIT(KPlusNumber,"+3585012345678");
+
+// CONSTRUCTION
+UT_CMusAvaRegisterAvailability* UT_CMusAvaRegisterAvailability::NewL()
+ {
+ UT_CMusAvaRegisterAvailability* self = UT_CMusAvaRegisterAvailability::NewLC();
+ CleanupStack::Pop();
+
+ return self;
+ }
+
+UT_CMusAvaRegisterAvailability* UT_CMusAvaRegisterAvailability::NewLC()
+ {
+ UT_CMusAvaRegisterAvailability* self = new( ELeave ) UT_CMusAvaRegisterAvailability();
+ CleanupStack::PushL( self );
+
+ self->ConstructL();
+
+ return self;
+ }
+
+// Destructor (virtual by CBase)
+UT_CMusAvaRegisterAvailability::~UT_CMusAvaRegisterAvailability()
+ {
+ }
+
+// Default constructor
+UT_CMusAvaRegisterAvailability::UT_CMusAvaRegisterAvailability()
+ {
+ }
+
+// Second phase construct
+void UT_CMusAvaRegisterAvailability::ConstructL()
+ {
+ // The ConstructL from the base class CEUnitTestSuiteClass must be called.
+ // It generates the test case table.
+ CEUnitTestSuiteClass::ConstructL();
+ }
+
+// METHODS
+
+
+
+void UT_CMusAvaRegisterAvailability::SetupL( )
+ {
+ SIPStrings::OpenL();
+ CSipSseTestTls::OpenL();
+ iProfileId = MultimediaSharingSettings::SipProfileSettingL();
+ iAvailabilityObserver = CMusAvaAvailabilityObserverImp::NewL();
+ iConcreteSettings = CMusAvaSettingsImp::NewL();
+ iRegisterAvailability = CMusAvaRegisterAvailability::NewL( *iAvailabilityObserver,
+ *iConcreteSettings );
+ iSharedObj = CMusAvaSharedObject::GetSingletonL();
+ }
+
+void UT_CMusAvaRegisterAvailability::Teardown( )
+ {
+ delete iAvailabilityObserver;
+ iAvailabilityObserver = NULL;
+ delete iConcreteSettings;
+ iConcreteSettings = NULL;
+ delete iRegisterAvailability;
+ iRegisterAvailability = NULL;
+
+ CSipSseTestTls::Close();
+ CMusAvaSharedObject::DeleteSingleton();
+ SIPStrings::Close();
+ }
+
+void UT_CMusAvaRegisterAvailability::UT_CMusAvaRegisterAvailability_NewLL()
+ {
+ EUNIT_ASSERT( iRegisterAvailability );
+ }
+
+void UT_CMusAvaRegisterAvailability::UT_CMusAvaRegisterAvailability_DoExecuteLL()
+ {
+ MultimediaSharingSettings::SetSipProfileSettingL( 5 );
+
+ TRAPD( error, iRegisterAvailability->DoExecuteL() );
+ if ( error == KErrNoMemory ) User::Leave( error );
+ EUNIT_ASSERT ( error == KErrNone );
+
+ TInt count = 0;
+ EUNIT_GET_ALLOC_DECORATOR_FAILCOUNT( count );
+ if ( count == 0 )
+ {
+ EUNIT_ASSERT( iAvailabilityObserver->iStatus ==
+ MMusAvaObserver::EMusAvaStatusAvailable );
+ }
+ else
+ {
+ EUNIT_ASSERT( iAvailabilityObserver->iStatus ==
+ MMusAvaObserver::EMusAvaStatusNoSipProfile);
+ }
+
+ EUNIT_ASSERT( iAvailabilityObserver->iName == MMusAvaObserver::EMusAvaNameRegistration );
+ }
+void UT_CMusAvaRegisterAvailability::UT_CMusAvaRegisterAvailability_NameL()
+ {
+ EUNIT_ASSERT( iRegisterAvailability->Name() == MMusAvaObserver::EMusAvaNameRegistration );
+ }
+void UT_CMusAvaRegisterAvailability::UT_CMusAvaRegisterAvailability_StatusL()
+ {
+ //No profile created
+ EUNIT_ASSERT( iRegisterAvailability->State() == MMusAvaObserver::EMusAvaStatusNotExecuted );
+
+ MultimediaSharingSettings::SetSipProfileSettingL( 5 );
+
+ iRegisterAvailability->DoExecuteL();
+
+ TInt count = 0;
+ EUNIT_GET_ALLOC_DECORATOR_FAILCOUNT( count );
+ if ( count == 0 )
+ {
+ EUNIT_ASSERT( iAvailabilityObserver->iStatus ==
+ MMusAvaObserver::EMusAvaStatusAvailable );
+ }
+ else
+ {
+ EUNIT_ASSERT( iAvailabilityObserver->iStatus ==
+ MMusAvaObserver::EMusAvaStatusNoSipProfile);
+ }
+
+ }
+void UT_CMusAvaRegisterAvailability::UT_CMusAvaRegisterAvailability_Stop()
+ {
+ //Profile is not created
+ iRegisterAvailability->Stop();
+ EUNIT_ASSERT( iRegisterAvailability->State() == MMusAvaObserver::EMusAvaStatusNotExecuted );
+
+ // Test with profile
+ // Create Profile
+ TRAPD ( error, iSharedObj->MusAvaSip().CreateProfileL() );
+ if ( error == KErrNoMemory ) User::Leave( error );
+ EUNIT_ASSERT ( error == KErrNone );
+
+ MultimediaSharingSettings::SetSipProfileSettingL( 1 );
+ //Profile created
+ iRegisterAvailability->Stop();
+ CSIPProfileRegistry& registry = iSharedObj->MusAvaSip().ProfileRegistryL();
+ EUNIT_ASSERT( registry.iProfileDisabled == ETrue);
+ }
+void UT_CMusAvaRegisterAvailability::UT_CMusAvaRegisterAvailability_ProfileRegistryEventOccurredL()
+ {
+ iRegisterAvailability->ProfileRegistryEventOccurred( 1, MSIPProfileRegistryObserver::EProfileCreated );
+
+ MultimediaSharingSettings::SetSipProfileSettingL( 1 );
+ EUNIT_ASSERT( iSharedObj->MusAvaSip().CreateProfileL() );
+ iRegisterAvailability->ProfileRegistryEventOccurred( 1, MSIPProfileRegistryObserver::EProfileRegistered );
+
+ TRAPD( error, iRegisterAvailability->DoExecuteL() );
+ if ( error == KErrNoMemory ) User::Leave( error );
+ EUNIT_ASSERT ( error == KErrNone );
+
+ iRegisterAvailability->ProfileRegistryEventOccurred( 1, MSIPProfileRegistryObserver::EProfileCreated );
+ iRegisterAvailability->ProfileRegistryEventOccurred( 1, MSIPProfileRegistryObserver::EProfileUpdated );
+ iRegisterAvailability->ProfileRegistryEventOccurred( 1, MSIPProfileRegistryObserver::EProfileRegistered );
+
+ EUNIT_ASSERT( iAvailabilityObserver->iStatus == MMusAvaObserver::EMusAvaStatusAvailable );
+ EUNIT_ASSERT( iAvailabilityObserver->iName == MMusAvaObserver::EMusAvaNameRegistration );
+
+ iRegisterAvailability->ProfileRegistryEventOccurred( 1, MSIPProfileRegistryObserver::EProfileDeregistered );
+
+ EUNIT_ASSERT( iAvailabilityObserver->iStatus == MMusAvaObserver::EMusAvaStatusNotRegistered );
+ EUNIT_ASSERT( iAvailabilityObserver->iName == MMusAvaObserver::EMusAvaNameRegistration );
+
+ iRegisterAvailability->ProfileRegistryEventOccurred( 1, MSIPProfileRegistryObserver::EProfileDestroyed );
+ EUNIT_ASSERT( iRegisterAvailability->State() == MMusAvaObserver::EMusAvaStatusNotRegistered );
+ }
+
+void UT_CMusAvaRegisterAvailability::UT_CMusAvaRegisterAvailability_CreateSipAddressProposalLL()
+ {
+ //Profile is not created
+ iRegisterAvailability->Stop();
+ EUNIT_ASSERT( iRegisterAvailability->State() == MMusAvaObserver::EMusAvaStatusNotExecuted );
+
+ // Test with profile
+ // Create Profile
+ TRAPD( error, iSharedObj->MusAvaSip().CreateProfileL() );
+ if ( error == KErrNoMemory ) User::Leave( error );
+ EUNIT_ASSERT ( error == KErrNone );
+ iRegisterAvailability->CreateSipAddressProposalL();
+
+ }
+
+void UT_CMusAvaRegisterAvailability::UT_CMusAvaRegisterAvailability_ConnectionStateChangedL()
+ {
+ iRegisterAvailability->SetState( MMusAvaObserver::EMusAvaStatusNotExecuted );
+
+ iRegisterAvailability->SetState( MMusAvaObserver::EMusAvaStatusNotExecuted );
+ iRegisterAvailability->ConnectionStateChanged( CSIPConnection::EInit );
+ EUNIT_ASSERT( iRegisterAvailability->State() == MMusAvaObserver::EMusAvaStatusNotExecuted );
+
+ iRegisterAvailability->SetState( MMusAvaObserver::EMusAvaStatusNotExecuted );
+ iRegisterAvailability->ConnectionStateChanged( CSIPConnection::EActive );
+ EUNIT_ASSERT( iRegisterAvailability->State() == MMusAvaObserver::EMusAvaStatusNotExecuted );
+
+ iRegisterAvailability->SetState( MMusAvaObserver::EMusAvaStatusNotExecuted );
+ iRegisterAvailability->ConnectionStateChanged( CSIPConnection::ESuspended );
+ EUNIT_ASSERT( iRegisterAvailability->State() == MMusAvaObserver::EMusAvaConnectionErr );
+
+ iRegisterAvailability->SetState( MMusAvaObserver::EMusAvaStatusNotExecuted );
+ iRegisterAvailability->ConnectionStateChanged( CSIPConnection::EInactive );
+ EUNIT_ASSERT( iRegisterAvailability->State() == MMusAvaObserver::EMusAvaConnectionErr );
+
+ iRegisterAvailability->SetState( MMusAvaObserver::EMusAvaStatusNotExecuted );
+ iRegisterAvailability->ConnectionStateChanged( CSIPConnection::EUnavailable );
+ EUNIT_ASSERT( iRegisterAvailability->State() == MMusAvaObserver::EMusAvaConnectionErr );
+
+ iRegisterAvailability->SetState( MMusAvaObserver::EMusAvaStatusNotExecuted );
+ iRegisterAvailability->ConnectionStateChanged( (CSIPConnection::TState)6 );
+ EUNIT_ASSERT( iRegisterAvailability->State() == MMusAvaObserver::EMusAvaStatusNotExecuted );
+ }
+
+void UT_CMusAvaRegisterAvailability::UT_CMusAvaRegisterAvailability_ProfileRegistryErrorOccurredL()
+ {
+ iRegisterAvailability->ProfileRegistryErrorOccurred(5, -5 );
+
+ // Test Profile
+ TRAPD( error, iSharedObj->MusAvaSip().CreateProfileL() );
+ if ( error == KErrNoMemory ) User::Leave( error );
+ EUNIT_ASSERT ( error == KErrNone );
+ //Profile created
+ iRegisterAvailability->ProfileRegistryErrorOccurred(5, -5 );
+
+ MultimediaSharingSettings::SetSipProfileSettingL( 1 );
+
+ iRegisterAvailability->ProfileRegistryErrorOccurred(1, -5 );
+ EUNIT_ASSERT( iRegisterAvailability->State() == MMusAvaObserver::EMusAvaStatusNotRegistered );
+ }
+
+
+void UT_CMusAvaRegisterAvailability::UT_CMusAvaRegisterAvailability_RegisterLL()
+ {
+ MultimediaSharingSettings::SetSipProfileSettingL( 5 );
+ TRAPD( error, iRegisterAvailability->RegisterL() );
+ if ( error == KErrNoMemory ) User::Leave( error );
+ EUNIT_ASSERT ( error == KErrNone );
+ TInt count = 0;
+ EUNIT_GET_ALLOC_DECORATOR_FAILCOUNT( count );
+ if ( count == 0 )
+ {
+ EUNIT_ASSERT( iSharedObj->MusAvaSip().iSipConnection != NULL );
+ EUNIT_ASSERT( iAvailabilityObserver->iStatus ==
+ MMusAvaObserver::EMusAvaStatusAvailable );
+ }
+ else
+ {
+ EUNIT_ASSERT( iAvailabilityObserver->iStatus ==
+ MMusAvaObserver::EMusAvaStatusNoSipProfile);
+ }
+ }
+
+void UT_CMusAvaRegisterAvailability::UT_CMusAvaRegisterAvailability_InitializeRegisterL()
+ {
+ MultimediaSharingSettings::SetSipProfileSettingL( 5 );
+ EUNIT_ASSERT( iRegisterAvailability->InitializeRegister() );
+ }
+
+void UT_CMusAvaRegisterAvailability::UT_CMusAvaRegisterAvailability_EnableRegisterLL()
+ {
+ MultimediaSharingSettings::SetSipProfileSettingL( 1 );
+ iSharedObj->MusAvaSip().CreateProfileL();
+ iRegisterAvailability->EnableRegisterL();
+ EUNIT_ASSERT( iSharedObj->MusAvaSip().ProfileRegistryL().IsEnabled(
+ *iSharedObj->MusAvaSip().Profile() ));
+
+ }
+
+void UT_CMusAvaRegisterAvailability::UT_CMusAvaRegisterAvailability_UpdateSIPProfileL()
+ {
+ delete iSharedObj->MusAvaSip().iSipProfileRegistry;
+ iSharedObj->MusAvaSip().iSipProfileRegistry = NULL;
+ delete iSharedObj->MusAvaSip().iSipProfile;
+ iSharedObj->MusAvaSip().iSipProfile = NULL;
+
+ // Profile Id found
+ iSharedObj->MusAvaSip().iSipProfileRegistry = CSIPProfileRegistry::NewL(
+ iSharedObj->MusAvaSip().Sip(),
+ *iSharedObj->MusAvaSip().iSipProfileRegistryObserver );
+ iRegisterAvailability->iSharedObj->MusAvaSip().iSipProfile = CSIPProfile::NewL( iSharedObj->MusAvaSip().iSipProfileRegistry );
+ iRegisterAvailability->iSharedObj->MusAvaSip().Profile()->iTUint32ValueError = KErrNone;
+ EUNIT_ASSERT( iRegisterAvailability->UpdateSIPProfile() );
+ // Profile Id found
+ iRegisterAvailability->iSharedObj->MusAvaSip().Profile()->iTUint32Value = 1;
+ EUNIT_ASSERT( iRegisterAvailability->UpdateSIPProfile() );
+ // Profile not Id found
+ iRegisterAvailability->iSharedObj->MusAvaSip().Profile()->iTUint32Value = 0;
+ iRegisterAvailability->iSharedObj->MusAvaSip().Profile()->iTUint32ValueError = KErrNotFound;
+ EUNIT_ASSERT( !iRegisterAvailability->UpdateSIPProfile() );
+ delete iRegisterAvailability->iSharedObj->MusAvaSip().iSipProfile;
+ iRegisterAvailability->iSharedObj->MusAvaSip().iSipProfile = NULL;
+ }
+
+void UT_CMusAvaRegisterAvailability::UT_CMusAvaRegisterAvailability_RegistrationStatusL()
+ {
+ delete iSharedObj->MusAvaSip().iSipProfileRegistry;
+ iSharedObj->MusAvaSip().iSipProfileRegistry = NULL;
+ delete iSharedObj->MusAvaSip().iSipProfile;
+ iSharedObj->MusAvaSip().iSipProfile = NULL;
+ iSharedObj->MusAvaSip().iSipProfileRegistry = CSIPProfileRegistry::NewL(
+ iSharedObj->MusAvaSip().Sip(),
+ *iSharedObj->MusAvaSip().iSipProfileRegistryObserver );
+ iRegisterAvailability->iSharedObj->MusAvaSip().iSipProfile = CSIPProfile::NewL( iSharedObj->MusAvaSip().iSipProfileRegistry );
+ //Not registred
+ iRegisterAvailability->iSharedObj->MusAvaSip().Profile()->iTBoolValueError = KErrNone;
+ iRegisterAvailability->iSharedObj->MusAvaSip().Profile()->iTBoolValue = EFalse;
+ EUNIT_ASSERT( !iRegisterAvailability->RegistrationStatusL() );
+ //Register error
+ iRegisterAvailability->iSharedObj->MusAvaSip().Profile()->iTBoolValueError = KErrNotFound;
+ EUNIT_ASSERT( !iRegisterAvailability->RegistrationStatusL() );
+ // Registred
+ iRegisterAvailability->iSharedObj->MusAvaSip().Profile()->iTBoolValueError = KErrNone;
+ iRegisterAvailability->iSharedObj->MusAvaSip().Profile()->iTBoolValue = ETrue;
+ EUNIT_ASSERT( iRegisterAvailability->RegistrationStatusL() );
+ delete iRegisterAvailability->iSharedObj->MusAvaSip().iSipProfile;
+ iRegisterAvailability->iSharedObj->MusAvaSip().iSipProfile = NULL;
+ }
+
+// TEST TABLE
+
+EUNIT_BEGIN_TEST_TABLE(
+ UT_CMusAvaRegisterAvailability,
+ "CMusAvaRegisterAvailability",
+ "UNIT" )
+
+EUNIT_TEST(
+ "NewL - test ",
+ "CMusAvaRegisterAvailability",
+ "NewL",
+ "FUNCTIONALITY",
+ SetupL, UT_CMusAvaRegisterAvailability_NewLL, Teardown)
+
+EUNIT_TEST(
+ "DoExecuteL - test ",
+ "CMusAvaRegisterAvailability",
+ "DoExecuteL",
+ "FUNCTIONALITY",
+ SetupL, UT_CMusAvaRegisterAvailability_DoExecuteLL, Teardown)
+
+EUNIT_TEST(
+ "Name - test ",
+ "CMusAvaRegisterAvailability",
+ "Name",
+ "FUNCTIONALITY",
+ SetupL, UT_CMusAvaRegisterAvailability_NameL, Teardown)
+
+
+EUNIT_TEST(
+ "Status - test ",
+ "CMusAvaRegisterAvailability",
+ "Status",
+ "FUNCTIONALITY",
+ SetupL, UT_CMusAvaRegisterAvailability_StatusL, Teardown)
+
+EUNIT_TEST(
+ "StopPattern - test ",
+ "CMusAvaRegisterAvailability",
+ "StopPattern",
+ "FUNCTIONALITY",
+ SetupL, UT_CMusAvaRegisterAvailability_Stop, Teardown)
+
+EUNIT_TEST(
+ "ProfileRegistryEventOccurred - test ",
+ "CMusAvaRegisterAvailability",
+ "ProfileRegistryEventOccurred",
+ "FUNCTIONALITY",
+ SetupL, UT_CMusAvaRegisterAvailability_ProfileRegistryEventOccurredL, Teardown)
+
+EUNIT_TEST(
+ "CreateSipAddressProposalL - test ",
+ "CMusAvaRegisterAvailability",
+ "CreateSipAddressProposalL",
+ "FUNCTIONALITY",
+ SetupL, UT_CMusAvaRegisterAvailability_CreateSipAddressProposalLL, Teardown)
+
+EUNIT_TEST(
+ "ConnectionStateChanged - test ",
+ "CMusAvaRegisterAvailability",
+ "ConnectionStateChanged",
+ "FUNCTIONALITY",
+ SetupL, UT_CMusAvaRegisterAvailability_ConnectionStateChangedL, Teardown)
+
+EUNIT_TEST(
+ "ErrorOccurred - test ",
+ "CMusAvaRegisterAvailability",
+ "ErrorOccurred",
+ "FUNCTIONALITY",
+ SetupL, UT_CMusAvaRegisterAvailability_ProfileRegistryErrorOccurredL, Teardown)
+
+EUNIT_TEST(
+ "RegisterL - test ",
+ "CMusAvaRegisterAvailability",
+ "RegisterL",
+ "FUNCTIONALITY",
+ SetupL, UT_CMusAvaRegisterAvailability_RegisterLL, Teardown)
+
+EUNIT_TEST(
+ "InitializeRegisterL - test ",
+ "CMusAvaRegisterAvailability",
+ "InitializeRegisterL",
+ "FUNCTIONALITY",
+ SetupL, UT_CMusAvaRegisterAvailability_InitializeRegisterL, Teardown)
+
+EUNIT_TEST(
+ "EnableRegisterL - test ",
+ "CMusAvaRegisterAvailability",
+ "EnableRegisterL",
+ "FUNCTIONALITY",
+ SetupL, UT_CMusAvaRegisterAvailability_EnableRegisterLL, Teardown)
+
+EUNIT_TEST(
+ "UpdateSIPProfile - test ",
+ "CMusAvaRegisterAvailability",
+ "UpdateSIPProfile",
+ "FUNCTIONALITY",
+ SetupL, UT_CMusAvaRegisterAvailability_UpdateSIPProfileL, Teardown)
+
+
+EUNIT_TEST(
+ "RegistrationStatus - test ",
+ "CMusAvaRegisterAvailability",
+ "RegistrationStatus",
+ "FUNCTIONALITY",
+ SetupL, UT_CMusAvaRegisterAvailability_RegistrationStatusL, Teardown)
+
+
+EUNIT_END_TEST_TABLE
+
+// END OF FILE