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


Python TestRequest.setPrincipal方法代码示例

本文整理汇总了Python中zope.publisher.browser.TestRequest.setPrincipal方法的典型用法代码示例。如果您正苦于以下问题:Python TestRequest.setPrincipal方法的具体用法?Python TestRequest.setPrincipal怎么用?Python TestRequest.setPrincipal使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在zope.publisher.browser.TestRequest的用法示例。


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

示例1: testUnauthorized

# 需要导入模块: from zope.publisher.browser import TestRequest [as 别名]
# 或者: from zope.publisher.browser.TestRequest import setPrincipal [as 别名]
    def testUnauthorized(self):
        component.provideAdapter(DummyTemplate, name="default")
        exception = Exception()
        try:
            raise exception
        except:
            pass
        request = TestRequest()
        request.setPrincipal(DummyPrincipal(23))
        u = Unauthorized(exception, request)
        res = u()

        # Make sure that we rendered the expected template
        self.assertEqual("You are not authorized", res)

        # Make sure the response status was set
        self.assertEqual(request.response.getStatus(), 403)

        # check headers that work around squid "negative_ttl"
        self.assertEqual(request.response.getHeader('Expires'),
                         'Mon, 26 Jul 1997 05:00:00 GMT')
        self.assertEqual(request.response.getHeader('Pragma'),
                         'no-cache')
        self.assertEqual(request.response.getHeader('Cache-Control'),
                         'no-store, no-cache, must-revalidate')

        # Make sure the auth utility was called
        self.failUnless(self.auth.request is request)
        self.assertEqual(self.auth.principal_id, 23)
开发者ID:jean,项目名称:zope.app.exception,代码行数:31,代码来源:test_unauthorized.py

示例2: testUnauthorized

# 需要导入模块: from zope.publisher.browser import TestRequest [as 别名]
# 或者: from zope.publisher.browser.TestRequest import setPrincipal [as 别名]
    def testUnauthorized(self):
        exception = Exception()
        try:
            raise exception
        except:
            pass
        request = TestRequest()
        request.setPrincipal(DummyPrincipal(23))
        u = Unauthorized(exception, request)
        u.issueChallenge()

        # Make sure the response status was set
        self.assertEqual(request.response.getStatus(), 403)

        # check headers that work around squid "negative_ttl"
        self.assertEqual(request.response.getHeader('Expires'),
                         'Mon, 26 Jul 1997 05:00:00 GMT')
        self.assertEqual(request.response.getHeader('Pragma'),
                         'no-cache')
        self.assertEqual(request.response.getHeader('Cache-Control'),
                         'no-store, no-cache, must-revalidate')
        
        # Make sure the auth utility was called
        self.failUnless(self.auth.request is request)
        self.assertEqual(self.auth.principal_id, 23)
开发者ID:,项目名称:,代码行数:27,代码来源:

示例3: Instance

# 需要导入模块: from zope.publisher.browser import TestRequest [as 别名]
# 或者: from zope.publisher.browser.TestRequest import setPrincipal [as 别名]
        class Instance(object):
            def __init__(self):
                self.context = context
                self.request = TestRequest()
                self.request.setPrincipal(self)

            title = 'principal'
开发者ID:zopefoundation,项目名称:zope.app.exception,代码行数:9,代码来源:test_error.py

示例4: lockingSetUp

