def _makeRequest(self, config, environ={}): from pyramid.request import Request from pyramid.interfaces import IRequestExtensions request = Request(environ) request.registry = config.registry request._set_extensions(config.registry.getUtility(IRequestExtensions)) return request
def test_includeme(testconfig, icons_dir): testconfig.get_settings()["icons_path"] = str(icons_dir) testconfig.include(pylf.icons) testconfig.commit() req_exts = testconfig.registry.queryUtility(IRequestExtensions) req = Request({}) req._set_extensions(req_exts) assert hasattr(req, "icon_path") icon_path = req.icon_path assert icon_path((None, None)) == "/icons/unknown.png" assert icon_path(("text/plain", None)) == "/icons/text-plain.png"
def test_directive_get_sockjs_manager(self): self.config.include('pyramid_sockjs') request = Request(self._environ) request.registry = self.registry self.registry.notify(NewRequest(request)) try: from pyramid.interfaces import IRequestExtensions extensions = self.registry.getUtility(IRequestExtensions) request._set_extensions(extensions) except ImportError: pass self.assertTrue(hasattr(request, 'get_sockjs_manager'))
def test_get_session_manager_unknown(self): request = Request(self._environ) request.registry = self.registry self.registry.notify(NewRequest(request)) try: from pyramid.interfaces import IRequestExtensions extensions = self.registry.getUtility(IRequestExtensions) request._set_extensions(extensions) except ImportError: pass self.assertRaises( KeyError, request.get_sockjs_manager, 'test') self.config.add_sockjs_route() self.assertRaises( KeyError, request.get_sockjs_manager, 'test')
def test_get_session_manager_default(self): import pyramid_sockjs self.config.add_sockjs_route() request = Request(self._environ) request.registry = self.registry self.registry.notify(NewRequest(request)) try: from pyramid.interfaces import IRequestExtensions extensions = self.registry.getUtility(IRequestExtensions) request._set_extensions(extensions) except ImportError: pass sm = request.get_sockjs_manager() self.assertIs(self.registry.__sockjs_managers__[''], sm)
def test_session_manager_route_url(self): import pyramid_sockjs name = 'example' self.config.add_sockjs_route(name, prefix='/chat-service') self.config.commit() request = Request(self._environ) request.registry = self.registry self.registry.notify(NewRequest(request)) try: from pyramid.interfaces import IRequestExtensions extensions = self.registry.getUtility(IRequestExtensions) request._set_extensions(extensions) except ImportError: pass sm = request.get_sockjs_manager(name) self.assertEqual( sm.route_url(request), 'http://example.com/chat-service/')