diff test/test_userauditor.py @ 3902:21420ba64b0d

fuller email validition (request [SF#216291]) Checks email syntax more rigorously. Perform address checks against "address" and any "alternate_addresses". Changed all of the unit tests to have addresses that pass this new check.
author Justus Pendleton <jpend@users.sourceforge.net>
date Wed, 12 Sep 2007 21:11:14 +0000
parents 4fcf7a52767e
children 1d0d1921f083
line wrap: on
line diff
--- a/test/test_userauditor.py	Wed Sep 12 17:57:27 2007 +0000
+++ b/test/test_userauditor.py	Wed Sep 12 21:11:14 2007 +0000
@@ -1,4 +1,4 @@
-# $Id: test_userauditor.py,v 1.3 2007-09-06 16:52:20 jpend Exp $
+# $Id: test_userauditor.py,v 1.4 2007-09-12 21:11:14 jpend Exp $
 
 import os, unittest, shutil
 from db_test_base import setupTracker
@@ -60,13 +60,27 @@
     def testBadEmailAddresses(self):
         userid = self.db.user.lookup('kyle')
         self.assertRaises(ValueError, self.db.user.set, userid, address='kyle @ example.com')
+        self.assertRaises(ValueError, self.db.user.set, userid, address='one@example.com,two@example.com')
+        self.assertRaises(ValueError, self.db.user.set, userid, address='weird@@example.com')
+        self.assertRaises(ValueError, self.db.user.set, userid, address='embedded\nnewline@example.com')
+        # verify that we check alternates as well
+        self.assertRaises(ValueError, self.db.user.set, userid, alternate_addresses='kyle @ example.com')
+        # make sure we accept local style addresses
+        self.db.user.set(userid, address='kyle')
+        # verify we are case insensitive
+        self.db.user.set(userid, address='kyle@EXAMPLE.COM')
 
     def testUniqueEmailAddresses(self):
-        self.db.user.create(username='kenny', address='kenny@example.com')
+        self.db.user.create(username='kenny', address='kenny@example.com', alternate_addresses='sp_ken@example.com')
         self.assertRaises(ValueError, self.db.user.create, username='test_user01', address='kenny@example.com')
         uid = self.db.user.create(username='eric', address='eric@example.com')
         self.assertRaises(ValueError, self.db.user.set, uid, address='kenny@example.com')
 
+        # make sure we check alternates
+        self.assertRaises(ValueError, self.db.user.set, uid, address='kenny@example.com')
+        self.assertRaises(ValueError, self.db.user.set, uid, address='sp_ken@example.com')
+        self.assertRaises(ValueError, self.db.user.set, uid, alternate_addresses='kenny@example.com')
+
     def testBadRoles(self):
         userid = self.db.user.lookup('kyle')
         self.assertRaises(ValueError, self.db.user.set, userid, roles='BadRole')

Roundup Issue Tracker: http://roundup-tracker.org/