当前位置: 首页>>代码示例>>Python>>正文


Python management.endInteraction函数代码示例

本文整理汇总了Python中zope.security.management.endInteraction函数的典型用法代码示例。如果您正苦于以下问题:Python endInteraction函数的具体用法?Python endInteraction怎么用?Python endInteraction使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了endInteraction函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_write_without_permission_gives_Unauthorized

 def test_write_without_permission_gives_Unauthorized(self):
     distro = self.factory.makeDistribution()
     endInteraction()
     lp = launchpadlib_for("anonymous-access")
     lp_distro = lp.load(api_url(distro))
     lp_distro.active = False
     self.assertRaises(Unauthorized, lp_distro.lp_save)
开发者ID:pombreda,项目名称:UnnaturalCodeFork,代码行数:7,代码来源:test_distro_webservice.py

示例2: setUp

    def setUp(test):
        functional.FunctionalTestSetup().setUp()

        newInteraction()

        root = functional.getRootFolder()
        setSite(root)
        sm = root.getSiteManager()

        # IIntIds
        root['ids'] = IntIds()
        sm.registerUtility(root['ids'], IIntIds)
        root['ids'].register(root)

        # catalog
        root['catalog'] = Catalog()
        sm.registerUtility(root['catalog'], ICatalog)

        # setup default role
        roles = sm.getUtility(IPortalRoles)
        if 'site.member' not in roles:
            role = PortalRole(title = u'Site Member')
            event.notify(ObjectCreatedEvent(role))

            roles['site.member'] = role
            roleId = role.id
            sm.getUtility(IDefaultPortalRole).roles = [role.id]

        endInteraction()
开发者ID:Zojax,项目名称:QZ3,代码行数:29,代码来源:tests.py

示例3: test_checkPermission

    def test_checkPermission(self):
        from zope.security import checkPermission
        from zope.security.management import setSecurityPolicy
        from zope.security.management import queryInteraction
        from zope.security.management import newInteraction, endInteraction
        from zope.security.interfaces import NoInteraction

        permission = 'zope.Test'
        obj = object()

        class PolicyStub(object):

            def checkPermission(s, p, o,):
                self.assert_(p is permission)
                self.assert_(o is obj)
                self.assert_(s is queryInteraction() or s is interaction)
                return s is interaction

        setSecurityPolicy(PolicyStub)
        newInteraction()
        interaction = queryInteraction()
        self.assertEquals(checkPermission(permission, obj), True)
        
        endInteraction()
        self.assertRaises(NoInteraction, checkPermission, permission, obj)
开发者ID:Andyvs,项目名称:TrackMonthlyExpenses,代码行数:25,代码来源:test_management.py

示例4: publish_and_retry

 def publish_and_retry(self):
     """Publish the request into the response and retry if it
     fails.
     """
     try:
         data = self.publish_and_render_errors()
     except (ConflictError, Retry):
         self.abort()
         self.publication_done = True
         if self.request.supports_retry() and not self.data_sent:
             # If can still retry, and didn't send any data yet, do it.
             logger.info('Conflict, retrying request %s' % (
                     reconstruct_url_from_environ(self.request.environ)))
             endInteraction()
             request = self.request.retry()
             try:
                 publication = self.__class__(
                     self.app, request, self.response)
                 data = publication.publish_and_retry()
                 self.publication_done = publication.publication_done
             finally:
                 request.close()
         else:
             # Otherwise, just render a plain error.
             logger.error('Conflict error for request %s' % (
                     reconstruct_url_from_environ(self.request.environ)))
             self.response.setStatus(503)
             self.response.setBody(RETRY_FAIL_ERROR_TEMPLATE)
             data = self.result()
     return data
开发者ID:infrae,项目名称:infrae.wsgi,代码行数:30,代码来源:publisher.py

示例5: setUp

 def setUp(self):
     super(TestGetBranchTips, self).setUp()
     self.distro = self.factory.makeDistribution()
     series_1 = self.series_1 = self.factory.makeDistroSeries(self.distro)
     series_2 = self.series_2 = self.factory.makeDistroSeries(self.distro)
     source_package = self.factory.makeSourcePackage(distroseries=series_1)
     branch = self.factory.makeBranch(sourcepackage=source_package)
     unofficial_branch = self.factory.makeBranch(
         sourcepackage=source_package)
     registrant = self.factory.makePerson()
     now = datetime.now(pytz.UTC)
     sourcepackagename = self.factory.makeSourcePackageName()
     SeriesSourcePackageBranchSet.new(
         series_1, PackagePublishingPocket.RELEASE, sourcepackagename,
         branch, registrant, now)
     SeriesSourcePackageBranchSet.new(
         series_2, PackagePublishingPocket.RELEASE, sourcepackagename,
         branch, registrant, now)
     self.factory.makeRevisionsForBranch(branch)
     self.branch_name = branch.unique_name
     self.unofficial_branch_name = unofficial_branch.unique_name
     self.branch_last_scanned_id = branch.last_scanned_id
     endInteraction()
     self.lp = launchpadlib_for("anonymous-access")
     self.lp_distro = self.lp.distributions[self.distro.name]
