diff -r 000000000000 -r 72b543305e3a email/pop3andsmtpmtm/clientmtms/test/src/ctestsmtpmobilitysettings.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/email/pop3andsmtpmtm/clientmtms/test/src/ctestsmtpmobilitysettings.cpp Thu Dec 17 08:44:11 2009 +0200 @@ -0,0 +1,205 @@ +// Copyright (c) 2007-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: +// + +#include "ctestsmtpmobilitysettings.h" +#include "cimsmtpmobilitysettings.h" +#include + +_LIT(KServerAddress, "Server address"); +_LIT(KEmailAlias, "Email alias"); +_LIT(KEmailAddress, "Email address"); +_LIT8(KLoginName, "Login name"); +_LIT8(KPassword, "Password"); +_LIT8(KTlsSslDomain, "TLS SSL domain"); +const TUint KPort = 12345678; +const TUid KCharset = TUid::Uid(12345678); + +/** +Constructor +*/ +CTestSmtpMobilitySettings::CTestSmtpMobilitySettings() + { + } + +/** +Destructor +*/ +CTestSmtpMobilitySettings::~CTestSmtpMobilitySettings() + { + delete iSettings; + } + +/** +Test setup +*/ +void CTestSmtpMobilitySettings::SetupL() + { + delete iSettings; + iSettings = NULL; + iSettings = CImSmtpMobilitySettings::NewL(); + } + +/** +Sets all the settings to known values +*/ +void CTestSmtpMobilitySettings::SetValuesL(CImSmtpMobilitySettings& aSettings) + { + aSettings.SetServerAddressL(KServerAddress); + aSettings.SetPort(KPort); + aSettings.SetSecureSockets(ETrue); + aSettings.SetSSLWrapper(ETrue); + aSettings.SetEmailAliasL(KEmailAlias); + aSettings.SetEmailAddressL(KEmailAddress); + aSettings.SetDefaultMsgCharSet(KCharset); + aSettings.SetLoginNameL(KLoginName); + aSettings.SetPasswordL(KPassword); + aSettings.SetSMTPAuth(ETrue); + aSettings.SetTlsSslDomainL(KTlsSslDomain); + } + +/** +Check that the settings are empty. + +Note that the DefaultMsgCharset setting is not checked here, because the +SMTP settings reset routine does not reset it to a default value. + +@param aSettings Settings to check +*/ +void CTestSmtpMobilitySettings::CheckSettingsEmpty(const CImSmtpMobilitySettings& aSettings) + { + ASSERT_EQUALS(aSettings.ServerAddress().Compare(KNullDesC), 0); + ASSERT_EQUALS(aSettings.Port(), static_cast(KSMTPDefaultPortNumber)); + ASSERT_FALSE(aSettings.SecureSockets()); + ASSERT_FALSE(aSettings.SSLWrapper()); + ASSERT_EQUALS(aSettings.EmailAlias().Compare(KNullDesC), 0); + ASSERT_EQUALS(aSettings.EmailAddress().Compare(KNullDesC), 0); + ASSERT_EQUALS(aSettings.LoginName().Compare(KNullDesC8), 0); + ASSERT_EQUALS(aSettings.Password().Compare(KNullDesC8), 0); + ASSERT_FALSE(aSettings.SMTPAuth()); + ASSERT_EQUALS(aSettings.TlsSslDomain().Compare(KNullDesC8), 0); + } + +/** +Checks that all the settings have been set to known values + +@param aSettings Settings to check +*/ +void CTestSmtpMobilitySettings::CheckSettingsSet(const CImSmtpMobilitySettings& aSettings) + { + ASSERT_EQUALS(aSettings.ServerAddress().Compare(KServerAddress), 0); + ASSERT_EQUALS(aSettings.Port(), KPort); + ASSERT_TRUE(aSettings.SecureSockets() || aSettings.SSLWrapper()); + ASSERT_EQUALS(aSettings.EmailAlias().Compare(KEmailAlias), 0); + ASSERT_EQUALS(aSettings.EmailAddress().Compare(KEmailAddress), 0); + ASSERT_EQUALS(aSettings.DefaultMsgCharSet(), KCharset); + ASSERT_EQUALS(aSettings.LoginName().Compare(KLoginName), 0); + ASSERT_EQUALS(aSettings.Password().Compare(KPassword), 0); + ASSERT_TRUE(aSettings.SMTPAuth()); + ASSERT_EQUALS(aSettings.TlsSslDomain().Compare(KTlsSslDomain), 0); + } + +/** +Test create empty settings class +*/ +void CTestSmtpMobilitySettings::TestCreateEmptyL() + { + INFO_PRINTF1(_L("TestCreateEmptyL - Start")); + + CImSmtpMobilitySettings* settings = CImSmtpMobilitySettings::NewLC(); + CheckSettingsEmpty(*settings); + CleanupStack::PopAndDestroy(settings); + + settings = CImSmtpMobilitySettings::NewL(); + CheckSettingsEmpty(*settings); + delete settings; + + INFO_PRINTF1(_L("TestCreateEmptyL - Complete")); + } + +/** +Test set values +*/ +void CTestSmtpMobilitySettings::TestSetValuesL() + { + INFO_PRINTF1(_L("TestSetValuesL - Start")); + + SetValuesL(*iSettings); + + CheckSettingsSet(*iSettings); + + INFO_PRINTF1(_L("TestSetValuesL - Complete")); + } + +/** +Test class reset +*/ +void CTestSmtpMobilitySettings::TestResetL() + { + INFO_PRINTF1(_L("TestResetL - Start")); + + SetValuesL(*iSettings); + iSettings->Reset(); + CheckSettingsEmpty(*iSettings); + + INFO_PRINTF1(_L("TestResetL - Complete")); + } + +/** +Test class copy +*/ +void CTestSmtpMobilitySettings::TestCopyL() + { + INFO_PRINTF1(_L("TestCopyL - Start")); + + SetValuesL(*iSettings); + + CImSmtpMobilitySettings* settings = iSettings->CopyLC(); + CheckSettingsSet(*settings); + CleanupStack::PopAndDestroy(settings); + + settings = iSettings->CopyL(); + CheckSettingsSet(*settings); + delete settings; + + INFO_PRINTF1(_L("TestCopyL - Complete")); + } + +/** +Test direct SMTP settings access +*/ +void CTestSmtpMobilitySettings::TestSmtpSettingsL() + { + INFO_PRINTF1(_L("TestSmtpSettingsL - Start")); + + CImSmtpSettings* smtpSettings = new(ELeave) CImSmtpSettings(); + + // Ownership of SMTP settings is passed to SMTP mobility settings class + iSettings->SetSmtpSettings(smtpSettings); + + ASSERT_EQUALS(&(iSettings->SmtpSettings()), smtpSettings); + + INFO_PRINTF1(_L("TestSmtpSettingsL - Complete")); + } + +CTestSuite* CTestSmtpMobilitySettings::CreateSuiteL(const TDesC& aName) + { + SUB_SUITE; + ADD_TEST_STEP(TestCreateEmptyL); + ADD_TEST_STEP(TestSetValuesL); + ADD_TEST_STEP(TestResetL); + ADD_TEST_STEP(TestCopyL); + ADD_TEST_STEP(TestSmtpSettingsL); + END_SUITE; + }