[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