[Erp5-report] r21343 - /erp5/trunk/products/ERP5/tests/testNotificationTool.py

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Jun 5 11:49:28 CEST 2008


Author: yusei
Date: Thu Jun  5 11:49:26 2008
New Revision: 21343

URL: http://svn.erp5.org?rev=21343&view=rev
Log:
Run test as a normal erp5 user(not a manager)

Modified:
    erp5/trunk/products/ERP5/tests/testNotificationTool.py

Modified: erp5/trunk/products/ERP5/tests/testNotificationTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testNotificationTool.py?rev=21343&r1=21342&r2=21343&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testNotificationTool.py (original)
+++ erp5/trunk/products/ERP5/tests/testNotificationTool.py Thu Jun  5 11:49:26 2008
@@ -31,6 +31,7 @@
 from Testing import ZopeTestCase
 from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
 from AccessControl.SecurityManagement import newSecurityManager
+from AccessControl.SecurityManagement import getSecurityManager
 from zLOG import LOG
 from Products.ERP5Type.tests.Sequence import SequenceList
 from Products.ERP5Type.tests.utils import DummyMailHost
@@ -111,7 +112,22 @@
   def getTitle(self):
     return "Notification Tool"
 
+  def createUser(self, name, role_list):
+    user_folder = self.getPortal().acl_users
+    user_folder._doAddUser(name, 'password', role_list, [])
+
+  def changeUser(self, name):
+    self.old_user = getSecurityManager().getUser()
+    user_folder = self.getPortal().acl_users
+    user = user_folder.getUserById(name).__of__(user_folder)
+    newSecurityManager(None, user)
+
+  def changeToPreviousUser(self):
+    newSecurityManager(None, self.old_user)
+
   def afterSetUp(self):
+    self.createUser('erp5user', ['Auditor', 'Author'])
+    self.createUser('manager', ['Manager'])
     portal = self.getPortal()
     if 'MailHost' in portal.objectIds():
       portal.manage_delObjects(['MailHost'])
@@ -120,6 +136,7 @@
     self.portal.portal_caches.clearAllCache()
     get_transaction().commit()
     self.tic()
+    self.changeUser('erp5user')
 
   def beforeTearDown(self):
     get_transaction().abort()
@@ -137,32 +154,36 @@
     Create a user
     """
     person = self.portal.person_module.newContent(portal_type="Person",
-                                    reference="userA",
-                                    password="passwordA",
-                                    default_email_text="userA at example.invalid")
+                                                  default_email_text="userA at example.invalid")
+    self.changeUser('manager')
+    person.edit(reference="userA", password="passwordA")
     assignment = person.newContent(portal_type='Assignment')
     assignment.open()
+    self.changeToPreviousUser()
 
   def stepAddUserB(self, sequence=None, sequence_list=None, **kw):
     """
     Create a user
     """
     person = self.portal.person_module.newContent(portal_type="Person",
-                                    reference="userB",
-                                    password="passwordA",
-                                    default_email_text="userB at example.invalid")
+                                                  default_email_text="userB at example.invalid")
+    self.changeUser('manager')
+    person.edit(reference="userB", password="passwordA")
     assignment = person.newContent(portal_type='Assignment')
     assignment.open()
+    self.changeToPreviousUser()
 
   def stepAddUserWithoutEmail(self, sequence=None, sequence_list=None, **kw):
     """
     Create a user
     """
-    person = self.portal.person_module.newContent(portal_type="Person",
-                                    reference="userWithoutEmail",
-                                    password="passwordA")
+    person = self.portal.person_module.newContent(portal_type="Person")
+
+    self.changeUser('manager')
+    person.edit(reference="userWithoutEmail", password="passwordA")
     assignment = person.newContent(portal_type='Assignment')
     assignment.open()
+    self.changeToPreviousUser()
 
   def test_01_defaultBehaviour(self, quiet=quiet, run=run_all_test):
     if not run: return




More information about the Erp5-report mailing list