Beispiel #1
0
 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
Beispiel #2
0
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/')