pimprotocols/phonebooksync/Test/TE_cntsync/TE_cntSyncServer.cpp
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:
// Telephony Fax Test server test code.
// 
//

/**
 @file
 @internalComponent
*/

#include "TE_cntSyncServer.h"
#include "te_cntsyncbase.h"

#include "te_cntsyncread.h"
#include "te_cntsyncsync.h"
#include "te_cntsyncadd.h"
#include "te_cntsyncedit.h"
#include "te_cntsyncdelete.h"
#include "te_cntsyncfind.h"
#include "te_cntsyncstress.h"
#include "te_cntsyncview.h"

_LIT(KServerName,"TE_CntSync");


CCntSyncTestServer::~CCntSyncTestServer()
	{
	//
	// Shutdown the server if possible (only works in debug mode).
	//
	RPhoneBookSession  phoneBookSession;
	TInt  ret;
	
	ret = phoneBookSession.Connect();
	if (ret == KErrNone)
		{
		phoneBookSession.ShutdownServer(EFalse);
		phoneBookSession.Close();
		}
	} // CCntSyncTestServer::~CCntSyncTestServer


/**
 *  Called inside the MainL() function to create and start the CTestServer
 *  derived server.
 *
 *  @return Instance of the test server
 */
CCntSyncTestServer* CCntSyncTestServer::NewL()
	{
	CCntSyncTestServer*  server = new(ELeave) CCntSyncTestServer();
	CleanupStack::PushL(server);
	// CServer base class call
	server->StartL(KServerName);
	CleanupStack::Pop(server);
	return server;
	} // CFaxTestIntServer::NewL


/**
 *  Uses the new Rendezvous() call to sync with the client.
 */
LOCAL_C void MainL()
	{
	//
	// Start an active scheduler...
	//
	CActiveScheduler* scheduler = new(ELeave) CActiveScheduler;
	CleanupStack::PushL(scheduler);
	CActiveScheduler::Install(scheduler);

	//
	// Ensure the SIMTSY config number is reset prior to starting...
	//
	TInt  result;
	
	result = RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTestNumber, 0);
	if (result != KErrNone  &&  result != KErrNotFound)
		{
		User::Leave(result);
		}

	//
	// Create the CTestServer derived server...
	//
	CCntSyncTestServer* server = NULL;

	TRAPD(err, server = CCntSyncTestServer::NewL());
	if (err == KErrNone)
		{
		//
		// Sync with the client and enter the active scheduler
		//
		RProcess::Rendezvous(KErrNone);
		scheduler->Start();
		}

	//
	// Clean up...
	//
	CleanupStack::Pop(scheduler);
	delete server;
	delete scheduler;
	} // MainL
/**
 *  @return Standard Epoc error code on exit.
 */
GLDEF_C TInt E32Main()
	{
	CTrapCleanup*  cleanup = CTrapCleanup::New();

	if (cleanup == NULL)
		{
		return KErrNoMemory;
		}

	TRAPD(err, MainL());

	delete cleanup;

	return err;
	} // E32Main


/**
 *  Implementation of CTestServer pure virtual.
 *
 *  @return A CTestStep derived instance.
 */
