steffen: utils/testing send_filtertest_emails.py,1.9,1.10

cvs at intevation.de cvs at intevation.de
Tue Nov 29 08:09:54 CET 2005


Author: steffen

Update of /kolabrepository/utils/testing
In directory doto:/tmp/cvs-serv31229

Modified Files:
	send_filtertest_emails.py 
Log Message:
Use authentication for some tests

Index: send_filtertest_emails.py
===================================================================
RCS file: /kolabrepository/utils/testing/send_filtertest_emails.py,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- send_filtertest_emails.py	27 Jun 2005 13:27:04 -0000	1.9
+++ send_filtertest_emails.py	29 Nov 2005 07:09:52 -0000	1.10
@@ -26,6 +26,7 @@
 
 def send_mail(envelope_from, envelope_to, header_from, header_to,
               test_number=-1, smtp_host="localhost", smtp_port = None,
+	      loginname = None, password = None,
               text = "this is a kolab testmail"):
 
     basemsg=("From: %s\r\nTo: %s\r\n%%s\r\n" % 
@@ -45,6 +46,9 @@
 
     try:
         server=smtplib.SMTP(smtp_host, smtp_port)
+	if loginname != None and password != None:
+	    server.starttls()
+	    server.login(loginname,password)
         #server.set_debuglevel(1)
 
         server.sendmail(envelope_from,envelope_to,msg)
@@ -80,6 +84,12 @@
     # username.  username at maildomain will be the email address used
     username = None
 
+    # smtp username
+    loginname = None
+
+    # password. smtp password for username at maildomain
+    password = None
+
     # The real name part of an email address,
     # i.e. "realname <username at maildomain>"
     realname = None
@@ -91,7 +101,8 @@
     # parse the command line
     opts, args = getopt.getopt(argv[1:], 'h:p:',
                                ["smtp-host=", "smtp-port=",
-                                "maildomain=", "username=", "realname=",
+                                "maildomain=", "username=", 
+			        "loginname=", "password=", "realname=",
                                 'version'])
     for optchar, value in opts:
         if optchar in ("-h", "--smtp-host"):
@@ -102,6 +113,10 @@
             maildomain = value
         elif optchar == "--username":
             username = value
+        elif optchar == "--loginname":
+            loginname = value
+	elif optchar == "--password":
+	    password = value
         elif optchar == "--realname":
             realname = value
         elif optchar == "--version":
@@ -138,35 +153,64 @@
     # Tests
     # number : expected behaviour to pass the test : description
 
+    # Authenticated tests
+
     # 0: delivered: Are we functional? Do the standard settings work?
     send_mail(envelope_from, envelope_to, header_from, header_to, 0,
-              smtp_host = smtp_host, smtp_port = smtp_port,
+              smtp_host = smtp_host, smtp_port = smtp_port, 
+	      loginname = loginname, password = password,
               text = "Kolab filter testmail.\nExpected result: delivery")
 
 
     # 1: delivered: different letter cases in the header_from
     send_mail(envelope_from, envelope_to, header_from.swapcase(), header_to, 1,
               smtp_host = smtp_host, smtp_port = smtp_port,
+	      loginname = loginname, password = password,
               text = "Kolab filter testmail.\nExpected result: delivery")
 
     # 2: bounce mail: different from and host envelope
     send_mail(envelope_from, envelope_to, "rumpelstilzchen at big.invalid", 
               header_to, 2,
               smtp_host = smtp_host, smtp_port = smtp_port,
+	      loginname = loginname, password = password,
               text = "Kolab filter testmail.\nExpected result: bounce")
 
     # 3: delivered, no mailer-daemon in kolabfilter log: 
     #                    issue774 (null senders not handled by kolabfilter...)
+    # Doesn't work currently, rewriting is missing.
     send_mail("<>", envelope_to, "some at non-existing.invalid", header_to, 3,
               smtp_host = smtp_host, smtp_port = smtp_port,
-              text = "Kolab filter testmail.\nExpected result: delivery")
+	      loginname = loginname, password = password,
+              text = "Kolab filter testmail.\nExpected result: delivery, from header rewritten")
 
-    # 4: delivered, no Invalid From: header in postfix log:
-    # issue783 (envelope header from check has problems with mailinglists)
+    # 4: reject, user can't use sender address "x-commit..."
     send_mail("x-commits-bounces-+y=malinglist.org at example.org", envelope_to, 
               header_from, header_to, 4,
               smtp_host = smtp_host, smtp_port = smtp_port,
+	      loginname = loginname, password = password,
+              text = "Kolab filter testmail.\nExpected result: reject")
+
+    # Unauthenticated tests
+
+    # 10: reject: unauthenticated user trying to send
+    send_mail(envelope_from, envelope_to, header_from, header_to, 10,
+              smtp_host = smtp_host, smtp_port = smtp_port, 
+              text = "Kolab filter testmail.\nExpected result: reject")
+
+
+    # 11: delivered, no mailer-daemon in kolabfilter log: 
+    #                    issue774 (null senders not handled by kolabfilter...)
+    send_mail("<>", envelope_to, "some at non-existing.invalid", header_to, 11,
+              smtp_host = smtp_host, smtp_port = smtp_port,
               text = "Kolab filter testmail.\nExpected result: delivery")
+
+    # 12: delivered, no Invalid From: header in postfix log:
+    # issue783 (envelope header from check has problems with mailinglists)
+    send_mail("x-commits-bounces-+y=malinglist.org at example.org", envelope_to, 
+              header_from, header_to, 12,
+              smtp_host = smtp_host, smtp_port = smtp_port,
+              text = "Kolab filter testmail.\nExpected result: delivery, from header rewritten")
+
 
 if __name__=="__main__":
     main(sys.argv)





More information about the commits mailing list