开发者ID:pombreda,项目名称:UnnaturalCodeFork,代码行数:25,代码来源:test_distro_webservice.py

示例6: setUp

    def setUp(test):
        functional.FunctionalTestSetup().setUp()

        newInteraction()

        root = functional.getRootFolder()
        setSite(root)
        sm = root.getSiteManager()

        # IIntIds
        root['ids'] = IntIds()
        sm.registerUtility(root['ids'], IIntIds)
        root['ids'].register(root)

        # catalog
        root['catalog'] = Catalog()
        sm.registerUtility(root['catalog'], ICatalog)

        # space
        space = ContentSpace(title=u'Space')
        event.notify(ObjectCreatedEvent(space))
        root['space'] = space

        # people
        people = PersonalSpaceManager(title=u'People')
        event.notify(ObjectCreatedEvent(people))
        root['people'] = people
        sm.registerUtility(root['people'], IPersonalSpaceManager)

        endInteraction()
开发者ID:Zojax,项目名称:zojax.wiki_,代码行数:30,代码来源:tests.py

示例7: setUp

    def setUp(test):
        functional.FunctionalTestSetup().setUp()

        newInteraction()

        root = functional.getRootFolder()
        setSite(root)
        sm = root.getSiteManager()
        sm.getUtility(INameChooserConfiglet).short_url_enabled = True

        # IIntIds
        root["ids"] = IntIds()
        sm.registerUtility(root["ids"], IIntIds)
        root["ids"].register(root)

        # catalog
        root["catalog"] = Catalog()
        sm.registerUtility(root["catalog"], ICatalog)

        # space
        space = ContentSpace(title=u"Space")
        event.notify(ObjectCreatedEvent(space))
        root["space"] = space

        # people
        people = PersonalSpaceManager(title=u"People")
        event.notify(ObjectCreatedEvent(people))
        root["people"] = people
        sm.registerUtility(root["people"], IPersonalSpaceManager)

        endInteraction()
开发者ID:Zojax,项目名称:zojax.poll,代码行数:31,代码来源:tests.py

示例8: test_project_create_cancel

    def test_project_create_cancel(self):
        login(self.portal, testing.SITE_ADMIN)

        challenges = self.portal["challenges"]
        challenges.invokeFactory(id="challenge", type_name="cnrd.Challenge")
        intids = component.getUtility(IIntIds)
        challenge_intid = intids.getId(challenges["challenge"])

        add_view = self.portal.restrictedTraverse("workspaces/++add++cnrd.Project")
        add_view.request.form["challenge"] = str(challenge_intid)
        add_view.update()

        edit_location = add_view.request.response.getHeader('Location')
        edit_path = add_view.request.physicalPathFromURL(edit_location)

        self.assertEqual(edit_path[-2:], ['project-draft', 'edit'])
        self.assertIn(edit_path[-2], self.portal["workspaces"])

        edit_path[-1] = "@@" + edit_path[-1]
        edit_view = self.portal.restrictedTraverse(edit_path)
        edit_view.request['SESSION'] = {}
        edit_view.request.form = { "form.buttons.cancel": 1 }
        newInteraction()
        edit_view.update()
        endInteraction()

        location = edit_view.request.response.getHeader('Location')
        path = add_view.request.physicalPathFromURL(location)

        self.assertEqual(path[-2:], ['challenges', 'challenge'])
        self.assertNotIn(edit_path[-2], self.portal["workspaces"])
开发者ID:ixds,项目名称:plone-virtualcenter,代码行数:31,代码来源:test_project.py

示例9: setUp

    def setUp(test):
        functional.FunctionalTestSetup().setUp()

        newInteraction()

        root = functional.getRootFolder()
        setSite(root)
        sm = root.getSiteManager()
        sm.getUtility(INameChooserConfiglet).short_url_enabled = True

        # IIntIds
        root['ids'] = IntIds()
        sm.registerUtility(root['ids'], IIntIds)
        root['ids'].register(root)

        # catalog
        root['catalog'] = Catalog()
        sm.registerUtility(root['catalog'], ICatalog)

        setattr(root, 'principalId', 'zope.mgr')
        # space
        space = ContentSpace(title=u'Space')
        event.notify(ObjectCreatedEvent(space))
        root['space'] = space

        setattr(root, 'principal', getUtility(IAuthentication).getPrincipal('zope.mgr'))
        # people
        people = PersonalSpaceManager(title=u'People')
        event.notify(ObjectCreatedEvent(people))
        root['people'] = people
        sm.registerUtility(root['people'], IPersonalSpaceManager)

        endInteraction()
