commsconfig/commsdatabaseshim/TE_commdb/te_encrpt/src/TE_EncrptSteps.cpp
author hgs
Mon, 06 Sep 2010 13:49:23 +0100
changeset 72 ae47d0499bee
permissions -rw-r--r--
201033_02

//
// 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:
//
//
//

// Test code for encryption in Database

#include <e32test.h>
#include <f32file.h>
#include <d32comm.h>
#include <cdbcols.h>
#include <commdb.h>
#include <cdblen.h>

#include "TE_EncrptSteps.h"


#define pass1	_L("PASS")
#define pass2	_L("1234567890")
#define pass3	_L("abcdefghijklmnopqrstuvwxyz")
#define pass4	_L("!\xa3$%^&*()_+-=?><,.@~:;'#|")


CTE_CreateEntries::CTE_CreateEntries()
	{
	SetTestStepName(KCreateEntries);
	}

CTE_CreateEntries::~CTE_CreateEntries()
	{	
	}

enum TVerdict CTE_CreateEntries::doTestStepL()
	{
	
	TUint32 id1 = 0;  
	TUint32 id2 = 0; 
		
	INFO_PRINTF1(_L("Testing encryption"));

    CCommsDatabase* db=CCommsDatabase::NewL(EDatabaseTypeIAP);
	CleanupStack::PushL(db);
	User::LeaveIfError(db->BeginTransaction());
	
	CCommsDbTableView* table=db->OpenTableLC(TPtrC(DIAL_OUT_ISP));
	Test(table->InsertRecord(id1)==KErrNone);
	table->WriteTextL(TPtrC(COMMDB_NAME),_L("Test 1"));
	table->WriteBoolL(TPtrC(ISP_DIAL_RESOLUTION),ETrue);
	table->WriteBoolL(TPtrC(ISP_USE_LOGIN_SCRIPT),EFalse);
	table->WriteBoolL(TPtrC(ISP_PROMPT_FOR_LOGIN),EFalse);
	table->WriteTextL(TPtrC(ISP_LOGIN_NAME),_L("AnnW"));
	table->WriteTextL(TPtrC(ISP_LOGIN_PASS),pass1);
	table->WriteBoolL(TPtrC(ISP_IF_PROMPT_FOR_AUTH),ETrue);
	table->WriteTextL(TPtrC(ISP_IF_AUTH_NAME),_L("RasUser"));
	table->WriteTextL(TPtrC(ISP_IF_AUTH_PASS),pass2);
	table->WriteBoolL(TPtrC(ISP_IP_ADDR_FROM_SERVER),ETrue);
	table->WriteBoolL(TPtrC(ISP_IP_DNS_ADDR_FROM_SERVER),ETrue);
	table->WriteBoolL(TPtrC(ISP_IP6_DNS_ADDR_FROM_SERVER),ETrue);
	Test(table->PutRecordChanges()==KErrNone);

	Test(table->InsertRecord(id2)==KErrNone);
	table->WriteTextL(TPtrC(COMMDB_NAME),_L("Test 2"));
	table->WriteBoolL(TPtrC(ISP_DIAL_RESOLUTION),ETrue);
	table->WriteBoolL(TPtrC(ISP_USE_LOGIN_SCRIPT),EFalse);
	table->WriteBoolL(TPtrC(ISP_PROMPT_FOR_LOGIN),EFalse);
	table->WriteTextL(TPtrC(ISP_LOGIN_NAME),_L("AnnW"));
	table->WriteTextL(TPtrC(ISP_LOGIN_PASS),pass3);
	table->WriteBoolL(TPtrC(ISP_IF_PROMPT_FOR_AUTH),ETrue);
	table->WriteTextL(TPtrC(ISP_IF_AUTH_NAME),_L("RasUser"));
	table->WriteTextL(TPtrC(ISP_IF_AUTH_PASS),pass4);
	table->WriteBoolL(TPtrC(ISP_IP_ADDR_FROM_SERVER),ETrue);
	table->WriteBoolL(TPtrC(ISP_IP_DNS_ADDR_FROM_SERVER),ETrue);
	table->WriteBoolL(TPtrC(ISP_IP6_DNS_ADDR_FROM_SERVER),ETrue);
	Test(table->PutRecordChanges()==KErrNone);

	Test(db->CommitTransaction()==KErrNone);
	CleanupStack::PopAndDestroy(2);

	db = CCommsDatabase::NewL(EDatabaseTypeIAP);
		CleanupStack::PushL(db);
	
	table = db->OpenViewMatchingUintLC(TPtrC(DIAL_OUT_ISP), TPtrC(COMMDB_ID), id1);

	if (table->GotoFirstRecord() == KErrNone)
		table->DeleteRecord();

	CleanupStack::PopAndDestroy(table);
	table = NULL;
	table = db->OpenViewMatchingUintLC(TPtrC(DIAL_OUT_ISP), TPtrC(COMMDB_ID), id2);

	if (table->GotoFirstRecord() == KErrNone)
		table->DeleteRecord();

	CleanupStack::PopAndDestroy(2);

	INFO_PRINTF1(_L("IAP Entries Added Successfully"));

    SetTestStepResult(EPass);	
    
    return TestStepResult();
	}


