pimprotocols/phonebooksync/Test/TE_Sync/TE_SyncServer.cpp
changeset 0 e686773b3f54
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pimprotocols/phonebooksync/Test/TE_Sync/TE_SyncServer.cpp	Tue Feb 02 10:12:17 2010 +0200
@@ -0,0 +1,327 @@
+// Copyright (c) 2005-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:
+// Phonebook Sync Single Phonebook Unit Test server test code.
+// 
+//
+
+/**
+ @file
+ @internalComponent
+*/
+
+#include "TE_SyncServer.h"
+#include "TE_SyncBase.h"
+#include "TE_Sync.h"
+
+_LIT(KServerName,"TE_Sync");
+
+
+CSyncTestServer::~CSyncTestServer()
+	{
+	//
+	// 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();
+		}
+	} // CSyncTestServer::~CSyncTestServer
+
+
+/**
+ *  Called inside the MainL() function to create and start the CTestServer
+ *  derived server.
+ *
+ *  @return Instance of the test server
+ */
+CSyncTestServer* CSyncTestServer::NewL()
+	{
+	CSyncTestServer*  server = new(ELeave) CSyncTestServer();
+	CleanupStack::PushL(server);
+	server->StartL(KServerName);
+	CleanupStack::Pop(server);
+	return server;
+	} // CSyncTestServer::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...
+	//
+	CSyncTestServer* server = NULL;
+
+	TRAPD(err, server = CSyncTestServer::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* CSyncTestServer::CreateTestStep(const TDesC& aStepName)
+	{
+    //
+	// Create the required test step...
+	//
+	CTestStep*  testStep = NULL;
+
+	if (aStepName == _L("TestOpen"))
+		{
+		testStep = new CTestOpen();
+		}
+
+	if (aStepName == _L("TestDoSynchronisation"))
+		{
+		testStep = new CTestDoSynchronisation();
+		}
+
+	if (aStepName == _L("TestWriteContactToICCTest"))
+		{
+		testStep = new CTestWriteContactToICCTest();
+		}
+
+	if (aStepName == _L("TestWriteContactToICCOverwriteTest"))
+		{
+		testStep = new CTestWriteContactToICCOverwriteTest();
+		}
+
+	if (aStepName == _L("TestWriteContactToICCNoSlotTest"))
+		{
+		testStep = new CTestWriteContactToICCNoSlotTest();
+		}
+
+	if (aStepName == _L("TestWriteContactToICCInvalidSlotTest"))
+		{
+		testStep = new CTestWriteContactToICCInvalidSlotTest();
+		}
+
+	if (aStepName == _L("TestWriteContactToICCBlankNumTest"))
+		{
+		testStep = new CTestWriteContactToICCBlankNumTest();
+		}
+
+	if (aStepName == _L("TestWriteContactToICCBlankNameTest"))
+		{
+		testStep = new CTestWriteContactToICCBlankNameTest();
+		}
+
+	if (aStepName == _L("TestWriteContactToICCExceedMaxNumTest"))
+		{
+		testStep = new CTestWriteContactToICCExceedMaxNumTest();
+		}
+
+	if (aStepName == _L("TestWriteContactToICCExceedMaxNameTest"))
+		{
+		testStep = new CTestWriteContactToICCExceedMaxNameTest();
+		}
+
+	if (aStepName == _L("TestWriteContactToICCMaxNumTest"))
+		{
+		testStep = new CTestWriteContactToICCMaxNumTest();
+		}
+
+	if (aStepName == _L("TestWriteContactToICCMaxNameTest"))
+		{
+		testStep = new CTestWriteContactToICCMaxNameTest();
+		}
+
+	if (aStepName == _L("TestWriteContactToICCNumLettersTest"))
+		{
+		testStep = new CTestWriteContactToICCNumLettersTest();
+		}
+
+	if (aStepName == _L("TestWriteContactToICCObsecureTest"))
+		{
+		testStep = new CTestWriteContactToICCObsecureTest();
+		}
+
+	if (aStepName == _L("TestValidateContact"))
+		{
+		testStep = new CTestValidateContact();
+		}
+
+	if (aStepName == _L("TestValidateContactAccessLockedTest"))
+		{
+		testStep = new CTestValidateContactAccessLockedTest();
+		}
+
+	if (aStepName == _L("TestValidateContactInvalidUIDTest"))
+		{
+		testStep = new CTestValidateContactInvalidUIDTest();
+		}
+
+	if (aStepName == _L("TestUpdateLookUpTableFailure"))
+		{
+		testStep = new CTestUpdateLookUpTableFailure();
+		}
+
+	if (aStepName == _L("TestUpdateLookUpTableSuccess"))
+		{
+		testStep = new CTestUpdateLookUpTableSuccess();
+		}
+
+	if (aStepName == _L("TestGetSyncMode"))
+		{
+		testStep = new CTestGetSyncMode();
+		}
+
+	if (aStepName == _L("TestSetSyncMode"))
+		{
+		testStep = new CTestSetSyncMode();
+		}
+
+	if (aStepName == _L("TestDeleteContactFromICC"))
+		{
+		testStep = new CTestDeleteContactFromICC();
+		}
+
+	if (aStepName == _L("TestDeleteContactInvalidIdFromICC"))
+		{
+		testStep = new CTestDeleteContactInvalidIdFromICC();
+		}
+
+	if (aStepName == _L("TestGetContactFormat"))
+		{
+		testStep = new CTestGetContactFormat();
+		}
+
+	if (aStepName == _L("TestGetPhoneBookCacheState"))
+		{
+		testStep = new CTestGetPhoneBookCacheState();
+		}
+
+	if (aStepName == _L("TestVersionTest"))
+		{
+		testStep = new CTestVersionTest();
+		}
+
+	if (aStepName == _L("TestGetLastSyncError"))
+		{
+		testStep = new CTestGetLastSyncError();
+		}
+
+	if (aStepName == _L("TestNotifyCacheStateChange"))
+		{
+		testStep = new CTestNotifyCacheStateChange();
+		}
+
+	if (aStepName == _L("TestGetPhoneBookId"))
+		{
+		testStep = new CTestGetPhoneBookId();
+		}
+
+	if (aStepName == _L("TestReset"))
+		{
+		testStep = new CTestReset();
+		}
+
+	if (aStepName == _L("TestSlotHandlingTest"))
+		{
+		testStep = new CTestSlotHandlingTest();
+		}
+
+	if (aStepName == _L("TestWriteToSlotTest"))
+		{
+		testStep = new CTestWriteToSlotTest();
+		}
+
+	if (aStepName == _L("TestCancelWriteRequest"))
+		{
+		testStep = new CTestCancelWriteRequest();
+		}
+
+	if (aStepName == _L("TestCancelDeleteRequest"))
+		{
+		testStep = new CTestCancelDeleteRequest();
+		}
+
+	if (aStepName == _L("TestCancelDoSyncRequest"))
+		{
+		testStep = new CTestCancelDoSyncRequest();
+		}
+
+	if (aStepName == _L("TestConnectionTest"))
+		{
+		testStep = new CTestConnectionTest();
+		}
+
+	if (aStepName == _L("TestFailedPhoneStartup"))
+		{
+		testStep = new CTestFailedPhoneStartup();
+		}
+
+	return testStep;
+	} // CSyncTestServer::CreateTestStep