--- /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();
+ }