commsconfig/commsdatabaseshim/TE_commdb/te_usecases/src/TE_UseCasesSteps.cpp
changeset 72 ae47d0499bee
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commsconfig/commsdatabaseshim/TE_commdb/te_usecases/src/TE_UseCasesSteps.cpp	Mon Sep 06 13:49:23 2010 +0100
@@ -0,0 +1,243 @@
+//
+// Copyright (c) 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:
+//
+//
+
+// TE_UseCasesSteps.CPP
+//
+//
+
+// Use cases as in the commdb design overview
+
+#include <e32test.h>
+#include <f32file.h>
+#include <commdb.h>
+#include <cdbover.h>
+#include <cdbtemp.h>
+
+#include "TE_UseCasesSteps.h"
+
+///
+CTE_CreatingDatabaseAndView::CTE_CreatingDatabaseAndView()
+	{
+	SetTestStepName(KCreatingDatabaseAndView);
+	}
+
+CTE_CreatingDatabaseAndView::~CTE_CreatingDatabaseAndView()
+	{	
+	}
+
+enum TVerdict CTE_CreatingDatabaseAndView::doTestStepL()
+	{
+		
+	CCommsDbTableView* view;
+	CCommsDatabase* db = CCommsDatabase::NewL();
+	const TPtrC kTable1(DIAL_OUT_ISP);
+	const TPtrC kColumn1(ISP_TYPE);
+	view = db->OpenViewMatchingUintLC(kTable1, kColumn1, EIspTypeInternetOnly);
+	CleanupStack::Pop(view);
+
+	delete view; 
+	delete db;		
+
+        SetTestStepResult(EPass);	return TestStepResult();
+	}
+
+///
+CTE_UsecaseReading::CTE_UsecaseReading()
+	{
+	SetTestStepName(KUsecaseReading);
+	}
+
+CTE_UsecaseReading::~CTE_UsecaseReading()
+	{	
+	}
+
+enum TVerdict CTE_UsecaseReading::doTestStepL()
+	{
+
+	CCommsDbTableView* view;
+	CCommsDatabase* db = CCommsDatabase::NewL();
+	const TPtrC kTable1(DIAL_OUT_ISP);
+	const TPtrC kColumn1(ISP_TYPE);
+	view = db->OpenViewMatchingUintLC(kTable1, kColumn1, EIspTypeInternetOnly);
+	CleanupStack::Pop(view);	
+		
+	const TPtrC kColumn(ISP_DESCRIPTION);
+
+	TBuf<KCommsDbSvrMaxFieldLength> description;
+
+	view->GotoFirstRecord();
+	view->ReadTextL(kColumn, description);
+
+	delete view; 
+	delete db;
+	
+        SetTestStepResult(EPass);	return TestStepResult();
+	}
+
+///
+CTE_UsecaseWriting::CTE_UsecaseWriting()
+	{
+	SetTestStepName(KUsecaseWriting);
+	}
+
+CTE_UsecaseWriting::~CTE_UsecaseWriting()
+	{	
+	}
+
+enum TVerdict CTE_UsecaseWriting::doTestStepL()
+	{
+	
+	CCommsDbTableView* view;
+	CCommsDatabase* db = CCommsDatabase::NewL();
+	const TPtrC kTable1(DIAL_OUT_ISP);
+	const TPtrC kColumn1(ISP_TYPE);
+	view = db->OpenViewMatchingUintLC(kTable1, kColumn1, EIspTypeInternetOnly);
+	CleanupStack::Pop(view);    
+	
+	const TPtrC kColumn(ISP_DESCRIPTION);
+	const TPtrC kDescription(_L("A new description put in by t_usecases"));
+
+	TInt ret = view->GotoNextRecord();
+	if(ret == KErrNone)
+		{
+		ret = view->UpdateRecord();
+		if(ret == KErrNone)
+			{
+			view->WriteTextL(kColumn, kDescription);
+			view->PutRecordChanges();
+			}
+		}
+
+	delete view; 
+	delete db;
+
+        SetTestStepResult(EPass);	return TestStepResult();
+	}
+
+///
+CTE_UsecaseOverridingATableEntry::CTE_UsecaseOverridingATableEntry()
+	{
+	SetTestStepName(KUsecaseOverridingATableEntry);
+	}
+
+CTE_UsecaseOverridingATableEntry::~CTE_UsecaseOverridingATableEntry()
+	{	
+	}
+
+enum TVerdict CTE_UsecaseOverridingATableEntry::doTestStepL()
+	{
+	const TPtrC kTable(DIAL_OUT_ISP);
+	const TPtrC kColumn(ISP_DESCRIPTION);
+	const TPtrC kOverride(_L("An overriden description"));
+	TBuf<KCommsDbSvrMaxFieldLength> overridenValue;
+
+	CCommDbOverrideSettings *override;
+	override = CCommDbOverrideSettings::NewL(CCommDbOverrideSettings::EParamListPartial);
+	CleanupStack::PushL(override);
+
+	override->SetDesOverride(kTable, kColumn, kOverride);
+
+	if (override->GetDesOverride(kTable, kColumn, overridenValue) != KErrNone)
+		{
+		User::Leave(__LINE__);
+		}
+	if (overridenValue != kOverride)
+		{
+		User::Leave(__LINE__);
+		}
+
+	CleanupStack::PopAndDestroy(override);
+
+        SetTestStepResult(EPass);	return TestStepResult();
+	}
+
+///
+CTE_UsecaseOverridingThePreferenceTable::CTE_UsecaseOverridingThePreferenceTable()
+	{
+	SetTestStepName(KUsecaseOverridingThePreferenceTable);
+	}
+
+CTE_UsecaseOverridingThePreferenceTable::~CTE_UsecaseOverridingThePreferenceTable()
+	{	
+	}
+
+enum TVerdict CTE_UsecaseOverridingThePreferenceTable::doTestStepL()
+	{
+	CCommsDbConnectionPrefTableView::TCommDbIapConnectionPref overrideSettings;
+	CCommsDbConnectionPrefTableView::TCommDbIapConnectionPref overridenValue;
+
+	CCommDbOverrideSettings* override;
+	override = CCommDbOverrideSettings::NewL(CCommDbOverrideSettings::EParamListPartial);
+	CleanupStack::PushL(override);
+
+	overrideSettings.iDialogPref = ECommDbDialogPrefPrompt;
+	overrideSettings.iRanking = 1;
+	overrideSettings.iDirection = ECommDbConnectionDirectionOutgoing;
+	override->SetConnectionPreferenceOverride(overrideSettings);
+
+	overridenValue.iRanking = 1;
+	override->GetConnectionPreferenceOverride(overridenValue);
+
+	if (!(overrideSettings == overridenValue))
+		{
+		User::Leave(__LINE__);
+		}
+
+	CleanupStack::PopAndDestroy(override);
+
+        SetTestStepResult(EPass);	return TestStepResult();
+	}
+
+///
+CTE_UsecaseUsingATemplate::CTE_UsecaseUsingATemplate()
+	{
+	SetTestStepName(KUsecaseUsingATemplate);
+	}
+
+CTE_UsecaseUsingATemplate::~CTE_UsecaseUsingATemplate()
+	{	
+	}
+
+enum TVerdict CTE_UsecaseUsingATemplate::doTestStepL()
+	{
+
+	CCommsDbTableView* view;
+	CCommsDatabase* db = CCommsDatabase::NewL();
+	const TPtrC kTable1(DIAL_OUT_ISP);
+	const TPtrC kColumn1(ISP_TYPE);
+	view = db->OpenViewMatchingUintLC(kTable1, kColumn1, EIspTypeInternetOnly);
+	CleanupStack::Pop(view);   
+	
+	const TPtrC kTable(DIAL_OUT_ISP);
+	const TPtrC kColumn(ISP_DESCRIPTION);
+	const TPtrC kDescription(_L("A default description put in by t_usecases"));
+
+	CCommsDbTemplateRecord* temp;
+	temp = CCommsDbTemplateRecord::NewL(db, kTable);
+	CleanupStack::PushL(temp);
+
+	temp->Modify();
+	temp->WriteTextL(kColumn, kDescription);
+	temp->StoreModifications();
+	
+	CleanupStack::PopAndDestroy(temp);
+	 
+	delete view; 
+	delete db;
+	
+        SetTestStepResult(EPass);	return TestStepResult();
+	}