common/tools/ats/smoketest/email/email/smtp/src/T_CheckSmtpBMSetting.cpp
author Maciej Seroka <maciejs@symbian.org>
Fri, 30 Oct 2009 09:36:23 +0000
changeset 719 d5603c08781b
child 872 17498133d9ad
permissions -rw-r--r--
Added smoketest for email
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
719
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     1
// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     2
// All rights reserved.
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     3
// This component and the accompanying materials are made available
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     4
// under the terms of the License "Symbian Foundation License v1.0"
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     5
// which accompanies this distribution, and is available
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     6
// at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     7
//
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     8
// Initial Contributors:
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    10
//
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    11
// Contributors:
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    12
//
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    13
// Description:
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    14
// [TestStep Name]
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    15
// CheckSmtpBMSetting
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    16
// [Paramaters]
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    17
// SmtpAccountName			:Name of the Smtp account.
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    18
// ExpectedBMSupport		:ETrue => Bearer mobility is expected to be supported by the SMTP service.
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    19
// EFalse => Bearer mobility is not expected to be supported by the SMTP service.
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    20
// Checks if bearer mobility is supported by the SMTP service.
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    21
// 
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    22
//
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    23
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    24
//User includes
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    25
#include "T_CheckSmtpBMSetting.h"
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    26
#include <t_utils.h>
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    27
#include <t_utilsenumconverter.h>
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    28
#include <t_utilscentralrepository.h>
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    29
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    30
//Epoc include
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    31
#include <iapprefs.h>
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    32
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    33
//Literals used
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    34
_LIT(KSmtpAccountName,"SmtpAccountName");
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    35
_LIT(KExpectedBMSupport,"ExpectedBMSupport");
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    36
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    37
/**
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    38
  Function : CT_MsgCheckSmtpBMSetting
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    39
  Description : Constructor 
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    40
  @param : aSharedDataSMTP Reference to CT_MsgSharedDataSmtp
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    41
  @return : N/A
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    42
*/
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    43
CT_MsgCheckSmtpBMSetting::CT_MsgCheckSmtpBMSetting(CT_MsgSharedDataSmtp& aSharedDataSMTP)
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    44
:CT_MsgSyncStepSMTP(aSharedDataSMTP)
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    45
	{
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    46
	SetTestStepName(KCheckSmtpBMSetting);
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    47
	}
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    48
	
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    49
/**
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    50
  Function : ReadIni
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    51
  Description :Reads the corresponding .ini file and returns EPass or EFail if any of the inputs are missing
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    52
  @return : TBool
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    53
*/
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    54
TBool CT_MsgCheckSmtpBMSetting::ReadIni()
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    55
	{
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    56
	TBool result = ETrue;
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    57
	
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    58
	if(!GetStringFromConfig(ConfigSection(), KSmtpAccountName, iSmtpAccountName))
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    59
		{
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    60
		ERR_PRINTF1(_L("Smtp account name is not specified"));
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    61
		SetTestStepResult(EFail);
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    62
		result = EFalse;
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    63
		}
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    64
		
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    65
	if(!GetBoolFromConfig(ConfigSection(), KExpectedBMSupport, iExpectedBMSupport))
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    66
		{
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    67
		ERR_PRINTF1(_L("An expected \"ETrue\" or \"EFalse\" boolean value is not specified for BM support"));
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    68
		SetTestStepResult(EFail);
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    69
		result = EFalse;
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    70
		}
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    71
	
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    72
	return result;
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    73
	}
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    74
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    75
/**
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    76
  Function : doTestStepL
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    77
  Description : Checks the provisioned BM support for the SMTP account settings of a test case.
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    78
  @return : TVerdict - Test step result
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    79
*/		
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    80
TVerdict CT_MsgCheckSmtpBMSetting::doTestStepL()
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    81
	{
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    82
	INFO_PRINTF1(_L("Test Step : CheckSmtpBMSetting"));
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    83
	if(ReadIni())
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    84
		{
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    85
		CEmailAccounts* accounts = CEmailAccounts::NewL();
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    86
		CleanupStack::PushL(accounts);
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    87
		
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    88
		CImSmtpSettings* smtpSettings = new(ELeave) CImSmtpSettings();
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    89
		CleanupStack::PushL(smtpSettings);
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    90
					
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    91
		TSmtpAccount smtpAccountId;
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    92
		CT_MsgUtilsCentralRepository::GetSmtpAccountL((TDes&)iSmtpAccountName, smtpAccountId);
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    93
				
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    94
		accounts->LoadSmtpSettingsL(smtpAccountId, *smtpSettings);
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    95
		
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    96
		TBool actualBMSupport = smtpSettings->BearerMobility();
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    97
		
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    98
		if (actualBMSupport == iExpectedBMSupport)
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    99
			{
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   100
			INFO_PRINTF3(_L("Actual Bearer Mobility Support [%d] does equals Expected Bearer Mobility Support [%d]"),actualBMSupport,iExpectedBMSupport);
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   101
			}
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   102
		else
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   103
			{
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   104
			ERR_PRINTF3(_L("Actual Bearer Mobility Support [%d] does not equal Expected Bearer Mobility Support [%d]"),actualBMSupport,iExpectedBMSupport);
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   105
			SetTestStepResult(EFail);
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   106
			}
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   107
	
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   108
		CleanupStack::PopAndDestroy(2,accounts); // smtpSettings, accounts
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   109
		}
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   110
	return TestStepResult();
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   111
	}