diff -r 9f5ae1728557 -r db3f5fa34ec7 messagingfw/wappushfw/tpushscriptbased/pushtests.h --- /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 +#include +#include "dummywapstack.h" // MDummyWapStackObserver + +#include // for test engine Rfs/Cwatcherlog +#include "ConnMan.h" // for connection manager +#include +#include +#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 iBodyBuf; + TBuf8 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