commsconfig/commsdatabaseshim/TE_commdb/src/Step_018_xx.cpp
changeset 72 ae47d0499bee
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commsconfig/commsdatabaseshim/TE_commdb/src/Step_018_xx.cpp	Mon Sep 06 13:49:23 2010 +0100
@@ -0,0 +1,406 @@
+//
+// 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:
+//
+//
+//
+// This contains CommDb Unit Test Cases 018.XX
+
+// EPOC includes
+#include <e32base.h>
+#include <commdb.h>
+#include <d32comm.h>
+
+// Test system includes
+#include "Teststepcommdb.h"
+#include "Step_018_xx.h"
+
+
+
+/////////////////////
+//	Test step 018.01
+/////////////////////
+
+// constructor
+CCommDbTest018_01::CCommDbTest018_01()
+	{
+	// store the name of this test case
+	SetTestStepName(_L("step_018_01"));
+	}
+
+// destructor
+CCommDbTest018_01::~CCommDbTest018_01()
+	{
+	}
+
+
+TVerdict CCommDbTest018_01::doTestStepPreambleL()
+	{	
+	openDbAndViewL(TPtrC(DIAL_OUT_ISP));
+        SetTestStepResult(EPass);	return TestStepResult();
+	}
+
+
+TInt CCommDbTest018_01::executeStepL()
+	{
+	TInt ret=KErrNone;
+
+	//Verify DeleteRecord() by deleting the records in the Dial out ISP
+	//table and then checking for their lack of existance
+
+	CDBLEAVE( iTheView->GotoFirstRecord(), KErrNone );
+	CDBLEAVE( iTheView->DeleteRecord(), KErrNone );
+
+	CDBLEAVE( iTheView->GotoNextRecord(), KErrNone );
+	CDBLEAVE( iTheView->DeleteRecord(), KErrNone );
+
+	CDBLEAVE( iTheView->GotoNextRecord(), KErrNone );
+	CDBLEAVE( iTheView->DeleteRecord(), KErrNone );
+	//The table will now be empty
+
+	delete iTheView;
+	iTheView = 0;
+	iTheView = iTheDb->OpenTableLC(TPtrC(DIAL_OUT_ISP ) );
+	CleanupStack::Pop();
+
+	CDBLEAVE( iTheView->GotoFirstRecord(), KErrNotFound );
+	
+	return ret;
+	}
+
+
+
+TVerdict CCommDbTest018_01::doTestStepL( )
+	{
+	INFO_PRINTF1(_L("Step 018.01 called "));
+
+
+	if ( executeStepL() == KErrNone )
+		SetTestStepResult(EPass);	else
+		SetTestStepResult(EFail);
+	return TestStepResult();
+	}
+
+
+/////////////////////
+//	Test step 018.02
+/////////////////////
+
+// constructor
+CCommDbTest018_02::CCommDbTest018_02()
+	{
+	// store the name of this test case
+	SetTestStepName(_L("step_018_02"));
+	}
+
+// destructor
+CCommDbTest018_02::~CCommDbTest018_02()
+	{
+	}
+
+
+TVerdict CCommDbTest018_02::doTestStepPreambleL()
+	{	
+	copyTestDatabase( EDatabase_1 );
+	openDbAndViewL(TPtrC(DIAL_OUT_ISP));
+        SetTestStepResult(EPass);	return TestStepResult();
+	}
+
+
+TInt CCommDbTest018_02::executeStepL()
+	{
+	TInt ret=KErrNone;
+
+	//Try to delete the last record in a view and then 
+	//verify its deletion
+
+	CDBLEAVE( iTheView->GotoFirstRecord(), KErrNone );
+	CDBLEAVE( iTheView->GotoNextRecord(), KErrNone );
+	CDBLEAVE( iTheView->GotoNextRecord(), KErrNone );
+	//The DAIL_OUT_ISP table only has 3 records, so we know
+	//we are at the end.
+
+	//Delete the last record
+	CDBLEAVE( iTheView->DeleteRecord(), KErrNone );
+
+	//The table should now only have 2 records
+	
+	delete iTheView;
+	iTheView = 0;
+	iTheView = iTheDb->OpenTableLC(TPtrC(DIAL_OUT_ISP ) );
+	CleanupStack::Pop();
+	CDBLEAVE( iTheView->GotoFirstRecord(), KErrNone );
+	CDBLEAVE( iTheView->GotoNextRecord(), KErrNone );
+	CDBLEAVE( iTheView->GotoNextRecord(), KErrNotFound ); //no more records
+	
+	return ret;
+	}
+
+
+
+TVerdict CCommDbTest018_02::doTestStepL( )
+	{
+	INFO_PRINTF1(_L("Step 018.02 called "));
+
+
+	if ( executeStepL() == KErrNone )
+		SetTestStepResult(EPass);	else
+		SetTestStepResult(EFail);
+	return TestStepResult();
+	}
+
+/////////////////////
+//	Test step 018.03
+/////////////////////
+
+// constructor
+CCommDbTest018_03::CCommDbTest018_03()
+	{
+	// store the name of this test case
+	SetTestStepName(_L("step_018_03"));
+	}
+
+// destructor
+CCommDbTest018_03::~CCommDbTest018_03()
+	{
+	}
+
+
+TVerdict CCommDbTest018_03::doTestStepPreambleL()
+	{	
+	openDbAndViewL(TPtrC(IAP));
+        SetTestStepResult(EPass);	return TestStepResult();
+	}
+
+
+TInt CCommDbTest018_03::executeStepL()
+	{
+	TInt ret=KErrNone;
+
+	//Delete record in empty view
+	CDBLEAVE( iTheView->DeleteRecord(), KErrNotFound );	
+
+	return ret;
+	}
+
+
+
+TVerdict CCommDbTest018_03::doTestStepL( )
+	{
+	INFO_PRINTF1(_L("Step 018.03 called "));
+
+
+	if ( executeStepL() == KErrNone )
+		SetTestStepResult(EPass);	else
+		SetTestStepResult(EFail);
+	return TestStepResult();
+	}
+
+
+/////////////////////
+//	Test step 018.04
+/////////////////////
+
+// constructor
+CCommDbTest018_04::CCommDbTest018_04()
+	{
+	// store the name of this test case
+	SetTestStepName(_L("step_018_04"));
+	}
+
+// destructor
+CCommDbTest018_04::~CCommDbTest018_04()
+	{
+	}
+
+
+TVerdict CCommDbTest018_04::doTestStepPreambleL()
+	{	
+	openDbAndViewL(TPtrC(DIAL_IN_ISP));
+        SetTestStepResult(EPass);	return TestStepResult();
+	}
+
+
+TInt CCommDbTest018_04::executeStepL()
+	{
+	TInt ret=KErrNone;
+
+	//Delete a read only record 
+
+	CDBLEAVE( iTheView->GotoFirstRecord(), KErrNone );
+	CDBLEAVE( iTheView->GotoNextRecord(), KErrNone );
+	CDBLEAVE( iTheView->GotoNextRecord(), KErrNone );
+	CDBLEAVE( iTheView->GotoNextRecord(), KErrNone );
+	CDBLEAVE( iTheView->GotoNextRecord(), KErrNone );
+
+	//Delete the read only record #5
+	CDBLEAVE( iTheView->DeleteRecord(), KErrNone );
+
+	//Open a new view and check that we've only 4 records left
+	delete iTheView;
+	iTheView = 0;
+	iTheView = iTheDb->OpenTableLC(TPtrC(DIAL_IN_ISP ) );
+	CleanupStack::Pop();
+	CDBLEAVE( iTheView->GotoFirstRecord(), KErrNone );
+	CDBLEAVE( iTheView->GotoNextRecord(), KErrNone );
+	CDBLEAVE( iTheView->GotoNextRecord(), KErrNone );
+	CDBLEAVE( iTheView->GotoNextRecord(), KErrNone );
+	CDBLEAVE( iTheView->GotoNextRecord(), KErrNotFound ); //no more records
+	
+
+	return ret;
+	}
+
+
+
+TVerdict CCommDbTest018_04::doTestStepL( )
+	{
+	INFO_PRINTF1(_L("Step 018.04 called "));
+
+
+	if ( executeStepL() == KErrNone )
+		SetTestStepResult(EPass);	else
+		SetTestStepResult(EFail);
+	return TestStepResult();
+	}
+
+
+/////////////////////
+//	Test step 018.05
+/////////////////////
+
+// constructor
+CCommDbTest018_05::CCommDbTest018_05()
+	{
+	// store the name of this test case
+	SetTestStepName(_L("step_018_05"));
+	}
+
+// destructor
+CCommDbTest018_05::~CCommDbTest018_05()
+	{
+	}
+
+TVerdict CCommDbTest018_05::doTestStepL( )
+	{
+	INFO_PRINTF1(_L("Step 018.05 called "));
+
+	SetTestStepResult(EPass);
+		// Heap test for 018.01
+
+	CCommDbTest018_01* step018_01 = new(ELeave) CCommDbTest018_01;
+	CleanupStack::PushL(step018_01);
+	if ( doTestStepWithHeapFailureL( *step018_01, KErrNone) == EFail )
+		SetTestStepResult(EFail);	CleanupStack::PopAndDestroy(step018_01);
+
+
+	return TestStepResult();	
+}
+
+
+/////////////////////
+//	Test step 018.06
+/////////////////////
+
+// constructor
+CCommDbTest018_06::CCommDbTest018_06()
+	{
+	// store the name of this test case
+	SetTestStepName(_L("step_018_06"));
+	}
+
+// destructor
+CCommDbTest018_06::~CCommDbTest018_06()
+	{
+	}
+
+TVerdict CCommDbTest018_06::doTestStepL( )
+	{
+	INFO_PRINTF1(_L("Step 018.06 called "));
+
+	SetTestStepResult(EPass);	
+			// Heap test for 018.02
+
+	CCommDbTest018_02* step018_02 = new CCommDbTest018_02;
+	CleanupStack::PushL(step018_02);
+	if ( doTestStepWithHeapFailureL( *step018_02, KErrNone) == EFail )
+		SetTestStepResult(EFail);	CleanupStack::PopAndDestroy(step018_02);
+	
+	return TestStepResult();		
+	}
+	
+/////////////////////
+//	Test step 018.07
+/////////////////////
+
+// constructor
+CCommDbTest018_07::CCommDbTest018_07()
+	{
+	// store the name of this test case
+	SetTestStepName(_L("step_018_07"));
+	}
+
+// destructor
+CCommDbTest018_07::~CCommDbTest018_07()
+	{
+	}
+
+TVerdict CCommDbTest018_07::doTestStepL( )
+	{
+	INFO_PRINTF1(_L("Step 018.07 called "));
+
+	SetTestStepResult(EPass);	
+		// Heap test for 018.03
+
+	CCommDbTest018_03* step018_03 = new CCommDbTest018_03;
+	CleanupStack::PushL(step018_03);
+	if ( doTestStepWithHeapFailureL( *step018_03, KErrNone) == EFail )
+		SetTestStepResult(EFail);	CleanupStack::PopAndDestroy(step018_03);
+	
+	return TestStepResult();		
+	}
+	
+/////////////////////
+//	Test step 018.08
+/////////////////////
+
+// constructor
+CCommDbTest018_08::CCommDbTest018_08()
+	{
+	// store the name of this test case
+	SetTestStepName(_L("step_018_08"));
+	}
+
+// destructor
+CCommDbTest018_08::~CCommDbTest018_08()
+	{
+	}
+
+TVerdict CCommDbTest018_08::doTestStepL( )
+	{
+	INFO_PRINTF1(_L("Step 018.08 called "));
+
+	SetTestStepResult(EPass);	
+		// Heap test for 018.04
+
+	CCommDbTest018_04* step018_04 = new CCommDbTest018_04;
+	CleanupStack::PushL(step018_04);
+	if ( doTestStepWithHeapFailureL( *step018_04, KErrNone) == EFail )
+		SetTestStepResult(EFail);	CleanupStack::PopAndDestroy(step018_04);
+	
+	return TestStepResult();		
+	}
+	
+
+//EOF