commsconfig/commsdatabaseshim/TE_commdb/src/Step_014_xx.cpp
changeset 72 ae47d0499bee
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commsconfig/commsdatabaseshim/TE_commdb/src/Step_014_xx.cpp	Mon Sep 06 13:49:23 2010 +0100
@@ -0,0 +1,302 @@
+//
+// 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 014.XX
+
+// EPOC includes
+#include <e32base.h>
+#include <commdb.h>
+#include <d32comm.h>
+
+
+// Test system includes
+#include "Teststepcommdb.h"
+#include "Step_014_xx.h"
+
+
+
+/////////////////////
+//	Test step 014.01
+/////////////////////
+
+// constructor
+CCommDbTest014_01::CCommDbTest014_01()
+	{
+	// store the name of this test case
+	SetTestStepName(_L("step_014_01"));
+	}
+
+// destructor
+CCommDbTest014_01::~CCommDbTest014_01()
+	{
+	}
+
+TVerdict CCommDbTest014_01::doTestStepPreambleL()
+	{	
+	openDbAndViewL(TPtrC(MODEM_BEARER));
+        SetTestStepResult(EPass);	return TestStepResult();
+	}
+
+
+TInt CCommDbTest014_01::executeStepL()
+	{
+	TInt ret=KErrGeneral;
+	TUint32 id;
+
+	//Create a record and cancel it
+	//NB. This test assumes the Modem table will be empty
+
+	CDBLEAVE( iTheView->InsertRecord( id ), KErrNone );
+	
+	_LIT(KModem,"US Robotics Sportster");
+	_LIT(KTsy,"HAYES");
+	_LIT8(KModemInitString,"AT&F1");
+	_LIT8(KModemFaxInitString,"AT&d2");
+	//Write some sample data into the table
+	iTheView->WriteTextL(TPtrC(COMMDB_NAME),KModem);
+	iTheView->WriteTextL(TPtrC(MODEM_NIF_NAME),_L("PPP"));
+	iTheView->WriteTextL(TPtrC(MODEM_TSY_NAME),KTsy);
+	iTheView->WriteUintL(TPtrC(MODEM_RATE),(TUint32)EBps57600);
+	iTheView->WriteUintL(TPtrC(MODEM_DATA_BITS),(TUint32)EData8);
+	iTheView->WriteUintL(TPtrC(MODEM_STOP_BITS),(TUint32)EStop1);
+	iTheView->WriteUintL(TPtrC(MODEM_PARITY),(TUint32)EParityNone);
+	iTheView->WriteUintL(TPtrC(MODEM_HANDSHAKING),(TUint32)(KConfigObeyCTS|KConfigObeyDSR|KConfigFailDSR|KConfigObeyDCD|KConfigFailDCD));	//KConfigObeyCTS;
+	iTheView->WriteUintL(TPtrC(MODEM_SPECIAL_RATE),(TUint32)0);
+	iTheView->WriteUintL(TPtrC(MODEM_XON_CHAR),(TUint32)0);
+	iTheView->WriteUintL(TPtrC(MODEM_XOFF_CHAR),(TUint32)0);
+	iTheView->WriteTextL(TPtrC(MODEM_MODEM_INIT_STRING),KModemInitString);
+	iTheView->WriteTextL(TPtrC(MODEM_DATA_INIT_STRING),KNullDesC8);
+	iTheView->WriteTextL(TPtrC(MODEM_FAX_INIT_STRING),KModemFaxInitString);
+	iTheView->WriteUintL(TPtrC(MODEM_SPEAKER_PREF),(TUint32)EModemSpeakerSettingAfterDialUntilAnswer);
+	iTheView->WriteUintL(TPtrC(MODEM_SPEAKER_VOL_PREF),(TUint32)EModemSpeakerVolumeQuiet);
+
+	//Now cancel the insert and close the view
+	iTheView->CancelRecordChanges();
+	
+	delete iTheView;
+	iTheView = 0;
+
+	//Open a view and check record was not written into the database
+	iTheView = iTheDb->OpenViewMatchingTextLC( TPtrC(MODEM_BEARER), TPtrC(COMMDB_NAME), KModem);
+	CleanupStack::Pop();
+
+	CDBLEAVE( ret = iTheView->GotoFirstRecord(), KErrNotFound );
+
+	return ret;
+	}
+
+
+
+TVerdict CCommDbTest014_01::doTestStepL( )
+	{
+	INFO_PRINTF1(_L("Step 014.01 called "));
+
+	if ( executeStepL() == KErrNotFound )
+		SetTestStepResult(EPass);	else
+		SetTestStepResult(EFail);
+	return TestStepResult();
+	}
+
+
+/////////////////////
+//	Test step 014.02
+/////////////////////
+
+// constructor
+CCommDbTest014_02::CCommDbTest014_02()
+	{
+	// store the name of this test case
+	SetTestStepName(_L("step_014_02"));
+	}
+
+// destructor
+CCommDbTest014_02::~CCommDbTest014_02()
+	{
+	}
+
+TVerdict CCommDbTest014_02::doTestStepPreambleL()
+	{	
+	openDbAndViewL(TPtrC(MODEM_BEARER));
+        SetTestStepResult(EPass);	return TestStepResult();
+	}
+
+
+TInt CCommDbTest014_02::executeStepL()
+	{
+	TInt ret=KErrGeneral;
+	TUint32 id;
+
+	
+	//Insert a new record, try to update it and cancel the update
+	//NB. This test assumes the Modem table will be empty
+
+	CDBLEAVE( iTheView->InsertRecord( id ), KErrNone );
+	
+	_LIT(KModem,"US Robotics Sportster");
+	_LIT(KTsy,"HAYES");
+	_LIT8(KModemInitString,"AT&F1");
+	_LIT8(KModemFaxInitString,"AT&d2");
+	//Write some sample data into the table
+	iTheView->WriteTextL(TPtrC(COMMDB_NAME),KModem);
+	iTheView->WriteTextL(TPtrC(MODEM_NIF_NAME),_L("PPP"));
+	iTheView->WriteTextL(TPtrC(MODEM_TSY_NAME),KTsy);
+	iTheView->WriteUintL(TPtrC(MODEM_RATE),(TUint32)EBps57600);
+	iTheView->WriteUintL(TPtrC(MODEM_DATA_BITS),(TUint32)EData8);
+	iTheView->WriteUintL(TPtrC(MODEM_STOP_BITS),(TUint32)EStop1);
+	iTheView->WriteUintL(TPtrC(MODEM_PARITY),(TUint32)EParityNone);
+	iTheView->WriteUintL(TPtrC(MODEM_HANDSHAKING),(TUint32)(KConfigObeyCTS|KConfigObeyDSR|KConfigFailDSR|KConfigObeyDCD|KConfigFailDCD));	//KConfigObeyCTS;
+	iTheView->WriteUintL(TPtrC(MODEM_SPECIAL_RATE),(TUint32)0);
+	iTheView->WriteUintL(TPtrC(MODEM_XON_CHAR),(TUint32)0);
+	iTheView->WriteUintL(TPtrC(MODEM_XOFF_CHAR),(TUint32)0);
+	iTheView->WriteTextL(TPtrC(MODEM_MODEM_INIT_STRING),KModemInitString);
+	iTheView->WriteTextL(TPtrC(MODEM_DATA_INIT_STRING),KNullDesC8);
+	iTheView->WriteTextL(TPtrC(MODEM_FAX_INIT_STRING),KModemFaxInitString);
+	iTheView->WriteUintL(TPtrC(MODEM_SPEAKER_PREF),(TUint32)EModemSpeakerSettingAfterDialUntilAnswer);
+	iTheView->WriteUintL(TPtrC(MODEM_SPEAKER_VOL_PREF),(TUint32)EModemSpeakerVolumeQuiet);
+
+	//Insert the record and destroy the view
+	CDBLEAVE( iTheView->PutRecordChanges(), KErrNone );
+	
+	delete iTheView;
+	iTheView = 0;
+
+	//Open a view and make a change to the record just written
+	iTheView = iTheDb->OpenViewMatchingTextLC( TPtrC(MODEM_BEARER), TPtrC(COMMDB_NAME), KModem);
+	CleanupStack::Pop();
+
+	CDBLEAVE( ret = iTheView->GotoFirstRecord(), KErrNone );
+	CDBLEAVE( iTheView->UpdateRecord(), KErrNone );
+	_LIT(KModem2,"Another US Robotics Sportster");
+	iTheView->WriteTextL(TPtrC(COMMDB_NAME), KModem2 );
+	
+	//Cancel the changes made and destroy the view
+	iTheView->CancelRecordChanges();
+
+	delete iTheView;
+	iTheView = 0;
+
+	//Open a view to check that the record was not modified
+	iTheView = iTheDb->OpenViewMatchingTextLC( TPtrC(MODEM_BEARER), TPtrC(COMMDB_NAME), KModem);
+	CleanupStack::Pop();
+
+	CDBLEAVE( ret = iTheView->GotoFirstRecord(), KErrNone );
+
+	return ret;
+	}
+
+
+
+TVerdict CCommDbTest014_02::doTestStepL( )
+	{
+	INFO_PRINTF1(_L("Step 014.02 called "));
+
+	if ( executeStepL() == KErrNone )
+		SetTestStepResult(EPass);	else
+		SetTestStepResult(EFail);
+
+
+	return TestStepResult();
+	}
+
+
+/////////////////////
+//	Test step 014.03
+/////////////////////
+
+// constructor
+CCommDbTest014_03::CCommDbTest014_03()
+	{
+	// store the name of this test case
+	SetTestStepName(_L("step_014_03"));
+	}
+
+// destructor
+CCommDbTest014_03::~CCommDbTest014_03()
+	{
+	}
+
+TVerdict CCommDbTest014_03::doTestStepL( )
+	{
+	INFO_PRINTF1(_L("Step 014.03 called "));
+
+	SetTestStepResult(EPass);
+		// Heap test for 014.01
+
+	CCommDbTest014_01* step014_01 = new CCommDbTest014_01;
+	CleanupStack::PushL(step014_01);
+	doTestStepWithHeapFailureL( *step014_01, KErrNotFound);
+	if ( step014_01->TestStepResult() == EFail )
+		SetTestStepResult(EFail);	CleanupStack::PopAndDestroy(step014_01);
+
+		// Heap test for 014.02
+
+	CCommDbTest014_02* step014_02 = new CCommDbTest014_02;
+	CleanupStack::PushL(step014_02);
+	doTestStepWithHeapFailureL( *step014_02, KErrNone);
+	if ( step014_02->TestStepResult() == EFail )
+		SetTestStepResult(EFail);	CleanupStack::PopAndDestroy(step014_02);
+
+	return TestStepResult();	
+
+}
+
+/////////////////////
+//	Test step 014.04
+/////////////////////
+
+// constructor
+CCommDbTest014_04::CCommDbTest014_04()
+	{
+	// store the name of this test case
+	SetTestStepName(_L("step_014_04"));
+	}
+
+// destructor
+CCommDbTest014_04::~CCommDbTest014_04()
+	{
+	}
+
+TVerdict CCommDbTest014_04::doTestStepL( )
+	{
+	INFO_PRINTF1(_L("Step 014_04 called "));
+
+	SetTestStepResult(EPass);
+__UHEAP_MARK;
+ 
+
+    CCommsDatabase* db = CCommsDatabase::NewL( );
+    CleanupStack::PushL( db );
+   
+    CCommsDbTableView* v =
+        db->OpenTableLC( TPtrC(WAP_ACCESS_POINT ) );
+
+    TUint32 dummyUid( 0 );
+
+
+    TInt err = v->InsertRecord( dummyUid );
+    User::LeaveIfError( err );
+    v->CancelRecordChanges();
+
+   
+    CleanupStack::PopAndDestroy( v );
+    CleanupStack::PopAndDestroy( db );
+
+__UHEAP_MARKEND;
+
+	return TestStepResult();	
+
+}