mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaConnectionMonitor.cpp
changeset 22 496ad160a278
parent 0 f0cf47e981f9
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaConnectionMonitor.cpp	Fri Jun 11 13:36:18 2010 +0300
@@ -0,0 +1,295 @@
+/*
+* 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_CMusAvaConnectionMonitor.h"
+#include "musavaavailability.h"
+#include "muslogger.h"
+#include "musavaobserver.h"
+#include "musavaobserverimp.h"
+#include "musavadefaultimp.h"
+#include "musavaobserverimp.h"
+#include "musavasettingsimp.h"
+#include "musavasharedobject.h"
+#include "musavasip.h"
+#include "musavaconnectionMonitorobserverimp.h"
+#include "mussettingskeys.h"
+#include "mussettings.h"
+#include "musavacapabilitytesthelper.h" //remove compilation warning
+#include "CSipSseTestTls.h"
+
+
+//  EXTERNAL INCLUDES
+#include "sipprofile.h"
+#include <digia/eunit/eunitmacros.h>
+#include <e32base.h>
+#include <sipstrings.h>
+//#include <telephonyinternalpskeys.h>
+
+
+//  INTERNAL INCLUDES
+#include "musavaconnectionmonitor.h"
+
+
+
+// CONSTRUCTION
+UT_CMusAvaConnectionMonitor* UT_CMusAvaConnectionMonitor::NewL()
+    {
+    UT_CMusAvaConnectionMonitor* self = UT_CMusAvaConnectionMonitor::NewLC(); 
+    CleanupStack::Pop();
+
+    return self;
+    }
+
+UT_CMusAvaConnectionMonitor* UT_CMusAvaConnectionMonitor::NewLC()
+    {
+    UT_CMusAvaConnectionMonitor* self = new( ELeave ) UT_CMusAvaConnectionMonitor();
+    CleanupStack::PushL( self );
+
+	self->ConstructL(); 
+
+    return self;
+    }
+
+// Destructor (virtual by CBase)
+UT_CMusAvaConnectionMonitor::~UT_CMusAvaConnectionMonitor()
+    {
+    }
+
+// Default constructor
+UT_CMusAvaConnectionMonitor::UT_CMusAvaConnectionMonitor()
+    {
+    }
+
+// Second phase construct
+void UT_CMusAvaConnectionMonitor::ConstructL()
+    {
+    // The ConstructL from the base class CEUnitTestSuiteClass must be called.
+    // It generates the test case table.
+    CEUnitTestSuiteClass::ConstructL();
+    }
+
+//  METHODS
+
+
+
+void UT_CMusAvaConnectionMonitor::SetupL(  )
+    {
+    SIPStrings::OpenL();
+    CSipSseTestTls::OpenL();
+    iSharedObject = CMusAvaSharedObject::GetSingletonL();
+    iAvaConnectionMonitor  = &iSharedObject->ConnectionMonitor();	
+    } 
+
+void UT_CMusAvaConnectionMonitor::Teardown(  )
+    {
+    CMusAvaSharedObject::DeleteSingleton();
+    CSipSseTestTls::Close();
+    SIPStrings::Close();
+    }
+
+void UT_CMusAvaConnectionMonitor::UT_CMusAvaConnectionMonitor_NewLL(  )
+    {
+    EUNIT_ASSERT( ETrue );
+    }  
+    
+void UT_CMusAvaConnectionMonitor::UT_CMusAvaConnectionMonitor_EventLL()
+    {
+    CConnMonNetworkStatusChange* netStatus = 
+    new( ELeave ) CConnMonNetworkStatusChange( 1, EBearerWCDMA );
+     CleanupStack::PushL( netStatus );
+    CMMusAvaConnectionMonitorObserverImp* imp1 = CMMusAvaConnectionMonitorObserverImp::NewL();
+     CleanupStack::PushL( imp1 );
+    iAvaConnectionMonitor->EventL( *netStatus );
+    EUNIT_ASSERT( imp1->iConnMonEventBase == NULL );
+    iAvaConnectionMonitor->AddAdapterL( *imp1 );
+    iAvaConnectionMonitor->EventL(* netStatus );
+    EUNIT_ASSERT( &imp1->iConnMonEventBase != NULL );
+    CMMusAvaConnectionMonitorObserverImp* imp2 = CMMusAvaConnectionMonitorObserverImp::NewL();
+    CleanupStack::PushL( imp2 );
+    iAvaConnectionMonitor->AddAdapterL( *imp2 );
+    iAvaConnectionMonitor->EventL( *netStatus );
+    EUNIT_ASSERT( &imp1->iConnMonEventBase != NULL );
+    CleanupStack::PopAndDestroy( imp2 ); 
+    CleanupStack::PopAndDestroy( imp1 ); 
+    CleanupStack::PopAndDestroy( netStatus );
+    }
+
+void UT_CMusAvaConnectionMonitor::UT_CMusAvaConnectionMonitor_AddAdapterLL()
+    {
+    CMMusAvaConnectionMonitorObserverImp* imp1 = CMMusAvaConnectionMonitorObserverImp::NewL();
+     CleanupStack::PushL( imp1 );
+    CMMusAvaConnectionMonitorObserverImp* imp2 = CMMusAvaConnectionMonitorObserverImp::NewL();
+     CleanupStack::PushL( imp2 );
+    iAvaConnectionMonitor->AddAdapterL( *imp1 );
+    iAvaConnectionMonitor->AddAdapterL( *imp2 );
+    CleanupStack::PopAndDestroy( imp2 ); 
+    CleanupStack::PopAndDestroy( imp1 ); 
+    }
+
+void UT_CMusAvaConnectionMonitor::UT_CMusAvaConnectionMonitor_RemoveAdapterL()
+    {
+    CMMusAvaConnectionMonitorObserverImp* imp1 = CMMusAvaConnectionMonitorObserverImp::NewL();
+    CleanupStack::PushL( imp1 );
+    CMMusAvaConnectionMonitorObserverImp* imp2 = CMMusAvaConnectionMonitorObserverImp::NewL();
+     CleanupStack::PushL( imp2 );
+    iAvaConnectionMonitor->AddAdapterL( *imp1 );
+    iAvaConnectionMonitor->AddAdapterL( *imp2 );
+    iAvaConnectionMonitor->RemoveAdapter( *imp1 );
+    iAvaConnectionMonitor->RemoveAdapter( *imp2 );
+     CleanupStack::PopAndDestroy( imp2 ); 
+    CleanupStack::PopAndDestroy( imp1 ); 
+    }
+void UT_CMusAvaConnectionMonitor::UT_CMusAvaConnectionMonitor_ConnectionCountL()
+    {
+    iAvaConnectionMonitor->iConnectionMonitor.iConnectionCounter = 10;
+    TUint ret = iAvaConnectionMonitor->ConnectionCount();
+    EUNIT_ASSERT( ret == 10 );
+    iAvaConnectionMonitor->iConnectionMonitor.iConnectionCounter = 0;
+    ret = iAvaConnectionMonitor->ConnectionCount();
+    EUNIT_ASSERT( ret == 0 );  
+    }
+
+void UT_CMusAvaConnectionMonitor::UT_CMusAvaConnectionMonitor_ConnectionIDLL()
+    {
+    //No connection
+    iAvaConnectionMonitor->iConnectionMonitor.iConnectionCounter = 0;
+    EUNIT_ASSERT( iAvaConnectionMonitor->ConnectionIDL() == 0 );
+    //Connection  created
+    iAvaConnectionMonitor->iConnectionMonitor.iConnectionCounter = 1;
+    EUNIT_ASSERT( !iAvaConnectionMonitor->ConnectionIDL() );
+    //Access point found
+    MultimediaSharingSettings::SetSipProfileSettingL( 1 );
+    EUNIT_ASSERT( iAvaConnectionMonitor->ConnectionIDL() == 0 );
+    //ConnectionId leavs
+    iAvaConnectionMonitor->iConnectionMonitor.iConnectionInfoError = KErrNotFound;
+    TRAPD( error, iAvaConnectionMonitor->ConnectionIDL() );
+    if ( error == KErrNoMemory ) User::Leave( error );
+    EUNIT_ASSERT( error == KErrNotFound );
+    //Connection ID found  
+    iAvaConnectionMonitor->iConnectionMonitor.iConnectionId = 1; 
+    iAvaConnectionMonitor->iConnectionMonitor.iConnectionInfoError = KErrNone;
+    EUNIT_ASSERT( iAvaConnectionMonitor->ConnectionIDL() == 0);
+    //IAP doesn't match
+    iAvaConnectionMonitor->iConnectionMonitor.iUintAttributeValue = 3;
+    EUNIT_ASSERT( iAvaConnectionMonitor->ConnectionIDL() == 0 );
+     //IAP found
+    iAvaConnectionMonitor->iConnectionMonitor.iUintAttributeValue = 1;
+    EUNIT_ASSERT( iAvaConnectionMonitor->ConnectionIDL() );
+    }
+
+void UT_CMusAvaConnectionMonitor::UT_CMusAvaConnectionMonitor_MultimediaSharingAccessPointIDL()
+    {
+    //No profile
+    MultimediaSharingSettings::SetSipProfileSettingL( KErrNotFound );
+    TInt ret = iAvaConnectionMonitor->MultimediaSharingAccessPointID();
+    if ( ret != KErrNotFound )
+        {
+        if ( iSharedObject->MusAvaSip().Profile() )
+            {
+            TBool val;
+            iSharedObject->MusAvaSip().Profile()->GetParameter( KSIPDefaultProfile, val );
+            if ( val )
+                {
+                User::Leave( KErrNoMemory );
+                }
+            }
+        }
+    else
+        {
+        EUNIT_ASSERT( ret == KErrNotFound );    
+        }
+    MultimediaSharingSettings::SetSipProfileSettingL( 1 );
+    TRAPD( err, ret = iSharedObject->MusAvaSip().CreateProfileL() );
+    if ( err == KErrNoMemory || !ret )
+        {
+        User::Leave( KErrNoMemory );
+        }
+    //No profile id found
+    iSharedObject->MusAvaSip().Profile()->iTUint32Value = 0;
+    EUNIT_ASSERT( iAvaConnectionMonitor->MultimediaSharingAccessPointID() == 0 );
+    //Profile id found
+    iSharedObject->MusAvaSip().Profile()->iTUint32Value = 1;
+    EUNIT_ASSERT( iAvaConnectionMonitor->MultimediaSharingAccessPointID() == 1 );
+    }
+
+    
+//  TEST TABLE
+
+EUNIT_BEGIN_TEST_TABLE( 
+    UT_CMusAvaConnectionMonitor,
+    "CMusAvaConnectionMonitor",
+    "UNIT" )
+
+EUNIT_TEST(
+    "NewL - test ",
+    "CMusAvaConnectionMonitor",
+    "NewL",
+    "FUNCTIONALITY",
+    SetupL, UT_CMusAvaConnectionMonitor_NewLL, Teardown)
+
+EUNIT_TEST(
+    "EventL - test ",
+    "CMusAvaConnectionMonitor",
+    "EventL",
+    "FUNCTIONALITY",
+    SetupL, UT_CMusAvaConnectionMonitor_EventLL, Teardown)
+    
+EUNIT_TEST(
+    "AddAdapterL - test ",
+    "CMusAvaConnectionMonitor",
+    "AddAdapterL",
+    "FUNCTIONALITY",
+    SetupL, UT_CMusAvaConnectionMonitor_AddAdapterLL, Teardown)
+       
+    
+EUNIT_TEST(
+    "RemoveAdapter - test ",
+    "CMusAvaConnectionMonitor",
+    "RemoveAdapter",
+    "FUNCTIONALITY",
+    SetupL, UT_CMusAvaConnectionMonitor_RemoveAdapterL, Teardown)
+            
+
+EUNIT_TEST(
+    "ConnectionCount - test ",
+    "CMusAvaConnectionMonitor",
+    "ConnectionCount",
+    "FUNCTIONALITY",
+    SetupL, UT_CMusAvaConnectionMonitor_ConnectionCountL, Teardown)
+    
+EUNIT_TEST(
+    "ConnectionIDL - test ",
+    "CMusAvaConnectionMonitor",
+    "ConnectionIDL",
+    "FUNCTIONALITY",
+    SetupL, UT_CMusAvaConnectionMonitor_ConnectionIDLL, Teardown)
+    
+EUNIT_TEST(
+    "MultimediaSharingAccessPointID - test ",
+    "CMusAvaConnectionMonitor",
+    "MultimediaSharingAccessPointID",
+    "FUNCTIONALITY",
+    SetupL, UT_CMusAvaConnectionMonitor_MultimediaSharingAccessPointIDL, Teardown)
+    
+    
+
+EUNIT_END_TEST_TABLE
+
+//  END OF FILE