| | |
| | | from webob import Response |
| | | |
| | | |
| | | def bview(request): |
| | | def bview(request): # pragma: no cover |
| | | return Response('b view') |
| | | |
| | | |
| | |
| | | self.assertTrue(is_unbound_method(NewStyle.run)) |
| | | |
| | | def test_normal_func_unbound(self): |
| | | def func(): |
| | | def func(): # pragma: no cover |
| | | return 'OK' |
| | | |
| | | self.assertFalse(is_unbound_method(func)) |
| | | |
| | | |
| | | class OldStyle: |
| | | def run(self): |
| | | def run(self): # pragma: no cover |
| | | return 'OK' |
| | | |
| | | |
| | | class NewStyle(object): |
| | | def run(self): |
| | | def run(self): # pragma: no cover |
| | | return 'OK' |
| | |
| | | # package |
| | | |
| | | from functools import partial |
| | | from zope.interface import implementer |
| | | from zope.interface import Interface |
| | | |
| | |
| | | pass |
| | | |
| | | |
| | | def dummy_tween_factory(handler, registry): |
| | | def dummy_tween_factory(handler, registry): # pragma: no cover |
| | | pass |
| | | |
| | | |
| | | def dummy_tween_factory2(handler, registry): |
| | | def dummy_tween_factory2(handler, registry): # pragma: no cover |
| | | pass |
| | | |
| | | |
| | |
| | | def dummy_extend2(config, discrim): |
| | | config.action(discrim, None, config.registry) |
| | | |
| | | |
| | | from functools import partial |
| | | |
| | | dummy_partial = partial(dummy_extend, discrim='partial') |
| | | |
| | |
| | | |
| | | L = [] |
| | | |
| | | def subscriber(event): |
| | | def subscriber(event): # pragma: no cover |
| | | L.append(event) |
| | | |
| | | config = self._makeOne(autocommit=True) |
| | |
| | | |
| | | L = [] |
| | | |
| | | def subscriber(event): |
| | | def subscriber(event): # pragma: no cover |
| | | L.append(event) |
| | | |
| | | config = self._makeOne(autocommit=True) |
| | |
| | | return eventonly(callee) |
| | | |
| | | def test_defaults(self): |
| | | def acallable(event, a=1, b=2): |
| | | def acallable(event, a=1, b=2): # pragma: no cover |
| | | pass |
| | | |
| | | self.assertTrue(self._callFUT(acallable)) |
| | |
| | | |
| | | config = self._makeOne(autocommit=True) |
| | | |
| | | def foo(self): |
| | | def foo(self): # pragma: no cover |
| | | pass |
| | | |
| | | config.add_request_method(foo) |
| | |
| | | |
| | | config = self._makeOne() |
| | | |
| | | def foo(self): |
| | | def foo(self): # pragma: no cover |
| | | pass |
| | | |
| | | def bar(self): |
| | | def bar(self): # pragma: no cover |
| | | pass |
| | | |
| | | config.add_request_method(foo, name='bar') |
| | |
| | | |
| | | config = self._makeOne() |
| | | |
| | | def bar(self): |
| | | def bar(self): # pragma: no cover |
| | | pass |
| | | |
| | | config.add_request_method(name='foo') |
| | |
| | | self.assertRaises(AttributeError, config.add_request_method) |
| | | |
| | | def test_add_request_method_with_text_type_name(self): |
| | | from pyramid.interfaces import IRequestExtensions |
| | | from pyramid.compat import text_, PY2 |
| | | from pyramid.exceptions import ConfigurationError |
| | | |
| | | config = self._makeOne(autocommit=True) |
| | | |
| | | def boomshaka(r): |
| | | def boomshaka(r): # pragma: no cover |
| | | pass |
| | | |
| | | def get_bad_name(): |
| | |
| | | |
| | | config = self._makeOne(autocommit=True) |
| | | |
| | | def dummy_policy(environ, router): |
| | | def dummy_policy(environ, router): # pragma: no cover |
| | | pass |
| | | |
| | | config.set_execution_policy(dummy_policy) |
| | |
| | | |
| | | config = self._makeOne(autocommit=True) |
| | | |
| | | def negotiator(request): |
| | | def negotiator(request): # pragma: no cover |
| | | pass |
| | | |
| | | config.set_locale_negotiator(negotiator) |
| | |
| | | ) |
| | | |
| | | def test_add_translation_dirs_invalid_kwargs(self): |
| | | from pyramid.interfaces import ITranslationDirectories |
| | | |
| | | config = self._makeOne(autocommit=True) |
| | | with self.assertRaises(TypeError): |
| | | config.add_translation_dirs('tests.pkgs.localeapp:locale', foo=1) |
| | |
| | | import unittest |
| | | |
| | | import os |
| | | import unittest |
| | | from zope.interface import Interface |
| | | from zope.interface import implementer |
| | | |
| | | from pyramid.compat import im_func |
| | | from pyramid.testing import skip_on |
| | |
| | | from pyramid.interfaces import IExceptionResponse |
| | | from pyramid.interfaces import IRequest |
| | | |
| | | def exceptionresponse_view(context, request): |
| | | def exceptionresponse_view(context, request): # pragma: no cover |
| | | pass |
| | | |
| | | config = self._makeOne(exceptionresponse_view=exceptionresponse_view) |
| | |
| | | reg = Registry() |
| | | config = self._makeOne(reg) |
| | | settings = { |
| | | 'pyramid.includes': """tests.test_config.dummy_include tests.test_config.dummy_include2""" |
| | | 'pyramid.includes': """tests.test_config.dummy_include tests.\ |
| | | test_config.dummy_include2""" |
| | | } |
| | | config.setup_registry(settings=settings) |
| | | self.assertTrue(reg.included) |
| | |
| | | |
| | | def test_include_threadlocals_active(self): |
| | | from pyramid.threadlocal import get_current_registry |
| | | from tests import test_config |
| | | |
| | | stack = [] |
| | | |
| | |
| | | def test_commit_conflict_simple(self): |
| | | config = self._makeOne() |
| | | |
| | | def view1(request): |
| | | def view1(request): # pragma: no cover |
| | | pass |
| | | |
| | | def view2(request): |
| | | def view2(request): # pragma: no cover |
| | | pass |
| | | |
| | | config.add_view(view1) |
| | |
| | | def test_commit_conflict_resolved_with_include(self): |
| | | config = self._makeOne() |
| | | |
| | | def view1(request): |
| | | def view1(request): # pragma: no cover |
| | | pass |
| | | |
| | | def view2(request): |
| | | def view2(request): # pragma: no cover |
| | | pass |
| | | |
| | | def includeme(config): |
| | |
| | | def test_commit_conflict_with_two_includes(self): |
| | | config = self._makeOne() |
| | | |
| | | def view1(request): |
| | | def view1(request): # pragma: no cover |
| | | pass |
| | | |
| | | def view2(request): |
| | | def view2(request): # pragma: no cover |
| | | pass |
| | | |
| | | def includeme1(config): |
| | |
| | | def test_commit_conflict_resolved_with_two_includes_and_local(self): |
| | | config = self._makeOne() |
| | | |
| | | def view1(request): |
| | | def view1(request): # pragma: no cover |
| | | pass |
| | | |
| | | def view2(request): |
| | | def view2(request): # pragma: no cover |
| | | pass |
| | | |
| | | def view3(request): |
| | | def view3(request): # pragma: no cover |
| | | pass |
| | | |
| | | def includeme1(config): |
| | |
| | | |
| | | config = self._makeOne(autocommit=True) |
| | | |
| | | def view1(request): |
| | | def view1(request): # pragma: no cover |
| | | pass |
| | | |
| | | def view2(request): |
| | | def view2(request): # pragma: no cover |
| | | pass |
| | | |
| | | def view3(request): |
| | | def view3(request): # pragma: no cover |
| | | pass |
| | | |
| | | config.add_view(view1, renderer=null_renderer) |
| | |
| | | def test_conflict_set_notfound_view(self): |
| | | config = self._makeOne() |
| | | |
| | | def view1(request): |
| | | def view1(request): # pragma: no cover |
| | | pass |
| | | |
| | | def view2(request): |
| | | def view2(request): # pragma: no cover |
| | | pass |
| | | |
| | | config.set_notfound_view(view1) |
| | |
| | | def test_conflict_set_forbidden_view(self): |
| | | config = self._makeOne() |
| | | |
| | | def view1(request): |
| | | def view1(request): # pragma: no cover |
| | | pass |
| | | |
| | | def view2(request): |
| | | def view2(request): # pragma: no cover |
| | | pass |
| | | |
| | | config.set_forbidden_view(view1) |
| | |
| | | def test___getattr__matches(self): |
| | | config = self._makeOne() |
| | | |
| | | def foo(config): |
| | | def foo(config): # pragma: no cover |
| | | pass |
| | | |
| | | directives = {'foo': (foo, True)} |
| | |
| | | def test___getattr__matches_no_action_wrap(self): |
| | | config = self._makeOne() |
| | | |
| | | def foo(config): |
| | | def foo(config): # pragma: no cover |
| | | pass |
| | | |
| | | directives = {'foo': (foo, False)} |
| | |
| | | def f(*a, **k): |
| | | c.actions.append((3, g, (8,), {}, (), None, -1)) |
| | | |
| | | def g(*a, **k): |
| | | def g(*a, **k): # pragma: no cover |
| | | pass |
| | | |
| | | c.actions = [(1, f, (1,))] |
| | |
| | | def f(*a, **k): |
| | | pass |
| | | |
| | | def g(*a, **k): |
| | | def g(*a, **k): # pragma: no cover |
| | | pass |
| | | |
| | | c.actions = [(1, f, (1,), {}, (), None, -1), (1, g, (2,))] |
| | |
| | | def f(*a, **k): |
| | | c.actions.append((1, g, (8,))) |
| | | |
| | | def g(*a, **k): |
| | | def g(*a, **k): # pragma: no cover |
| | | pass |
| | | |
| | | c.actions = [(1, f, (1,), {}, (), None, -1)] |
| | |
| | | config = self._makeConfigurator() |
| | | config.add_directive('add_auto_route', add_auto_route) |
| | | |
| | | def my_view(request): |
| | | def my_view(request): # pragma: no cover |
| | | return request.response |
| | | |
| | | config.add_auto_route('foo', my_view) |
| | |
| | | self.popped = True |
| | | |
| | | |
| | | from zope.interface import implementer |
| | | |
| | | |
| | | @implementer(IDummy) |
| | | class DummyEvent: |
| | | pass |
| | |
| | | |
| | | def queryUtility(self, *arg, **kw): |
| | | return self.util |
| | | |
| | | |
| | | from zope.interface import Interface |
| | | |
| | | |
| | | class IOther(Interface): |
| | |
| | | |
| | | config = self._makeOne(autocommit=True) |
| | | |
| | | def pred1(context, request): |
| | | def pred1(context, request): # pragma: no cover |
| | | pass |
| | | |
| | | def pred2(context, request): |
| | | def pred2(context, request): # pragma: no cover |
| | | pass |
| | | |
| | | with warnings.catch_warnings(record=True) as w: |
| | |
| | | |
| | | config = self._makeOne(autocommit=True) |
| | | |
| | | def callback(request): |
| | | def callback(request): # pragma: no cover |
| | | return True |
| | | |
| | | config.set_default_csrf_options( |
| | |
| | | import unittest |
| | | from zope.interface import implementer |
| | | |
| | | from pyramid.compat import text_ |
| | | from pyramid.security import AuthenticationAPIMixin, AuthorizationAPIMixin |
| | |
| | | renderer.assert_(foo=1) |
| | | renderer.assert_(bar=2) |
| | | renderer.assert_(request=request) |
| | | |
| | | |
| | | from zope.interface import implementer |
| | | |
| | | |
| | | @implementer(IDummy) |
| | |
| | | from pyramid.interfaces import ITweens |
| | | from pyramid.tweens import excview_tween_factory |
| | | |
| | | def factory1(handler, registry): |
| | | def factory1(handler, registry): # pragma: no cover |
| | | return handler |
| | | |
| | | def factory2(handler, registry): |
| | | def factory2(handler, registry): # pragma: no cover |
| | | return handler |
| | | |
| | | config = self._makeOne() |
| | |
| | | |
| | | with warnings.catch_warnings(record=True) as w: |
| | | warnings.filterwarnings('always') |
| | | from pyramid.config.predicates import XHRPredicate |
| | | from pyramid.config.predicates import XHRPredicate # noqa: F401 |
| | | |
| | | self.assertEqual(len(w), 1) |
| | | |
| | |
| | | def __init__(self): |
| | | self.__text__ = 'custom predicate' |
| | | |
| | | def classmethod_predicate(*args): |
| | | def classmethod_predicate(*args): # pragma: no cover |
| | | pass |
| | | |
| | | classmethod_predicate.__text__ = 'classmethod predicate' |
| | |
| | | import os |
| | | import unittest |
| | | from zope.interface import implementer |
| | | |
| | | from pyramid import testing |
| | | |
| | | from . import IDummy |
| | | |
| | | from . import dummy_view |
| | | |
| | | from pyramid.compat import im_func, text_ |
| | | from pyramid.exceptions import ConfigurationError |
| | | from pyramid.exceptions import ConfigurationExecutionError |
| | | from pyramid.exceptions import ConfigurationConflictError |
| | | from pyramid.interfaces import IResponse, IRequest, IMultiView |
| | | |
| | | from . import IDummy |
| | | from . import dummy_view |
| | | |
| | | |
| | | class TestViewsConfigurationMixin(unittest.TestCase): |
| | |
| | | def view(context, request): |
| | | return 'OK' |
| | | |
| | | def view2(context, request): |
| | | def view2(context, request): # pragma: no cover |
| | | return 'OK2' |
| | | |
| | | def view3(context, request): |
| | |
| | | def view(context, request): |
| | | return 'OK' |
| | | |
| | | def view2(context, request): |
| | | def view2(context, request): # pragma: no cover |
| | | return 'OK2' |
| | | |
| | | def view3(context, request): |
| | |
| | | def __init__(self, request): |
| | | pass |
| | | |
| | | def unknown(context, request): |
| | | def unknown(context, request): # pragma: no cover |
| | | return 'unknown' |
| | | |
| | | def view(context, request): |
| | |
| | | def __init__(self, request): |
| | | pass |
| | | |
| | | def unknown(context, request): |
| | | def unknown(context, request): # pragma: no cover |
| | | return 'unknown' |
| | | |
| | | def view(context, request): |
| | |
| | | from pyramid.exceptions import BadCSRFToken |
| | | from pyramid.renderers import null_renderer |
| | | |
| | | def view(request): |
| | | def view(request): # pragma: no cover |
| | | return 'OK' |
| | | |
| | | config = self._makeOne(autocommit=True) |
| | |
| | | |
| | | def test_add_view_class_method_no_attr(self): |
| | | from pyramid.renderers import null_renderer |
| | | from zope.interface import directlyProvides |
| | | from pyramid.exceptions import ConfigurationError |
| | | |
| | | config = self._makeOne(autocommit=True) |
| | | |
| | | class DummyViewClass(object): |
| | | def run(self): |
| | | def run(self): # pragma: no cover |
| | | pass |
| | | |
| | | def configure_view(): |
| | |
| | | config = self._makeOne(autocommit=True) |
| | | config.add_route('foo', '/foo/') |
| | | |
| | | def view(request): |
| | | def view(request): # pragma: no cover |
| | | return Response('OK') |
| | | |
| | | config.add_notfound_view( |
| | |
| | | config = self._makeOne(autocommit=True) |
| | | config.add_route('foo', '/foo/') |
| | | |
| | | def view(request): |
| | | def view(request): # pragma: no cover |
| | | return Response('OK') |
| | | |
| | | config.add_notfound_view( |
| | |
| | | def view1(context, request): |
| | | return 'OK' |
| | | |
| | | def view2(context, request): |
| | | def view2(context, request): # pragma: no cover |
| | | raise AssertionError |
| | | |
| | | result_view = self._makeOne(view1, view2) |
| | |
| | | self.assertEqual(result, 'OK') |
| | | |
| | | def test_call_dispatches_on_exception(self): |
| | | def view1(context, request): |
| | | def view1(context, request): # pragma: no cover |
| | | raise AssertionError |
| | | |
| | | def view2(context, request): |
| | |
| | | self.assertEqual(result, 'OK') |
| | | |
| | | def test_permitted(self): |
| | | def errfn(context, request): |
| | | def errfn(context, request): # pragma: no cover |
| | | raise AssertionError |
| | | |
| | | def view1(context, request): |
| | | def view1(context, request): # pragma: no cover |
| | | raise AssertionError |
| | | |
| | | view1.__permitted__ = lambda c, r: 'OK' |
| | | |
| | | def view2(context, request): |
| | | def view2(context, request): # pragma: no cover |
| | | raise AssertionError |
| | | |
| | | view2.__permitted__ = errfn |
| | |
| | | self.assertEqual(result, 'OK') |
| | | |
| | | def test_permitted_dispatches_on_exception(self): |
| | | def errfn(context, request): |
| | | def errfn(context, request): # pragma: no cover |
| | | raise AssertionError |
| | | |
| | | def view1(context, request): |
| | | def view1(context, request): # pragma: no cover |
| | | raise AssertionError |
| | | |
| | | view1.__permitted__ = errfn |
| | | |
| | | def view2(context, request): |
| | | def view2(context, request): # pragma: no cover |
| | | raise AssertionError |
| | | |
| | | view2.__permitted__ = lambda c, r: 'OK' |
| | |
| | | return requestonly(view, attr=attr) |
| | | |
| | | def test_defaults(self): |
| | | def aview(request, a=1, b=2): |
| | | def aview(request, a=1, b=2): # pragma: no cover |
| | | pass |
| | | |
| | | self.assertTrue(self._callFUT(aview)) |
| | | |
| | | def test_otherattr(self): |
| | | class AView(object): |
| | | def __init__(self, request, a=1, b=2): |
| | | def __init__(self, request, a=1, b=2): # pragma: no cover |
| | | pass |
| | | |
| | | def bleh(self): |
| | | def bleh(self): # pragma: no cover |
| | | pass |
| | | |
| | | self.assertTrue(self._callFUT(AView, 'bleh')) |
| | |
| | | def test_add_with_phash_override_accept(self): |
| | | mv = self._makeOne() |
| | | |
| | | def view1(): |
| | | def view1(): # pragma: no cover |
| | | pass |
| | | |
| | | def view2(): |
| | | def view2(): # pragma: no cover |
| | | pass |
| | | |
| | | def view3(): |
| | | def view3(): # pragma: no cover |
| | | pass |
| | | |
| | | mv.add(view1, 100, accept='text/html', phash='abc') |
| | |
| | | def test_add_with_phash_override_accept2(self): |
| | | mv = self._makeOne() |
| | | |
| | | def view1(): |
| | | def view1(): # pragma: no cover |
| | | pass |
| | | |
| | | def view2(): |
| | | def view2(): # pragma: no cover |
| | | pass |
| | | |
| | | def view3(): |
| | | def view3(): # pragma: no cover |
| | | pass |
| | | |
| | | mv.add(view1, 100, accept='text/html', phash='abc') |
| | |
| | | # this failed on py3 at one point, because functions aren't orderable |
| | | # and we were sorting the views via a plain sort() rather than |
| | | # sort(key=itemgetter(0)). |
| | | def view1(request): |
| | | def view1(request): # pragma: no cover |
| | | pass |
| | | |
| | | def view2(request): |
| | | def view2(request): # pragma: no cover |
| | | pass |
| | | |
| | | mv = self._makeOne() |
| | |
| | | self.assertTrue(result is view) |
| | | |
| | | def test_it_different_with_existing_original_view(self): |
| | | def view1(context, request): |
| | | def view1(context, request): # pragma: no cover |
| | | pass |
| | | |
| | | view1.__original_view__ = 'abc' |
| | | |
| | | def view2(context, request): |
| | | def view2(context, request): # pragma: no cover |
| | | pass |
| | | |
| | | result = self._callFUT(view1, view2) |
| | |
| | | self.assertTrue(called[0]) |
| | | |
| | | def test_generate_url_cachebust_nomatch(self): |
| | | def fake_cb(*a, **kw): |
| | | def fake_cb(*a, **kw): # pragma: no cover |
| | | raise AssertionError |
| | | |
| | | inst = self._makeOne() |
| | |
| | | return view_description(view) |
| | | |
| | | def test_with_text(self): |
| | | def view(): |
| | | def view(): # pragma: no cover |
| | | pass |
| | | |
| | | view.__text__ = 'some text' |
| | |
| | | self.assertEqual(result, 'some text') |
| | | |
| | | def test_without_text(self): |
| | | def view(): |
| | | def view(): # pragma: no cover |
| | | pass |
| | | |
| | | result = self._callFUT(view) |
| | |
| | | |
| | | def queryUtility(self, type_or_iface, name=None, default=None): |
| | | return self.utility or default |
| | | |
| | | |
| | | from zope.interface import implementer |
| | | from pyramid.interfaces import IResponse, IRequest |
| | | |
| | | |
| | | @implementer(IResponse) |
| | |
| | | |
| | | def introspectable(self, *arg): |
| | | return {} |
| | | |
| | | |
| | | from zope.interface import implementer |
| | | from pyramid.interfaces import IMultiView |
| | | |
| | | |
| | | @implementer(IMultiView) |
| | |
| | | |
| | | dec = self._makeOne(IFoo) |
| | | |
| | | def foo(): |
| | | def foo(): # pragma: no cover |
| | | pass |
| | | |
| | | config = DummyConfigurator() |
| | |
| | | |
| | | dec = self._makeOne(IFoo, IBar) |
| | | |
| | | def foo(): |
| | | def foo(): # pragma: no cover |
| | | pass |
| | | |
| | | config = DummyConfigurator() |
| | |
| | | |
| | | dec = self._makeOne() |
| | | |
| | | def foo(): |
| | | def foo(): # pragma: no cover |
| | | pass |
| | | |
| | | config = DummyConfigurator() |
| | |
| | | |
| | | dec = self._makeOne([IFoo, IBar]) |
| | | |
| | | def foo(): |
| | | def foo(): # pragma: no cover |
| | | pass |
| | | |
| | | config = DummyConfigurator() |
| | |
| | | dummy_venusian = DummyVenusian() |
| | | dec.venusian = dummy_venusian |
| | | |
| | | def foo(): |
| | | def foo(): # pragma: no cover |
| | | pass |
| | | |
| | | dec(foo) |
| | |
| | | dummy_venusian = DummyVenusian() |
| | | dec.venusian = dummy_venusian |
| | | |
| | | def foo(): |
| | | def foo(): # pragma: no cover |
| | | pass |
| | | |
| | | dec(foo) |
| | |
| | | |
| | | dec = self._makeOne(a=1) |
| | | |
| | | def foo(): |
| | | def foo(): # pragma: no cover |
| | | pass |
| | | |
| | | config = DummyConfigurator() |
| | |
| | | # -*- coding: utf-8 -*- |
| | | # |
| | | import os |
| | | import unittest |
| | | from pyramid import testing |
| | | |
| | | here = os.path.dirname(__file__) |
| | | localedir = os.path.join(here, 'pkgs', 'localeapp', 'locale') |
| | | |
| | | import unittest |
| | | from pyramid import testing |
| | | |
| | | |
| | | class TestTranslationString(unittest.TestCase): |
| | |
| | | # -*- coding: utf-8 -*- |
| | | |
| | | import datetime |
| | | import gc |
| | | import locale |
| | | import os |
| | | import unittest |
| | | from webtest import TestApp |
| | | from zope.interface import Interface |
| | | |
| | | from pyramid.wsgi import wsgiapp |
| | | from pyramid.view import view_config |
| | |
| | | from pyramid.testing import skip_on |
| | | from pyramid.compat import text_, url_quote |
| | | |
| | | from zope.interface import Interface |
| | | from webtest import TestApp |
| | | from .pkgs.exceptionviewapp.models import AnException, NotAnException |
| | | |
| | | # 5 years from now (more or less) |
| | | fiveyrsfuture = datetime.datetime.utcnow() + datetime.timedelta(5 * 365) |
| | |
| | | import types |
| | | |
| | | self.assertTrue(getattr(wsgiapptest, ATTACH_ATTR)) |
| | | self.assertTrue(type(wsgiapptest) is types.FunctionType) |
| | | self.assertIsInstance(wsgiapptest, types.FunctionType) |
| | | context = DummyContext() |
| | | request = DummyRequest() |
| | | result = wsgiapptest(context, request) |
| | |
| | | |
| | | |
| | | class TestViewPermissionBug(IntegrationBase, unittest.TestCase): |
| | | # view_execution_permitted bug as reported by Shane at http://lists.repoze.org/pipermail/repoze-dev/2010-October/003603.html |
| | | # view_execution_permitted bug as reported by Shane at |
| | | # http://lists.repoze.org/pipermail/repoze-dev/2010-October/003603.html |
| | | package = 'tests.pkgs.permbugapp' |
| | | |
| | | def test_test(self): |
| | |
| | | |
| | | |
| | | class TestDefaultViewPermissionBug(IntegrationBase, unittest.TestCase): |
| | | # default_view_permission bug as reported by Wiggy at http://lists.repoze.org/pipermail/repoze-dev/2010-October/003602.html |
| | | # default_view_permission bug as reported by Wiggy at |
| | | # http://lists.repoze.org/pipermail/repoze-dev/2010-October/003602.html |
| | | package = 'tests.pkgs.defpermbugapp' |
| | | |
| | | def test_x(self): |
| | |
| | | res = self.testapp.get('/z', status=200) |
| | | self.assertTrue(b'public' in res.body) |
| | | |
| | | |
| | | from .pkgs.exceptionviewapp.models import AnException, NotAnException |
| | | |
| | | excroot = {'anexception': AnException(), 'notanexception': NotAnException()} |
| | | |
| | |
| | | import unittest |
| | | from zope.interface import implementer |
| | | from pyramid.interfaces import ILocation |
| | | |
| | | |
| | | class TestInside(unittest.TestCase): |
| | |
| | | self.assertEqual(result, [o3, o2, o1]) |
| | | result = list(self._callFUT(o1)) |
| | | self.assertEqual(result, [o1]) |
| | | |
| | | |
| | | from pyramid.interfaces import ILocation |
| | | from zope.interface import implementer |
| | | |
| | | |
| | | @implementer(ILocation) |
| | |
| | | import unittest |
| | | from zope.interface import Interface |
| | | from zope.interface import implementer |
| | | |
| | | |
| | | class TestRegistry(unittest.TestCase): |
| | |
| | | |
| | | def __hash__(self): |
| | | return hash((self.category_name,) + (self.discriminator,)) |
| | | |
| | | |
| | | from zope.interface import Interface |
| | | from zope.interface import implementer |
| | | |
| | | |
| | | class IDummyEvent(Interface): |
| | |
| | | from collections import deque |
| | | import unittest |
| | | from pyramid import testing |
| | | |
| | |
| | | |
| | | def test__process_response_callback_adding_response_callback(self): |
| | | """ |
| | | When a response callback adds another callback, that new callback should still be called. |
| | | When a response callback adds another callback, that new callback |
| | | should still be called. |
| | | |
| | | See https://github.com/Pylons/pyramid/pull/1373 |
| | | """ |
| | |
| | | |
| | | dec = self._makeOne(IFoo) |
| | | |
| | | def foo(): |
| | | def foo(): # pragma: no cover |
| | | pass |
| | | |
| | | config = DummyConfigurator() |
| | |
| | | |
| | | dec = self._makeOne(IFoo, IBar) |
| | | |
| | | def foo(): |
| | | def foo(): # pragma: no cover |
| | | pass |
| | | |
| | | config = DummyConfigurator() |
| | |
| | | dummy_venusian = DummyVenusian() |
| | | dec.venusian = dummy_venusian |
| | | |
| | | def foo(): |
| | | def foo(): # pragma: no cover |
| | | pass |
| | | |
| | | dec(foo) |
| | |
| | | dummy_venusian = DummyVenusian() |
| | | dec.venusian = dummy_venusian |
| | | |
| | | def foo(): |
| | | def foo(): # pragma: no cover |
| | | pass |
| | | |
| | | dec(foo) |
| | |
| | | import unittest |
| | | from zope.interface import implementer |
| | | |
| | | from pyramid import testing |
| | | from pyramid.interfaces import IResponse |
| | | |
| | | |
| | | class TestRouter(unittest.TestCase): |
| | |
| | | def __call__(self, status, headers): |
| | | self.status = status |
| | | self.headers = headers |
| | | |
| | | |
| | | from pyramid.interfaces import IResponse |
| | | from zope.interface import implementer |
| | | |
| | | |
| | | @implementer(IResponse) |
| | |
| | | request.context = context |
| | | registry = request.registry = self._makeRegistry() |
| | | info = self._callFUT(request=request, registry=registry) |
| | | root, closer, root = info['root'], info['closer'], info['root'] |
| | | closer = info['closer'] |
| | | closer() |
| | | self.assertEqual(request.context, context) |
| | | |
| | |
| | | registry = request.registry = self._makeRegistry([exts, DummyFactory]) |
| | | info = self._callFUT(request=request, registry=registry) |
| | | self.assertEqual(request.foo, 'bar') |
| | | root, closer = info['root'], info['closer'] |
| | | closer = info['closer'] |
| | | closer() |
| | | |
| | | def test_it_is_a_context_manager(self): |
| | |
| | | from zope.interface import implementer |
| | | from pyramid.interfaces import IMultiView |
| | | |
| | | |
| | | class DummyTweens(object): |
| | | def __init__(self, implicit, explicit): |
| | | self._implicit = implicit |
| | |
| | | def __init__(self, **attrs): |
| | | self.__request_attrs__ = attrs |
| | | |
| | | def view(context, request): |
| | | def view(context, request): # pragma: no cover |
| | | pass |
| | | |
| | | |
| | | from zope.interface import implementer |
| | | from pyramid.interfaces import IMultiView |
| | | |
| | | |
| | | @implementer(IMultiView) |
| | |
| | | |
| | | registry = self._makeRegistry() |
| | | |
| | | def view(): |
| | | def view(): # pragma: no cover |
| | | pass |
| | | |
| | | class IMyRoute(Interface): |
| | |
| | | |
| | | registry = self._makeRegistry() |
| | | |
| | | def view(): |
| | | def view(): # pragma: no cover |
| | | pass |
| | | |
| | | class IMyRoute(Interface): |
| | |
| | | |
| | | registry = self._makeRegistry() |
| | | |
| | | def view(): |
| | | def view(): # pragma: no cover |
| | | pass |
| | | |
| | | class IMyRoute(Interface): |
| | |
| | | |
| | | registry = self._makeRegistry() |
| | | |
| | | def view(): |
| | | def view(): # pragma: no cover |
| | | pass |
| | | |
| | | class IMyRoot(Interface): |
| | |
| | | registry.registerUtility(IMyRoute, IRouteRequest, name='a') |
| | | command = self._makeOne() |
| | | |
| | | def factory(request): |
| | | def factory(request): # pragma: no cover |
| | | pass |
| | | |
| | | route = dummy.DummyRoute('a', '/a', factory=factory) |
| | |
| | | |
| | | registry = self._makeRegistry() |
| | | |
| | | def view(): |
| | | def view(): # pragma: no cover |
| | | pass |
| | | |
| | | class IMyRoute(Interface): |
| | |
| | | def test_one_route_all_methods_view_only_post(self): |
| | | from pyramid.renderers import null_renderer as nr |
| | | |
| | | def view1(context, request): |
| | | def view1(context, request): # pragma: no cover |
| | | return 'view1' |
| | | |
| | | config = self._makeConfig(autocommit=True) |
| | |
| | | def test_one_route_only_post_view_all_methods(self): |
| | | from pyramid.renderers import null_renderer as nr |
| | | |
| | | def view1(context, request): |
| | | def view1(context, request): # pragma: no cover |
| | | return 'view1' |
| | | |
| | | config = self._makeConfig(autocommit=True) |
| | |
| | | def test_one_route_only_post_view_post_and_get(self): |
| | | from pyramid.renderers import null_renderer as nr |
| | | |
| | | def view1(context, request): |
| | | def view1(context, request): # pragma: no cover |
| | | return 'view1' |
| | | |
| | | config = self._makeConfig(autocommit=True) |
| | |
| | | def test_route_request_method_mismatch(self): |
| | | from pyramid.renderers import null_renderer as nr |
| | | |
| | | def view1(context, request): |
| | | def view1(context, request): # pragma: no cover |
| | | return 'view1' |
| | | |
| | | config = self._makeConfig(autocommit=True) |
| | |
| | | self.assertEqual(compare_to, expected) |
| | | |
| | | def test_route_static_views(self): |
| | | from pyramid.renderers import null_renderer as nr |
| | | |
| | | config = self._makeConfig(autocommit=True) |
| | | config.add_static_view('static', 'static', cache_max_age=3600) |
| | | path2 = os.path.normpath('/var/www/static') |
| | |
| | | self.assertEqual(data, expected[index]) |
| | | |
| | | def test_route_no_view(self): |
| | | from pyramid.renderers import null_renderer as nr |
| | | |
| | | config = self._makeConfig(autocommit=True) |
| | | config.add_route('foo', '/a/b', request_method='POST') |
| | | |
| | |
| | | |
| | | config1 = self._makeConfig(autocommit=True) |
| | | |
| | | def view1(context, request): |
| | | def view1(context, request): # pragma: no cover |
| | | return 'view1' |
| | | |
| | | config1.add_route('foo', '/a/b', request_method='POST') |
| | |
| | | from pyramid.renderers import null_renderer as nr |
| | | from pyramid.config import not_ |
| | | |
| | | def view1(context, request): |
| | | def view1(context, request): # pragma: no cover |
| | | return 'view1' |
| | | |
| | | config = self._makeConfig(autocommit=True) |
| | |
| | | from pyramid.renderers import null_renderer as nr |
| | | from pyramid.config import not_ |
| | | |
| | | def view1(context, request): |
| | | def view1(context, request): # pragma: no cover |
| | | return 'view1' |
| | | |
| | | config = self._makeConfig(autocommit=True) |
| | |
| | | from pyramid.renderers import null_renderer as nr |
| | | from pyramid.config import not_ |
| | | |
| | | def view1(context, request): |
| | | def view1(context, request): # pragma: no cover |
| | | return 'view1' |
| | | |
| | | def view2(context, request): |
| | | def view2(context, request): # pragma: no cover |
| | | return 'view2' |
| | | |
| | | config = self._makeConfig(autocommit=True) |
| | |
| | | from pyramid.renderers import null_renderer as nr |
| | | from pyramid.config import not_ |
| | | |
| | | def view1(context, request): |
| | | def view1(context, request): # pragma: no cover |
| | | return 'view1' |
| | | |
| | | config = self._makeConfig(autocommit=True) |
| | |
| | | from pyramid.renderers import null_renderer as nr |
| | | from pyramid.config import not_ |
| | | |
| | | def view1(context, request): |
| | | def view1(context, request): # pragma: no cover |
| | | return 'view1' |
| | | |
| | | config = self._makeConfig(autocommit=True) |
| | |
| | | from pyramid.renderers import null_renderer as nr |
| | | from pyramid.config import not_ |
| | | |
| | | def view1(context, request): |
| | | def view1(context, request): # pragma: no cover |
| | | return 'view1' |
| | | |
| | | config = self._makeConfig(autocommit=True) |
| | |
| | | from pyramid.renderers import null_renderer as nr |
| | | from pyramid.config import not_ |
| | | |
| | | def view1(context, request): |
| | | def view1(context, request): # pragma: no cover |
| | | return 'view1' |
| | | |
| | | config = self._makeConfig(autocommit=True) |
| | |
| | | from pyramid.renderers import null_renderer as nr |
| | | from pyramid.config import not_ |
| | | |
| | | def view1(context, request): |
| | | def view1(context, request): # pragma: no cover |
| | | return 'view1' |
| | | |
| | | config = self._makeConfig(autocommit=True) |
| | |
| | | self.assertEqual(L[0].split(), ['Method', 'Name']) |
| | | |
| | | def test_static_routes_included_in_list(self): |
| | | from pyramid.renderers import null_renderer as nr |
| | | |
| | | config = self._makeConfig(autocommit=True) |
| | | config.add_route('foo', 'http://example.com/bar.aspx', static=True) |
| | | |
| | |
| | | self.assertEqual(result, 0) |
| | | self.assertEqual( |
| | | L[0], |
| | | '"pyramid.tweens" config value set (explicitly ordered tweens used)', |
| | | '"pyramid.tweens" config value set (explicitly ordered tweens ' |
| | | 'used)', |
| | | ) |
| | | |
| | | def test__get_tweens(self): |
| | |
| | | |
| | | registry = Registry() |
| | | |
| | | def view1(): |
| | | def view1(): # pragma: no cover |
| | | pass |
| | | |
| | | request = dummy.DummyRequest({'PATH_INFO': '/a'}) |
| | |
| | | |
| | | registry = Registry() |
| | | |
| | | def view(): |
| | | def view(): # pragma: no cover |
| | | pass |
| | | |
| | | class IMyRoot(Interface): |
| | |
| | | |
| | | registry = Registry() |
| | | |
| | | def view1(): |
| | | def view1(): # pragma: no cover |
| | | pass |
| | | |
| | | def view2(): |
| | | def view2(): # pragma: no cover |
| | | pass |
| | | |
| | | class IMyRoot(Interface): |
| | |
| | | |
| | | registry = Registry() |
| | | |
| | | def view1(): |
| | | def view1(): # pragma: no cover |
| | | pass |
| | | |
| | | def view2(): |
| | | def view2(): # pragma: no cover |
| | | pass |
| | | |
| | | class IMyRoot(Interface): |
| | |
| | | def test__find_multi_routes_all_match(self): |
| | | command = self._makeOne() |
| | | |
| | | def factory(request): |
| | | def factory(request): # pragma: no cover |
| | | pass |
| | | |
| | | routes = [ |
| | |
| | | def test__find_multi_routes_some_match(self): |
| | | command = self._makeOne() |
| | | |
| | | def factory(request): |
| | | def factory(request): # pragma: no cover |
| | | pass |
| | | |
| | | routes = [ |
| | |
| | | def test__find_multi_routes_none_match(self): |
| | | command = self._makeOne() |
| | | |
| | | def factory(request): |
| | | def factory(request): # pragma: no cover |
| | | pass |
| | | |
| | | routes = [ |
| | |
| | | L = [] |
| | | command.out = L.append |
| | | |
| | | def view(): |
| | | def view(): # pragma: no cover |
| | | pass |
| | | |
| | | view.__request_attrs__ = {'context': 'context', 'view_name': 'a'} |
| | |
| | | L = [] |
| | | command.out = L.append |
| | | |
| | | def predicate(): |
| | | def predicate(): # pragma: no cover |
| | | pass |
| | | |
| | | predicate.text = lambda *arg: "predicate = x" |
| | |
| | | L = [] |
| | | command.out = L.append |
| | | |
| | | def predicate(): |
| | | def predicate(): # pragma: no cover |
| | | pass |
| | | |
| | | predicate.text = lambda *arg: "predicate = x" |
| | |
| | | L = [] |
| | | command.out = L.append |
| | | |
| | | def predicate(): |
| | | def predicate(): # pragma: no cover |
| | | pass |
| | | |
| | | predicate.text = lambda *arg: "predicate = x" |
| | |
| | | import unittest |
| | | from zope.component import getSiteManager |
| | | from zope.interface import Interface |
| | | from zope.interface import implementer |
| | | from pyramid import testing |
| | | |
| | | |
| | |
| | | return skip_on(*platforms) |
| | | |
| | | def test_wrong_platform(self): |
| | | def foo(): |
| | | def foo(): # pragma: no cover |
| | | return True |
| | | |
| | | decorated = self._callFUT('wrong')(foo) |
| | |
| | | token = session.get_csrf_token() |
| | | self.assertNotEqual(token, None) |
| | | self.assertTrue(len(token) >= 1) |
| | | |
| | | |
| | | from zope.interface import Interface |
| | | from zope.interface import implementer |
| | | |
| | | |
| | | class IDummy(Interface): |
| | |
| | | |
| | | def test_segments_with_unsafes(self): |
| | | safe_segments = tuple( |
| | | u"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-._~!$&'()*+,;=:@" |
| | | u"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" |
| | | u"-._~!$&'()*+,;=:@" |
| | | ) |
| | | result = self._callFUT(safe_segments) |
| | | self.assertEqual(result, u'/'.join(safe_segments)) |
| | |
| | | def test_it_reraises_on_mismatch(self): |
| | | from pyramid.request import Request |
| | | |
| | | def excview(request): |
| | | def excview(request): # pragma: no cover |
| | | pass |
| | | |
| | | self.config.add_view(excview, context=ValueError, request_method='GET') |
| | |
| | | import os |
| | | import unittest |
| | | import warnings |
| | | |
| | | from pyramid import testing |
| | | |
| | |
| | | self.assertEqual(route.path, ':path') |
| | | self.assertEqual(route.name, 'name') |
| | | self.assertEqual(route.factory, 'factory') |
| | | self.assertTrue(route.generate.__class__ is types.FunctionType) |
| | | self.assertTrue(route.match.__class__ is types.FunctionType) |
| | | self.assertIsInstance(route.generate, types.FunctionType) |
| | | self.assertIsInstance(route.match, types.FunctionType) |
| | | |
| | | def test_ctor_defaults(self): |
| | | import types |
| | |
| | | self.assertEqual(route.path, ':path') |
| | | self.assertEqual(route.name, 'name') |
| | | self.assertEqual(route.factory, None) |
| | | self.assertTrue(route.generate.__class__ is types.FunctionType) |
| | | self.assertTrue(route.match.__class__ is types.FunctionType) |
| | | self.assertIsInstance(route.generate, types.FunctionType) |
| | | self.assertIsInstance(route.match, types.FunctionType) |
| | | |
| | | def test_match(self): |
| | | route = self._makeOne('name', ':path') |
| | |
| | | ) |
| | | self.matches('*traverse', '/zzz/abc', {'traverse': ('zzz', 'abc')}) |
| | | self.matches('*traverse', '/zzz/ abc', {'traverse': ('zzz', ' abc')}) |
| | | #'/La%20Pe%C3%B1a' |
| | | # '/La%20Pe%C3%B1a' |
| | | self.matches( |
| | | '{x}', |
| | | text_(b'/La Pe\xc3\xb1a', 'utf-8'), |
| | |
| | | ) |
| | | self.matches('*traverse', '/zzz/abc', {'traverse': ('zzz', 'abc')}) |
| | | self.matches('*traverse', '/zzz/ abc', {'traverse': ('zzz', ' abc')}) |
| | | #'/La%20Pe%C3%B1a' |
| | | # '/La%20Pe%C3%B1a' |
| | | # pattern, path, expected |
| | | self.matches( |
| | | ':x', |
| | |
| | | self.assertEqual(1, foo.y) |
| | | |
| | | def test_property_without_name(self): |
| | | def worker(obj): |
| | | def worker(obj): # pragma: no cover |
| | | pass |
| | | |
| | | foo = Dummy() |
| | |
| | | self.assertEqual(2, foo.x) |
| | | |
| | | def test_property_with_reify(self): |
| | | def worker(obj): |
| | | def worker(obj): # pragma: no cover |
| | | pass |
| | | |
| | | foo = Dummy() |
| | |
| | | ) |
| | | |
| | | def test_override_property(self): |
| | | def worker(obj): |
| | | def worker(obj): # pragma: no cover |
| | | pass |
| | | |
| | | foo = Dummy() |
| | |
| | | self.assertRaises(AttributeError, doit) |
| | | |
| | | def test_override_reify(self): |
| | | def worker(obj): |
| | | def worker(obj): # pragma: no cover |
| | | pass |
| | | |
| | | foo = Dummy() |
| | |
| | | self.assertEqual(1, foo.y) |
| | | |
| | | def test_property_without_name(self): |
| | | def worker(obj): |
| | | def worker(obj): # pragma: no cover |
| | | pass |
| | | |
| | | foo = self._makeOne() |
| | |
| | | self.assertEqual(2, foo.x) |
| | | |
| | | def test_property_with_reify(self): |
| | | def worker(obj): |
| | | def worker(obj): # pragma: no cover |
| | | pass |
| | | |
| | | foo = self._makeOne() |
| | |
| | | ) |
| | | |
| | | def test_override_property(self): |
| | | def worker(obj): |
| | | def worker(obj): # pragma: no cover |
| | | pass |
| | | |
| | | foo = self._makeOne() |
| | |
| | | self.assertRaises(AttributeError, doit) |
| | | |
| | | def test_override_reify(self): |
| | | def worker(obj): |
| | | def worker(obj): # pragma: no cover |
| | | pass |
| | | |
| | | foo = self._makeOne() |
| | |
| | | self.assertTrue('foo' not in obj.__dict__) |
| | | |
| | | |
| | | def dummyfunc(): |
| | | def dummyfunc(): # pragma: no cover |
| | | pass |
| | | |
| | | |
| | |
| | | import unittest |
| | | from zope.interface import Interface |
| | | from zope.interface import implementer |
| | | import sys |
| | | |
| | | from zope.interface import implementer |
| | | |
| | | from pyramid import testing |
| | | |
| | | from pyramid.interfaces import IRequest |
| | | from pyramid.interfaces import IResponse |
| | | |
| | | |
| | | class BaseTest(object): |
| | |
| | | ) |
| | | |
| | | def test_it_function(self): |
| | | def view(request): |
| | | def view(request): # pragma: no cover |
| | | pass |
| | | |
| | | decorator = self._makeOne( |
| | |
| | | venusian = DummyVenusian() |
| | | decorator.venusian = venusian |
| | | |
| | | def foo(): |
| | | def foo(): # pragma: no cover |
| | | pass |
| | | |
| | | decorator(foo) |
| | |
| | | ) |
| | | |
| | | def test_it_function(self): |
| | | def view(request): |
| | | def view(request): # pragma: no cover |
| | | pass |
| | | |
| | | decorator = self._makeOne(attr='attr', renderer='renderer') |
| | |
| | | venusian = DummyVenusian() |
| | | decorator.venusian = venusian |
| | | |
| | | def foo(): |
| | | def foo(): # pragma: no cover |
| | | pass |
| | | |
| | | decorator(foo) |
| | |
| | | ) |
| | | |
| | | def test_it_function(self): |
| | | def view(request): |
| | | def view(request): # pragma: no cover |
| | | pass |
| | | |
| | | decorator = self._makeOne(context=Exception, renderer='renderer') |
| | |
| | | venusian = DummyVenusian() |
| | | decorator.venusian = venusian |
| | | |
| | | def foo(): |
| | | def foo(): # pragma: no cover |
| | | pass |
| | | |
| | | decorator(foo) |
| | |
| | | venusian = DummyVenusian() |
| | | decorator.venusian = venusian |
| | | |
| | | def foo(): |
| | | def foo(): # pragma: no cover |
| | | pass |
| | | |
| | | wrapped = decorator(foo) |
| | |
| | | decorator2 = self._makeOne(name='2') |
| | | decorator2.venusian = venusian2 |
| | | |
| | | def foo(): |
| | | def foo(): # pragma: no cover |
| | | pass |
| | | |
| | | wrapped1 = decorator1(foo) |
| | |
| | | decorator.venusian = venusian |
| | | decorator.venusian.info.scope = 'class' |
| | | |
| | | def foo(self): |
| | | def foo(self): # pragma: no cover |
| | | pass |
| | | |
| | | def bar(self): |
| | | def bar(self): # pragma: no cover |
| | | pass |
| | | |
| | | class foo(object): |
| | |
| | | venusian = DummyVenusian() |
| | | decorator.venusian = venusian |
| | | |
| | | def foo(context, request): |
| | | def foo(context, request): # pragma: no cover |
| | | pass |
| | | |
| | | decorated = decorator(foo) |
| | |
| | | venusian = DummyVenusian() |
| | | decorator.venusian = venusian |
| | | |
| | | def foo(): |
| | | def foo(): # pragma: no cover |
| | | pass |
| | | |
| | | wrapped = decorator(foo) |
| | |
| | | venusian = DummyVenusian() |
| | | decorator.venusian = venusian |
| | | |
| | | def foo(): |
| | | def foo(): # pragma: no cover |
| | | pass |
| | | |
| | | wrapped = decorator(foo) |
| | |
| | | venusian = DummyVenusian() |
| | | decorator.venusian = venusian |
| | | |
| | | def foo(): |
| | | def foo(): # pragma: no cover |
| | | pass |
| | | |
| | | wrapped = decorator(foo) |
| | |
| | | venusian = DummyVenusian() |
| | | decorator.venusian = venusian |
| | | |
| | | def foo(): |
| | | def foo(): # pragma: no cover |
| | | pass |
| | | |
| | | decorator(foo) |
| | |
| | | venusian = DummyVenusian() |
| | | decorator.venusian = venusian |
| | | |
| | | def foo(): |
| | | def foo(): # pragma: no cover |
| | | pass |
| | | |
| | | decorator(foo) |
| | |
| | | venusian = DummyVenusian() |
| | | decorator.venusian = venusian |
| | | |
| | | def foo(): |
| | | def foo(): # pragma: no cover |
| | | pass |
| | | |
| | | decorator(foo) |
| | |
| | | def test_it_rejects_secured_view(self): |
| | | from pyramid.exceptions import Forbidden |
| | | |
| | | def exc_view(exc, request): |
| | | def exc_view(exc, request): # pragma: no cover |
| | | pass |
| | | |
| | | self.config.testing_securitypolicy(permissive=False) |
| | |
| | | def test_it_raises_predicate_mismatch(self): |
| | | from pyramid.exceptions import PredicateMismatch |
| | | |
| | | def exc_view(exc, request): |
| | | def exc_view(exc, request): # pragma: no cover |
| | | pass |
| | | |
| | | self.config.add_view( |
| | |
| | | self.fail() |
| | | |
| | | def test_it_reraises_after_predicate_mismatch(self): |
| | | def exc_view(exc, request): |
| | | def exc_view(exc, request): # pragma: no cover |
| | | pass |
| | | |
| | | self.config.add_view( |
| | |
| | | self.environ = environ |
| | | |
| | | |
| | | from pyramid.interfaces import IResponse |
| | | |
| | | |
| | | @implementer(IResponse) |
| | | class DummyResponse(object): |
| | | headerlist = () |
| | |
| | | self.app_iter = () |
| | | else: |
| | | self.app_iter = [body] |
| | | |
| | | |
| | | from zope.interface import Interface |
| | | |
| | | |
| | | class IContext(Interface): |
| | |
| | | msg = e.args[0] |
| | | self.assertTrue( |
| | | msg.startswith( |
| | | 'Could not convert return value of the view callable object ' |
| | | '<tests.test_viewderivers.' |
| | | 'Could not convert return value of the view callable ' |
| | | 'object <tests.test_viewderivers.' |
| | | ) |
| | | ) |
| | | self.assertTrue( |
| | | msg.endswith( |
| | | '> into a response object. The value returned was None. You ' |
| | | 'may have forgotten to return a value from the view callable.' |
| | | '> into a response object. The value returned was None. ' |
| | | 'You may have forgotten to return a value from the view ' |
| | | 'callable.' |
| | | ) |
| | | ) |
| | | else: # pragma: no cover |
| | |
| | | def view(request): |
| | | return r |
| | | |
| | | renderer = object() |
| | | result = self.config.derive_view(view) |
| | | self.assertFalse(result is view) |
| | | response = result(None, None) |
| | |
| | | from pyramid.interfaces import IAuthorizationPolicy |
| | | from pyramid.httpexceptions import HTTPForbidden |
| | | |
| | | def myview(request): |
| | | def myview(request): # pragma: no cover |
| | | pass |
| | | |
| | | self.config.registry.settings = {} |
| | |
| | | def view(request): |
| | | raise ValueError |
| | | |
| | | def excview(request): |
| | | def excview(request): # pragma: no cover |
| | | pass |
| | | |
| | | self._registerSecurityPolicy(False) |
| | |
| | | def test_predicate_mismatch_view_has_name(self): |
| | | from pyramid.exceptions import PredicateMismatch |
| | | |
| | | def myview(request): |
| | | def myview(request): # pragma: no cover |
| | | pass |
| | | |
| | | def predicate1(context, request): |
| | |
| | | def test_predicate_mismatch_exception_has_text_in_detail(self): |
| | | from pyramid.exceptions import PredicateMismatch |
| | | |
| | | def myview(request): |
| | | def myview(request): # pragma: no cover |
| | | pass |
| | | |
| | | def predicate1(context, request): |
| | |
| | | |
| | | return wrapped |
| | | |
| | | def view(context, request): |
| | | def view(context, request): # pragma: no cover |
| | | return 'NOTOK' |
| | | |
| | | result = self.config._derive_view(view, mapper=mapper) |
| | |
| | | |
| | | return inner |
| | | |
| | | def view(context, request): |
| | | def view(context, request): # pragma: no cover |
| | | return 'NOTOK' |
| | | |
| | | view.__view_mapper__ = mapper |
| | |
| | | |
| | | self.config.set_view_mapper(mapper) |
| | | |
| | | def view(context, request): |
| | | def view(context, request): # pragma: no cover |
| | | return 'NOTOK' |
| | | |
| | | result = self.config.derive_view(view) |
| | |
| | | def test_attr_wrapped_view_branching_default_phash(self): |
| | | from pyramid.config.util import DEFAULT_PHASH |
| | | |
| | | def view(context, request): |
| | | def view(context, request): # pragma: no cover |
| | | pass |
| | | |
| | | result = self.config._derive_view(view, phash=DEFAULT_PHASH) |
| | | self.assertEqual(result.__wraps__, view) |
| | | |
| | | def test_attr_wrapped_view_branching_nondefault_phash(self): |
| | | def view(context, request): |
| | | def view(context, request): # pragma: no cover |
| | | pass |
| | | |
| | | result = self.config._derive_view(view, phash='nondefault') |
| | |
| | | self.assertFalse('Cache-Control' in headers) |
| | | |
| | | def test_http_cached_view_bad_tuple(self): |
| | | def view(request): |
| | | def view(request): # pragma: no cover |
| | | pass |
| | | |
| | | self.assertRaises( |
| | |
| | | def test_csrf_view_fails_with_bad_POST_header(self): |
| | | from pyramid.exceptions import BadCSRFToken |
| | | |
| | | def inner_view(request): |
| | | def inner_view(request): # pragma: no cover |
| | | pass |
| | | |
| | | request = self._makeRequest() |
| | |
| | | def test_csrf_view_fails_with_bad_POST_token(self): |
| | | from pyramid.exceptions import BadCSRFToken |
| | | |
| | | def inner_view(request): |
| | | def inner_view(request): # pragma: no cover |
| | | pass |
| | | |
| | | request = self._makeRequest() |
| | |
| | | def test_csrf_view_fails_on_bad_PUT_header(self): |
| | | from pyramid.exceptions import BadCSRFToken |
| | | |
| | | def inner_view(request): |
| | | def inner_view(request): # pragma: no cover |
| | | pass |
| | | |
| | | request = self._makeRequest() |
| | |
| | | def test_csrf_view_fails_on_bad_referrer(self): |
| | | from pyramid.exceptions import BadCSRFOrigin |
| | | |
| | | def inner_view(request): |
| | | def inner_view(request): # pragma: no cover |
| | | pass |
| | | |
| | | request = self._makeRequest() |
| | |
| | | def test_csrf_view_fails_on_bad_origin(self): |
| | | from pyramid.exceptions import BadCSRFOrigin |
| | | |
| | | def inner_view(request): |
| | | def inner_view(request): # pragma: no cover |
| | | pass |
| | | |
| | | request = self._makeRequest() |
| | |
| | | def test_csrf_view_enabled_by_default(self): |
| | | from pyramid.exceptions import BadCSRFToken |
| | | |
| | | def inner_view(request): |
| | | def inner_view(request): # pragma: no cover |
| | | pass |
| | | |
| | | request = self._makeRequest() |
| | |
| | | |
| | | from pyramid.exceptions import BadCSRFToken |
| | | |
| | | def inner_view(request): |
| | | def inner_view(request): # pragma: no cover |
| | | pass |
| | | |
| | | request = self._makeRequest() |
| | |
| | | def view(request): |
| | | raise ValueError |
| | | |
| | | def excview(request): |
| | | def excview(request): # pragma: no cover |
| | | pass |
| | | |
| | | self.config.set_default_csrf_options(require_csrf=True) |
| | |
| | | self.assertFalse(response.deriv) |
| | | self.config.add_view_deriver(deriv, 'test_deriv') |
| | | |
| | | result = self.config._derive_view(view) |
| | | result = self.config._derive_view(view) # noqa: F841 |
| | | self.assertTrue(response.deriv) |
| | | |
| | | def test_override_deriver(self): |
| | |
| | | flags.clear() |
| | | view2 = AView() |
| | | self.config.add_view_deriver(deriv2, 'test_deriv') |
| | | result = self.config._derive_view(view2) |
| | | result = self.config._derive_view(view2) # noqa: F841 |
| | | self.assertFalse(flags.get('deriv1')) |
| | | self.assertTrue(flags.get('deriv2')) |
| | | |
| | |
| | | self.config.add_view_deriver( |
| | | deriv1, name='mapped_view', under='rendered_view', over=VIEW |
| | | ) |
| | | result = self.config._derive_view(view) |
| | | result = self.config._derive_view(view) # noqa: F841 |
| | | self.assertTrue(flags.get('deriv1')) |
| | | |
| | | def test_add_multi_derivers_ordered(self): |
| | |
| | | self.config.add_view_deriver(deriv1, 'deriv1') |
| | | self.config.add_view_deriver(deriv2, 'deriv2', INGRESS, 'deriv1') |
| | | self.config.add_view_deriver(deriv3, 'deriv3', 'deriv2', 'deriv1') |
| | | result = self.config._derive_view(view) |
| | | result = self.config._derive_view(view) # noqa: F841 |
| | | self.assertEqual(response.deriv, ['deriv1', 'deriv3', 'deriv2']) |
| | | |
| | | def test_add_deriver_without_name(self): |
| | | from pyramid.interfaces import IViewDerivers |
| | | |
| | | def deriv1(view, info): |
| | | def deriv1(view, info): # pragma: no cover |
| | | pass |
| | | |
| | | self.config.add_view_deriver(deriv1) |
| | |
| | | from pyramid.exceptions import ConfigurationError |
| | | from pyramid.viewderivers import INGRESS |
| | | |
| | | def deriv1(view, info): |
| | | def deriv1(view, info): # pragma: no cover |
| | | pass |
| | | |
| | | self.assertRaises( |
| | |
| | | from pyramid.exceptions import ConfigurationError |
| | | from pyramid.viewderivers import INGRESS |
| | | |
| | | def deriv1(view, info): |
| | | def deriv1(view, info): # pragma: no cover |
| | | pass |
| | | |
| | | try: |
| | |
| | | from pyramid.exceptions import ConfigurationError |
| | | from pyramid.viewderivers import VIEW |
| | | |
| | | def deriv1(view, info): |
| | | def deriv1(view, info): # pragma: no cover |
| | | pass |
| | | |
| | | try: |
| | |
| | | def test_add_deriver_enforces_mapped_view_is_last(self): |
| | | from pyramid.exceptions import ConfigurationError |
| | | |
| | | def deriv1(view, info): |
| | | def deriv1(view, info): # pragma: no cover |
| | | pass |
| | | |
| | | try: |
| | |
| | | def test_unexpected_view_options(self): |
| | | from pyramid.exceptions import ConfigurationError |
| | | |
| | | def deriv1(view, info): |
| | | def deriv1(view, info): # pragma: no cover |
| | | pass |
| | | |
| | | self.config.add_view_deriver(deriv1, 'deriv1') |