Example #1
0
 def setUp(self):
     get_transaction().begin()
     self._policy = UnitTestSecurityPolicy()
     SecurityManager.setSecurityPolicy(self._policy)
     self.connection = Zope.DB.open()
     self.root = self.connection.root()['Application']
     newSecurityManager(None, UnitTestUser().__of__(self.root))
Example #2
0
 def setUp( self ):
     get_transaction().begin()
     self._policy = UnitTestSecurityPolicy()
     SecurityManager.setSecurityPolicy(self._policy)
     self.connection = Zope.DB.open()
     self.root = self.connection.root()[ 'Application' ]
     newSecurityManager( None, UnitTestUser().__of__( self.root ) )
Example #3
0
 def _setupSecurity(self, policy=None):
     from AccessControl import SecurityManager
     from AccessControl.SecurityManagement import noSecurityManager
     if policy is None:
         policy = self.oldPolicy
     noSecurityManager()
     SecurityManager.setSecurityPolicy(policy)
Example #4
0
 def testBoboTraverseToSimpleAttrValue(self):
     # Verify it's possible to use __bobo_traverse__ to a simple
     # python value
     noSecurityManager()
     SecurityManager.setSecurityPolicy( self.oldPolicy )
     bb = BoboTraversable()
     self.assertEqual(bb.restrictedTraverse('bb_status'), 'screechy')
Example #5
0
 def testBoboTraverseToMethod(self):
     # Verify it's possible to use __bobo_traverse__ to a method.
     noSecurityManager()
     SecurityManager.setSecurityPolicy( self.oldPolicy )
     bb = BoboTraversable()
     self.failUnless(
         bb.restrictedTraverse('bb_method') is not bb.bb_method)
Example #6
0
 def testDefaultValueWhenNotFound(self):
     # Test that traversing to a non-existent object returns
     # the default when provided
     noSecurityManager()
     SecurityManager.setSecurityPolicy(self.oldPolicy)
     self.assertEqual(self.root.restrictedTraverse('happy/happy', 'joy'),
                      'joy')
Example #7
0
 def testBoboTraverseToSimpleAttrValue(self):
     # Verify it's possible to use __bobo_traverse__ to a simple
     # python value
     noSecurityManager()
     SecurityManager.setSecurityPolicy(self.oldPolicy)
     bb = BoboTraversable()
     self.assertEqual(bb.restrictedTraverse('bb_status'), 'screechy')
Example #8
0
 def _setupSecurity(self, policy=None):
     from AccessControl import SecurityManager
     from AccessControl.SecurityManagement import noSecurityManager
     if policy is None:
         policy = self.oldPolicy
     noSecurityManager()
     SecurityManager.setSecurityPolicy(policy)
Example #9
0
 def testDefaultValueWhenNotFound(self):
     # Test that traversing to a non-existent object returns
     # the default when provided
     noSecurityManager()
     SecurityManager.setSecurityPolicy( self.oldPolicy )
     self.assertEqual(
         self.root.restrictedTraverse('happy/happy', 'joy'), 'joy')
Example #10
0
 def testDefaultValueWhenUnathorized(self):
     # Test that traversing to an unauthorized object returns
     # the default when provided
     noSecurityManager()
     SecurityManager.setSecurityPolicy(CruelSecurityPolicy())
     newSecurityManager(None, UnitTestUser().__of__(self.root))
     self.root.stuff = 'stuff here'
     self.assertEqual(self.root.folder1.restrictedTraverse('stuff', 42), 42)
Example #11
0
 def testTraverseThroughBoboTraverse(self):
     # Verify it's possible to use __bobo_traverse__ with the
     # Zope security policy.
     noSecurityManager()
     SecurityManager.setSecurityPolicy( self.oldPolicy )
     bb = BoboTraversable()
     self.failUnlessRaises(KeyError, bb.restrictedTraverse, 'notfound')
     bb.restrictedTraverse('bb_subitem')
Example #12
0
 def testBoboTraverseToWrappedSubObj(self):
     # Verify it's possible to use __bobo_traverse__ with the
     # Zope security policy.
     noSecurityManager()
     SecurityManager.setSecurityPolicy(self.oldPolicy)
     bb = BoboTraversable()
     self.failUnlessRaises(KeyError, bb.restrictedTraverse, 'notfound')
     bb.restrictedTraverse('bb_subitem')
