pimprotocols/phonebooksync/Test/TE_cntsync/te_cntsyncbase.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 14 Sep 2010 20:54:53 +0300
branchRCL_3
changeset 21 9da50d567e3c
parent 0 e686773b3f54
permissions -rw-r--r--
Revision: 201033 Kit: 201035

// 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:
//

/**
 @file
 @internalComponent
*/

#ifndef _TE_CNTSYNCBASE_H_
#define _TE_CNTSYNCBASE_H_


#include <testconfigfileparser.h>
#include <test/testexecuteserverbase.h>

#include "f32file.h"
#include "c32comm.h"

#include <e32base.h>
#include <e32test.h>
#include <phbksync.h>
#include <cntdb.h>
#include <cntdef.h>
#include <etelmm.h>
#include <simtsy.h>
#include <connect/sbeclient.h>

#include "te_cntsyncutils.h"

using namespace conn;


const TInt KMaxICCSlots = 100;
const TInt KMaxICCSlotsTest6 = 20;
const TInt KNumOfUsedSlotstest6 = 5;
const TInt KMaxPhBkNameSize = 214;
const TInt KTest24ICCSlotsUsed = (22*5); 
const TInt KTest25ICCSlotsUsed = (3*5);
const TInt KTest26ICCSlotsUsed = 3;
const TInt KTest29ICCSlotsUsed = (1*5);

const TInt KTest1ICCSlotsADN = 5;
const TInt KTest1ICCSlotsSDN = 5;
const TInt KTest1ICCSlotsLND = 5;
const TInt KTest1ICCSlotsUsim = 5;
const TInt KTest1ICCSlotsFDN = 5;
const TInt KTest1MaxSlots = 25;
const TInt KTest2ICCSlots = 25;
const TInt KTest2ICCSlotsADN = 5;
const TInt KTest2ICCSlotsSDN = 5;
const TInt KTest2ICCSlotsLND = 5;
const TInt KTest2ICCSlotsUsim = 5;
const TInt KTest2ICCSlotsFDN = 5;
const TInt KTest6ICCSlotsADN = 5;
const TInt KTest6ICCSlotsSDN = 5;
const TInt KTest6ICCSlotsLND = 5;
const TInt KTest6ICCSlotsUsim = 5;
const TInt KTest6ICCSlotsFDN = 5;
const TInt KTest9ICCSlotsADN = 18;
const TInt KTest9ICCSlotsSDN = 18;
const TInt KTest9ICCSlotsLND = 18;
const TInt KTest9ICCSlotsUsim = 18;
const TInt KTest9ICCSlotsFDN = 18;
const TInt KTest13ICCSlots = 255;
const TInt KTest13ICCSlotsADN = 150;
const TInt KTest13ICCSlotsSDN = 150;
const TInt KTest13ICCSlotsLND = 150;
const TInt KTest13ICCSlotsUsim = 20;
const TInt KTest13ICCSlotsFDN = 150;


_LIT(KNameFormat,"%c%03d");
_LIT(KNumberFormat,"%03d");
_LIT(KEmailFormat,"E%03d@symbianfoundation");
_LIT(KModifiedName,"ABC");
_LIT(KTestName,"Example");
_LIT(KTestNumber,"020 79460006");
_LIT(KTestEMail,"example@symbianfoundation");

_LIT(KTestPersonWithInternationalNumber, "PersonWithInternationalNumber");
_LIT(KTestPersonWithInternationalNumber2, "PersonWithInternationalNumber2");
_LIT(KTestInternationalNumber1, "+447700900649");
_LIT(KTestInternationalNumber2, "+447700900650");

//
// Test macros
//
_LIT(KTestCheckFailText, "Failed: Got %d while expecting %d.");
_LIT(KTestCheckConditionFailText, "Failed: Condition was false.");
_LIT(KTestCheckStringFailText, "Failed: Got \"%S\" while expecting \"%S\".");

#define TESTCHECKL(a, b) \
    { \
    if((a)!=(b)) \
	    { \
	    INFO_PRINTF3(KTestCheckFailText, a, b); \
        SetTestStepResult(EFail); \
        User::Leave(EFail); \
        } \
    }

#define TESTCHECKCONDITIONL(a) \
    { \
    if (!(a)) \
	    { \
	    INFO_PRINTF1(KTestCheckConditionFailText); \
        SetTestStepResult(EFail); \
        User::Leave(EFail); \
        } \
    }

#define TESTCHECKSTRL(a, b) \
    { \
    if((a)!=(b)) \
	    { \
	    INFO_PRINTF3(KTestCheckStringFailText, &(a), &(b)); \
        SetTestStepResult(EFail); \
        User::Leave(EFail); \
        } \
    }
    
#define TESTCHECK(a, b) \
    { \
    if((a)!=(b)) \
	    { \
	    INFO_PRINTF3(KTestCheckFailText, a, b); \
        SetTestStepResult(EFail); \
        } \
    }

#define TESTCHECKCONDITION(a) \
    { \
    if (!(a)) \
	    { \
	    INFO_PRINTF1(KTestCheckConditionFailText); \
        SetTestStepResult(EFail); \
        } \
    }
    
#define TESTCHECKSTR(a, b) \
    { \
    if((a)!=(b)) \
	    { \
	    INFO_PRINTF3(KTestCheckStringFailText, &(a), &(b)); \
        SetTestStepResult(EFail); \
        } \
    }


class CCntSyncTestStep : public CTestStep
	{
public:
 	virtual TVerdict doTestStepPreambleL();
	virtual TVerdict doTestStepPostambleL();

	void DoSyncL();
	void DoSyncFailL();
	void WaitForSyncToCompleteL();
	void SetSimTsyTestNumberL(TInt aTestNumber);
	void SignalSimTsyToReduceTimersL();
	CContactDatabase* OpenOrCreateContactDatabaseL();
	void ConfigurePhbkSyncToIdleL();
	void ConfigurePhbkSyncToFullL();
	void CheckSyncModeL(RPhoneBookSession::TPhonebookSyncMode aMode);
	void SetSyncModeL(RPhoneBookSession::TPhonebookSyncMode aMode);
	void CheckCacheStateL(RPhoneBookSession::TSyncState aState);

protected:
	RPhoneBookSession  iSession;
	CContactDatabase*  iDb;
	CActiveScheduler*  iScheduler;
	CSBEClient*  iSecureBackupEngine;
	};

#endif