diff -r 000000000000 -r b16258d2340f applayerprotocols/httptransportfw/Test/Acceptance/Iter1/Tc11.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/applayerprotocols/httptransportfw/Test/Acceptance/Iter1/Tc11.h Tue Feb 02 01:09:52 2010 +0200 @@ -0,0 +1,94 @@ +// Copyright (c) 2004-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: +// Author: Franco.Bellu@symbian.com +// +// + + +#ifndef __TC11_H__ +#define __TC11_H__ + +#include "HttpTestCore.h" +#include +#include "csrvaddrval.h" + +/** + * BEHAVIOR TO TEST: The VF to generate an error Event(with negative iStatus). + * This can happen as a consequence of either + * 1)response headers present in the request or + * 2)entity headers present in the request when no body is present. + * The DoRunL() function simulates this 2 situation in sequence(each one + * opening and closing a Session). + * ADDITIONAL BEHAVIOR TO TEST : Fix the problem removing the erroneous + * headers and send then a ESuceeded + * message (the problem has been fixed and the transaction can complete + * normally ) + * 1) TRANSACTION: POST with erroneous response header 'Server: 11.111.1.1'. + * The MHFRunL() should log the KErrHttpWrongRespHeaderInReqServer error + * status message issued by the VF + * just after the submission, and log the fact that the Server header has been + * removed after + * the removal of the Server header.Then ESuceeded is logged. + * 2) TRANSACTION: GET with no body(as it should be) but with an entity + * header:'Content-Length:6'. + * The MHFRunL() should log the KErrHttpEntityHeaderWithoutBodyContentLength + * error status message issued by the VF + * just after the submission, and log the fact that the Content_Length header + * has been removed. + * Then ESuceeded is logged. + * NB: For the purpose of this test case the content of the headers and the + * body won't be showed. + * + * Also, Tests Multiple HTTP connections over default bearer + */ + +class CHttpTestCase11: public CHttpTestTransBase, public MHTTPTransactionCallback + { + //to implement in this class' member functs definitions +public: + CHttpTestCase11(CScriptFile* aIniSettingsFile); + virtual ~CHttpTestCase11(); + + virtual void MHFRunL(RHTTPTransaction aTransaction, + const THTTPEvent& aEvent) ; + virtual TInt MHFRunError(TInt aError,RHTTPTransaction aTransaction, + const THTTPEvent& aEvent); +private: + const TDesC& TestName(); + virtual void DoRunL(); + virtual TInt RunError(TInt aErr); + virtual void DoCancel(); + void OpenTestSession1L(); + void CloseTestSession1(); + void OpenTestSession2L(); + void CloseTestSession2(); +// virtual const TDesC& TestName(); +protected: + void CompleteOwnRequest(); +private: + RHTTPSession iSession1; + RHTTPSession iSession2; + RHTTPTransaction iTransaction1; + RHTTPTransaction iTransaction2; + RStringF iIpAddr; + RStringF iServer; + /** This has the instance of the settings.ini file. This instance is passed + to ReplaceHostNameL() function which uses this instance to retrieve the + data from settings.ini file. + */ + CScriptFile* iIniSettingsFile; + }; + + +#endif