开发者ID:Zojax,项目名称:zojax.personal.project,代码行数:33,代码来源:tests.py

示例10: run_with_login

def run_with_login(login_id, function, *args, **kwargs):
    """Run 'function' logged in with 'login_id'.

    The first argument passed to 'function' will be the Launchpad
    `Person` object corresponding to 'login_id'.

    The exception is when the requesting login ID is `LAUNCHPAD_SERVICES`. In
    that case, we'll pass through the `LAUNCHPAD_SERVICES` variable and the
    method will do whatever security proxy hackery is required to provide read
    privileges to the Launchpad services.
    """
    if login_id == LAUNCHPAD_SERVICES or login_id == LAUNCHPAD_ANONYMOUS:
        # Don't pass in an actual user. Instead pass in LAUNCHPAD_SERVICES
        # and expect `function` to use `removeSecurityProxy` or similar.
        return function(login_id, *args, **kwargs)
    if isinstance(login_id, basestring):
        requester = getUtility(IPersonSet).getByName(login_id)
    else:
        requester = getUtility(IPersonSet).get(login_id)
    if requester is None:
        raise NotFoundError("No person with id %s." % login_id)
    setupInteractionForPerson(requester)
    try:
        return function(requester, *args, **kwargs)
    finally:
        endInteraction()
开发者ID:pombreda,项目名称:UnnaturalCodeFork,代码行数:26,代码来源:codehosting.py

示例11: publish

def publish(request, module_name,
            _get_module_info=get_module_info,  # only for testing
           ):
    (bobo_before,
     bobo_after,
     object,
     realm,
     debug_mode,
     err_hook,
     validated_hook,
     transactions_manager,
    ) = _get_module_info(module_name)

    notify(PubStart(request))
    newInteraction()
    try:
        request.processInputs()
        response = request.response

        if bobo_after is not None:
            response.after_list += (bobo_after,)

        if debug_mode:
            response.debug_mode = debug_mode

        if realm and not request.get('REMOTE_USER', None):
            response.realm = realm

        if bobo_before is not None:
            bobo_before()

        # Get the path list.
        # According to RFC1738 a trailing space in the path is valid.
        path = request.get('PATH_INFO')

        request['PARENTS'] = [object]
        object = request.traverse(path, validated_hook=validated_hook)
        notify(PubAfterTraversal(request))

        if transactions_manager:
            transactions_manager.recordMetaData(object, request)

        result = mapply(object,
                        request.args,
                        request,
                        call_object,
                        1,
                        missing_name,
                        dont_publish_class,
                        request,
                        bind=1,
                        )

        if result is not response:
            response.setBody(result)
    finally:
        endInteraction()

    notify(PubBeforeCommit(request))
    return response
开发者ID:asajohnston,项目名称:Zope,代码行数:60,代码来源:WSGIPublisher.py

示例12: wrapper

 def wrapper(*a, **kw):
     from zope.security.management import newInteraction
     from zope.security.management import endInteraction
     newInteraction(SystemConfigurationParticipation())
     result = func(*a, **kw)
     endInteraction()
     return result
开发者ID:avnik,项目名称:nanozope,代码行数:7,代码来源:bootstrap.py

示例13: setUpDebug

def setUpDebug(test):
    placelesssetup.setUp(test)
    test.real_stderr = sys.stderr
    test.real_argv = list(sys.argv)
    test.olddir = os.getcwd()
    os.chdir(os.path.join(os.path.dirname(__file__), 'testdata'))
    from zope.security.management import endInteraction
    endInteraction()
开发者ID:grodniewicz,项目名称:oship,代码行数:8,代码来源:tests.py

示例14: test_endInteraction

    def test_endInteraction(self):
        from zope.security.management import endInteraction
        from zope.security.management import newInteraction
        from zope.security.management import queryInteraction

        newInteraction()
        endInteraction()
        self.assertEqual(queryInteraction(), None)
开发者ID:felixonmars,项目名称:zope.security,代码行数:8,代码来源:test_management.py

示例15: setUp

 def setUp(self):
     super(DebugLayer, self).setUp()
     self.stderr = sys.stderr
     self.argv = list(sys.argv)
     self.olddir = os.getcwd()
     os.chdir(os.path.join(os.path.dirname(__file__), 'testdata'))
     from zope.security.management import endInteraction
     endInteraction()
开发者ID:zopefoundation,项目名称:zope.app.appsetup,代码行数:8,代码来源:tests.py


注:本文中的zope.security.management.endInteraction函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。