Example #13
0
 def testBoboTraverseToNonAttrValue(self):
     # Verify it's possible to use __bobo_traverse__ to an
     # arbitrary manufactured object
     noSecurityManager()
     # Default security policy always seems to deny in this case, which
     # is fine, but to test the code branch we sub in the forgiving one
     SecurityManager.setSecurityPolicy(UnitTestSecurityPolicy())
     bb = BoboTraversable()
     self.failUnless(bb.restrictedTraverse('manufactured') is 42)
Example #14
0
    def tearDown(self):
        noSecurityManager()
        SecurityManager.setSecurityPolicy(self.oldpolicy)

        del self.root
        del self.reflecto
        del self.oldpolicy

        super(CopyPasteTests, self).tearDown()
Example #15
0
 def testDefaultValueWhenUnathorized(self):
     # Test that traversing to an unauthorized object returns
     # the default when provided
     noSecurityManager()
     SecurityManager.setSecurityPolicy(CruelSecurityPolicy())
     newSecurityManager( None, UnitTestUser().__of__( self.root ) )
     self.root.stuff = 'stuff here'
     self.assertEqual(
         self.root.folder1.restrictedTraverse('stuff', 42), 42)
Example #16
0
    def tearDown(self):
        noSecurityManager()
        SecurityManager.setSecurityPolicy(self.oldPolicy)
        del self.oldPolicy
        del self.policy
        del self.folder2
        del self.folder1

        self._cleanApp()
Example #17
0
    def tearDown(self):
        noSecurityManager()
        SecurityManager.setSecurityPolicy(self.oldpolicy)

        del self.root
        del self.reflecto
        del self.oldpolicy

        super(CopyPasteTests, self).tearDown()
Example #18
0
    def tearDown(self):
        noSecurityManager()
        SecurityManager.setSecurityPolicy(self.oldPolicy)
        del self.oldPolicy
        del self.policy
        del self.folder2
        del self.folder1

        self._cleanApp()
Example #19
0
 def testTraverseMethodRestricted(self):
     self.root.my = Restricted('my')
     my = self.root.my
     my.id = 'my'
     noSecurityManager()
     SecurityManager.setSecurityPolicy(ProtectedMethodSecurityPolicy())
     r = my.restrictedTraverse('getId')
     self.assertEquals(r(), 'my')
     self.assertRaises(Unauthorized, my.restrictedTraverse, 'private')
     self.assertRaises(Unauthorized, my.restrictedTraverse, 'ohno')
Example #20
0
 def testBoboTraverseToAcquiredAttribute(self):
     # Verify it's possible to use __bobo_traverse__ to an acquired
     # attribute
     noSecurityManager()
     SecurityManager.setSecurityPolicy(self.oldPolicy)
     folder = self.root.folder1
     folder.stuff = 'stuff here'
     bb = BoboTraversableWithAcquisition()
     bb = bb.__of__(folder)
     self.assertEqual(bb.restrictedTraverse('stuff'), 'stuff here')
Example #21
0
 def testBoboTraverseToNonAttrValue(self):
     # Verify it's possible to use __bobo_traverse__ to an
     # arbitrary manufactured object
     noSecurityManager()
     # Default security policy always seems to deny in this case, which
     # is fine, but to test the code branch we sub in the forgiving one
     SecurityManager.setSecurityPolicy(UnitTestSecurityPolicy())
     bb = BoboTraversable()
     self.failUnless(
         bb.restrictedTraverse('manufactured') is 42)
Example #22
0
 def testBoboTraverseToAcquiredObject(self):
     # Verify it's possible to use a __bobo_traverse__ which retrieves
     # objects by acquisition
     noSecurityManager()
     SecurityManager.setSecurityPolicy(self.oldPolicy)
     bb = BoboTraversableWithAcquisition()
     bb = bb.__of__(self.root)
     self.assertEqual(bb.restrictedTraverse('folder1'), bb.folder1)
     self.assertEqual(
         Acquisition.aq_inner(bb.restrictedTraverse('folder1')),
         self.root.folder1)
Example #23
0
 def tearDown(self):
     del self.types_tool
     del self.workflow_tool
     del self.url_tool
     del self.discussion_tool
     del self.catalog_tool
     del self.root
     del self._policy
     get_transaction().abort()
     self.connection.close()
     SecurityManager.setSecurityPolicy(self._oldPolicy)
