--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/wappushfw/tpushscriptbased/pushtests.h Wed Nov 03 22:41:46 2010 +0530
@@ -0,0 +1,196 @@
+// Copyright (c) 2007-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:
+//
+
+#ifndef __PUSHTESTS_H__
+#define __PUSHTESTS_H__
+
+#include "t_wappush.h"
+#include <msvapi.h>
+#include <mtclbase.h>
+#include "dummywapstack.h" // MDummyWapStackObserver
+
+#include <push/pushlog.h> // for test engine Rfs/Cwatcherlog
+#include "ConnMan.h" // for connection manager
+#include <caf/manager.h>
+#include <caf/rightsmanager.h>
+#include "httptestutils.h"
+
+const TInt KBufferSize = 2048;
+
+class MWapPushLog;
+class CWapPushMsgGen;
+
+
+class MTimeoutCallback
+ {
+public:
+ virtual void Timeout() = 0;
+ };
+
+class CTestTimer : public CTimer
+ {
+public:
+ static CTestTimer* NewL(MTimeoutCallback* callback)
+ {
+ CTestTimer* self = new(ELeave) CTestTimer(callback);
+ CleanupStack::PushL(self);
+ self->ConstructL(); // CTimer
+ CActiveScheduler::Add(self);
+ CleanupStack::Pop();
+ return self;
+ }
+
+protected:
+ virtual void RunL()
+ {
+ iCallback->Timeout();
+ }
+private:
+ CTestTimer(MTimeoutCallback* callback): CTimer(EPriorityLow), iCallback(callback)
+ {};
+
+ MTimeoutCallback* iCallback;
+ };
+
+
+/**
+ * Derived test case class which implementation the stack observer
+ * to allow communication with the stack
+ *
+ * This class has been made abstract to allow different derived classes
+ * to implement creating multiple test messages via PrepareTestMessageL()
+ * and the support of NumberTestCasesToRun()
+ * BOTH must be implimented in any derived class.
+ * ConfirmMessagesSavedL provides confirmation of message storage and
+ * reports on number of messages found in store.
+ */
+class CWapPushBaseMessageTest : public CWapPushTest, public MDummyWapStackObserver
+ {
+public:
+ virtual ~CWapPushBaseMessageTest();
+ virtual void RunL();
+ virtual TInt RunError(TInt aError);
+ virtual void DoCancel();
+ virtual const TDesC& TestName();
+ virtual TDesC8& Uri() const = 0;
+
+ virtual void NumberTestCasesToRun();
+ virtual void PrepareTestMessageL(TInt aCurrentTestCase) = 0; // abstract class now!!!
+ virtual TBool ConfirmMessagesSavedL() = 0;
+
+ // from MDummyWapStackObserver
+ virtual void DWSOUnitWaitPushL(CDummyWSPCLConn& aDummyCLConn);
+ virtual void DWSOCancelUnitWaitPush(CDummyWSPCLConn& aDummyCLConn);
+ virtual void DWSOServerShutDown();
+ virtual void DWSOError(const TDesC& aDes, TInt aLineNum);
+ virtual void DWSOConnect(CDummyWSPCOConn& aDummyCOConn);
+ virtual void DWSOGetEventL(CDummyWSPCOConn& aDummyCOConn);
+ virtual void DWSOCancelGetEvent(CDummyWSPCOConn& aDummyCOConn);
+ virtual void DWSOAckTransaction(CDummyWSPCOTrans& aDummyCOTrans);
+protected:
+ void MoveToNextState();
+ void CompleteOwnRequest();
+
+ void InitialiseMsgService();
+
+protected:
+ enum TState
+ {
+ EInitialisation,
+ EWaitForPush,
+ EFinished
+ };
+protected:
+ TState iState;
+
+ TBuf8<KBufferSize> iBodyBuf;
+ TBuf8<KBufferSize> iHeadersBuf;
+ HBufC8* iBody;
+ HBufC8* iHeaders;
+
+ CDummyWapStack* iWapStack;
+ CConnectionManager* iConnMan;
+ TBool iHasMsgBeenCompleted;
+ TBool iHasTestBeenCompleted;
+
+ TInt iNumberOfTestCases;
+ TInt iCurrentTestCase;
+
+ };
+
+/** Wap Message derived test class */
+class CWapPushMessageTest : public CWapPushBaseMessageTest
+ {
+public:
+ CWapPushMessageTest(TInt aIndex, CHTTPTestUtils* aTestUtils);
+ virtual ~CWapPushMessageTest();
+ void ReadAndSetParamsFromIniFileL();
+ void RemoveQuotes(HBufC8* aHBuf8Ptr);
+ TDesC8& GetHRef() const;
+ TDesC8& GetAction() const;
+
+ virtual const TDesC& TestName() = 0;
+ virtual void NumberTestCasesToRun() = 0;
+ virtual void PrepareTestMessageL(TInt aCurrentTestCase) = 0;
+ virtual TBool ConfirmMessagesSavedL() = 0;
+ virtual TDesC8& Uri() const = 0;
+
+protected:
+ TInt iSectionIndex;
+ HBufC8* iUri;
+ HBufC8* iHRef;
+ HBufC8* iAction;
+ };
+
+
+/** SI Specific Derived Test Class **/
+class CWapPushSIMessageTest : public CWapPushMessageTest
+ {
+public:
+ CWapPushSIMessageTest(TInt aIndex, CHTTPTestUtils* aTestUtils);
+ void ReadAndSetSIParamsFromIniFileL();
+ ~CWapPushSIMessageTest();
+ TDesC8& GetSiId() const;
+ TDesC8& GetSICreatedDate() const;
+ TDesC8& GetSIExpiresDate() const;
+
+ const TDesC& TestName();
+ void NumberTestCasesToRun();
+ void PrepareTestMessageL(TInt aCurrentTestCase);
+ TBool ConfirmMessagesSavedL();
+ TDesC8& Uri() const;
+
+private:
+ HBufC8* iSiId;
+ HBufC8* iSiCreatedDate;
+ HBufC8* iSiExpiresDate;
+ };
+
+
+/** SL Specific Derived Test Class **/
+class CWapPushSLMessageTest : public CWapPushMessageTest
+ {
+public:
+ CWapPushSLMessageTest(TInt aIndex, CHTTPTestUtils* aTestUtils);
+
+ const TDesC& TestName();
+ void NumberTestCasesToRun();
+ void PrepareTestMessageL(TInt aCurrentTestCase);
+ TBool ConfirmMessagesSavedL();
+ TDesC8& Uri() const;
+ };
+
+
+#endif