# 需要导入模块: from zope.publisher.browser import TestRequest [as 别名]
# 或者: from zope.publisher.browser.TestRequest import setPrincipal [as 别名]
def lockingSetUp(test):
    placelesssetup.setUp(test)
    z3c.etree.testing.etreeSetup(test)

    # create principal
    participation = TestRequest(environ = {"REQUEST_METHOD": "PUT"})
    participation.setPrincipal(Principal("michael"))
    if queryInteraction() is not None:
        queryInteraction().add(participation)
    else:
        newInteraction(participation)

    events = test.globs["events"] = []
    zope.event.subscribers.append(events.append)

    gsm = zope.component.getGlobalSiteManager()

    gsm.registerAdapter(DemoKeyReference,
                        (IDemo,),
                        zope.app.keyreference.interfaces.IKeyReference)
    gsm.registerAdapter(PhysicallyLocatable, (Demo,))
    gsm.registerAdapter(PhysicallyLocatable, (DemoFolder,))
    gsm.registerAdapter(DemoKeyReference, (IDemoFolder,),
                        zope.app.keyreference.interfaces.IKeyReference)
    gsm.registerAdapter(SiteManagerAdapter,
                        (zope.interface.Interface,), IComponentLookup)
    gsm.registerAdapter(DemoAbsoluteURL,
                        (IDemo, zope.interface.Interface),
                        zope.traversing.browser.interfaces.IAbsoluteURL)
    gsm.registerAdapter(DemoAbsoluteURL,
                        (IDemoFolder, zope.interface.Interface),
                        zope.traversing.browser.interfaces.IAbsoluteURL)

    # register some IDAVWidgets so that we can render the activelock and
    # supportedlock widgets.
    gsm.registerAdapter(z3c.dav.widgets.ListDAVWidget,
                        (zope.schema.interfaces.IList,
                         z3c.dav.interfaces.IWebDAVRequest))
    gsm.registerAdapter(z3c.dav.widgets.ObjectDAVWidget,
                        (zope.schema.interfaces.IObject,
                         z3c.dav.interfaces.IWebDAVRequest))
    gsm.registerAdapter(z3c.dav.widgets.TextDAVWidget,
                        (zope.schema.interfaces.IText,
                         z3c.dav.interfaces.IWebDAVRequest))
    gsm.registerAdapter(z3c.dav.properties.OpaqueWidget,
                        (z3c.dav.properties.DeadField,
                         z3c.dav.interfaces.IWebDAVRequest))
    gsm.registerAdapter(z3c.dav.widgets.TextDAVWidget,
                        (zope.schema.interfaces.IURI,
                         z3c.dav.interfaces.IWebDAVRequest))

    # Need connection to a database to manage locking
    db = test.globs["db"] = ZODB.DB(ZODB.MappingStorage.MappingStorage())
    test.globs["conn"] = db.open()

    # expose these classes to the test
    test.globs["Demo"] = Demo
    test.globs["DemoFolder"] = DemoFolder
开发者ID:mkerrin,项目名称:z3c.davapp.zopelocking,代码行数:60,代码来源:tests.py

示例5: test_make_extra_principal

# 需要导入模块: from zope.publisher.browser import TestRequest [as 别名]
# 或者: from zope.publisher.browser.TestRequest import setPrincipal [as 别名]
    def test_make_extra_principal(self):
        class MockPrincipal(object):
            id = 'foo'

        request = TestRequest()
        request.setPrincipal(MockPrincipal())
        reporter = SentryAwareLoggingErrorReporting()
        result = reporter.make_extra(request)
        self.assertTrue('sentry.interfaces.User' in result)
        self.assertEqual('foo', result['sentry.interfaces.User']['id'])
开发者ID:zopefoundation,项目名称:grokcore.error,代码行数:12,代码来源:test_sentry.py

示例6: TestErrorViews

# 需要导入模块: from zope.publisher.browser import TestRequest [as 别名]
# 或者: from zope.publisher.browser.TestRequest import setPrincipal [as 别名]
class TestErrorViews(TestCase):

    layer = browser_layer

    def setUp(self):
        self.request = TestRequest()

    def test_defaultname(self):
        self.assertEquals(
            getDefaultViewName(Exception(), self.request), 'index.html')
        error = NotFound(object(), self.request)
        self.assertEquals(
            getDefaultViewName(error, self.request), 'index.html')
        self.assertEquals(
            getDefaultViewName(
                Unauthorized(), self.request), 'index.html')

    def test_exceptionview(self):
        view = getMultiAdapter((Exception(), self.request), name='index.html')
        self.assertEquals(view(), 'A system error occurred.')
        self.assertEquals(self.request.response.getStatus(), 500)

    def test_notfoundview(self):
        error = NotFound(object(), self.request)
        view = getMultiAdapter((error, self.request), name='index.html')
        self.failUnless(IHTTPException.providedBy(view))
        self.assertEquals(view(), 'The requested resource can not be found.')
        self.assertEquals(self.request.response.getStatus(), 404)

    def test_unauthorizedview(self):
        self.request.setPrincipal(MockPrincipal())
        view = getMultiAdapter(
            (Unauthorized(), self.request), name='index.html')
        self.failUnless(IHTTPException.providedBy(view))
        self.assertEquals(
            view(), 'Access to the requested resource is forbidden.')
        self.assertEquals(self.request.response.getStatus(), 403)

        getUtility(IAuthentication).status = 401
        self.assertEquals(
            view(), 'Access to the requested resource is forbidden.')
        self.assertEquals(self.request.response.getStatus(), 401)

        getUtility(IAuthentication).status = 302
        self.assertEquals(view(), '')
        self.assertEquals(self.request.response.getStatus(), 302)

        getUtility(IAuthentication).status = 303
        self.assertEquals(view(), '')
        self.assertEquals(self.request.response.getStatus(), 303)