Example #24
0
 def testBoboTraverseToAcquiredProtectedObject(self):
     # Verify it's possible to use a __bobo_traverse__ which retrieves
     # objects by acquisition
     noSecurityManager()
     SecurityManager.setSecurityPolicy(self.oldPolicy)
     folder = self.root.folder1
     # restrict the ability to access the retrieved object itself
     folder.manage_permission(access_contents_information, [], 0)
     bb = BoboTraversableWithAcquisition()
     bb = bb.__of__(self.root)
     self.failUnlessRaises(Unauthorized, bb.restrictedTraverse, 'folder1')
Example #25
0
 def testAcquiredAttributeDenial(self):
     # Verify that restrictedTraverse raises the right kind of exception
     # on denial of access to an acquired attribute.  If it raises
     # AttributeError instead of Unauthorized, the user may never
     # be prompted for HTTP credentials.
     noSecurityManager()
     SecurityManager.setSecurityPolicy(CruelSecurityPolicy())
     newSecurityManager(None, UnitTestUser().__of__(self.root))
     self.root.stuff = 'stuff here'
     self.failUnlessRaises(Unauthorized,
                           self.app.folder1.restrictedTraverse, 'stuff')
Example #26
0
 def testAcquiredAttributeDenial(self):
     # Verify that restrictedTraverse raises the right kind of exception
     # on denial of access to an acquired attribute.  If it raises
     # AttributeError instead of Unauthorized, the user may never
     # be prompted for HTTP credentials.
     noSecurityManager()
     SecurityManager.setSecurityPolicy(CruelSecurityPolicy())
     newSecurityManager( None, UnitTestUser().__of__( self.root ) )
     self.root.stuff = 'stuff here'
     self.failUnlessRaises(Unauthorized,
                           self.root.folder1.restrictedTraverse, 'stuff')
Example #27
0
 def tearDown( self ):
     del self.types_tool
     del self.workflow_tool
     del self.url_tool
     del self.discussion_tool
     del self.catalog_tool
     del self.root
     del self._policy
     get_transaction().abort()
     self.connection.close()
     SecurityManager.setSecurityPolicy( self._oldPolicy )
Example #28
0
 def testBoboTraverseToAcquiredAttribute(self):
     # Verify it's possible to use __bobo_traverse__ to an acquired
     # attribute
     noSecurityManager()
     SecurityManager.setSecurityPolicy( self.oldPolicy )
     folder = self.root.folder1
     folder.stuff = 'stuff here'
     bb = BoboTraversableWithAcquisition()
     bb = bb.__of__(folder)
     self.assertEqual(
         bb.restrictedTraverse('stuff'), 'stuff here')
Example #29
0
 def testBoboTraverseToAcquiredObject(self):
     # Verify it's possible to use a __bobo_traverse__ which retrieves
     # objects by acquisition
     noSecurityManager()
     SecurityManager.setSecurityPolicy( self.oldPolicy )
     bb = BoboTraversableWithAcquisition()
     bb = bb.__of__(self.root)
     self.assertEqual(
         bb.restrictedTraverse('folder1'), bb.folder1)
     self.assertEqual(
         Acquisition.aq_inner(bb.restrictedTraverse('folder1')),
         self.root.folder1)
Example #30
0
 def testBoboTraverseToAcquiredProtectedObject(self):
     # Verify it's possible to use a __bobo_traverse__ which retrieves
     # objects by acquisition
     noSecurityManager()
     SecurityManager.setSecurityPolicy( self.oldPolicy )
     folder = self.root.folder1
     # restrict the ability to access the retrieved object itself
     folder.manage_permission(access_contents_information, [], 0)
     bb = BoboTraversableWithAcquisition()
     bb = bb.__of__(self.root)
     self.failUnlessRaises(Unauthorized,
                           self.root.folder1.restrictedTraverse, 'folder1')
    def tearDown(self):

        noSecurityManager()
        SecurityManager.setSecurityPolicy(self.oldPolicy)
        del self.oldPolicy
        del self.policy
        del self.folder2
        del self.folder1

        self._cleanApp()
        componenttesting.tearDown()
        CopySupportTestBase.tearDown(self)
    def tearDown(self):

        noSecurityManager()
        SecurityManager.setSecurityPolicy(self.oldPolicy)
        del self.oldPolicy
        del self.policy
        del self.folder2
        del self.folder1

        self._cleanApp()
        componenttesting.tearDown()
        CopySupportTestBase.tearDown(self)
