[Checkins] SVN: ZConfig/trunk/ZConfig/components/logger/ define behaviour when only username or password is defined
Christian Zagrodnick
cz at gocept.com
Tue Apr 13 06:33:54 EDT 2010
Log message for revision 110770:
define behaviour when only username or password is defined
change agument name to smtp-user/smtp-password
Changed:
U ZConfig/trunk/ZConfig/components/logger/handlers.py
U ZConfig/trunk/ZConfig/components/logger/handlers.xml
U ZConfig/trunk/ZConfig/components/logger/tests/test_logger.py
-=-
Modified: ZConfig/trunk/ZConfig/components/logger/handlers.py
===================================================================
--- ZConfig/trunk/ZConfig/components/logger/handlers.py 2010-04-13 10:30:45 UTC (rev 110769)
+++ ZConfig/trunk/ZConfig/components/logger/handlers.py 2010-04-13 10:33:54 UTC (rev 110770)
@@ -213,13 +213,17 @@
else:
mailhost = host, port
kwargs = {}
- if self.section.smtp_auth_username or self.section.smtp_auth_password:
+ if self.section.smtp_username and self.section.smtp_password:
# Since credentials were only added in py2.6 we use a kwarg to not
# break compatibility with older py
if sys.version_info < (2, 6):
raise ValueError('SMTP auth requires at least Python 2.6.')
- kwargs['credentials'] = (self.section.smtp_auth_username,
- self.section.smtp_auth_password)
+ kwargs['credentials'] = (self.section.smtp_username,
+ self.section.smtp_password)
+ elif (self.section.smtp_username or self.section.smtp_password):
+ raise ValueError(
+ 'Either both smtp-username and smtp-password or none must be '
+ 'given')
return loghandler.SMTPHandler(mailhost,
self.section.fromaddr,
self.section.toaddrs,
Modified: ZConfig/trunk/ZConfig/components/logger/handlers.xml
===================================================================
--- ZConfig/trunk/ZConfig/components/logger/handlers.xml 2010-04-13 10:30:45 UTC (rev 110769)
+++ ZConfig/trunk/ZConfig/components/logger/handlers.xml 2010-04-13 10:33:54 UTC (rev 110770)
@@ -79,8 +79,8 @@
<multikey name="to" required="yes" attribute="toaddrs"/>
<key name="subject" default="Message from Zope"/>
<key name="smtp-server" default="localhost" datatype="inet-address"/>
- <key name="smtp-auth-username" default="" datatype="string"/>
- <key name="smtp-auth-password" default="" datatype="string"/>
+ <key name="smtp-username" default="" datatype="string"/>
+ <key name="smtp-password" default="" datatype="string"/>
<key name="format"
default="%(asctime)s %(levelname)s %(name)s %(message)s"
datatype=".log_format"/>
Modified: ZConfig/trunk/ZConfig/components/logger/tests/test_logger.py
===================================================================
--- ZConfig/trunk/ZConfig/components/logger/tests/test_logger.py 2010-04-13 10:30:45 UTC (rev 110769)
+++ ZConfig/trunk/ZConfig/components/logger/tests/test_logger.py 2010-04-13 10:33:54 UTC (rev 110770)
@@ -353,8 +353,8 @@
" to sysadmin at example.com\n"
" from zlog-user at example.com\n"
" level fatal\n"
- " smtp-auth-username john\n"
- " smtp-auth-password johnpw\n"
+ " smtp-username john\n"
+ " smtp-password johnpw\n"
" </email-notifier>\n"
"</eventlog>")
except ValueError:
@@ -372,6 +372,28 @@
self.assertEqual(handler.username, 'john')
self.assertEqual(handler.password, 'johnpw')
+ def test_with_email_notifier_with_invalid_credentials(self):
+ self.assertRaises(ValueError,
+ self.check_simple_logger,
+ "<eventlog>\n"
+ " <email-notifier>\n"
+ " to sysadmin at example.com\n"
+ " from zlog-user at example.com\n"
+ " level fatal\n"
+ " smtp-username john\n"
+ " </email-notifier>\n"
+ "</eventlog>")
+ self.assertRaises(ValueError,
+ self.check_simple_logger,
+ "<eventlog>\n"
+ " <email-notifier>\n"
+ " to sysadmin at example.com\n"
+ " from zlog-user at example.com\n"
+ " level fatal\n"
+ " smtp-password john\n"
+ " </email-notifier>\n"
+ "</eventlog>")
+
def check_simple_logger(self, text, level=logging.INFO):
conf = self.get_config(text)
self.assert_(conf.eventlog is not None)
More information about the checkins
mailing list