开发者ID:jean,项目名称:zope.errorview,代码行数:52,代码来源:test_browser.py

示例7: setUp

# 需要导入模块: from zope.publisher.browser import TestRequest [as 别名]
# 或者: from zope.publisher.browser.TestRequest import setPrincipal [as 别名]
    def setUp(test):
        functional.FunctionalTestSetup().setUp()

        root = functional.getRootFolder()
        setSite(root)
        sm = root.getSiteManager()
        interface.alsoProvides(root, IOwnerAware)

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

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

        # auth
        authconfiglet = sm.getUtility(IAuthenticationConfiglet)
        authconfiglet.installUtility()

        auth = sm.getUtility(IAuthentication)
        auth._caching = False

        # portal
        portal = Portal()
        event.notify(ObjectCreatedEvent(portal))
        root['portal'] = portal
        root['portal'].setSiteManager(LocalSiteManager(portal))

        # home folder manager
        manager = PersonalSpaceManager(title=u'People')
        event.notify(ObjectCreatedEvent(manager))

        root['people'] = manager
        sm.registerUtility(root['people'], IPersonalSpaceManager)

        request = TestRequest()
        request.setPrincipal(auth.getPrincipal('zope.mgr'))

        portlets = sm.queryMultiAdapter(
            (portal, TestRequest(), None), IPortletManager, 'columns.left')
        portlets.status = ENABLED
        portlets.portletIds = ('portlet.actions',)

        setSite(None)
开发者ID:Zojax,项目名称:zojax.company,代码行数:48,代码来源:tests.py

示例8: test_calendarRows_no_periods

# 需要导入模块: from zope.publisher.browser import TestRequest [as 别名]
# 或者: from zope.publisher.browser.TestRequest import setPrincipal [as 别名]
    def test_calendarRows_no_periods(self):
        from schooltool.timetable.browser.cal import DailyTimetableCalendarRowsView
        from schooltool.person.preference import getPersonPreferences
        from schooltool.app.security import Principal

        prefs = getPersonPreferences(self.person)
        prefs.cal_periods = False # do not show periods
        request = TestRequest()
        principal = Principal('person', 'Some person', person=self.person)
        request.setPrincipal(principal)
        view = DailyTimetableCalendarRowsView(ISchoolToolCalendar(self.person), request)

        result = list(view.calendarRows(date(2004, 11, 5), 8, 19, events=[]))

        expected = [("%d:00" % i, dt('%d:00' % i), timedelta(hours=1))
                    for i in range(8, 19)]
        self.assertEquals(result, expected)
开发者ID:achouhans,项目名称:schooltool-2.8.5,代码行数:19,代码来源:test_cal.py

示例9: testPluggableAuthUtility

# 需要导入模块: from zope.publisher.browser import TestRequest [as 别名]
# 或者: from zope.publisher.browser.TestRequest import setPrincipal [as 别名]
    def testPluggableAuthUtility(self):
        exception = Exception()
        try:
            raise exception
        except:
            pass
        request = TestRequest()
        psrc = DummyPrincipalSource()
        request.setPrincipal(DummyPrincipal(23))
        u = Unauthorized(exception, request)
        u.issueChallenge()

        # Make sure the response status was set
        self.assertEqual(request.response.getStatus(), 403)

        # Make sure the auth utility was called
        self.failUnless(self.auth.request is request)
        self.assertEqual(self.auth.principal_id, 23)
