diff -r 000000000000 -r 1bce908db942 natfw/natfwunsaf_protocols/tsrc/ut_unsaf_transport/src/ut_cnatfwunsafquerydata.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/natfw/natfwunsaf_protocols/tsrc/ut_unsaf_transport/src/ut_cnatfwunsafquerydata.cpp Tue Feb 02 01:04:58 2010 +0200 @@ -0,0 +1,207 @@ +/* +* 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_cnatfwunsafquerydata.h" + +// EXTERNAL INCLUDES +#include +#include +#include +#include + +// INTERNAL INCLUDES +#include "ut_cnatfwunsafserverresolverobserverstub.h" +#include "cnatfwunsafquerydata.h" +#include "natfwunsafserverresolverobserver.h" +#include "mnatfwunsafhostresolver.h" +#include "natfwunsafserverresolver.h" +#include "cnatfwunsafhostresolver.h" +#include "ut_cnatfwunsafquerya_aaaastub.h" + +// CONSTRUCTION +UT_CNATFWUNSAFQueryData* UT_CNATFWUNSAFQueryData::NewL() + { + UT_CNATFWUNSAFQueryData* self = UT_CNATFWUNSAFQueryData::NewLC(); + CleanupStack::Pop(); + + return self; + } + +UT_CNATFWUNSAFQueryData* UT_CNATFWUNSAFQueryData::NewLC() + { + UT_CNATFWUNSAFQueryData* self = new( ELeave ) UT_CNATFWUNSAFQueryData(); + CleanupStack::PushL( self ); + + self->ConstructL(); + + return self; + } + +// Destructor (virtual by CBase) +UT_CNATFWUNSAFQueryData::~UT_CNATFWUNSAFQueryData() + { + } + +// Default constructor +UT_CNATFWUNSAFQueryData::UT_CNATFWUNSAFQueryData() + { + } + +// Second phase construct +void UT_CNATFWUNSAFQueryData::ConstructL() + { + // The ConstructL from the base class CEUnitTestSuiteClass must be called. + // It generates the test case table. + CEUnitTestSuiteClass::ConstructL(); + } + +// METHODS +void UT_CNATFWUNSAFQueryData::SetupL() + { + iResultArray = new (ELeave) RArray; + User::LeaveIfError(iServer.Connect(KESockDefaultMessageSlots)); + User::LeaveIfError(iConnection.Open(iServer, KConnectionTypeDefault)); + TCommDbConnPref prefs; + prefs.SetDialogPreference(ECommDbDialogPrefDoNotPrompt); + prefs.SetDirection(ECommDbConnectionDirectionOutgoing); + prefs.SetIapId(10); + User::LeaveIfError(iConnection.Start(prefs)); + + iHostResolver = CNATFWUNSAFHostResolver::NewL(iServer, iConnection); + + iObserver = UT_CNATFWUNSAFServerResolverObserverStub::NewL(); + + iProtocol = HBufC8::NewL(3); + TPtr8 ptr = iProtocol->Des(); + ptr.Append(_L8("udp")); + + iServiceName = HBufC8::NewL(4); + ptr = iServiceName->Des(); + ptr.Append(_L8("stun")); + iPort = 3478; + iQuery = CNATFWUNSAFQueryData::NewL( + iObserver, + iPort, + *iProtocol, + _L8("testi.net"), + *iServiceName, + *iHostResolver, + *iResultArray ); + } + +void UT_CNATFWUNSAFQueryData::Teardown() + { + delete iHostResolver; + iHostResolver = NULL; + delete iProtocol; + iProtocol = NULL; + delete iServiceName; + iServiceName = NULL; + if ( iResultArray ) + { + iResultArray->Reset(); + delete iResultArray; + iResultArray = NULL; + } + delete iQuery; + iQuery = NULL; + delete iObserver; + iObserver = NULL; + iConnection.Close(); + iServer.Close(); + } + + +void UT_CNATFWUNSAFQueryData::QueryDataNewLTestL () + { + this->Teardown(); + this->SetupL(); + EUNIT_ASSERT (iQuery->DefaultPort() == iPort); + EUNIT_ASSERT(iQuery->Protocol().CompareF(*iProtocol) == 0); + EUNIT_ASSERT(iQuery->ServiceName().CompareF(*iServiceName) == 0); + EUNIT_ASSERT (iQuery->Target().Compare(_L8("testi.net")) == 0); + EUNIT_ASSERT (iQuery->OriginalTarget().Compare(_L8("testi.net")) == 0); + EUNIT_ASSERT (iQuery->Observer() == iObserver); + EUNIT_ASSERT (iQuery->ResultArray().Count() == 0); + iQuery->Resolver(); + delete iQuery; + iQuery = NULL; + } + +void UT_CNATFWUNSAFQueryData::SetTestL () + { + EUNIT_ASSERT (iQuery->Port() == 0); + iQuery->SetPort(2004); + EUNIT_ASSERT (iQuery->Port() == 2004); + EUNIT_ASSERT (iQuery->Protocol().CompareF(*iProtocol) == 0); + iQuery->SetProtocolL(_L8("tcp") ); + EUNIT_ASSERT (iQuery->Protocol().CompareF(_L8("tcp")) == 0); + EUNIT_ASSERT (iQuery->Target().Compare( _L8( "testi.net" ) ) == 0); + iQuery->SetTargetL( _L8( "new.net" ) ); + EUNIT_ASSERT (iQuery->Target().Compare( _L8( "new.net" ) ) == 0); + EUNIT_ASSERT (iQuery->OriginalTarget().Compare( _L8( "testi.net" ) ) == 0); + iQuery->SetOriginalTargetL( _L8( "old.net" ) ); + EUNIT_ASSERT ( iQuery->OriginalTarget().Compare(_L8( "old.net" )) == 0 ); + delete iQuery; + iQuery = NULL; + } + +void UT_CNATFWUNSAFQueryData::CreateResultLTestL() + { + UT_CNATFWUNSAFQueryA_AAAAStub* aaaaQuery = + UT_CNATFWUNSAFQueryA_AAAAStub::NewL(_L8("testi.net")); + CleanupStack::PushL(aaaaQuery); + iQuery->iQuery = aaaaQuery; + EUNIT_ASSERT(iQuery->AddResultToArrayL()); + CleanupStack::PopAndDestroy();//aaaaQuery + } + +// TEST TABLE + +EUNIT_BEGIN_TEST_TABLE( + UT_CNATFWUNSAFQueryData, + "Add test suite description here.", + "UNIT" ) + +EUNIT_TEST( + "QueryDataNewLTestL - test ", + "CNATFWUNSAFQueryData", + "QueryDataNewLTestL", + "FUNCTIONALITY", + SetupL, QueryDataNewLTestL, Teardown) + +EUNIT_TEST( + "SetTestL - test ", + "CNATFWUNSAFQueryData", + "SetTestL", + "FUNCTIONALITY", + SetupL, SetTestL, Teardown) + +EUNIT_TEST( + "CreateResultLTestL - test ", + "CNATFWUNSAFQueryData", + "CreateResultLTestL", + "FUNCTIONALITY", + SetupL, CreateResultLTestL, Teardown) + +EUNIT_END_TEST_TABLE + +// END OF FILE