CTestStep* CCntSyncTestServer::CreateTestStep(const TDesC& aStepName)
	{
    //
	// Create the required test step...
	//
	CTestStep*  testStep = NULL;

	if (aStepName == _L("ReadICCContactTest"))
		{
		testStep = new CPhbkSyncReadICCContactTest();
		}
	else if (aStepName == _L("ReadAdditionalNumTagsTest"))
		{
		testStep = new CPhbkSyncReadAdditionalNumTagsTest();
		}
	else if (aStepName == _L("ReadSequenceOfICCEntriesTest"))
		{
		testStep = new CPhbkSyncReadSequenceOfICCEntriesTest();
		}
	else if (aStepName == _L("ReadContactInvalidUIDTest"))
		{
		testStep = new CPhbkSyncReadContactInvalidUIDTest();
		}
	else if (aStepName == _L("ReadContactsEmptyFieldTest"))
		{
		testStep = new CPhbkSyncReadContactsEmptyFieldTest();
		}
	else if (aStepName == _L("ReadContactFullViewICCLockedTest"))
		{
		testStep = new CPhbkSyncReadContactFullViewICCLockedTest();
		}
	else if (aStepName == _L("ReadContactDiffViewsTest"))
		{
		testStep = new CPhbkSyncReadContactDiffViewsTest();
		}
	else if (aStepName == _L("ReadICCMinimalContactTest"))
		{
		testStep = new CPhbkSyncReadICCMinimalContactTest();
		}
	else if (aStepName == _L("ReadMinimalContactInvalidUIDTest"))
		{
		testStep = new CPhbkSyncReadMinimalContactInvalidUIDTest();
		}
	else if (aStepName == _L("ReadMinimalContactEmptyFieldTest"))
		{
		testStep = new CPhbkSyncReadMinimalContactEmptyFieldTest();
		}
	else if (aStepName == _L("ReadMinimalContactICCLockedTest"))
		{
		testStep = new CPhbkSyncReadMinimalContactICCLockedTest();
		}
	else if (aStepName == _L("ReadContactTextDefFullViewTest"))
		{
		testStep = new CPhbkSyncReadContactTextDefFullViewTest();
		}
	else if (aStepName == _L("ReadContactNameTextDefTest"))
		{
		testStep = new CPhbkSyncReadContactNameTextDefTest();
		}
	else if (aStepName == _L("ReadContactNumberTextDefTest"))
		{
		testStep = new CPhbkSyncReadContactNumberTextDefTest();
		}
	else if (aStepName == _L("ReadContactInvalidTextDefTest"))
		{
		testStep = new CPhbkSyncReadContactInvalidTextDefTest();
		}
	else if (aStepName == _L("ReadContactICCLockedTest"))
		{
		testStep = new CPhbkSyncReadContactICCLockedTest();
		}
	else if (aStepName == _L("ReadFullICCNameViewTest"))
		{
		testStep = new CPhbkSyncReadFullICCNameViewTest();
		}
	else if (aStepName == _L("ReadFullICCNumberViewTest"))
		{
		testStep = new CPhbkSyncReadFullICCNumberViewTest();
		}
	else if (aStepName == _L("ReadFullICCFullViewTest"))
		{
		testStep = new CPhbkSyncReadFullICCFullViewTest();
		}
	else if (aStepName == _L("ReadFullICCNameTextDefTest"))
		{
		testStep = new CPhbkSyncReadFullICCNameTextDefTest();
		}
	else if (aStepName == _L("ReadFullICCNumberTextDefTest"))
		{
		testStep = new CPhbkSyncReadFullICCNumberTextDefTest();
		}
	else if (aStepName == _L("ReadFullICCFullViewTextDefTest"))
		{
		testStep = new CPhbkSyncReadFullICCFullViewTextDefTest();
		}
	else if (aStepName == _L("ReadInternationalNumberTest"))
		{
		testStep = new CPhbkSyncReadInternationalNumberTest();
		}
	else if (aStepName == _L("ReadWithOutOpeningPhBkSyncFirstTest"))
		{
		testStep = new CPhbkSyncReadWithOutOpeningPhBkSyncFirstTest();
		}
	else if (aStepName == _L("SyncAutomaticSameICCTest"))
		{
		testStep = new CPhbkSyncAutomaticSameICCTest();
		}
	else if (aStepName == _L("SyncAutomaticCurrentICCTest"))
		{
		testStep = new CPhbkSyncAutomaticCurrentICCTest();
		}
	else if (aStepName == _L("SyncManualTest"))
		{
		testStep = new CPhbkSyncManualTest();
		}
	else if (aStepName == _L("SyncManualNotReadyTest"))
		{
		testStep = new CPhbkSyncManualNotReadyTest();
		}
	else if (aStepName == _L("SyncManualDiffSizeSIMTest"))
		{
		testStep = new CPhbkSyncManualDiffSizeSIMTest();
		}
	else if (aStepName == _L("SyncSATUpdatesTest"))
		{
		testStep = new CPhbkSyncSATUpdatesTestBase();
		}
	else if (aStepName == _L("SyncConsecutiveTest"))
		{
		testStep = new CPhbkSyncConsecutiveTestBase();
		}
	else if (aStepName == _L("SyncMultipleRequestsTest"))
		{
		testStep = new CPhbkSyncMultipleRequestsTestBase();
		}
	else if (aStepName == _L("SyncGeneralResponseTest"))
		{
		testStep = new CPhbkSyncGeneralResponseTestBase();
		}
	else if (aStepName == _L("SyncICCLockedTest"))
		{
		testStep = new CPhbkSyncICCLockedTestBase();
		}
	else if (aStepName == _L("SyncFailureTest"))
		{
		testStep = new CPhbkSyncFailureTestBase();
		}
	else if (aStepName == _L("SyncFailureAndCheckErrorTest"))
		{
		testStep = new CPhbkSyncFailureAndCheckErrorTestBase();
		}
	else if (aStepName == _L("SyncNotificationTest"))
		{
		testStep = new CPhbkSyncNotificationTestBase();
		}
	else if (aStepName == _L("SyncDeleteDBTest"))
		{
		testStep = new CPhbkSyncDeleteDBTestBase();
		}
	else if (aStepName == _L("SyncEmptyICCTest"))
		{
		testStep = new CPhbkSyncEmptyICCTestBase();
		}
	else if (aStepName == _L("SyncICCSlotsManipulationTest"))
		{
		testStep = new CPhbkSyncICCSlotsManipulationTestBase();
		}
	else if (aStepName == _L("SyncICCSlotsManipulationAndWriteTest"))
		{
		testStep = new CPhbkSyncICCSlotsManipulationAndWriteTestBase();
		}
	else if (aStepName == _L("SyncAndGetContactFormatTest"))
		{
		testStep = new CPhbkSyncGetAndContactFormatTestBase();
		}
	else if (aStepName == _L("SetSyncModeAndAutoSyncTest"))
		{
		testStep = new CPhbkSyncSetSyncModeAndAutoSyncTest();
		}
	else if (aStepName == _L("SyncUnsupportedPhonebook"))
		{
		testStep = new CPhbkSyncSyncUnsupportedPhonebook();
		}
	else if (aStepName == _L("SyncDiffNumberTypesRepeatedly"))
		{
		testStep = new CPhbkSyncSyncDiffNumberTypesRepeatedly();
		}
	else if (aStepName == _L("SyncInternationalNumbers"))
		{
		testStep = new CPhbkSyncSyncInternationalNumbers();
		}
	else if (aStepName == _L("SyncAutomaticWithUnsupportedPhonebook"))
		{
		testStep = new CPhbkSyncSyncAutomaticWithUnsupportedPhonebook();
		}
	else if (aStepName == _L("AddICCContactTest"))
		{
		testStep = new CPhbkAddICCContactTest();
		}
	else if (aStepName == _L("AddEntryEmptyNameTest"))
		{
		testStep = new CPhbkAddEntryEmptyNameTest();
		}
	else if (aStepName == _L("AddEntryEmptyNumberTest"))
		{
		testStep = new CPhbkAddEntryEmptyNumberTest();
		}
	else if (aStepName == _L("AddEntryEmptyEmailTest"))
		{
		testStep = new CPhbkAddEntryEmptyEmailTest();
		}
	else if (aStepName == _L("AddAdditionalNumWithTagTest"))
		{
		testStep = new CPhbkAddAdditionalNumWithTagTest();
		}
	else if (aStepName == _L("AddPhonebookFullTest"))
		{
		testStep = new CPhbkAddPhonebookFullTest();
		}
	else if (aStepName == _L("AddBoundaryConditionsTest"))
		{
		testStep = new CPhbkAddBoundaryConditionsTest();
		}
	else if (aStepName == _L("AddNameBoundaryExceededTest"))
		{
		testStep = new CPhbkAddNameBoundaryExceededTest();
		}
	else if (aStepName == _L("AddNumberBoundaryExceededTest"))
		{
		testStep = new CPhbkAddNumberBoundaryExceededTest();
		}
	else if (aStepName == _L("AddSequenceOfEntriesTest"))
		{
		testStep = new CPhbkAddSequenceOfEntriesTest();
		}
	else if (aStepName == _L("AddEntryICCLockedTest"))
		{
		testStep = new CPhbkAddEntryICCLockedTest();
		}
	else if (aStepName == _L("AddEntryICCWriteFailsTest"))
		{
		testStep = new CPhbkAddEntryICCWriteFailsTest();
		}
	else if (aStepName == _L("AddEntryInvalidFieldTest"))
		{
		testStep = new CPhbkAddEntryInvalidFieldTest();
		}
	else if (aStepName == _L("AddEntryNumberWithDTMFTest"))
		{
		testStep = new CPhbkAddEntryNumberWithDTMFTest();
		}
	else if (aStepName == _L("AddEntryReadOnlyAccessTest"))
		{
		testStep = new CPhbkAddEntryReadOnlyAccessTest();
		}
	else if (aStepName == _L("OpenICCContactTest"))
		{
		testStep = new CPhbkOpenICCContactTest();
		}
	else if (aStepName == _L("OpenContactInvalidUIDTest"))
		{
		testStep = new CPhbkOpenContactInvalidUIDTest();
		}
	else if (aStepName == _L("EditICCContactTest"))
		{
		testStep = new CPhbkEditICCContactTest();
		}
	else if (aStepName == _L("EditICCContactTwiceTest"))
		{
		testStep = new CPhbkEditICCContactTwiceTest();
		}
	else if (aStepName == _L("EditContactEmptyNameTest"))
		{
		testStep = new CPhbkEditContactEmptyNameTest();
		}
	else if (aStepName == _L("EditContactEmptyNumberTest"))
		{
		testStep = new CPhbkEditContactEmptyNumberTest();
		}
	else if (aStepName == _L("EditContactNameExceededTest"))
		{
		testStep = new CPhbkEditContactNameExceededTest();
		}
	else if (aStepName == _L("EditContactNumberExceededTest"))
		{
		testStep = new CPhbkEditContactNumberExceededTest();
		}
	else if (aStepName == _L("EditContactICCLockedTest"))
		{
		testStep = new CPhbkEditContactICCLockedTest();
		}
	else if (aStepName == _L("EditContactICCWriteFailsTest"))
		{
		testStep = new CPhbkEditContactICCWriteFailsTest();
		}
	else if (aStepName == _L("EditContactEmptyFieldsTest"))
		{
		testStep = new CPhbkEditContactEmptyFieldsTest();
		}
	else if (aStepName == _L("EditSlotWriteTest"))
		{
		testStep = new CPhbkEditSlotWriteTest();
		}
	else if (aStepName == _L("OpenContactICCLockedTest"))
		{
		testStep = new CPhbkOpenContactICCLockedTest();
		}
	else if (aStepName == _L("OpenEntryReadOnlyAccessTest"))
		{
		testStep = new CPhbkOpenEntryReadOnlyAccessTest();
		}
	else if (aStepName == _L("OpenFullICCTest"))
		{
		testStep = new CPhbkOpenFullICCTest();
		}
	else if (aStepName == _L("DeleteICCContactTest"))
		{
		testStep = new CPhbkDeleteICCContactTest();
		}
	else if (aStepName == _L("DeleteEntryInvalidUIDTest"))
		{
		testStep = new CPhbkDeleteEntryInvalidUIDTest();
		}
	else if (aStepName == _L("DeleteEntryICCLockedTest"))
		{
		testStep = new CPhbkDeleteEntryICCLockedTest();
		}
	else if (aStepName == _L("DeleteEntryICCDeleteFailsTest"))
		{
		testStep = new CPhbkDeleteEntryICCDeleteFailsTest();
		}
	else if (aStepName == _L("DeleteEntryReadOnlyAccessTest"))
		{
		testStep = new CPhbkDeleteEntryReadOnlyAccessTest();
		}
	else if (aStepName == _L("DeleteArrayOneEntryTest"))
		{
		testStep = new CPhbkDeleteArrayOneEntryTest();
		}
	else if (aStepName == _L("DeleteArrayInvalidIdTest"))
		{
		testStep = new CPhbkDeleteArrayInvalidIdTest();
		}
	else if (aStepName == _L("DeleteArrayMultipleEntriesTest"))
		{
		testStep = new CPhbkDeleteArrayMultipleEntriesTest();
		}
	else if (aStepName == _L("DeleteArrayICCLockedTest"))
		{
		testStep = new CPhbkDeleteArrayICCLockedTest();
		}
	else if (aStepName == _L("DeleteArrayReadOnlyAccessTest"))
		{
		testStep = new CPhbkDeleteArrayReadOnlyAccessTest();
		}
	else if (aStepName == _L("DeleteArrayICCDeleteFailsTest"))
		{
		testStep = new CPhbkDeleteArrayICCDeleteFailsTest();
		}
	else if (aStepName == _L("DeleteArrayInvalidUIDTest"))
		{
		testStep = new CPhbkDeleteArrayInvalidUIDTest();
		}
	else if (aStepName == _L("DeleteArrayFullPhonebookTest"))
		{
		testStep = new CPhbkDeleteArrayFullPhonebookTest();
		}
	else if (aStepName == _L("DeleteAllEntriesTest"))
		{
		testStep = new CPhbkDeleteAllEntriesTest();
		}
	else if (aStepName == _L("DeleteSlotEntryTwiceTest"))
		{
		testStep = new CPhbkDeleteSlotEntryTwiceTest();
		}
	else if (aStepName == _L("FindByNameTest"))
		{
		testStep = new CPhbkFindByNameTest();
		}
	else if (aStepName == _L("FindByNumberTest"))
		{
		testStep = new CPhbkFindByNumberTest();
		}
	else if (aStepName == _L("FindByNonExistingNameTest"))
		{
		testStep = new CPhbkFindByNonExistingNameTest();
		}
	else if (aStepName == _L("FindByNonExistingNumberTest"))
		{
		testStep = new CPhbkFindByNonExistingNumberTest();
		}
	else if (aStepName == _L("FindByNumberAsyncSearchTest"))
		{
		testStep = new CPhbkFindByNumberAsyncSearchTest();
		}
	else if (aStepName == _L("FindByNameAsyncSearchTest"))
		{
		testStep = new CPhbkFindByNameAsyncSearchTest();
		}
	else if (aStepName == _L("FindByNonExistNumAsyncSearchTest"))
		{
		testStep = new CPhbkFindByNonExistNumAsyncSearchTest();
		}
	else if (aStepName == _L("FindByNameICCLockedTest"))
		{
		testStep = new CPhbkFindByNameICCLockedTest();
		}
	else if (aStepName == _L("FindByNumberICCLockedTest"))
		{
		testStep = new CPhbkFindByNumberICCLockedTest();
		}
	else if (aStepName == _L("FindByNumICCLockedAsyncSearchTest"))
		{
		testStep = new CPhbkFindByNumICCLockedAsyncSearchTest();
		}
	else if (aStepName == _L("FindByInternationalPrefixTest"))
		{
		testStep = new CPhbkFindByInternationalPrefixTest();
		}
	else if (aStepName == _L("FindByInterPrefixAsyncSearchTest"))
		{
		testStep = new CPhbkFindByInterPrefixAsyncSearchTest();
		}
	else if (aStepName == _L("LaunchServerSimultaneouslyTest"))
		{
		testStep = new CPhbkLaunchServerSimultaneouslyTest();
		}
	else if (aStepName == _L("RequestDoSyncSimultaneouslyTest"))
		{
		testStep = new CPhbkRequestDoSyncSimultaneouslyTest();
		}
	else if (aStepName == _L("RequestReadSimultaneouslyTest"))
		{
		testStep = new CPhbkRequestReadSimultaneouslyTest();
		}
	else if (aStepName == _L("RequestWriteSimultaneouslyTest"))
		{
		testStep = new CPhbkRequestWriteSimultaneouslyTest();
		}
	else if (aStepName == _L("RequestDeleteSimultaneouslyTest"))
		{
		testStep = new CPhbkRequestDeleteSimultaneouslyTest();
		}
	else if (aStepName == _L("RequestSyncAndReadSimultaneouslyTest"))
		{
		testStep = new CPhbkRequestSyncAndReadSimultaneouslyTest();
		}
	else if (aStepName == _L("CheckServerThreadPriorityTest"))
		{
		testStep = new CPhbkCheckServerThreadPriorityTest();
		}
	else if (aStepName == _L("ServerLostFileRecoveryTest"))
		{
		testStep = new CPhbkServerLostFileRecoveryTest();
		}
	else if (aStepName == _L("IntegrationBackupTest"))
		{
		testStep = new CPhbkIntegrationBackupTest();
		}
	else if (aStepName == _L("ViewICCSyncTest"))
		{
		testStep = new CPhbkViewICCSyncTest();
		}
	else if (aStepName == _L("ViewICCLockedICCTest"))
		{
		testStep = new CPhbkViewICCLockedICCTest();
		}
	else if (aStepName == _L("ViewICCLockedMixedTest"))
		{
		testStep = new CPhbkViewICCLockedMixedTest();
		}
	else if (aStepName == _L("ViewICCSinglePhonebookTest"))
		{
		testStep = new CPhbkViewICCSinglePhonebookTest();
		}
	else if (aStepName == _L("AddEntryWithNoTemplate"))
		{
		testStep = new CPhbkAddEntryWithNoTemplateTest();
		}
	
   	//
	// Set the test step name here to save code!!!
	//
	if (testStep != NULL)
		{
		testStep->SetTestStepName(aStepName);
		}

	return testStep;
	} // CCntSyncTestServer::CreateTestStep