Example #33
0
 def tearDown(self):
     noSecurityManager()
     SecurityManager.setSecurityPolicy(self.oldPolicy)
     del self.oldPolicy
     del self.policy
     del self.folder1
     transaction.abort()
     self.app._p_jar.sync()
     self.connection.close()
     del self.app
     del self.responseOut
     del self.root
     del self.connection
Example #34
0
 def testBoboTraverseToAcquiredProtectedAttribute(self):
     # Verify that using __bobo_traverse__ to get an acquired but
     # protected attribute results in Unauthorized
     noSecurityManager()
     SecurityManager.setSecurityPolicy(self.oldPolicy)
     folder = self.root.folder1
     # We protect the the attribute by restricting access to the parent
     folder.manage_permission(access_contents_information, [], 0)
     folder.stuff = 'stuff here'
     bb = BoboTraversableWithAcquisition()
     bb = bb.__of__(folder)
     self.failUnlessRaises(Unauthorized,
                           self.root.folder1.restrictedTraverse, 'stuff')
Example #35
0
 def setUp(self):
     get_transaction().begin()
     self._policy = UnitTestSecurityPolicy()
     SecurityManager.setSecurityPolicy(self._policy)
     self.connection = Zope.DB.open()
     self.root = self.connection.root()['Application']
     self.manager = UnitTestUser().__of__(self.root)
     self.member = LimitedUnitTestUser().__of__(self.root)
     self.root._setObject('folder', PortalFolder('folder', ''))
     self.folder = self.root.folder
     self.folder._setObject('doc1', DummyContent('doc1'))
     self.folder._setObject('doc2', DummyContent('doc2'))
     self.folder._setObject('doc3', DummyContent('doc3'))
Example #36
0
 def tearDown( self ):
     noSecurityManager()
     SecurityManager.setSecurityPolicy( self.oldPolicy )
     del self.oldPolicy
     del self.policy
     del self.folder1
     get_transaction().abort()
     self.app._p_jar.sync()
     self.connection.close()
     del self.app
     del self.responseOut
     del self.root
     del self.connection
Example #37
0
 def testBoboTraverseToAcquiredProtectedAttribute(self):
     # Verify that using __bobo_traverse__ to get an acquired but
     # protected attribute results in Unauthorized
     noSecurityManager()
     SecurityManager.setSecurityPolicy( self.oldPolicy )
     folder = self.root.folder1
     # We protect the the attribute by restricting access to the parent
     folder.manage_permission(access_contents_information, [], 0)
     folder.stuff = 'stuff here'
     bb = BoboTraversableWithAcquisition()
     bb = bb.__of__(folder)
     self.failUnlessRaises(Unauthorized,
                           self.root.folder1.restrictedTraverse, 'stuff')
Example #38
0
 def setUp( self ):
     get_transaction().begin()
     self._policy = UnitTestSecurityPolicy()
     SecurityManager.setSecurityPolicy(self._policy)
     self.connection = Zope.DB.open()
     self.root = self.connection.root()[ 'Application' ]
     self.manager = UnitTestUser().__of__( self.root )
     self.member = LimitedUnitTestUser().__of__( self.root )
     self.root._setObject( 'folder', PortalFolder( 'folder', '' ) )
     self.folder = self.root.folder
     self.folder._setObject( 'doc1', DummyContent( 'doc1' ) )
     self.folder._setObject( 'doc2', DummyContent( 'doc2' ) )
     self.folder._setObject( 'doc3', DummyContent( 'doc3' ) )
