commsconfig/commsdatabaseshim/TE_commdb/src/Step_031_xx.cpp
author hgs
Mon, 06 Sep 2010 13:49:23 +0100
changeset 72 ae47d0499bee
permissions -rw-r--r--
201033_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
72
ae47d0499bee 201033_02
hgs
parents:
diff changeset
     1
//
ae47d0499bee 201033_02
hgs
parents:
diff changeset
     2
// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
ae47d0499bee 201033_02
hgs
parents:
diff changeset
     3
// All rights reserved.
ae47d0499bee 201033_02
hgs
parents:
diff changeset
     4
// This component and the accompanying materials are made available
ae47d0499bee 201033_02
hgs
parents:
diff changeset
     5
// under the terms of "Eclipse Public License v1.0"
ae47d0499bee 201033_02
hgs
parents:
diff changeset
     6
// which accompanies this distribution, and is available
ae47d0499bee 201033_02
hgs
parents:
diff changeset
     7
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
ae47d0499bee 201033_02
hgs
parents:
diff changeset
     8
//
ae47d0499bee 201033_02
hgs
parents:
diff changeset
     9
// Initial Contributors:
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    10
// Nokia Corporation - initial contribution.
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    11
//
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    12
// Contributors:
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    13
//
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    14
// Description:
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    15
//
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    16
//
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    17
// This contains CommDb Unit Test Cases 031.XX
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    18
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    19
// EPOC includes
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    20
#include <e32base.h>
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    21
#include <commdb.h>
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    22
#include <d32comm.h>
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    23
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    24
// Test system includes
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    25
#include "Teststepcommdb.h"
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    26
#include "Step_031_xx.h"
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    27
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    28
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    29
CCommDbTest031_01::CCommDbTest031_01()
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    30
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    31
	// store the name of this test case
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    32
	SetTestStepName(_L("step_031_01"));
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    33
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    34
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    35
CCommDbTest031_01::~CCommDbTest031_01()
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    36
	{}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    37
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    38
TVerdict CCommDbTest031_01::doTestStepL( void )
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    39
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    40
	if(executeStepL()!=KErrNone)
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    41
         SetTestStepResult(EFail);        SetTestStepResult(EPass);	return TestStepResult();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    42
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    43
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    44
TVerdict CCommDbTest031_01::doTestStepPreambleL()
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    45
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    46
	iTheDb=CCommsDatabase::NewL();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    47
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    48
	iPrefView = iTheDb->OpenConnectionPrefTableLC();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    49
	CleanupStack::Pop();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    50
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    51
        SetTestStepResult(EPass);	return TestStepResult();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    52
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    53
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    54
TInt CCommDbTest031_01::executeStepL()
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    55
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    56
	CCommsDbConnectionPrefTableView::TCommDbIapConnectionPref pref1;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    57
	pref1.iRanking = 2;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    58
	pref1.iDirection = ECommDbConnectionDirectionOutgoing;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    59
	pref1.iDialogPref = ECommDbDialogPrefPrompt;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    60
	pref1.iBearer.iBearerSet = KCommDbBearerCSD;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    61
	pref1.iBearer.iIapId = 2;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    62
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    63
	iPrefView->InsertConnectionPreferenceL(pref1, EFalse);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    64
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    65
	CCommsDbConnectionPrefTableView::TCommDbIapConnectionPref pref2;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    66
	pref2.iRanking = 1;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    67
	pref2.iDirection = ECommDbConnectionDirectionOutgoing;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    68
	pref2.iDialogPref = ECommDbDialogPrefPrompt;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    69
	pref2.iBearer.iBearerSet = KCommDbBearerCSD;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    70
	pref2.iBearer.iIapId = 1;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    71
	
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    72
	iPrefView->InsertConnectionPreferenceL(pref2, EFalse);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    73
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    74
	delete iPrefView;	//Open a new view in rank order
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    75
	iPrefView=NULL;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    76
	iPrefView=iTheDb->OpenConnectionPrefTableInRankOrderLC(ECommDbConnectionDirectionOutgoing);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    77
	CleanupStack::Pop(iPrefView);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    78
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    79
	User::LeaveIfError(iPrefView->GotoFirstRecord());
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    80
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    81
	CCommsDbConnectionPrefTableView::TCommDbIapConnectionPref retrievedPref;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    82
	iPrefView->ReadConnectionPreferenceL(retrievedPref);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    83
	if(!(retrievedPref==pref2))
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    84
		return KErrGeneral;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    85
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    86
	User::LeaveIfError(iPrefView->GotoNextRecord());
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    87
	iPrefView->ReadConnectionPreferenceL(retrievedPref);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    88
	if(!(retrievedPref==pref1))
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    89
		return KErrGeneral;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    90
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    91
	return KErrNone;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    92
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    93
	
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    94
TVerdict CCommDbTest031_01::doTestStepPostambleL()
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    95
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    96
		//Get rid of our view
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    97
	if(iPrefView)
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    98
		{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    99
		delete iPrefView;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   100
		}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   101
	iPrefView=0;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   102
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   103
	//Create a new view that should have the record that was added in executeStepL and
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   104
	// may have been left in by a leave condition
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   105
	iPrefView = iTheDb->OpenConnectionPrefTableLC();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   106
	CleanupStack::Pop();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   107
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   108
	if(iPrefView->GotoFirstRecord() == KErrNone)
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   109
		{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   110
		iPrefView->DeleteConnectionPreferenceL();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   111
		}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   112
	if(iPrefView->GotoFirstRecord() == KErrNone)
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   113
		{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   114
		iPrefView->DeleteConnectionPreferenceL();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   115
		}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   116
	
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   117
	// Cleanup after test run
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   118
	CTestStepCommDb::doTestStepPostambleL();	
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   119
        SetTestStepResult(EPass);	return TestStepResult();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   120
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   121
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   122
/////////////////////////////////////////////////////////////////////////////////
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   123
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   124
CCommDbTest031_02::CCommDbTest031_02()
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   125
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   126
	// store the name of this test case
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   127
	SetTestStepName(_L("step_031_02"));
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   128
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   129
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   130
CCommDbTest031_02::~CCommDbTest031_02()
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   131
	{}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   132
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   133
TVerdict CCommDbTest031_02::doTestStepL( void )
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   134
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   135
	executeStepL();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   136
        SetTestStepResult(EPass);	return TestStepResult();	//if we get to here we must have passed.
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   137
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   138
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   139
TVerdict CCommDbTest031_02::doTestStepPreambleL()
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   140
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   141
	iTheDb=CCommsDatabase::NewL();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   142
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   143
	iPrefView = iTheDb->OpenConnectionPrefTableLC();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   144
	CleanupStack::Pop();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   145
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   146
        SetTestStepResult(EPass);	return TestStepResult();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   147
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   148
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   149
TInt CCommDbTest031_02::executeStepL()
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   150
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   151
	CCommsDbConnectionPrefTableView::TCommDbIapConnectionPref pref1;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   152
	pref1.iRanking = 2;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   153
	pref1.iDirection = ECommDbConnectionDirectionOutgoing;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   154
	pref1.iDialogPref = ECommDbDialogPrefPrompt;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   155
	pref1.iBearer.iBearerSet = KCommDbBearerCSD;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   156
	pref1.iBearer.iIapId = 2;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   157
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   158
	iPrefView->InsertConnectionPreferenceL(pref1, EFalse);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   159
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   160
	CCommsDbConnectionPrefTableView::TCommDbIapConnectionPref pref2;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   161
	pref2.iRanking = 1;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   162
	pref2.iDirection = ECommDbConnectionDirectionOutgoing;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   163
	pref2.iDialogPref = ECommDbDialogPrefPrompt;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   164
	pref2.iBearer.iBearerSet = KCommDbBearerCSD;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   165
	pref2.iBearer.iIapId = 1;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   166
	
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   167
	iPrefView->InsertConnectionPreferenceL(pref2, EFalse);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   168
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   169
	delete iPrefView;	//Open a new view in rank order looking at incoming only
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   170
	iPrefView=NULL;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   171
	iPrefView=iTheDb->OpenConnectionPrefTableInRankOrderLC(ECommDbConnectionDirectionIncoming);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   172
	CleanupStack::Pop(iPrefView);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   173
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   174
	return KErrNone;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   175
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   176
	
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   177
TVerdict CCommDbTest031_02::doTestStepPostambleL()
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   178
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   179
		//Get rid of our view
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   180
	if(iPrefView)
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   181
		{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   182
		delete iPrefView;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   183
		}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   184
	iPrefView=0;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   185
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   186
	//Create a new view that should have the record that was added in executeStepL and
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   187
	// may have been left in by a leave condition
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   188
	iPrefView = iTheDb->OpenConnectionPrefTableLC();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   189
	CleanupStack::Pop();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   190
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   191
	if(iPrefView->GotoFirstRecord() == KErrNone)
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   192
		{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   193
		iPrefView->DeleteConnectionPreferenceL();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   194
		}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   195
	if(iPrefView->GotoFirstRecord() == KErrNone)
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   196
		{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   197
		iPrefView->DeleteConnectionPreferenceL();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   198
		}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   199
	
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   200
	// Cleanup after test run
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   201
	CTestStepCommDb::doTestStepPostambleL();	
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   202
        SetTestStepResult(EPass);	return TestStepResult();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   203
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   204
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   205
/////////////////////////////////////////////////////////////////////////////////
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   206
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   207
CCommDbTest031_03::CCommDbTest031_03()
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   208
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   209
	// store the name of this test case
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   210
	SetTestStepName(_L("step_031_03"));
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   211
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   212
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   213
CCommDbTest031_03::~CCommDbTest031_03()
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   214
	{}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   215
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   216
TVerdict CCommDbTest031_03::doTestStepL( void )
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   217
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   218
	if(executeStepL()!=KErrNone)
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   219
         SetTestStepResult(EFail);        SetTestStepResult(EPass);	return TestStepResult();	//if we get to here we must have passed.
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   220
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   221
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   222
TVerdict CCommDbTest031_03::doTestStepPreambleL()
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   223
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   224
	iTheDb=CCommsDatabase::NewL();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   225
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   226
	iPrefView = iTheDb->OpenConnectionPrefTableLC();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   227
	CleanupStack::Pop();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   228
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   229
        SetTestStepResult(EPass);	return TestStepResult();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   230
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   231
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   232
TInt CCommDbTest031_03::executeStepL()
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   233
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   234
	CCommsDbConnectionPrefTableView::TCommDbIapConnectionPref pref1;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   235
	pref1.iRanking = 2;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   236
	pref1.iDirection = ECommDbConnectionDirectionOutgoing;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   237
	pref1.iDialogPref = ECommDbDialogPrefPrompt;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   238
	pref1.iBearer.iBearerSet = KCommDbBearerCSD;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   239
	pref1.iBearer.iIapId = 2;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   240
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   241
	iPrefView->InsertConnectionPreferenceL(pref1, EFalse);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   242
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   243
	CCommsDbConnectionPrefTableView::TCommDbIapConnectionPref pref2;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   244
	pref2.iRanking = 1;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   245
	pref2.iDirection = ECommDbConnectionDirectionOutgoing;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   246
	pref2.iDialogPref = ECommDbDialogPrefPrompt;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   247
	pref2.iBearer.iBearerSet = KCommDbBearerCSD;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   248
	pref2.iBearer.iIapId = 1;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   249
	
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   250
	iPrefView->InsertConnectionPreferenceL(pref2, EFalse);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   251
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   252
	delete iPrefView;	//Open a new view to look at rank 1 outgoing only
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   253
	iPrefView=NULL;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   254
	iPrefView=iTheDb->OpenConnectionPrefTableViewOnRankLC(ECommDbConnectionDirectionOutgoing, 1);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   255
	CleanupStack::Pop(iPrefView);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   256
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   257
	User::LeaveIfError(iPrefView->GotoFirstRecord());
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   258
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   259
	CCommsDbConnectionPrefTableView::TCommDbIapConnectionPref retrievedPref;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   260
	iPrefView->ReadConnectionPreferenceL(retrievedPref);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   261
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   262
	if(!(retrievedPref==pref2))
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   263
		return KErrGeneral;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   264
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   265
	return KErrNone;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   266
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   267
	
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   268
TVerdict CCommDbTest031_03::doTestStepPostambleL()
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   269
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   270
		//Get rid of our view
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   271
	if(iPrefView)
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   272
		{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   273
		delete iPrefView;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   274
		}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   275
	iPrefView=0;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   276
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   277
	//Create a new view that should have the record that was added in executeStepL and
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   278
	// may have been left in by a leave condition
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   279
	iPrefView = iTheDb->OpenConnectionPrefTableLC();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   280
	CleanupStack::Pop();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   281
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   282
	if(iPrefView->GotoFirstRecord() == KErrNone)
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   283
		{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   284
		iPrefView->DeleteConnectionPreferenceL();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   285
		}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   286
	if(iPrefView->GotoFirstRecord() == KErrNone)
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   287
		{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   288
		iPrefView->DeleteConnectionPreferenceL();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   289
		}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   290
	
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   291
	// Cleanup after test run
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   292
	CTestStepCommDb::doTestStepPostambleL();	
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   293
        SetTestStepResult(EPass);	return TestStepResult();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   294
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   295
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   296
/////////////////////////////////////////////////////////////////////////////////
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   297
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   298
CCommDbTest031_04::CCommDbTest031_04()
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   299
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   300
	// store the name of this test case
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   301
	SetTestStepName(_L("step_031_04"));
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   302
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   303
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   304
CCommDbTest031_04::~CCommDbTest031_04()
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   305
	{}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   306
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   307
TVerdict CCommDbTest031_04::doTestStepL( void )
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   308
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   309
	if(executeStepL()!=KErrOverflow)
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   310
         SetTestStepResult(EFail);        SetTestStepResult(EPass);	return TestStepResult();	//if we get to here we must have passed.
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   311
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   312
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   313
TVerdict CCommDbTest031_04::doTestStepPreambleL()
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   314
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   315
	iTheDb=CCommsDatabase::NewL();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   316
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   317
	iPrefView = iTheDb->OpenConnectionPrefTableLC();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   318
	CleanupStack::Pop();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   319
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   320
        SetTestStepResult(EPass);	return TestStepResult();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   321
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   322
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   323
TInt CCommDbTest031_04::executeStepL()
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   324
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   325
	CCommsDbConnectionPrefTableView::TCommDbIapConnectionPref pref1;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   326
	pref1.iRanking = 2;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   327
	pref1.iDirection = ECommDbConnectionDirectionOutgoing;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   328
	pref1.iDialogPref = ECommDbDialogPrefPrompt;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   329
	pref1.iBearer.iBearerSet = KCommDbBearerCSD;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   330
	pref1.iBearer.iIapId = 2;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   331
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   332
	iPrefView->InsertConnectionPreferenceL(pref1, EFalse);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   333
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   334
	CCommsDbConnectionPrefTableView::TCommDbIapConnectionPref pref2;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   335
	pref2.iRanking = 1;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   336
	pref2.iDirection = ECommDbConnectionDirectionOutgoing;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   337
	pref2.iDialogPref = ECommDbDialogPrefPrompt;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   338
	pref2.iBearer.iBearerSet = KCommDbBearerCSD;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   339
	pref2.iBearer.iIapId = 1;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   340
	
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   341
	iPrefView->InsertConnectionPreferenceL(pref2, EFalse);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   342
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   343
	delete iPrefView;	//Open a new view with invalid rank;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   344
	iPrefView=NULL;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   345
	TRAPD(err, iPrefView=iTheDb->OpenConnectionPrefTableViewOnRankLC(ECommDbConnectionDirectionOutgoing, 5));
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   346
	if (err==KErrNone)		//This should never happen, but better safe than sorry
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   347
		CleanupStack::Pop(iPrefView);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   348
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   349
	return err;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   350
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   351
	
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   352
TVerdict CCommDbTest031_04::doTestStepPostambleL()
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   353
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   354
		//Get rid of our view
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   355
	if(iPrefView)
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   356
		{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   357
		delete iPrefView;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   358
		}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   359
	iPrefView=0;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   360
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   361
	//Create a new view that should have the record that was added in executeStepL and
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   362
	// may have been left in by a leave condition
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   363
	iPrefView = iTheDb->OpenConnectionPrefTableLC();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   364
	CleanupStack::Pop();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   365
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   366
	if(iPrefView->GotoFirstRecord() == KErrNone)
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   367
		{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   368
		iPrefView->DeleteConnectionPreferenceL();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   369
		}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   370
	if(iPrefView->GotoFirstRecord() == KErrNone)
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   371
		{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   372
		iPrefView->DeleteConnectionPreferenceL();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   373
		}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   374
	
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   375
	// Cleanup after test run
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   376
	CTestStepCommDb::doTestStepPostambleL();	
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   377
        SetTestStepResult(EPass);	return TestStepResult();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   378
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   379
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   380
//////////////////////////////////////////////////////////////////////////
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   381
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   382
CCommDbTest031_05::CCommDbTest031_05()
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   383
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   384
	// store the name of this test case
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   385
	SetTestStepName(_L("step_031_05"));
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   386
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   387
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   388
CCommDbTest031_05::~CCommDbTest031_05()
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   389
	{}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   390
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   391
TVerdict CCommDbTest031_05::doTestStepL( void )
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   392
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   393
	INFO_PRINTF1(_L("Step 031.05 called "));
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   394
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   395
	SetTestStepResult(EPass);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   396
	CCommDbTest031_01* step031_01 = new(ELeave) CCommDbTest031_01;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   397
	CleanupStack::PushL(step031_01);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   398
	doTestStepWithHeapFailureL( *step031_01, KErrNone);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   399
	CleanupStack::PopAndDestroy(step031_01);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   400
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   401
	CCommDbTest031_02* step031_02 = new(ELeave) CCommDbTest031_02;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   402
	CleanupStack::PushL(step031_02);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   403
	doTestStepWithHeapFailureL( *step031_02, KErrNone);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   404
	CleanupStack::PopAndDestroy(step031_02);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   405
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   406
	CCommDbTest031_03* step031_03 = new(ELeave) CCommDbTest031_03;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   407
	CleanupStack::PushL(step031_03);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   408
	doTestStepWithHeapFailureL( *step031_03, KErrNone);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   409
	CleanupStack::PopAndDestroy(step031_03);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   410
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   411
	CCommDbTest031_04* step031_04 = new(ELeave) CCommDbTest031_04;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   412
	CleanupStack::PushL(step031_04);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   413
	doTestStepWithHeapFailureL( *step031_04, KErrOverflow);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   414
	CleanupStack::PopAndDestroy(step031_04);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   415
	
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   416
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   417
	return TestStepResult();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   418
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   419