[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