CTE_CheckPasswords::CTE_CheckPasswords()
	{
	SetTestStepName(KCheckPasswords);
	}

CTE_CheckPasswords::~CTE_CheckPasswords()
	{	
	}

enum TVerdict CTE_CheckPasswords::doTestStepL()
	{

	INFO_PRINTF1(_L("Checking passwords"));

	TUint32 id1 = 0;  
	TUint32 id2 = 0;

	CCommsDatabase* db=CCommsDatabase::NewL(EDatabaseTypeIAP);
	CleanupStack::PushL(db);
	User::LeaveIfError(db->BeginTransaction());
	
	CCommsDbTableView* table=db->OpenTableLC(TPtrC(DIAL_OUT_ISP));
	Test(table->InsertRecord(id1)==KErrNone);
	table->WriteTextL(TPtrC(COMMDB_NAME),_L("Test 1"));
	table->WriteBoolL(TPtrC(ISP_DIAL_RESOLUTION),ETrue);
	table->WriteBoolL(TPtrC(ISP_USE_LOGIN_SCRIPT),EFalse);
	table->WriteBoolL(TPtrC(ISP_PROMPT_FOR_LOGIN),EFalse);
	table->WriteTextL(TPtrC(ISP_LOGIN_NAME),_L("AnnW"));
	table->WriteTextL(TPtrC(ISP_LOGIN_PASS),pass1);
	table->WriteBoolL(TPtrC(ISP_IF_PROMPT_FOR_AUTH),ETrue);
	table->WriteTextL(TPtrC(ISP_IF_AUTH_NAME),_L("RasUser"));
	table->WriteTextL(TPtrC(ISP_IF_AUTH_PASS),pass2);
	table->WriteBoolL(TPtrC(ISP_IP_ADDR_FROM_SERVER),ETrue);
	table->WriteBoolL(TPtrC(ISP_IP_DNS_ADDR_FROM_SERVER),ETrue);
	table->WriteBoolL(TPtrC(ISP_IP6_DNS_ADDR_FROM_SERVER),ETrue);
	Test(table->PutRecordChanges()==KErrNone);

	Test(table->InsertRecord(id2)==KErrNone);
	table->WriteTextL(TPtrC(COMMDB_NAME),_L("Test 2"));
	table->WriteBoolL(TPtrC(ISP_DIAL_RESOLUTION),ETrue);
	table->WriteBoolL(TPtrC(ISP_USE_LOGIN_SCRIPT),EFalse);
	table->WriteBoolL(TPtrC(ISP_PROMPT_FOR_LOGIN),EFalse);
	table->WriteTextL(TPtrC(ISP_LOGIN_NAME),_L("AnnW"));
	table->WriteTextL(TPtrC(ISP_LOGIN_PASS),pass3);
	table->WriteBoolL(TPtrC(ISP_IF_PROMPT_FOR_AUTH),ETrue);
	table->WriteTextL(TPtrC(ISP_IF_AUTH_NAME),_L("RasUser"));
	table->WriteTextL(TPtrC(ISP_IF_AUTH_PASS),pass4);
	table->WriteBoolL(TPtrC(ISP_IP_ADDR_FROM_SERVER),ETrue);
	table->WriteBoolL(TPtrC(ISP_IP_DNS_ADDR_FROM_SERVER),ETrue);
	table->WriteBoolL(TPtrC(ISP_IP6_DNS_ADDR_FROM_SERVER),ETrue);
	Test(table->PutRecordChanges()==KErrNone);

	Test(db->CommitTransaction()==KErrNone);
	CleanupStack::PopAndDestroy(2);

	db=CCommsDatabase::NewL(EDatabaseTypeIAP);
	CleanupStack::PushL(db);
	
	table=db->OpenViewMatchingUintLC(TPtrC(DIAL_OUT_ISP), TPtrC(COMMDB_ID), id1);

	TBuf<KCommsDbSvrMaxFieldLength> password;
	Test(table->GotoFirstRecord()==KErrNone);
	table->ReadTextL(TPtrC(ISP_LOGIN_PASS),password);
	Test(password==pass1);
	table->ReadTextL(TPtrC(ISP_IF_AUTH_PASS),password);
	Test(password==pass2);

	CleanupStack::PopAndDestroy(table);
	table = NULL;
	table = db->OpenViewMatchingUintLC(TPtrC(DIAL_OUT_ISP), TPtrC(COMMDB_ID), id2);

	Test(table->GotoFirstRecord()== KErrNone);
	table->ReadTextL(TPtrC(ISP_LOGIN_PASS),password);
	Test(password==pass3);
	table->ReadTextL(TPtrC(ISP_IF_AUTH_PASS),password);
	Test(password==pass4);
	
	CleanupStack::PopAndDestroy(2);

	db = CCommsDatabase::NewL(EDatabaseTypeIAP);
	CleanupStack::PushL(db);
	
	table = db->OpenViewMatchingUintLC(TPtrC(DIAL_OUT_ISP), TPtrC(COMMDB_ID), id1);

	if (table->GotoFirstRecord() == KErrNone)
		table->DeleteRecord();

	CleanupStack::PopAndDestroy(table);
	table = NULL;
	table = db->OpenViewMatchingUintLC(TPtrC(DIAL_OUT_ISP), TPtrC(COMMDB_ID), id2);

	if (table->GotoFirstRecord() == KErrNone)
		table->DeleteRecord();

	CleanupStack::PopAndDestroy(2);

    SetTestStepResult(EPass);	
     
    return TestStepResult();
	}


