applayerprotocols/httptransportfw/Test/Acceptance/Iter1/Tc11.h
changeset 0 b16258d2340f
--- /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 <http.h>
+#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