[CMF-checkins] CVS: CMF/CMFCore/tests/base - dummy.py:1.8.2.1

Yvo Schubbe schubbe@web.de
Tue, 10 Jun 2003 13:15:03 -0400


Update of /cvs-repository/CMF/CMFCore/tests/base
In directory cvs.zope.org:/tmp/cvs-serv13298/CMFCore/tests/base

Modified Files:
      Tag: yuppie-collector165-branch
	dummy.py 
Log Message:
- added test for Collector issue #165
- refactored TypesToolTests and dummies (removed CMFDefault dependencies)

=== CMF/CMFCore/tests/base/dummy.py 1.8 => 1.8.2.1 ===
--- CMF/CMFCore/tests/base/dummy.py:1.8	Mon Jun  2 12:18:47 2003
+++ CMF/CMFCore/tests/base/dummy.py	Tue Jun 10 13:14:32 2003
@@ -1,7 +1,6 @@
 from Acquisition import Implicit, aq_inner, aq_parent
 from OFS.SimpleItem import Item
 from Products.CMFCore.PortalContent import PortalContent
-from Products.CMFCore.TypesTool import TypeInformation
 from Products.CMFCore.TypesTool import FactoryTypeInformation as FTI
 from Products.CMFCore.ActionProviderBase import ActionProviderBase
 
@@ -98,11 +97,6 @@
     def Type( self ):
         return 'Dummy Content Title'
 
-def addDummy( self, id ):
-    """
-    Constructor method for DummyContent
-    """
-    self._setObject( id, DummyContent() )
 
 class DummyFactory:
     """
@@ -111,27 +105,26 @@
     def __init__( self, folder ):
         self._folder = folder
 
+    def getId(self):
+        return 'DummyFactory'
+
     def addFoo( self, id, *args, **kw ):
-        if self._folder._prefix:
+        if getattr(self._folder, '_prefix', None):
             id = '%s_%s' % ( self._folder._prefix, id )
         foo = apply( DummyContent, ( id, ) + args, kw )
-        self._folder._setOb( id, foo )
-        if self._folder._prefix:
+        self._folder._setObject(id, foo)
+        if getattr(self._folder, '_prefix', None):
             return id
 
     __roles__ = ( 'FooAdder', )
     __allow_access_to_unprotected_subobjects__ = { 'addFoo' : 1 }
 
 
-class DummyTypeInfo(TypeInformation):
-    """ Dummy class of type info object """
-    meta_type = "Dummy Test Type Info"
-
 DummyFTI = FTI( 'Dummy Content'
               , title='Dummy Content Title'
               , meta_type=DummyContent.meta_type
-              , product='CMFDefault'
-              , factory='addDocument'
+              , product='FooProduct'
+              , factory='addFoo'
               , actions= ( { 'name'          : 'View'
                            , 'action'        : 'string:view'
                            , 'permissions'   : ( 'View', )
@@ -147,27 +140,37 @@
                          )
               )
 
+
 class DummyFolder( Implicit ):
     """
         Dummy Container for testing
     """
-    def __init__( self, fake_product=0, prefix='' ):
+    def __init__( self, id='dummy', fake_product=0, prefix='' ):
         self._prefix = prefix
+        self.id = id
 
         if fake_product:
             self.manage_addProduct = { 'FooProduct' : DummyFactory( self ) }
+    
+    def _setOb(self, id, object):
+        setattr(self, id, object)
+        return self._getOb(id)
 
-        self._objects = {}
+    def _getOb( self, id ):
+        return getattr(self, id)
 
-    def _setOb( self, id, obj ):
-        self._objects[id] = obj
+    _setObject = _setOb
 
-    def _getOb( self, id ):
-        return self._objects[id]
 
-    def _setObject(self,id,object):
-        setattr(self,id,object)
-        return getattr(self, id)
+class DummySite(DummyFolder):
+    """ A dummy portal folder.
+    """
+
+    def getPhysicalRoot(self):
+        return self
+
+    def unrestrictedTraverse(self, path, default=None, restricted=0):
+        return self.acl_users
 
 
 class DummyUser(Implicit):
@@ -185,12 +188,17 @@
     def allowed(self, object, object_roles=None):
         if object.getId() == 'portal_membership':
             return 0
+        if object_roles:
+            if 'FooAdder' in object_roles:
+                return 0 
         return 1
 
 
 class DummyUserFolder(Implicit):
     """ A dummy User Folder with 2 dummy Users.
     """
+
+    id = 'acl_users'
 
     def __init__(self):
         setattr( self, 'user_foo', DummyUser(id='user_foo') )