[CMF-checkins] CVS: CMF/CMFCore/tests - test_ActionInformation.py:1.1.2.2 test_ActionsTool.py:1.1.2.4
Andrew Sawyers
andrew@zope.com
Fri, 4 Jan 2002 12:02:37 -0500
Update of /cvs-repository/CMF/CMFCore/tests
In directory cvs.zope.org:/tmp/cvs-serv3865/tests
Modified Files:
Tag: andrew_ttw_actions-branch
test_ActionInformation.py test_ActionsTool.py
Log Message:
*more tests
*test cleanup
=== CMF/CMFCore/tests/test_ActionInformation.py 1.1.2.1 => 1.1.2.2 ===
-from Products.CMFCore.ActionsTool import *
+import Zope, OFS.SimpleItem, unittest
+from Products.CMFDefault.MembershipTool import *
+from Products.CMFCore.PortalContent import PortalContent
from Products.CMFCore.ActionInformation import ActionInformation
-from Products.CMFCore.Expression import Expression
+from Products.CMFCore.Expression import Expression, createExprContext
+
+class DummyMembershipTool:
+ def isAnonymousUser(self):
+ return 1
+
+class DummyContent(PortalContent, OFS.SimpleItem.Item):
+ """
+ """
+ meta_type = 'Dummy'
+ url = 'foo_url'
+
+ def __init__(self, id, url=None):
+ self.url = url
+
+ def absolute_url(self):
+ return self.url
class ActionInformationTests(unittest.TestCase):
+ def setUp( self ):
+ get_transaction().begin()
+ self.connection = Zope.DB.open()
+ root = self.root = self.connection.root()[ 'Application' ]
+ root._setObject('portal', DummyContent('portal', 'url_portal'))
+ portal = self.portal = self.root.portal
+ portal.portal_membership = DummyMembershipTool()
+ self.folder = DummyContent('foo', 'url_foo')
+ self.object = DummyContent('bar', 'url_bar')
+
def test_basic_construction(self):
ai = ActionInformation(id='view'
)
@@ -13,6 +40,8 @@
self.assertEqual(ai.Description(), '')
self.assertEqual(ai.getCondition(), '')
self.assertEqual(ai.getActionExpression(), '')
+ self.assertEqual(ai.getVisibility(), 1)
+ self.assertEqual(ai.getCategory(), 'object')
self.assertEqual(ai.getPermissions(), ())
def test_construction_with_Expressions(self):
@@ -21,13 +50,36 @@
, action=Expression(
text='view')
, condition=Expression(
- text='member'))
+ text='member')
+ , category='global'
+ , visible=0)
self.assertEqual(ai.getId(), 'view')
self.assertEqual(ai.Title(), 'View')
self.assertEqual(ai.Description(), '')
self.assertEqual(ai.getCondition(), 'member')
self.assertEqual(ai.getActionExpression(), 'view')
+ self.assertEqual(ai.getVisibility(), 0)
+ self.assertEqual(ai.getCategory(), 'global')
self.assertEqual(ai.getPermissions(), ())
+
+ def test_Condition(self):
+ portal = self.portal
+ folder = self.folder
+ object = self.object
+ ai = ActionInformation(id='view'
+ , title='View'
+ , action=Expression(
+ text='view')
+ , condition=Expression(
+ text='member')
+ , category='global'
+ , visible=1)
+ ec = createExprContext(folder, portal, object)
+ self.failIf(ai.testCondition(ec))
+
+ def tearDown( self ):
+ get_transaction().abort()
+ self.connection.close()
def test_suite():
=== CMF/CMFCore/tests/test_ActionsTool.py 1.1.2.3 => 1.1.2.4 ===
-import unittest
-import OFS.Folder, OFS.SimpleItem
-import Acquisition
-from AccessControl.SecurityManagement import newSecurityManager
-from AccessControl.SecurityManagement import noSecurityManager
-from AccessControl import SecurityManager
+import Zope, unittest
from Products.CMFCore.ActionsTool import *
from Products.CMFDefault.URLTool import *
-from Products.CMFCore.CMFCorePermissions import AddPortalContent
-from Products.CMFCore.CMFCorePermissions import ModifyPortalContent
-from Products.CMFCore import utils
import ZPublisher.HTTPRequest
-class PermissiveSecurityPolicy:
- """
- Stub out the existing security policy for unit testing purposes.
- """
- #
- # Standard SecurityPolicy interface
- #
- def validate( self
- , accessed=None
- , container=None
- , name=None
- , value=None
- , context=None
- , roles=None
- , *args
- , **kw):
- return 1
-
- def checkPermission( self, permission, object, context) :
- if permission == 'forbidden permission':
- return 0
- return 1
-
-class UnitTestUser( Acquisition.Implicit ):
- """
- Stubbed out manager for unit testing purposes.
- """
- def getId( self ):
- return 'unit_tester'
-
- getUserName = getId
-
- def allowed( self, object, object_roles=None ):
- # for testing permissions on actions
- if object.getId() == 'actions_dummy':
- if 'Anonymous' in object_roles:
- return 1
- else:
- return 0
- return 1
-
class ActionsToolTests( unittest.TestCase ):
def setUp( self ):
get_transaction().begin()
- self._policy = PermissiveSecurityPolicy()
- self._oldPolicy = SecurityManager.setSecurityPolicy(self._policy)
self.connection = Zope.DB.open()
root = self.root = self.connection.root()[ 'Application' ]
- newSecurityManager( None, UnitTestUser().__of__( self.root ) )
env = { 'SERVER_NAME' : 'http://localhost'
, 'SERVER_PORT' : '80'
@@ -93,8 +40,6 @@
def tearDown( self ):
get_transaction().abort()
self.connection.close()
- noSecurityManager()
- SecurityManager.setSecurityPolicy(self._oldPolicy)
def test_suite():
suite = unittest.TestSuite()