--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/natfw/natfwunsaf_protocols/tsrc/ut_unsaf_transport/src/ut_cnatfwunsafserverquery.cpp Tue Feb 02 01:04:58 2010 +0200
@@ -0,0 +1,247 @@
+/*
+* 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_cnatfwunsafserverquery.h"
+
+// EXTERNAL INCLUDES
+#include <digia/eunit/eunitmacros.h>
+#include <es_sock.h>
+#include <e32def.h>
+#include <CommDbConnPref.h>
+
+// INTERNAL INCLUDES
+#include "ut_cnatfwunsafserverresolverobserverstub.h"
+#include "cnatfwunsafquerydata.h"
+#include "cnatfwunsafa_aaaaorigdomain.h"
+#include "natfwunsafserverresolverobserver.h"
+#include "mnatfwunsafhostresolver.h"
+#include "natfwunsafserverresolver.h"
+#include "cnatfwunsafhostresolver.h"
+#include "cnatfwunsafserverquery.h"
+#include "cnatfwunsafquerybase.h"
+#include "cnatfwunsafquerya_aaaa.h"
+#include "cnatfwunsafqueryconditionbase.h"
+#include "cnatfwunsafsrvorigdomain.h"
+#include "cnatfwunsafquerybase.h"
+#include "ut_cnatfwunsafqueryconditionstub.h"
+
+// CONSTRUCTION
+UT_CNATFWUNSAFServerQuery* UT_CNATFWUNSAFServerQuery::NewL()
+ {
+ UT_CNATFWUNSAFServerQuery* self = UT_CNATFWUNSAFServerQuery::NewLC();
+ CleanupStack::Pop();
+
+ return self;
+ }
+
+UT_CNATFWUNSAFServerQuery* UT_CNATFWUNSAFServerQuery::NewLC()
+ {
+ UT_CNATFWUNSAFServerQuery* self = new( ELeave ) UT_CNATFWUNSAFServerQuery();
+ CleanupStack::PushL( self );
+
+ self->ConstructL();
+
+ return self;
+ }
+
+// Destructor (virtual by CBase)
+UT_CNATFWUNSAFServerQuery::~UT_CNATFWUNSAFServerQuery()
+ {
+ }
+
+// Default constructor
+UT_CNATFWUNSAFServerQuery::UT_CNATFWUNSAFServerQuery()
+ {
+ }
+
+// Second phase construct
+void UT_CNATFWUNSAFServerQuery::ConstructL()
+ {
+ // The ConstructL from the base class CEUnitTestSuiteClass must be called.
+ // It generates the test case table.
+ CEUnitTestSuiteClass::ConstructL();
+ }
+
+// METHODS
+
+void UT_CNATFWUNSAFServerQuery::SetupL()
+ {
+ iResultArray = new (ELeave) RArray<TInetAddr>;
+ 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();
+ CNATFWUNSAFQueryData* query = CNATFWUNSAFQueryData::NewL(
+ iObserver,
+ 5060,
+ _L8("udp"),
+ _L8("testi.net"),
+ _L8("stun"),
+ *iHostResolver,
+ *iResultArray );
+ CleanupStack::PushL(query);
+ iServerQuery = CNATFWUNSAFServerQuery::NewL( iObserver, query );
+ CleanupStack::Pop( query );
+ }
+
+void UT_CNATFWUNSAFServerQuery::Teardown()
+ {
+ delete iHostResolver;
+ iHostResolver = NULL;
+ delete iQueryCondition;
+ iQueryCondition = NULL;
+ delete iServerQuery;
+ iServerQuery = NULL;
+ delete iObserver;
+ iObserver = NULL;
+ if ( iResultArray )
+ {
+ iResultArray->Reset();
+ delete iResultArray;
+ iResultArray = NULL;
+ }
+
+ iConnection.Close();
+ iServer.Close();
+ }
+
+void UT_CNATFWUNSAFServerQuery::NewLTestL()
+ {
+ Teardown();
+ SetupL();
+ }
+
+void UT_CNATFWUNSAFServerQuery::QueryTestL()
+ {
+ iQueryCondition = UT_CNATFWUNSAFQueryConditionStub::NewL(*iServerQuery);
+ CNATFWUNSAFQueryConditionBase* condition = iQueryCondition;
+ iQueryCondition = NULL;
+ CleanupStack::PushL(condition);
+ iServerQuery->SetQueryConditionL(condition);
+ CleanupStack::Pop( condition );//condition
+ iServerQuery->Query(*iHostResolver);
+ }
+
+void UT_CNATFWUNSAFServerQuery::HandleQueryResultLTestL()
+ {
+ CNATFWUNSAFQueryConditionBase* condition =
+ UT_CNATFWUNSAFQueryConditionStub::NewL(*iServerQuery);
+ CleanupStack::PushL(condition);
+ iServerQuery->SetQueryConditionL(condition);
+ CleanupStack::Pop( condition );
+ iServerQuery->Query(*iHostResolver);
+ EUNIT_ASSERT(!iServerQuery->HandleQueryResultL(KErrArgument));
+
+ condition = UT_CNATFWUNSAFQueryConditionStub::NewL(*iServerQuery);
+ CleanupStack::PushL(condition);
+ iServerQuery->SetQueryConditionL(condition);
+ CleanupStack::Pop( condition );
+ iServerQuery->Query(*iHostResolver);
+ EUNIT_ASSERT(iServerQuery->HandleQueryResultL(KErrCancel));
+
+ condition = UT_CNATFWUNSAFQueryConditionStub::NewL(*iServerQuery);
+ CleanupStack::PushL(condition);
+ iServerQuery->SetQueryConditionL(condition);
+ CleanupStack::Pop( condition );
+ iServerQuery->Query(*iHostResolver);
+ EUNIT_ASSERT(iServerQuery->HandleQueryResultL(KErrNone));
+
+ }
+
+void UT_CNATFWUNSAFServerQuery::ServerResolverObserverTestL()
+ {
+ EUNIT_ASSERT(iServerQuery->ServerResolverObserver() == iObserver);
+ }
+
+void UT_CNATFWUNSAFServerQuery::QueryDataTestL()
+ {
+ iServerQuery->QueryData();
+ }
+
+void UT_CNATFWUNSAFServerQuery::SetQueryConditionLTestL()
+ {
+ CNATFWUNSAFQueryConditionBase* condition =
+ UT_CNATFWUNSAFQueryConditionStub::NewL(*iServerQuery);
+ CleanupStack::PushL(condition);
+ iServerQuery->SetQueryConditionL(condition);
+ CleanupStack::Pop( condition );
+ }
+
+// TEST TABLE
+
+EUNIT_BEGIN_TEST_TABLE(
+ UT_CNATFWUNSAFServerQuery,
+ "Add test suite description here.",
+ "UNIT" )
+
+EUNIT_TEST(
+ "NewLTestL - test ",
+ "CNATFWUNSAFServerQuery",
+ "NewLTestL",
+ "FUNCTIONALITY",
+ SetupL, NewLTestL, Teardown)
+
+EUNIT_TEST(
+ "QueryTestL - test ",
+ "CNATFWUNSAFServerQuery",
+ "QueryTestL",
+ "FUNCTIONALITY",
+ SetupL, QueryTestL, Teardown)
+
+EUNIT_TEST(
+ "HandleQueryResultLTestL - test ",
+ "CNATFWUNSAFServerQuery",
+ "HandleQueryResultLTestL",
+ "FUNCTIONALITY",
+ SetupL, HandleQueryResultLTestL, Teardown)
+
+EUNIT_TEST(
+ "ServerResolverObserverTestL - test ",
+ "CNATFWUNSAFServerQuery",
+ "ServerResolverObserverTestL",
+ "FUNCTIONALITY",
+ SetupL, ServerResolverObserverTestL, Teardown)
+
+EUNIT_TEST(
+ "QueryDataTestL - test ",
+ "CNATFWUNSAFServerQuery",
+ "QueryDataTestL",
+ "FUNCTIONALITY",
+ SetupL, QueryDataTestL, Teardown)
+
+EUNIT_TEST(
+ "SetQueryConditionLTestL - test ",
+ "CNATFWUNSAFServerQuery",
+ "SetQueryConditionLTestL",
+ "FUNCTIONALITY",
+ SetupL, SetQueryConditionLTestL, Teardown)
+
+
+EUNIT_END_TEST_TABLE
+
+// END OF FILE