Example #39
0
 def setUp(self):
     get_transaction().begin()
     self._policy = UnitTestSecurityPolicy()
     SecurityManager.setSecurityPolicy(self._policy)
     self.root = Zope.app()
     self.root._setObject('portal_discussion', DiscussionTool())
     self.discussion_tool = self.root.portal_discussion
     self.root._setObject('portal_catalog', CatalogTool())
     self.catalog_tool = self.root.portal_catalog
     self.root._setObject('portal_url', URLTool())
     self.url_tool = self.root.portal_url
     self.root._setObject('portal_workflow', WorkflowTool())
     self.workflow_tool = self.root.portal_workflow
     self.root._setObject('portal_types', TypesTool())
     types_tool = self.types_tool = self.root.portal_types
    def setUp(self):
        componenttesting.setUp()
        eventtesting.setUp()
        zcml.load_config("meta.zcml", zope.component)
        zcml.load_config("configure.zcml", Products.StandardCacheManagers)

        folder1, folder2 = self._initFolders()

        folder1.all_meta_types = folder2.all_meta_types = CACHE_META_TYPES

        self.folder1 = folder1
        self.folder2 = folder2

        self.policy = UnitTestSecurityPolicy()
        self.oldPolicy = SecurityManager.setSecurityPolicy(self.policy)

        cm_id = "cache"
        manager = self._makeOne(cm_id)
        self.folder1._setObject(cm_id, manager)
        self.cachemanager = self.folder1[cm_id]
        transaction.savepoint(optimistic=True)

        newSecurityManager(None, UnitTestUser().__of__(self.root))

        CopySupportTestBase.setUp(self)
Example #41
0
    def setUp(self):
        super(CopyPasteTests, self).setUp()

        from Products.Reflecto.content.reflector import Reflector

        self.root = FakeRoot()
        self.root.reflecto = self.reflecto
        self.reflecto = self.root.reflecto  # Acquisition wrapped

        # Second reflector, using the subdir as it's filesystem path
        self.root.reflecto2 = Reflector('reflecto2')
        self.reflecto2 = self.root.reflecto2
        self.reflecto2.setRelativePath(os.path.join(self.tmppath, 'subdir'))
        self.indexview2 = MockIndexView()

        # duplicate fake @@index work for reflecto2
        if DefaultTraversable is not None:
            # ease use of ITraversable by setting REQUEST to None
            self.reflecto2.REQUEST = None
            # DefaultTraversable will look up the view as 'index'
            setattr(self.reflecto2, 'index', self.indexview2)
        else:
            setattr(self.reflecto2, '@@index', self.indexview2)

        self.oldpolicy = SecurityManager.setSecurityPolicy(
            UnitTestSecurityPolicy())
        newSecurityManager(None, UnitTestUser().__of__(self.root))
Example #42
0
    def setUp(self):
        super(CopyPasteTests, self).setUp()

        from Products.Reflecto.content.reflector import Reflector

        self.root = FakeRoot()
        self.root.reflecto = self.reflecto
        self.reflecto = self.root.reflecto # Acquisition wrapped

        # Second reflector, using the subdir as it's filesystem path
        self.root.reflecto2 = Reflector('reflecto2')
        self.reflecto2 = self.root.reflecto2
        self.reflecto2.setRelativePath(os.path.join(self.tmppath, 'subdir'))
        self.indexview2 = MockIndexView()

        # duplicate fake @@index work for reflecto2
        if DefaultTraversable is not None:
            # ease use of ITraversable by setting REQUEST to None
            self.reflecto2.REQUEST = None
            # DefaultTraversable will look up the view as 'index'
            setattr(self.reflecto2, 'index', self.indexview2)
        else:
            setattr(self.reflecto2, '@@index', self.indexview2)

        self.oldpolicy = SecurityManager.setSecurityPolicy(
            UnitTestSecurityPolicy())
        newSecurityManager(None, UnitTestUser().__of__(self.root))
Example #43
0
 def setUp(self):
     self.folder = f = Folder()
     f.laf = AqPageTemplate()
     f.t = AqPageTemplate()
     self.policy = UnitTestSecurityPolicy()
     self.oldPolicy = SecurityManager.setSecurityPolicy( self.policy )
     noSecurityManager()  # Use the new policy.
    def setUp(self):
        componenttesting.setUp()
        eventtesting.setUp()
        zcml.load_config('meta.zcml', zope.component)
        zcml.load_config('configure.zcml', Products.StandardCacheManagers)

        folder1, folder2 = self._initFolders()

        folder1.all_meta_types = folder2.all_meta_types = CACHE_META_TYPES

        self.folder1 = folder1
        self.folder2 = folder2

        self.policy = UnitTestSecurityPolicy()
        self.oldPolicy = SecurityManager.setSecurityPolicy(self.policy)

        cm_id = 'cache'
        manager = self._makeOne(cm_id)
        self.folder1._setObject(cm_id, manager)
        self.cachemanager = self.folder1[cm_id]
        transaction.savepoint(optimistic=True)

        newSecurityManager(None, UnitTestUser().__of__(self.root))

        CopySupportTestBase.setUp(self)
