diff -r 000000000000 -r dfb7c4ff071f datacommsserver/esockserver/test/TE_ESock/EsockTestSection27.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/datacommsserver/esockserver/test/TE_ESock/EsockTestSection27.h Thu Dec 17 09:22:25 2009 +0200 @@ -0,0 +1,218 @@ +// Copyright (c) 2001-2009 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: +// This is the header file for ESOCK test section 27 +// Integration test for DNS Query interface. +// +// + +#if (!defined __ESOCKTEST_27_H__) +#define __ESOCKTEST_27_H__ +#include "TestStepEsock.h" + +//------------------------------------------------------------------------------------------------------- + + + +/** +* Implements common functionality for the set of RHostResolver Query interface tests: +* opening Host Resolver etc. +* N.B. Host Resolver is opened in IMPLICIT connection mode (without using RConnection functionality) +*/ +class CTestRHostRslvQuery_27 : public CESockTestStep_OOMCapable + { + + public: + + /** inherited from CTestStep */ + virtual TVerdict doTestStepPreambleL (void); + virtual TVerdict doTestStepPostambleL(void); + + protected: + + TInt ListDnsRecordsA(const TDesC8& aHostName); + TInt ListDnsRecordsSRV(const TDesC8& aQuery); + TInt ListDnsRecordsPTR(const TDesC8& aQuery); + TInt ListDnsRecordsNAPTR(const TDesC8& aHostName); + TInt ListDnsRecordsMX(const TDesC8& aHostName); + TInt ListDnsRecordsAAAA(const TDesC8& aHostName); + + TBool GetIniFileIpAddr(const TDesC &aSectName,const TDesC &aKeyName,TInetAddr& aInetAddr); + TBool GetIniFileString8(const TDesC &aSectName,const TDesC &aKeyName,TDes8& aStr); + + TInt ProcessDndError(TInt aErrCode, TInt aEntryCount); + + /** pointer type for the one of the ListDnsRecords* methods */ + typedef TInt (CTestRHostRslvQuery_27::*TpListRRFunct) (const TDesC8&); + + TInt ListDnsRecordsL(TpListRRFunct apFunct); + + + protected: + + RHostResolver iHostRslv; + }; + + +//------------------------------------------------------------------------------------------------------- + +/** +* Implements common functionality for the set of RHostResolver Query interface tests: +* establishing connection, opening Host Resolver, etc. +* N.B. Host Resolver is opened in EXPLICIT connection mode (with using RConnection functionality) +*/ +class CTestRHostRslvQuery_27_ExplConn : public CTestRHostRslvQuery_27 + { + public: + + /** inherited from CTestStep */ + virtual TVerdict doTestStepPreambleL (void); + virtual TVerdict doTestStepPostambleL(void); + + protected: + RConnection iConnection; + + }; + +//------------------------------------------------------------------------------------------------------- + + +/** +* Testing RHostResolver::Query() of 'A' type +*/ +class CEsockTest27_1 : public CTestRHostRslvQuery_27 + { + public: + static const TDesC& GetTestName(); + ~CEsockTest27_1() {} + + virtual TVerdict easyTestStepL(); + + }; + +//------------------------------------------------------------------------------------------------------- + +/** +* Testing RHostResolver::Query() of 'SVR' type +*/ +class CEsockTest27_2 : public CTestRHostRslvQuery_27 + { + public: + static const TDesC& GetTestName(); + ~CEsockTest27_2() {} + + virtual TVerdict easyTestStepL(); + + }; + +//------------------------------------------------------------------------------------------------------- + +/** +* Testing RHostResolver::Query() of 'PTR' type +*/ +class CEsockTest27_3 : public CTestRHostRslvQuery_27 + { + public: + static const TDesC& GetTestName(); + ~CEsockTest27_3() {} + + virtual TVerdict easyTestStepL(); + + }; + +//------------------------------------------------------------------------------------------------------- + +/** +* Testing RHostResolver::Query() of 'NAPTR' type +*/ +class CEsockTest27_4 : public CTestRHostRslvQuery_27 + { + public: + static const TDesC& GetTestName(); + ~CEsockTest27_4() {} + + virtual TVerdict easyTestStepL(); + + }; + +//------------------------------------------------------------------------------------------------------- + +/** +* Testing RHostResolver::Query() of 'MX' type +*/ +class CEsockTest27_5 : public CTestRHostRslvQuery_27 + { + public: + static const TDesC& GetTestName(); + ~CEsockTest27_5() {} + + virtual TVerdict easyTestStepL(); + + }; + +//------------------------------------------------------------------------------------------------------- + +/** +* Testing RHostResolver::Query() of 'AAAA' type +*/ +class CEsockTest27_6 : public CTestRHostRslvQuery_27 + { + public: + static const TDesC& GetTestName(); + ~CEsockTest27_6() {} + + virtual TVerdict easyTestStepL(); + + }; + + + +//------------------------------------------------------------------------------------------------------- + +/** +* Testing RHostResolver::Query() of 'A' type +* Using explicit connection scenario. +*/ +class CEsockTest27_1_ExplConn : public CTestRHostRslvQuery_27_ExplConn + { + public: + static const TDesC& GetTestName(); + ~CEsockTest27_1_ExplConn() {} + + virtual TVerdict easyTestStepL(); + + }; + +//------------------------------------------------------------------------------------------------------- + +/** +* Testing RHostResolver::Query() functionality on several threads: +* one thread performs Query() while another GetByName() +*/ +class CEsockTest27_1_MThread: public CTestRHostRslvQuery_27 + { + public: + static const TDesC& GetTestName(); + ~CEsockTest27_1_MThread() {} + + virtual TVerdict easyTestStepL(); + + }; + + + +//------------------------------------------------------------------------------------------------------- + + +#endif //(__ESOCKTEST_27_H__) +