applayerprotocols/httptransportfw/Test/Acceptance/Iter1/Tc12.h
changeset 0 b16258d2340f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/applayerprotocols/httptransportfw/Test/Acceptance/Iter1/Tc12.h	Tue Feb 02 01:09:52 2010 +0200
@@ -0,0 +1,89 @@
+// 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 __TC12_H__
+#define __TC12_H__
+
+#include "HttpTestCore.h"
+#include <http.h>
+#include "csrvaddrval.h"
+
+
+/** 
+ * BEHAVIOR TO TEST: The VF to generate an EFailed Event AND to terminate 
+ * the transaction with RHTTPTransaction::Cancel().
+ * This situation can happen as a result of a badly formulated Request (At 
+ * this stage only POST and GET are tested):
+ * 1)GET request with body data 
+ * 2)POST request without body data
+ * 3)POST request wit body data but without the minimum entity header 
+ * The DoRunL() function simulate this 3 situation making 3 transaction in 
+ * sequence using the same session:
+ * 1) GET request with body data
+ * The MHFRunL() should log the KErrHttpGetReqWithBody error status message 
+ * issued by the VF and the consequent EFailed one .In addition the 
+ * Transaction is cancelled as shown in the httptextprt.txt log file.
+ * 2) POST request without body datais sent with no body
+ * The MHFRunL() should log the KErrHttpPostReqWithoutBody error status 
+ * message issued by the VF and the consequent EFailed one. In addition the 
+ * Transaction is cancelled as shown in the httptextprt.txt log file.
+ * 3) POST request with body data(as it should be)but without an entity header:
+ * 'Content-Length:6'.
+ * The MHFRunL() should log the KErrHttpReqWithoutEntityHeaders error status 
+ * message issued by the VF and the consequent EFailed one. In addition the 
+ * Transaction is cancelled as shown in the httptextprt.txt log file.
+ * NB: For the purpose of this test case the content of the headers and the 
+ * body won't be showed.
+ */
+
+class CHttpTestCase12: public CHttpTestTransBase, public MHTTPTransactionCallback
+	{
+	//to implement in this class' member functs definitions
+public:
+	CHttpTestCase12(CScriptFile* aIniSettingsFile);
+	virtual ~CHttpTestCase12();
+
+	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 OpenTestTransaction1L();
+	void CloseTestTransaction1();
+	void OpenTestTransaction2L();
+	void CloseTestTransaction2();
+	void OpenTestTransaction3L();
+	void CloseTestTransaction3();
+protected:
+	void CompleteOwnRequest();
+private:
+	RHTTPSession iSession;
+	RHTTPTransaction iTransaction;
+	RStringF iIpAddr;
+	/** 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