Example #45
0
    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'}
        root.REQUEST = ZPublisher.HTTPRequest.HTTPRequest(None, env, None)

        root.addDummy = addDummy

        root._setObject('portal_types', TypesTool())
        tool = root.portal_types
        FTI = FactoryTypeInformation
        tool._setObject(
            'Dummy',
            FTI('Dummy',
                meta_type=DummyContent.meta_type,
                product='CMFDefault',
                factory='addDocument',
                actions=({
                    'name': 'View',
                    'action': 'view',
                    'permissions': ('View', )
                }, {
                    'name': 'View2',
                    'action': 'view2',
                    'permissions': ('View', )
                }, {
                    'name': 'Edit',
                    'action': 'edit',
                    'permissions': ('forbidden permission', )
                })))
Example #46
0
 def setUp( self ):
     get_transaction().begin()
     self._policy = UnitTestSecurityPolicy()
     SecurityManager.setSecurityPolicy( self._policy )
     self.connection = Zope.DB.open()
     self.root = self.connection.root()[ 'Application' ]
     self.root._setObject( 'portal_discussion', DiscussionTool() )
     self.discussion_tool = self.root.portal_discussion
     self.root._setObject( 'portal_catalog', CatalogTool() )
     self.catalog_tool = self.root.portal_catalog
     self.root._setObject( 'portal_url', URLTool() )
     self.url_tool = self.root.portal_url
     self.root._setObject( 'portal_workflow', WorkflowTool() ) 
     self.workflow_tool = self.root.portal_workflow
     self.root._setObject( 'portal_types', TypesTool() )
     types_tool = self.types_tool = self.root.portal_types
Example #47
0
    def _initPolicyAndUser(self, a_lambda=None, v_lambda=None, c_lambda=None):
        def _promiscuous(*args, **kw):
            return 1

        if a_lambda is None:
            a_lambda = _promiscuous

        if v_lambda is None:
            v_lambda = _promiscuous

        if c_lambda is None:
            c_lambda = _promiscuous

        scp = _SensitiveSecurityPolicy(v_lambda, c_lambda)
        SecurityManager.setSecurityPolicy(scp)
        newSecurityManager(None,
                           _AllowedUser(a_lambda).__of__(self.app.acl_users))
Example #48
0
    def setUp(self):
        super(DTMLTests, self).setUp()
        zope.component.provideAdapter(DefaultTraversable, (None,))
        provideUtility(DefaultUnicodeEncodingConflictResolver, IUnicodeEncodingConflictResolver)

        self.t = AqPageTemplate()
        self.policy = UnitTestSecurityPolicy()
        self.oldPolicy = SecurityManager.setSecurityPolicy(self.policy)
        noSecurityManager()  # Use the new policy.
Example #49
0
    def setUp(self):
        super(DTMLTests, self).setUp()
        zope.component.provideAdapter(DefaultTraversable, (None,))
        provideUtility(DefaultUnicodeEncodingConflictResolver, IUnicodeEncodingConflictResolver)

        self.t = AqPageTemplate()
        self.policy = UnitTestSecurityPolicy()
        self.oldPolicy = SecurityManager.setSecurityPolicy(self.policy)
        noSecurityManager()  # Use the new policy.
    def _initPolicyAndUser(self, a_lambda=None, v_lambda=None, c_lambda=None):

        def _promiscuous(*args, **kw):
            return 1

        if a_lambda is None:
            a_lambda = _promiscuous

        if v_lambda is None:
            v_lambda = _promiscuous

        if c_lambda is None:
            c_lambda = _promiscuous

        scp = _SensitiveSecurityPolicy(v_lambda, c_lambda)
        SecurityManager.setSecurityPolicy(scp)
        newSecurityManager(None,
                           _AllowedUser(a_lambda).__of__(self.app.acl_users))