开发者ID:,项目名称:,代码行数:20,代码来源:

示例10: testHEADFuxup

# 需要导入模块: from zope.publisher.browser import TestRequest [as 别名]
# 或者: from zope.publisher.browser.TestRequest import setPrincipal [as 别名]
    def testHEADFuxup(self):
        pub = self.klass(None)

        class User(object):
            id = 'bob'

        # With a normal request, we should get a body:
        request = TestRequest(StringIO(''), {'PATH_INFO': '/'})
        request.setPrincipal(User())
        request.response.setResult(u"spam")
        pub.afterCall(request, None)
        self.assertEqual(request.response.consumeBody(), 'spam' )

        # But with a HEAD request, the body should be empty
        request = TestRequest(StringIO(''), {'PATH_INFO': '/'})
        request.setPrincipal(User())
        request.method = 'HEAD'
        request.response.setResult(u"spam")
        pub.afterCall(request, None)
        self.assertEqual(request.response.consumeBody(), '')
开发者ID:grodniewicz,项目名称:oship,代码行数:22,代码来源:test_browserpublication.py

示例11: test_getPeriods

# 需要导入模块: from zope.publisher.browser import TestRequest [as 别名]
# 或者: from zope.publisher.browser.TestRequest import setPrincipal [as 别名]
    def test_getPeriods(self):
        from schooltool.timetable.browser.cal import DailyTimetableCalendarRowsView

        request = TestRequest()
        view = DailyTimetableCalendarRowsView(ISchoolToolCalendar(self.person), request)

        # if no user has logged we should get an empty list
        self.assertEquals(view.getPeriods(date(2005, 1, 1)), [])

        # same if our user doesn't want to see periods in his calendar
        request.setPrincipal(self.person)
        IPersonPreferences(self.person).cal_periods = False
        self.assertEquals(view.getPeriods(date(2005, 1, 1)), [])

        # if currently logged in user wants to see periods, the
        # parameter is passed to getPeriodsForDay method.
        view.getPeriodsForDay = lambda cursor: ("Yep", cursor)
        IPersonPreferences(self.person).cal_periods = True
        self.assertEquals(view.getPeriods(date(2005, 1, 1)),
                          ("Yep", date(2005, 1, 1)))
开发者ID:achouhans,项目名称:schooltool-2.8.5,代码行数:22,代码来源:test_cal.py

示例12: testRedirect

# 需要导入模块: from zope.publisher.browser import TestRequest [as 别名]
# 或者: from zope.publisher.browser.TestRequest import setPrincipal [as 别名]
    def testRedirect(self):
        exception= Exception()
        try:
            raise exception
        except:
            pass
        request = TestRequest()
        request.setPrincipal(DummyPrincipal(23))
        u = Unauthorized(exception, request)

        self.auth.status = 303

        res = u()

        # Make sure that the template was not rendered
        self.assert_(res is None)

        # Make sure the auth's redirect is honored
        self.assertEqual(request.response.getStatus(), 303)

        # Make sure the auth utility was called
        self.failUnless(self.auth.request is request)
        self.assertEqual(self.auth.principal_id, 23)
开发者ID:jean,项目名称:zope.app.exception,代码行数:25,代码来源:test_unauthorized.py

示例13: process

# 需要导入模块: from zope.publisher.browser import TestRequest [as 别名]
# 或者: from zope.publisher.browser.TestRequest import setPrincipal [as 别名]
    def process(self, message):
        recipient = IRecipient(self.context, None)
        if recipient is None:
            raise MailInException('Recipent not found.')

        # find principal
        from_hdr = parseaddr(message['From'])[1].lower()
        try:
            principal = getPrincipalByEMail(from_hdr)
        except PrincipalLookupError:
            if IAnonymousSupport.providedBy(recipient):
                principal = getUtility(IUnauthenticatedPrincipal)
            else:
                # member not found
                raise MailInException('Member not found: %s'%from_hdr)

        # set security context
        interaction = queryInteraction()
        if interaction is not None:
            request = copy.copy(interaction.participations[0])
        else:
            request = TestRequest()

        request.setPrincipal(principal)
        request.interaction = None

        endInteraction()
        newInteraction(request)

        # deliver message
        try:
            recipient.process(message)
        except:
            log_exc()

        # restore old security context
        restoreInteraction()
