--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/natfw/natfwstunturnclient/tsrc/ut_stunturnclient/src/ut_cstunclient.cpp Tue Feb 02 01:04:58 2010 +0200
@@ -0,0 +1,506 @@
+/*
+* 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_cstunclient.h"
+
+// EXTERNAL INCLUDES
+#include <digia/eunit/eunitmacros.h>
+#include <commdbconnpref.h>
+#include <e32debug.h>
+
+// INTERNAL INCLUDES
+#include "natfwstunclient.h"
+#include "natfwunsafbindingrequest.h"
+#include "natfwunittestmacros.h"
+#include "ut_cstunbinding.h"
+
+_LIT8( KServerAddress, "10.32.194.251" );
+_LIT8( KUsername, "userAA" );
+_LIT8( KPassword,"salasana");
+_LIT8( KRealm, "example.realm.com" );
+
+_LIT8(KRealmVal,"\"myrealm\"");
+
+const TDesC8& dataDesc4(KRealmVal);
+
+// CONSTRUCTION
+ut_cstunclient* ut_cstunclient::NewL()
+ {
+ ut_cstunclient* self = ut_cstunclient::NewLC();
+ CleanupStack::Pop();
+
+ return self;
+ }
+
+ut_cstunclient* ut_cstunclient::NewLC()
+ {
+ ut_cstunclient* self = new( ELeave ) ut_cstunclient();
+ CleanupStack::PushL( self );
+
+ self->ConstructL();
+
+ return self;
+ }
+
+// Destructor (virtual by CBase)
+ut_cstunclient::~ut_cstunclient()
+ {
+ }
+
+// Default constructor
+ut_cstunclient::ut_cstunclient()
+ {
+ }
+
+// Second phase construct
+void ut_cstunclient::ConstructL()
+ {
+ // The ConstructL from the base class CEUnitTestSuiteClass must be called.
+ // It generates the test case table.
+ CEUnitTestSuiteClass::ConstructL();
+ }
+
+// METHODS
+// from mstunclientbserver
+void ut_cstunclient::STUNClientInitCompleted( const CSTUNClient& /*aClient*/,
+ TInt aCompletionCode )
+ {
+ iCallbackCalled = ETrue;
+ RDebug::Print( _L("**NATFW STUNClientInitCompleted, code: %d"), aCompletionCode );
+ if ( ut_cstunbinding::iActiveSchedulerWait.IsStarted() )
+ {
+ ut_cstunbinding::iActiveSchedulerWait.AsyncStop();
+ }
+ }
+
+
+void ut_cstunclient::STUNBindingEventOccurredL( TSTUNBindingEvent aEvent,
+ const CBinding& /*aBinding*/ )
+ {
+ iCallbackCalled = ETrue;
+ RDebug::Print( _L("**NATFW STUNBindingEventOccurredL, code: %d"), aEvent );
+ if ( ut_cstunbinding::iActiveSchedulerWait.IsStarted() )
+ {
+ ut_cstunbinding::iActiveSchedulerWait.AsyncStop();
+ }
+ }
+
+
+void ut_cstunclient::STUNBindingErrorOccurred( const CBinding& /*aBinding*/,
+ TInt aError )
+ {
+ iCallbackCalled = ETrue;
+ RDebug::Print( _L("**NATFW STUNBindingErrorOccurred, code: %d"), aError );
+ if ( ut_cstunbinding::iActiveSchedulerWait.IsStarted() )
+ {
+ ut_cstunbinding::iActiveSchedulerWait.AsyncStop();
+ }
+ }
+
+void ut_cstunclient::Notify( TUint /*aSessionId*/, TUint /*aStreamId*/,
+ TNotifyType /*aType*/, TInt /*aError*/ )
+ {
+ RDebug::Print( _L("**NATFW Notify") );
+ }
+
+void ut_cstunclient::IcmpError( TUint /*aSessionId*/, TUint /*aStreamId*/, const TInetAddr& /*aAddress*/ )
+ {
+ RDebug::Print( _L("**NATFW IcmpError") );
+ }
+
+
+void ut_cstunclient::SetupL( )
+ {
+ iCallbackCalled = EFalse;
+ TUint iapID( 6 );
+ TInt retransmitInterval( 10 );
+ TBufC8<13> serveraddress( KServerAddress );
+ TUint serverport( 2000 );
+ TBufC8<4> protocol( KStun );
+ TBool obtainsharedsecret( EFalse );
+ TBool failifnoSRVrecordfound( EFalse );
+ iDeltatimer = CDeltaTimer::NewL( 1 );
+ User::LeaveIfError( iSocketServ.Connect() );
+ iStreamId = 1;
+ iSubstreamId = 1;
+ TBool icmpUsed( EFalse );
+
+ iMux = CNcmConnectionMultiplexer::NewL( *this );
+
+ TCommDbConnPref pref;
+ pref.SetDialogPreference( ECommDbDialogPrefDoNotPrompt );
+ pref.SetIapId( iapID );
+
+ User::LeaveIfError( iConnection.Open( iSocketServ ) );
+ iConnection.Start( pref, iStatus );
+ User::WaitForRequest( iStatus );
+ User::LeaveIfError( iStatus.Int() );
+
+ iStunclient = CSTUNClient::NewL( retransmitInterval,
+ serveraddress,
+ serverport,
+ protocol,
+ iSocketServ,
+ iConnection,
+ *iDeltatimer,
+ *this,
+ obtainsharedsecret,
+ failifnoSRVrecordfound,
+ icmpUsed,
+ iMux );
+
+ if ( ut_cstunbinding::iActiveSchedulerWait.IsStarted() )
+ {
+ ut_cstunbinding::iActiveSchedulerWait.AsyncStop();
+ }
+ ut_cstunbinding::iActiveSchedulerWait.Start();
+ }
+
+void ut_cstunclient::Teardown( )
+ {
+ delete iStunclient;
+ iStunclient = NULL;
+ iSocket.Close();
+ iConnection.Stop();
+ iConnection.Close();
+ iSocketServ.Close();
+ delete iServeraddress;
+ iServeraddress = NULL;
+ delete iResponse;
+ iResponse = NULL;
+ delete iRespDataIndication;
+ iRespDataIndication = NULL;
+ delete iDeltatimer;
+ iDeltatimer = NULL;
+ delete iMux;
+ iMux = NULL;
+ }
+
+void ut_cstunclient::UT_CSTUNClient_NewLL( )
+ {
+ TUint iapID( 6 );
+ TInt retransmitInterval( 10 );
+ TBufC8<13> serveraddress( KServerAddress );
+ TUint serverport( 2000 );
+ TBufC8<4> protocol( KStun );
+ TBool obtainsharedsecret( EFalse );
+ TBool failifnoSRVrecordfound( EFalse );
+ iStreamId = 1;
+ iSubstreamId = 1;
+ TBool icmpUsed( EFalse );
+
+ TCommDbConnPref pref;
+ pref.SetDialogPreference( ECommDbDialogPrefDoNotPrompt );
+ pref.SetIapId( iapID );
+
+ CSTUNClient* stunClient = NULL;
+
+ NATFW_EUNIT_ASSERT_NO_LEAVE( stunClient = CSTUNClient::NewL(
+ retransmitInterval,
+ serveraddress,
+ serverport,
+ protocol,
+ iSocketServ,
+ iConnection,
+ *iDeltatimer,
+ *this,
+ obtainsharedsecret,
+ failifnoSRVrecordfound,
+ icmpUsed,
+ iMux ) );
+
+ if ( ut_cstunbinding::iActiveSchedulerWait.IsStarted() )
+ {
+ ut_cstunbinding::iActiveSchedulerWait.AsyncStop();
+ }
+ ut_cstunbinding::iActiveSchedulerWait.Start();
+
+ delete stunClient;
+ }
+
+void ut_cstunclient::UT_CSTUNClient_NewL_1L( )
+ {
+ TUint iapID( 6 );
+ TInt retransmitInterval( 10 );
+ TBufC8<13> serveraddress( KServerAddress );
+ TUint serverport( 2000 );
+ TBufC8<4> protocol( KStun );
+ TBool obtainsharedsecret( EFalse );
+ TBool failifnoSRVrecordfound( EFalse );
+ iStreamId = 1;
+ iSubstreamId = 1;
+ TBool icmpUsed( EFalse );
+
+ TCommDbConnPref pref;
+ pref.SetDialogPreference( ECommDbDialogPrefDoNotPrompt );
+ pref.SetIapId( iapID );
+
+ CSTUNClient* stunClient = NULL;
+ NATFW_EUNIT_ASSERT_NO_LEAVE( stunClient = CSTUNClient::NewL( retransmitInterval,
+ *iDeltatimer,
+ *this,
+ iMux ) );
+
+ delete stunClient;
+ }
+
+// STUN Relay case
+void ut_cstunclient::UT_CSTUNClient_NewL_2L( )
+ {
+ TUint iapID( 6 );
+ TInt retransmitInterval( 10 );
+ TBufC8<13> serveraddress( KServerAddress );
+ TUint serverport( 2000 );
+ TBufC8<10> service( KStunRelay );
+ TBool obtainsharedsecret( ETrue );
+ TBool failifnoSRVrecordfound( EFalse );
+ iStreamId = 1;
+ iSubstreamId = 1;
+ TBool icmpUsed( EFalse );
+
+ TCommDbConnPref pref;
+ pref.SetDialogPreference( ECommDbDialogPrefDoNotPrompt );
+ pref.SetIapId( iapID );
+
+ CSTUNClient* stunClient = NULL;
+ NATFW_EUNIT_ASSERT_NO_LEAVE( stunClient = CSTUNClient::NewL( retransmitInterval,
+ serveraddress,
+ serverport,
+ service,
+ iSocketServ,
+ iConnection,
+ *iDeltatimer,
+ *this,
+ obtainsharedsecret,
+ failifnoSRVrecordfound,
+ icmpUsed,
+ iMux ) );
+
+ if ( ut_cstunbinding::iActiveSchedulerWait.IsStarted() )
+ {
+ ut_cstunbinding::iActiveSchedulerWait.AsyncStop();
+ }
+ ut_cstunbinding::iActiveSchedulerWait.Start();
+
+ delete stunClient;
+ }
+
+void ut_cstunclient::UT_CSTUNClient_NewLCL( )
+ {
+ TUint iapID( 6 );
+ TInt retransmitInterval( 10 );
+ TBufC8<13> serveraddress( KServerAddress );
+ TUint serverport( 2000 );
+ TBufC8<4> protocol( KStun );
+ TBool obtainsharedsecret( EFalse );
+ TBool failifnoSRVrecordfound( EFalse );
+ iStreamId = 1;
+ iSubstreamId = 1;
+ TBool icmpUsed( EFalse );
+
+ TCommDbConnPref pref;
+ pref.SetDialogPreference( ECommDbDialogPrefDoNotPrompt );
+ pref.SetIapId( iapID );
+
+ CSTUNClient* stunClient = NULL;
+ stunClient = CSTUNClient::NewLC( retransmitInterval,
+ serveraddress,
+ serverport,
+ protocol,
+ iSocketServ,
+ iConnection,
+ *iDeltatimer,
+ *this,
+ obtainsharedsecret,
+ failifnoSRVrecordfound,
+ icmpUsed,
+ iMux );
+
+ if ( ut_cstunbinding::iActiveSchedulerWait.IsStarted() )
+ {
+ ut_cstunbinding::iActiveSchedulerWait.AsyncStop();
+ }
+ ut_cstunbinding::iActiveSchedulerWait.Start();
+
+ CleanupStack::PopAndDestroy( stunClient );
+ }
+
+void ut_cstunclient::UT_CSTUNClient_NewLC_1L( )
+ {
+ TUint iapID( 6 );
+ TInt retransmitInterval( 10 );
+ TBufC8<13> serveraddress( KServerAddress );
+ TUint serverport( 2000 );
+ TBufC8<4> protocol( KStun );
+ TBool obtainsharedsecret( EFalse );
+ TBool failifnoSRVrecordfound( EFalse );
+ iStreamId = 1;
+ iSubstreamId = 1;
+ TBool icmpUsed( EFalse );
+
+ TCommDbConnPref pref;
+ pref.SetDialogPreference( ECommDbDialogPrefDoNotPrompt );
+ pref.SetIapId( iapID );
+
+ CSTUNClient* stunClient = CSTUNClient::NewLC( retransmitInterval,
+ *iDeltatimer,
+ *this,
+ iMux );
+
+ CleanupStack::PopAndDestroy( stunClient );
+ }
+
+void ut_cstunclient::UT_CSTUNClient_IsInitializedL( )
+ {
+ TBool initialized = iStunclient->IsInitialized();
+ }
+
+void ut_cstunclient::UT_CSTUNClient_STUNServerAddrLL( )
+ {
+ TInetAddr addr = iStunclient->STUNServerAddrL();
+ }
+
+void ut_cstunclient::UT_CSTUNClient_SetCredentialsLL( )
+ {
+ TBufC8<16> password( KPassword );
+ TBufC8<6> usernameA( KUsername );
+ iStunclient->SetCredentialsL( usernameA, password );
+
+ iStunclient->SetCredentialsL( usernameA, password );
+ }
+
+void ut_cstunclient::UT_CSTUNClient_SharedSecretObtainedL( )
+ {
+ TBool sharedSecretused = iStunclient->SharedSecretObtained();
+ }
+
+/*void ut_cstunclient::UT_CSTUNClient_SetSTUNServerAddrLL( )
+ {
+ TInetAddr addr;
+ iStunclient->SetSTUNServerAddrL( addr );
+ }*/
+
+void ut_cstunclient::UT_CSTUNClient_ObtainTransactionIDLL( )
+ {
+ TNATFWUNSAFTransactionID transactionID;
+ iStunclient->ObtainTransactionIDL( transactionID );
+ }
+
+void ut_cstunclient::UT_CSTUNClient_ImplementationL( )
+ {
+ CSTUNClientImplementation& impl = iStunclient->Implementation();
+ }
+
+// TEST TABLE
+
+EUNIT_BEGIN_TEST_TABLE(
+ ut_cstunclient,
+ "Add test suite description here.",
+ "UNIT" )
+
+EUNIT_TEST(
+ "NewL - test ",
+ "CSTUNClient",
+ "NewL",
+ "FUNCTIONALITY",
+ SetupL, UT_CSTUNClient_NewLL, Teardown)
+/*
+EUNIT_TEST(
+ "NewL - test ",
+ "CSTUNClient",
+ "NewL",
+ "FUNCTIONALITY",
+ SetupL, UT_CSTUNClient_NewL_1L, Teardown)
+
+EUNIT_TEST(
+ "NewL_2 - test ",
+ "CSTUNClient",
+ "NewL_2",
+ "FUNCTIONALITY",
+ SetupL, UT_CSTUNClient_NewL_2L, Teardown)
+
+EUNIT_TEST(
+ "NewLC - test ",
+ "CSTUNClient",
+ "NewLC",
+ "FUNCTIONALITY",
+ SetupL, UT_CSTUNClient_NewLCL, Teardown)
+
+EUNIT_TEST(
+ "NewLC - test ",
+ "CSTUNClient",
+ "NewLC",
+ "FUNCTIONALITY",
+ SetupL, UT_CSTUNClient_NewLC_1L, Teardown)
+
+EUNIT_TEST(
+ "IsInitialized - test ",
+ "CSTUNClient",
+ "IsInitialized",
+ "FUNCTIONALITY",
+ SetupL, UT_CSTUNClient_IsInitializedL, Teardown)
+
+EUNIT_TEST(
+ "STUNServerAddrL - test ",
+ "CSTUNClient",
+ "STUNServerAddrL",
+ "FUNCTIONALITY",
+ SetupL, UT_CSTUNClient_STUNServerAddrLL, Teardown)
+
+EUNIT_TEST(
+ "SetCredentialsL - test ",
+ "CSTUNClient",
+ "SetCredentialsL",
+ "FUNCTIONALITY",
+ SetupL, UT_CSTUNClient_SetCredentialsLL, Teardown)
+
+EUNIT_TEST(
+ "SharedSecretObtained - test ",
+ "CSTUNClient",
+ "SharedSecretObtained",
+ "FUNCTIONALITY",
+ SetupL, UT_CSTUNClient_SharedSecretObtainedL, Teardown)
+*/
+/*EUNIT_TEST(
+ "SetSTUNServerAddrL - test ",
+ "CSTUNClient",
+ "SetSTUNServerAddrL",
+ "FUNCTIONALITY",
+ SetupL, UT_CSTUNClient_SetSTUNServerAddrLL, Teardown)*/
+/*
+EUNIT_TEST(
+ "ObtainTransactionIDL - test ",
+ "CSTUNClient",
+ "ObtainTransactionIDL",
+ "FUNCTIONALITY",
+ SetupL, UT_CSTUNClient_ObtainTransactionIDLL, Teardown)
+
+EUNIT_TEST(
+ "Implementation - test ",
+ "CSTUNClient",
+ "Implementation",
+ "FUNCTIONALITY",
+ SetupL, UT_CSTUNClient_ImplementationL, Teardown)
+
+*/
+EUNIT_END_TEST_TABLE
+
+// END OF FILE