Example #51
0
    def setUp(self):
        folder1, folder2 = self._initFolders()
        folder1.all_meta_types = folder2.all_meta_types = FILE_META_TYPES

        self.folder1 = folder1
        self.folder2 = folder2

        self.policy = UnitTestSecurityPolicy()
        self.oldPolicy = SecurityManager.setSecurityPolicy(self.policy)
        newSecurityManager(None, UnitTestUser().__of__(self.root))
Example #52
0
    def setUp(self):
        folder1, folder2 = self._initFolders()
        folder1.all_meta_types = folder2.all_meta_types = FILE_META_TYPES

        self.folder1 = folder1
        self.folder2 = folder2

        self.policy = UnitTestSecurityPolicy()
        self.oldPolicy = SecurityManager.setSecurityPolicy(self.policy)
        newSecurityManager(None, UnitTestUser().__of__(self.root))
Example #53
0
    def setUp(self):
        get_transaction().begin()
        self._policy = UnitTestSecurityPolicy()
        SecurityManager.setSecurityPolicy(self._policy)
        root = self.root = Zope.app()

        env = {'SERVER_NAME': 'http://localhost', 'SERVER_PORT': '80'}
        root.REQUEST = ZPublisher.HTTPRequest.HTTPRequest(None, env, None)

        root.addDummy = addDummy

        root._setObject('portal_types', TypesTool())
        tool = root.portal_types
        FTI = FactoryTypeInformation
        tool._setObject(
            'Dummy',
            FTI('Dummy',
                meta_type=DummyContent.meta_type,
                product='OFSP',
                factory='addDTMLDocument'))
Example #54
0
    def setUp(self):
        import io

        import transaction
        from AccessControl import SecurityManager
        from AccessControl.SecurityManagement import newSecurityManager
        from OFS.Application import Application
        from OFS.Folder import manage_addFolder
        from OFS.Image import manage_addFile
        from Testing.makerequest import makerequest
        from ZODB.DB import DB
        from ZODB.DemoStorage import DemoStorage

        s = DemoStorage()
        self.connection = DB(s).open()

        try:
            r = self.connection.root()
            a = Application()
            r['Application'] = a
            self.root = a
            responseOut = self.responseOut = io.BytesIO()
            self.app = makerequest(self.root, stdout=responseOut)
            manage_addFolder(self.app, 'folder1')
            folder1 = getattr(self.app, 'folder1')
            setattr(folder1, '+something', 'plus')

            folder1.all_meta_types = ({
                'name': 'File',
                'action': 'manage_addFile',
                'permission': 'Add images and files'
            }, )

            manage_addFile(folder1,
                           'file',
                           file=b'',
                           content_type='text/plain')

            # Hack, we need a _p_mtime for the file, so we make sure that it
            # has one. We use a subtransaction, which means we can rollback
            # later and pretend we didn't touch the ZODB.
            transaction.commit()
        except Exception:
            self.connection.close()
            raise
        transaction.begin()
        self.folder1 = getattr(self.app, 'folder1')

        self.policy = UnitTestSecurityPolicy()
        self.oldPolicy = SecurityManager.setSecurityPolicy(self.policy)
        newSecurityManager(None, self._makeUser().__of__(self.root))
    def setUp( self ):
        import cStringIO
        import transaction
        from AccessControl import SecurityManager
        from AccessControl.SecurityManagement import newSecurityManager
        from OFS.Application import Application
        from OFS.Folder import manage_addFolder
        from OFS.Image import manage_addFile
        from Testing.makerequest import makerequest
        from ZODB.DB import DB
        from ZODB.DemoStorage import DemoStorage

        s = DemoStorage()
        self.connection = DB(s).open()

        try:
            r = self.connection.root()
            a = Application()
            r['Application'] = a
            self.root = a
            responseOut = self.responseOut = cStringIO.StringIO()
            self.app = makerequest( self.root, stdout=responseOut )
            manage_addFolder( self.app, 'folder1' )
            folder1 = getattr( self.app, 'folder1' )
            setattr(folder1, '+something', 'plus')

            folder1.all_meta_types = \
                                    ({ 'name'        : 'File'
                                     , 'action'      : 'manage_addFile'
                                     , 'permission'  : 'Add images and files'
                                     }
                                    ,
                                    )

            manage_addFile( folder1, 'file'
                          , file='', content_type='text/plain')

            # Hack, we need a _p_mtime for the file, so we make sure that it
            # has one. We use a subtransaction, which means we can rollback
            # later and pretend we didn't touch the ZODB.
            transaction.commit()
        except:
            self.connection.close()
            raise
        transaction.begin()
        self.folder1 = getattr( self.app, 'folder1' )

        self.policy = UnitTestSecurityPolicy()
        self.oldPolicy = SecurityManager.setSecurityPolicy( self.policy )
        newSecurityManager( None, self._makeUser().__of__( self.root ) )