开发者ID:Zojax,项目名称:zojax.mailin,代码行数:39,代码来源:mailinaware.py

示例14: test_calendarRows_otherTZ

# 需要导入模块: from zope.publisher.browser import TestRequest [as 别名]
# 或者: from zope.publisher.browser.TestRequest import setPrincipal [as 别名]
    def test_calendarRows_otherTZ(self):
        from schooltool.timetable.browser.cal import DailyTimetableCalendarRowsView
        from schooltool.app.security import Principal

        request = TestRequest()
        principal = Principal('person', 'Some person', person=self.person)
        request.setPrincipal(principal)
        view = DailyTimetableCalendarRowsView(ISchoolToolCalendar(self.person), request)

        km = timezone('Asia/Kamchatka')
        view.getPersonTimezone = lambda: km

        result = list(view.calendarRows(date(2004, 11, 5), 8, 19, events=[]))

        kmdt = lambda arg: km.localize(parse_datetime('2004-11-05 %s:00' %
                                                      arg))

        expected = [('8:00', kmdt('8:00'), timedelta(0, 3600)),
                    ('9:00', kmdt('9:00'), timedelta(0, 3600)),
                    ('10:00', kmdt('10:00'),timedelta(0, 3600)),
                    ('11:00', kmdt('11:00'),timedelta(0, 3600)),
                    ('12:00', kmdt('12:00'),timedelta(0, 3600)),
                    ('13:00', kmdt('13:00'),timedelta(0, 3600)),
                    ('14:00', kmdt('14:00'),timedelta(0, 3600)),
                    ('15:00', kmdt('15:00'),timedelta(0, 3600)),
                    ('16:00', kmdt('16:00'),timedelta(0, 3600)),
                    ('17:00', kmdt('17:00'),timedelta(0, 3600)),
                    ('18:00', kmdt('18:00'),timedelta(0, 3600)),
                    ('19:00', kmdt('19:00'),timedelta(0, 3600)),
                    ('1',  kmdt("20:00"), timedelta(0, 3600)),
                    ('21:00', kmdt("21:00"), timedelta(0, 4500)),
                    ('2',  kmdt("22:15"), timedelta(0, 3600)),
                    ('23:15', kmdt("23:15"), timedelta(0, 900)),
                    ('3', kmdt("23:30"), timedelta(0, 1800))]

        self.assertEquals(result, expected)
开发者ID:achouhans,项目名称:schooltool-2.8.5,代码行数:38,代码来源:test_cal.py

示例15: test_calendarRows

# 需要导入模块: from zope.publisher.browser import TestRequest [as 别名]
# 或者: from zope.publisher.browser.TestRequest import setPrincipal [as 别名]
    def test_calendarRows(self):
        from schooltool.timetable.browser.cal import DailyTimetableCalendarRowsView
        from schooltool.app.security import Principal

        request = TestRequest()
        principal = Principal('person', 'Some person', person=self.person)
        request.setPrincipal(principal)
        view = DailyTimetableCalendarRowsView(ISchoolToolCalendar(self.person), request)
        result = list(view.calendarRows(date(2004, 11, 5), 8, 19, events=[]))

        expected = [("1", dt('08:00'), timedelta(hours=1)),
                    ("9:00", dt('09:00'), timedelta(hours=1)),
                    ("10:00", dt('10:00'), timedelta(minutes=15)),
                    ("2", dt('10:15'), timedelta(hours=1)),
                    ("11:15", dt('11:15'), timedelta(minutes=15)),
                    ("3", dt('11:30'), timedelta(hours=1)),
                    ("4", dt('12:30'), timedelta(hours=2)),
                    ("14:30", dt('14:30'), timedelta(minutes=30)),
                    ("15:00", dt('15:00'), timedelta(hours=1)),
                    ("16:00", dt('16:00'), timedelta(hours=1)),
                    ("17:00", dt('17:00'), timedelta(hours=1)),
                    ("18:00", dt('18:00'), timedelta(hours=1))]

        self.assertEquals(result, expected)
开发者ID:achouhans,项目名称:schooltool-2.8.5,代码行数:26,代码来源:test_cal.py


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