CTE_DeleteEntries::CTE_DeleteEntries()
	{
	SetTestStepName(KDeleteEntries);
	}

CTE_DeleteEntries::~CTE_DeleteEntries()
	{	
	}

enum TVerdict CTE_DeleteEntries::doTestStepL()
	{

	INFO_PRINTF1(_L("Delete the IAP entries."));

	TUint32 id1 = 0;  
	TUint32 id2 = 0;

	CCommsDatabase* db=CCommsDatabase::NewL(EDatabaseTypeIAP);
	CleanupStack::PushL(db);
	User::LeaveIfError(db->BeginTransaction());
	
	CCommsDbTableView* table=db->OpenTableLC(TPtrC(DIAL_OUT_ISP));
	Test(table->InsertRecord(id1)==KErrNone);
	table->WriteTextL(TPtrC(COMMDB_NAME),_L("Test 1"));
	table->WriteBoolL(TPtrC(ISP_DIAL_RESOLUTION),ETrue);
	table->WriteBoolL(TPtrC(ISP_USE_LOGIN_SCRIPT),EFalse);
	table->WriteBoolL(TPtrC(ISP_PROMPT_FOR_LOGIN),EFalse);
	table->WriteTextL(TPtrC(ISP_LOGIN_NAME),_L("AnnW"));
	table->WriteTextL(TPtrC(ISP_LOGIN_PASS),pass1);
	table->WriteBoolL(TPtrC(ISP_IF_PROMPT_FOR_AUTH),ETrue);
	table->WriteTextL(TPtrC(ISP_IF_AUTH_NAME),_L("RasUser"));
	table->WriteTextL(TPtrC(ISP_IF_AUTH_PASS),pass2);
	table->WriteBoolL(TPtrC(ISP_IP_ADDR_FROM_SERVER),ETrue);
	table->WriteBoolL(TPtrC(ISP_IP_DNS_ADDR_FROM_SERVER),ETrue);
	table->WriteBoolL(TPtrC(ISP_IP6_DNS_ADDR_FROM_SERVER),ETrue);
	Test(table->PutRecordChanges()==KErrNone);

	Test(table->InsertRecord(id2)==KErrNone);
	table->WriteTextL(TPtrC(COMMDB_NAME),_L("Test 2"));
	table->WriteBoolL(TPtrC(ISP_DIAL_RESOLUTION),ETrue);
	table->WriteBoolL(TPtrC(ISP_USE_LOGIN_SCRIPT),EFalse);
	table->WriteBoolL(TPtrC(ISP_PROMPT_FOR_LOGIN),EFalse);
	table->WriteTextL(TPtrC(ISP_LOGIN_NAME),_L("AnnW"));
	table->WriteTextL(TPtrC(ISP_LOGIN_PASS),pass3);
	table->WriteBoolL(TPtrC(ISP_IF_PROMPT_FOR_AUTH),ETrue);
	table->WriteTextL(TPtrC(ISP_IF_AUTH_NAME),_L("RasUser"));
	table->WriteTextL(TPtrC(ISP_IF_AUTH_PASS),pass4);
	table->WriteBoolL(TPtrC(ISP_IP_ADDR_FROM_SERVER),ETrue);
	table->WriteBoolL(TPtrC(ISP_IP_DNS_ADDR_FROM_SERVER),ETrue);
	table->WriteBoolL(TPtrC(ISP_IP6_DNS_ADDR_FROM_SERVER),ETrue);
	Test(table->PutRecordChanges()==KErrNone);

	Test(db->CommitTransaction()==KErrNone);
	CleanupStack::PopAndDestroy(2);

    db = CCommsDatabase::NewL(EDatabaseTypeIAP);
	CleanupStack::PushL(db);
	
	table = db->OpenViewMatchingUintLC(TPtrC(DIAL_OUT_ISP), TPtrC(COMMDB_ID), id1);

	if (table->GotoFirstRecord() == KErrNone)
		table->DeleteRecord();

	CleanupStack::PopAndDestroy(table);
	table = NULL;
	table = db->OpenViewMatchingUintLC(TPtrC(DIAL_OUT_ISP), TPtrC(COMMDB_ID), id2);

	if (table->GotoFirstRecord() == KErrNone)
		table->DeleteRecord();

	CleanupStack::PopAndDestroy(2);

	INFO_PRINTF1(_L("IAP Entries Deleted Successfully"));

    SetTestStepResult(EPass);	
    
    return TestStepResult();
	}