Example #56
0
    def setUp( self ):
        get_transaction().begin()
        self._policy = UnitTestSecurityPolicy()
        SecurityManager.setSecurityPolicy(self._policy)
        root = self.root = Zope.app()

        env = { 'SERVER_NAME' : 'http://localhost'
              , 'SERVER_PORT' : '80'
              }
        root.REQUEST = ZPublisher.HTTPRequest.HTTPRequest( None, env, None )
        
        root.addDummy = addDummy

        root._setObject( 'portal_types', TypesTool() )
        tool = root.portal_types
        FTI = FactoryTypeInformation
        tool._setObject( 'Dummy'
                       , FTI( 'Dummy'
                            , meta_type=DummyContent.meta_type
                            , product='OFSP'
                            , factory='addDTMLDocument'
                            )
                       )
Example #57
0
 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))
     root._setObject('portal', DummyContent('portal', 'url_portal'))
     portal = self.portal = self.root.portal
     self.folder = DummyContent('foo', 'url_foo')
     self.object = DummyContent('bar', 'url_bar')
     self.ai = ActionInformation(id='view',
                                 title='View',
                                 action=Expression(text='view'),
                                 condition=Expression(text='member'),
                                 category='global',
                                 visible=1)
Example #58
0
 def afterSetUp(self):
     print "DEBUG afterSetUp"
     self.policy = UnitTestSecurityPolicy()
     self.oldPolicy = SecurityManager.setSecurityPolicy(self.policy)
     newSecurityManager(None, UnitTestUser().__of__(self.folder))
     REQUEST = UnitTestRequest({
         'btn': 'Add',
         'lang': 'eng',
         'lang_label': 'English',
         'manage_lang': 'eng',
         'theme': 'myZMStheme5.zexp',
         'folder_id': 'myzmsx',
         'initialization': 1,
     })
     factory = self.folder.manage_addProduct['zms']
     factory.manage_addZMS('eng', 'eng', REQUEST)
     zms = self.folder['myzmsx']
     print zms
Example #59
0
 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 ))
     root._setObject('portal', DummyContent('portal', 'url_portal'))
     portal = self.portal = self.root.portal
     self.folder = DummyContent('foo', 'url_foo')
     self.object = DummyContent('bar', 'url_bar')
     self.ai = ActionInformation(id='view'
                               , title='View'
                               , action=Expression(
               text='view')
                               , condition=Expression(
               text='member')
                               , category='global'
                               , visible=1)
Example #60
0
    def setUp( self ):

        self.connection = makeConnection()
        try:
            r = self.connection.root()
            a = Application()
            r['Application'] = a
            self.root = a
            responseOut = self.responseOut = cStringIO.StringIO()
            self.app = makerequest( self.root, stdout=responseOut )
            manage_addFolder( self.app, 'folder1' )
            folder1 = getattr( self.app, 'folder1' )

            folder1.all_meta_types = \
                                    ( { 'name'        : 'File'
                                      , 'action'      : 'manage_addFile'
                                      , 'permission'  : 'Add images and files'
                                      }
                                    ,
                                    )

            manage_addFile( folder1, 'file'
                          , file='', content_type='text/plain')

            # Hack, we need a _p_mtime for the file, so we make sure that it
            # has one. We use a subtransaction, which means we can rollback
            # later and pretend we didn't touch the ZODB.
            get_transaction().commit()
        except:
            self.connection.close()
            raise
        get_transaction().begin()
        self.folder1 = getattr( self.app, 'folder1' )

        self.policy = UnitTestSecurityPolicy()
        self.oldPolicy = SecurityManager.setSecurityPolicy( self.policy )
        newSecurityManager( None, UnitTestUser().__of__( self.root ) )