commsconfig/commsdatabaseshim/TE_commdb/te_usecases/src/TE_UseCasesSteps.cpp
changeset 72 ae47d0499bee
equal deleted inserted replaced
68:5da8188e392b 72:ae47d0499bee
       
     1 //
       
     2 // Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 // All rights reserved.
       
     4 // This component and the accompanying materials are made available
       
     5 // under the terms of "Eclipse Public License v1.0"
       
     6 // which accompanies this distribution, and is available
       
     7 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 //
       
     9 // Initial Contributors:
       
    10 // Nokia Corporation - initial contribution.
       
    11 //
       
    12 // Contributors:
       
    13 //
       
    14 // Description:
       
    15 //
       
    16 //
       
    17 
       
    18 // TE_UseCasesSteps.CPP
       
    19 //
       
    20 //
       
    21 
       
    22 // Use cases as in the commdb design overview
       
    23 
       
    24 #include <e32test.h>
       
    25 #include <f32file.h>
       
    26 #include <commdb.h>
       
    27 #include <cdbover.h>
       
    28 #include <cdbtemp.h>
       
    29 
       
    30 #include "TE_UseCasesSteps.h"
       
    31 
       
    32 ///
       
    33 CTE_CreatingDatabaseAndView::CTE_CreatingDatabaseAndView()
       
    34 	{
       
    35 	SetTestStepName(KCreatingDatabaseAndView);
       
    36 	}
       
    37 
       
    38 CTE_CreatingDatabaseAndView::~CTE_CreatingDatabaseAndView()
       
    39 	{	
       
    40 	}
       
    41 
       
    42 enum TVerdict CTE_CreatingDatabaseAndView::doTestStepL()
       
    43 	{
       
    44 		
       
    45 	CCommsDbTableView* view;
       
    46 	CCommsDatabase* db = CCommsDatabase::NewL();
       
    47 	const TPtrC kTable1(DIAL_OUT_ISP);
       
    48 	const TPtrC kColumn1(ISP_TYPE);
       
    49 	view = db->OpenViewMatchingUintLC(kTable1, kColumn1, EIspTypeInternetOnly);
       
    50 	CleanupStack::Pop(view);
       
    51 
       
    52 	delete view; 
       
    53 	delete db;		
       
    54 
       
    55         SetTestStepResult(EPass);	return TestStepResult();
       
    56 	}
       
    57 
       
    58 ///
       
    59 CTE_UsecaseReading::CTE_UsecaseReading()
       
    60 	{
       
    61 	SetTestStepName(KUsecaseReading);
       
    62 	}
       
    63 
       
    64 CTE_UsecaseReading::~CTE_UsecaseReading()
       
    65 	{	
       
    66 	}
       
    67 
       
    68 enum TVerdict CTE_UsecaseReading::doTestStepL()
       
    69 	{
       
    70 
       
    71 	CCommsDbTableView* view;
       
    72 	CCommsDatabase* db = CCommsDatabase::NewL();
       
    73 	const TPtrC kTable1(DIAL_OUT_ISP);
       
    74 	const TPtrC kColumn1(ISP_TYPE);
       
    75 	view = db->OpenViewMatchingUintLC(kTable1, kColumn1, EIspTypeInternetOnly);
       
    76 	CleanupStack::Pop(view);	
       
    77 		
       
    78 	const TPtrC kColumn(ISP_DESCRIPTION);
       
    79 
       
    80 	TBuf<KCommsDbSvrMaxFieldLength> description;
       
    81 
       
    82 	view->GotoFirstRecord();
       
    83 	view->ReadTextL(kColumn, description);
       
    84 
       
    85 	delete view; 
       
    86 	delete db;
       
    87 	
       
    88         SetTestStepResult(EPass);	return TestStepResult();
       
    89 	}
       
    90 
       
    91 ///
       
    92 CTE_UsecaseWriting::CTE_UsecaseWriting()
       
    93 	{
       
    94 	SetTestStepName(KUsecaseWriting);
       
    95 	}
       
    96 
       
    97 CTE_UsecaseWriting::~CTE_UsecaseWriting()
       
    98 	{	
       
    99 	}
       
   100 
       
   101 enum TVerdict CTE_UsecaseWriting::doTestStepL()
       
   102 	{
       
   103 	
       
   104 	CCommsDbTableView* view;
       
   105 	CCommsDatabase* db = CCommsDatabase::NewL();
       
   106 	const TPtrC kTable1(DIAL_OUT_ISP);
       
   107 	const TPtrC kColumn1(ISP_TYPE);
       
   108 	view = db->OpenViewMatchingUintLC(kTable1, kColumn1, EIspTypeInternetOnly);
       
   109 	CleanupStack::Pop(view);    
       
   110 	
       
   111 	const TPtrC kColumn(ISP_DESCRIPTION);
       
   112 	const TPtrC kDescription(_L("A new description put in by t_usecases"));
       
   113 
       
   114 	TInt ret = view->GotoNextRecord();
       
   115 	if(ret == KErrNone)
       
   116 		{
       
   117 		ret = view->UpdateRecord();
       
   118 		if(ret == KErrNone)
       
   119 			{
       
   120 			view->WriteTextL(kColumn, kDescription);
       
   121 			view->PutRecordChanges();
       
   122 			}
       
   123 		}
       
   124 
       
   125 	delete view; 
       
   126 	delete db;
       
   127 
       
   128         SetTestStepResult(EPass);	return TestStepResult();
       
   129 	}
       
   130 
       
   131 ///
       
   132 CTE_UsecaseOverridingATableEntry::CTE_UsecaseOverridingATableEntry()
       
   133 	{
       
   134 	SetTestStepName(KUsecaseOverridingATableEntry);
       
   135 	}
       
   136 
       
   137 CTE_UsecaseOverridingATableEntry::~CTE_UsecaseOverridingATableEntry()
       
   138 	{	
       
   139 	}
       
   140 
       
   141 enum TVerdict CTE_UsecaseOverridingATableEntry::doTestStepL()
       
   142 	{
       
   143 	const TPtrC kTable(DIAL_OUT_ISP);
       
   144 	const TPtrC kColumn(ISP_DESCRIPTION);
       
   145 	const TPtrC kOverride(_L("An overriden description"));
       
   146 	TBuf<KCommsDbSvrMaxFieldLength> overridenValue;
       
   147 
       
   148 	CCommDbOverrideSettings *override;
       
   149 	override = CCommDbOverrideSettings::NewL(CCommDbOverrideSettings::EParamListPartial);
       
   150 	CleanupStack::PushL(override);
       
   151 
       
   152 	override->SetDesOverride(kTable, kColumn, kOverride);
       
   153 
       
   154 	if (override->GetDesOverride(kTable, kColumn, overridenValue) != KErrNone)
       
   155 		{
       
   156 		User::Leave(__LINE__);
       
   157 		}
       
   158 	if (overridenValue != kOverride)
       
   159 		{
       
   160 		User::Leave(__LINE__);
       
   161 		}
       
   162 
       
   163 	CleanupStack::PopAndDestroy(override);
       
   164 
       
   165         SetTestStepResult(EPass);	return TestStepResult();
       
   166 	}
       
   167 
       
   168 ///
       
   169 CTE_UsecaseOverridingThePreferenceTable::CTE_UsecaseOverridingThePreferenceTable()
       
   170 	{
       
   171 	SetTestStepName(KUsecaseOverridingThePreferenceTable);
       
   172 	}
       
   173 
       
   174 CTE_UsecaseOverridingThePreferenceTable::~CTE_UsecaseOverridingThePreferenceTable()
       
   175 	{	
       
   176 	}
       
   177 
       
   178 enum TVerdict CTE_UsecaseOverridingThePreferenceTable::doTestStepL()
       
   179 	{
       
   180 	CCommsDbConnectionPrefTableView::TCommDbIapConnectionPref overrideSettings;
       
   181 	CCommsDbConnectionPrefTableView::TCommDbIapConnectionPref overridenValue;
       
   182 
       
   183 	CCommDbOverrideSettings* override;
       
   184 	override = CCommDbOverrideSettings::NewL(CCommDbOverrideSettings::EParamListPartial);
       
   185 	CleanupStack::PushL(override);
       
   186 
       
   187 	overrideSettings.iDialogPref = ECommDbDialogPrefPrompt;
       
   188 	overrideSettings.iRanking = 1;
       
   189 	overrideSettings.iDirection = ECommDbConnectionDirectionOutgoing;
       
   190 	override->SetConnectionPreferenceOverride(overrideSettings);
       
   191 
       
   192 	overridenValue.iRanking = 1;
       
   193 	override->GetConnectionPreferenceOverride(overridenValue);
       
   194 
       
   195 	if (!(overrideSettings == overridenValue))
       
   196 		{
       
   197 		User::Leave(__LINE__);
       
   198 		}
       
   199 
       
   200 	CleanupStack::PopAndDestroy(override);
       
   201 
       
   202         SetTestStepResult(EPass);	return TestStepResult();
       
   203 	}
       
   204 
       
   205 ///
       
   206 CTE_UsecaseUsingATemplate::CTE_UsecaseUsingATemplate()
       
   207 	{
       
   208 	SetTestStepName(KUsecaseUsingATemplate);
       
   209 	}
       
   210 
       
   211 CTE_UsecaseUsingATemplate::~CTE_UsecaseUsingATemplate()
       
   212 	{	
       
   213 	}
       
   214 
       
   215 enum TVerdict CTE_UsecaseUsingATemplate::doTestStepL()
       
   216 	{
       
   217 
       
   218 	CCommsDbTableView* view;
       
   219 	CCommsDatabase* db = CCommsDatabase::NewL();
       
   220 	const TPtrC kTable1(DIAL_OUT_ISP);
       
   221 	const TPtrC kColumn1(ISP_TYPE);
       
   222 	view = db->OpenViewMatchingUintLC(kTable1, kColumn1, EIspTypeInternetOnly);
       
   223 	CleanupStack::Pop(view);   
       
   224 	
       
   225 	const TPtrC kTable(DIAL_OUT_ISP);
       
   226 	const TPtrC kColumn(ISP_DESCRIPTION);
       
   227 	const TPtrC kDescription(_L("A default description put in by t_usecases"));
       
   228 
       
   229 	CCommsDbTemplateRecord* temp;
       
   230 	temp = CCommsDbTemplateRecord::NewL(db, kTable);
       
   231 	CleanupStack::PushL(temp);
       
   232 
       
   233 	temp->Modify();
       
   234 	temp->WriteTextL(kColumn, kDescription);
       
   235 	temp->StoreModifications();
       
   236 	
       
   237 	CleanupStack::PopAndDestroy(temp);
       
   238 	 
       
   239 	delete view; 
       
   240 	delete db;
       
   241 	
       
   242         SetTestStepResult(EPass);	return TestStepResult();
       
   243 	}