create an add_default_renderers method on the configurator and use it from testing.setUp() and within the Configurator constructor
| | |
| | | from pyramid.config.assets import AssetsConfiguratorMixin |
| | | from pyramid.config.factories import FactoriesConfiguratorMixin |
| | | from pyramid.config.i18n import I18NConfiguratorMixin |
| | | from pyramid.config.rendering import DEFAULT_RENDERERS |
| | | from pyramid.config.rendering import RenderingConfiguratorMixin |
| | | from pyramid.config.routes import RoutesConfiguratorMixin |
| | | from pyramid.config.security import SecurityConfiguratorMixin |
| | |
| | | |
| | | registry.registerUtility(debug_logger, IDebugLogger) |
| | | |
| | | for name, renderer in DEFAULT_RENDERERS: |
| | | self.add_renderer(name, renderer) |
| | | |
| | | self.add_default_renderers() |
| | | self.add_default_view_predicates() |
| | | self.add_default_route_predicates() |
| | | |
| | |
| | | ) |
| | | |
| | | class RenderingConfiguratorMixin(object): |
| | | def add_default_renderers(self): |
| | | for name, renderer in DEFAULT_RENDERERS: |
| | | self.add_renderer(name, renderer) |
| | | |
| | | @action_method |
| | | def add_renderer(self, name, factory): |
| | | """ |
| | |
| | | # someone may be passing us an esoteric "dummy" registry, and |
| | | # the below won't succeed if it doesn't have a registerUtility |
| | | # method. |
| | | from pyramid.config import DEFAULT_RENDERERS |
| | | for name, renderer in DEFAULT_RENDERERS: |
| | | # Cause the default renderers to be registered because |
| | | # in-the-wild test code relies on being able to call |
| | | # e.g. ``pyramid.chameleon_zpt.render_template`` |
| | | # without registering a .pt renderer, expecting the "real" |
| | | # template to be rendered. This is a holdover from when |
| | | # individual template system renderers weren't indirected |
| | | # by the ``pyramid.renderers`` machinery, and |
| | | # ``render_template`` and friends went behind the back of |
| | | # any existing renderer factory lookup system. |
| | | config.add_renderer(name, renderer) |
| | | config.add_default_renderers() |
| | | config.add_default_view_predicates() |
| | | config.add_default_route_predicates() |
| | | config.commit() |
| | |
| | | config = Configurator(*arg, **kw) |
| | | return config |
| | | |
| | | def test_add_default_renderers(self): |
| | | from pyramid.config.rendering import DEFAULT_RENDERERS |
| | | from pyramid.interfaces import IRendererFactory |
| | | config = self._makeOne(autocommit=True) |
| | | config.add_default_renderers() |
| | | for name, impl in DEFAULT_RENDERERS: |
| | | self.assertTrue( |
| | | config.registry.queryUtility(IRendererFactory, name) is not None |
| | | ) |
| | | |
| | | def test_add_renderer(self): |
| | | from pyramid.interfaces import IRendererFactory |
| | | config = self._makeOne(autocommit=True) |