示例#1
0
    def test_single_route_one_view_registered(self):
        from zope.interface import Interface
        from pyramid.registry import Registry
        from pyramid.interfaces import IRouteRequest
        from pyramid.interfaces import IViewClassifier
        from pyramid.interfaces import IView

        registry = Registry()

        def view():
            pass

        class IMyRoute(Interface):
            pass

        registry.registerAdapter(view, (IViewClassifier, IMyRoute, Interface), IView, "")
        registry.registerUtility(IMyRoute, IRouteRequest, name="a")
        command = self._makeOne()
        route = DummyRoute("a", "/a")
        mapper = DummyMapper(route)
        command._get_mapper = lambda *arg: mapper
        L = []
        command.out = L.append
        app = DummyApp()
        app.registry = registry
        loadapp = DummyLoadApp(app)
        command.loadapp = (loadapp,)
        command.args = ("/foo/bar/myapp.ini", "myapp")
        result = command.command()
        self.assertEqual(result, None)
        self.assertEqual(len(L), 3)
        self.assertEqual(L[-1].split()[:4], ["a", "/a", "<function", "view"])
示例#2
0
 def test_single_route_one_view_registered(self):
     from zope.interface import Interface
     from pyramid.registry import Registry
     from pyramid.interfaces import IRouteRequest
     from pyramid.interfaces import IViewClassifier
     from pyramid.interfaces import IView
     registry = Registry()
     def view():pass
     class IMyRoute(Interface):
         pass
     registry.registerAdapter(view,
                              (IViewClassifier, IMyRoute, Interface),
                              IView, '')
     registry.registerUtility(IMyRoute, IRouteRequest, name='a')
     command = self._makeOne()
     route = dummy.DummyRoute('a', '/a')
     mapper = dummy.DummyMapper(route)
     command._get_mapper = lambda *arg: mapper
     L = []
     command.out = L.append
     command.bootstrap = (dummy.DummyBootstrap(registry=registry),)
     result = command.run()
     self.assertEqual(result, 0)
     self.assertEqual(len(L), 3)
     compare_to = L[-1].split()[:3]
     self.assertEqual(
         compare_to,
         ['a', '/a', 'pyramid.tests.test_scripts.test_proutes.view']
     )
示例#3
0
 def test__find_view_route_multiview_no_view_registered(self):
     from zope.interface import Interface
     from zope.interface import implementer
     from pyramid.interfaces import IRouteRequest
     from pyramid.interfaces import IMultiView
     from pyramid.interfaces import IRootFactory
     from pyramid.registry import Registry
     registry = Registry()
     def view1():pass
     def view2():pass
     class IMyRoot(Interface):
         pass
     class IMyRoute1(Interface):
         pass
     class IMyRoute2(Interface):
         pass
     registry.registerUtility(IMyRoute1, IRouteRequest, name='a')
     registry.registerUtility(IMyRoute2, IRouteRequest, name='b')
     @implementer(IMyRoot)
     class Factory(object):
         def __init__(self, request):
             pass
     registry.registerUtility(Factory, IRootFactory)
     routes = [dummy.DummyRoute('a', '/a', matchdict={}),
               dummy.DummyRoute('b', '/a', matchdict={})]
     self._register_mapper(registry, routes)
     command = self._makeOne(registry=registry)
     result = command._find_view('/a', registry)
     self.assertTrue(IMultiView.providedBy(result))
示例#4
0
 def test_single_route_one_view_registered_with_factory(self):
     from zope.interface import Interface
     from pyramid.registry import Registry
     from pyramid.interfaces import IRouteRequest
     from pyramid.interfaces import IViewClassifier
     from pyramid.interfaces import IView
     registry = Registry()
     def view():pass
     class IMyRoot(Interface):
         pass
     class IMyRoute(Interface):
         pass
     registry.registerAdapter(view,
                              (IViewClassifier, IMyRoute, IMyRoot),
                              IView, '')
     registry.registerUtility(IMyRoute, IRouteRequest, name='a')
     command = self._makeOne()
     def factory(request): pass
     route = DummyRoute('a', '/a', factory=factory)
     mapper = DummyMapper(route)
     command._get_mapper = lambda *arg: mapper
     L = []
     command.out = L.append
     app = DummyApp()
     app.registry = registry
     loadapp = DummyLoadApp(app)
     command.loadapp = (loadapp,)
     command.args = ('/foo/bar/myapp.ini', 'myapp')
     result = command.command()
     self.assertEqual(result, None)
     self.assertEqual(len(L), 3)
     self.assertEqual(L[-1].split()[:3], ['a', '/a', '<unknown>'])
示例#5
0
 def test_single_route_one_view_registered_with_factory(self):
     from zope.interface import Interface
     from pyramid.registry import Registry
     from pyramid.interfaces import IRouteRequest
     from pyramid.interfaces import IViewClassifier
     from pyramid.interfaces import IView
     registry = Registry()
     def view():pass
     class IMyRoot(Interface):
         pass
     class IMyRoute(Interface):
         pass
     registry.registerAdapter(view,
                              (IViewClassifier, IMyRoute, IMyRoot),
                              IView, '')
     registry.registerUtility(IMyRoute, IRouteRequest, name='a')
     command = self._makeOne()
     def factory(request): pass
     route = dummy.DummyRoute('a', '/a', factory=factory)
     mapper = dummy.DummyMapper(route)
     command._get_mapper = lambda *arg: mapper
     L = []
     command.out = L.append
     command.bootstrap = (dummy.DummyBootstrap(registry=registry),)
     result = command.run()
     self.assertEqual(result, None)
     self.assertEqual(len(L), 3)
     self.assertEqual(L[-1].split()[:3], ['a', '/a', '<unknown>'])
示例#6
0
 def test__find_view_route_no_multiview(self):
     from zope.interface import Interface
     from zope.interface import implementer
     from pyramid.interfaces import IRouteRequest
     from pyramid.interfaces import IViewClassifier
     from pyramid.interfaces import IView
     from pyramid.registry import Registry
     registry = Registry()
     def view():pass
     class IMyRoot(Interface):
         pass
     class IMyRoute(Interface):
         pass
     registry.registerAdapter(view,
                              (IViewClassifier, IMyRoute, IMyRoot),
                              IView, '')
     registry.registerUtility(IMyRoute, IRouteRequest, name='a')
     @implementer(IMyRoot)
     class Factory(object):
         def __init__(self, request):
             pass
     routes = [dummy.DummyRoute('a', '/a', factory=Factory, matchdict={}),
               dummy.DummyRoute('b', '/b', factory=Factory)]
     self._register_mapper(registry, routes)
     command = self._makeOne(registry=registry)
     result = command._find_view('/a', registry)
     self.assertEqual(result, view)
示例#7
0
def get_registry(settings):
    registry = Registry('testing')
    config = Configurator(registry=registry)
    if getattr(registry, 'settings', None) is None:
        config._set_settings(settings)
    registry.registerUtility(RoutesMapper(), IRoutesMapper)
    config.commit()
    return registry
示例#8
0
    def test__find_view_route_multiview(self):
        from zope.interface import Interface
        from zope.interface import implementer
        from pyramid.interfaces import IRouteRequest
        from pyramid.interfaces import IViewClassifier
        from pyramid.interfaces import IView
        from pyramid.interfaces import IMultiView
        from pyramid.interfaces import IRootFactory
        from pyramid.registry import Registry

        registry = Registry()

        def view1():  # pragma: no cover
            pass

        def view2():  # pragma: no cover
            pass

        class IMyRoot(Interface):
            pass

        class IMyRoute1(Interface):
            pass

        class IMyRoute2(Interface):
            pass

        registry.registerAdapter(
            view1, (IViewClassifier, IMyRoute1, IMyRoot), IView, ''
        )
        registry.registerAdapter(
            view2, (IViewClassifier, IMyRoute2, IMyRoot), IView, ''
        )
        registry.registerUtility(IMyRoute1, IRouteRequest, name='a')
        registry.registerUtility(IMyRoute2, IRouteRequest, name='b')

        @implementer(IMyRoot)
        class Factory(object):
            def __init__(self, request):
                pass

        registry.registerUtility(Factory, IRootFactory)
        routes = [
            dummy.DummyRoute('a', '/a', matchdict={}),
            dummy.DummyRoute('b', '/a', matchdict={}),
        ]
        self._register_mapper(registry, routes)
        command = self._makeOne(registry=registry)
        request = self._makeRequest('/a', registry)
        result = command._find_view(request)
        self.assertTrue(IMultiView.providedBy(result))
        self.assertEqual(len(result.views), 2)
        self.assertTrue((None, view1, None) in result.views)
        self.assertTrue((None, view2, None) in result.views)
示例#9
0
 def test_response_with_responsefactory(self):
     from pyramid.registry import Registry
     from pyramid.interfaces import IResponseFactory
     registry = Registry('this_test')
     class ResponseFactory(object):
         pass
     registry.registerUtility(ResponseFactory, IResponseFactory)
     request = self._makeOne()
     request.registry = registry
     resp = request.response
     self.assertEqual(resp.__class__, ResponseFactory)
     self.assertTrue(request.response is resp) # reified
示例#10
0
    def test__find_view_route_multiview(self):
        from zope.interface import Interface
        from zope.interface import implementer
        from pyramid.interfaces import IRouteRequest
        from pyramid.interfaces import IViewClassifier
        from pyramid.interfaces import IView
        from pyramid.interfaces import IMultiView
        from pyramid.interfaces import IRootFactory
        from pyramid.registry import Registry
        registry = Registry()

        def view1():
            pass

        def view2():
            pass

        class IMyRoot(Interface):
            pass

        class IMyRoute1(Interface):
            pass

        class IMyRoute2(Interface):
            pass

        registry.registerAdapter(view1, (IViewClassifier, IMyRoute1, IMyRoot),
                                 IView, '')
        registry.registerAdapter(view2, (IViewClassifier, IMyRoute2, IMyRoot),
                                 IView, '')
        registry.registerUtility(IMyRoute1, IRouteRequest, name='a')
        registry.registerUtility(IMyRoute2, IRouteRequest, name='b')

        @implementer(IMyRoot)
        class Factory(object):
            def __init__(self, request):
                pass

        registry.registerUtility(Factory, IRootFactory)
        routes = [
            dummy.DummyRoute('a', '/a', matchdict={}),
            dummy.DummyRoute('b', '/a', matchdict={})
        ]
        self._register_mapper(registry, routes)
        command = self._makeOne(registry=registry)
        result = command._find_view('/a', registry)
        self.assertTrue(IMultiView.providedBy(result))
        self.assertEqual(len(result.views), 2)
        self.assertTrue((None, view1, None) in result.views)
        self.assertTrue((None, view2, None) in result.views)
示例#11
0
    def test_response_with_responsefactory(self):
        from pyramid.registry import Registry
        from pyramid.interfaces import IResponseFactory
        registry = Registry('this_test')

        class ResponseFactory(object):
            pass

        registry.registerUtility(ResponseFactory, IResponseFactory)
        request = self._makeOne()
        request.registry = registry
        resp = request.response
        self.assertEqual(resp.__class__, ResponseFactory)
        self.assertTrue(request.response is resp)  # reified
示例#12
0
    def test__find_view_route_multiview_no_view_registered(self):
        from zope.interface import Interface
        from zope.interface import implementer
        from pyramid.interfaces import IRouteRequest
        from pyramid.interfaces import IMultiView
        from pyramid.interfaces import IRootFactory
        from pyramid.registry import Registry

        registry = Registry()

        def view1():  # pragma: no cover
            pass

        def view2():  # pragma: no cover
            pass

        class IMyRoot(Interface):
            pass

        class IMyRoute1(Interface):
            pass

        class IMyRoute2(Interface):
            pass

        registry.registerUtility(IMyRoute1, IRouteRequest, name='a')
        registry.registerUtility(IMyRoute2, IRouteRequest, name='b')

        @implementer(IMyRoot)
        class Factory:
            def __init__(self, request):
                pass

        registry.registerUtility(Factory, IRootFactory)
        routes = [
            dummy.DummyRoute('a', '/a', matchdict={}),
            dummy.DummyRoute('b', '/a', matchdict={}),
        ]
        self._register_mapper(registry, routes)
        command = self._makeOne(registry=registry)
        request = self._makeRequest('/a', registry)
        result = command._find_view(request)
        self.assertTrue(IMultiView.providedBy(result))
示例#13
0
    def test__find_view_route_multiview_no_view_registered(self):
        from zope.interface import Interface
        from zope.interface import implements
        from pyramid.interfaces import IRouteRequest
        from pyramid.interfaces import IMultiView
        from pyramid.interfaces import IRootFactory
        from pyramid.registry import Registry
        registry = Registry()

        def view1():
            pass

        def view2():
            pass

        class IMyRoot(Interface):
            pass

        class IMyRoute1(Interface):
            pass

        class IMyRoute2(Interface):
            pass

        registry.registerUtility(IMyRoute1, IRouteRequest, name='a')
        registry.registerUtility(IMyRoute2, IRouteRequest, name='b')

        class Factory(object):
            implements(IMyRoot)

            def __init__(self, request):
                pass

        registry.registerUtility(Factory, IRootFactory)
        routes = [
            DummyRoute('a', '/a', matchdict={}),
            DummyRoute('b', '/a', matchdict={})
        ]
        self._register_mapper(registry, routes)
        command = self._makeOne()
        result = command._find_view('/a', registry)
        self.failUnless(IMultiView.providedBy(result))
 def test_single_route_no_views_registered(self):
     from zope.interface import Interface
     from pyramid.registry import Registry
     from pyramid.interfaces import IRouteRequest
     registry = Registry()
     def view():pass
     class IMyRoute(Interface):
         pass
     registry.registerUtility(IMyRoute, IRouteRequest, name='a')
     command = self._makeOne()
     route = DummyRoute('a', '/a')
     mapper = DummyMapper(route)
     command._get_mapper = lambda *arg: mapper
     L = []
     command.out = L.append
     command.bootstrap = (DummyBootstrap(registry=registry),)
     result = command.command()
     self.assertEqual(result, None)
     self.assertEqual(len(L), 3)
     self.assertEqual(L[-1].split()[:3], ['a', '/a', 'None'])
示例#15
0
 def test_single_route_no_views_registered(self):
     from zope.interface import Interface
     from pyramid.registry import Registry
     from pyramid.interfaces import IRouteRequest
     registry = Registry()
     def view():pass
     class IMyRoute(Interface):
         pass
     registry.registerUtility(IMyRoute, IRouteRequest, name='a')
     command = self._makeOne()
     route = dummy.DummyRoute('a', '/a')
     mapper = dummy.DummyMapper(route)
     command._get_mapper = lambda *arg: mapper
     L = []
     command.out = L.append
     command.bootstrap = (dummy.DummyBootstrap(registry=registry),)
     result = command.run()
     self.assertEqual(result, None)
     self.assertEqual(len(L), 3)
     self.assertEqual(L[-1].split()[:3], ['a', '/a', 'None'])
示例#16
0
    def test_single_route_one_view_registered_with_factory(self):
        from zope.interface import Interface
        from pyramid.registry import Registry
        from pyramid.interfaces import IRouteRequest
        from pyramid.interfaces import IViewClassifier
        from pyramid.interfaces import IView
        registry = Registry()

        def view():
            pass

        class IMyRoot(Interface):
            pass

        class IMyRoute(Interface):
            pass

        registry.registerAdapter(view, (IViewClassifier, IMyRoute, IMyRoot),
                                 IView, '')
        registry.registerUtility(IMyRoute, IRouteRequest, name='a')
        command = self._makeOne()

        def factory(request):
            pass

        route = DummyRoute('a', '/a', factory=factory)
        mapper = DummyMapper(route)
        command._get_mapper = lambda *arg: mapper
        L = []
        command.out = L.append
        app = DummyApp()
        app.registry = registry
        loadapp = DummyLoadApp(app)
        command.loadapp = (loadapp, )
        command.args = ('/foo/bar/myapp.ini', 'myapp')
        result = command.command()
        self.assertEqual(result, None)
        self.assertEqual(len(L), 3)
        self.assertEqual(L[-1].split()[:3], ['a', '/a', '<unknown>'])
示例#17
0
    def test__find_view_route_no_multiview(self):
        from zope.interface import Interface
        from zope.interface import implementer
        from pyramid.interfaces import IRouteRequest
        from pyramid.interfaces import IViewClassifier
        from pyramid.interfaces import IView
        from pyramid.registry import Registry

        registry = Registry()

        def view():  # pragma: no cover
            pass

        class IMyRoot(Interface):
            pass

        class IMyRoute(Interface):
            pass

        registry.registerAdapter(
            view, (IViewClassifier, IMyRoute, IMyRoot), IView, ''
        )
        registry.registerUtility(IMyRoute, IRouteRequest, name='a')

        @implementer(IMyRoot)
        class Factory(object):
            def __init__(self, request):
                pass

        routes = [
            dummy.DummyRoute('a', '/a', factory=Factory, matchdict={}),
            dummy.DummyRoute('b', '/b', factory=Factory),
        ]
        self._register_mapper(registry, routes)
        command = self._makeOne(registry=registry)
        request = self._makeRequest('/a', registry)
        result = command._find_view(request)
        self.assertEqual(result, view)
示例#18
0
 def test_single_route_no_views_registered(self):
     from zope.interface import Interface
     from pyramid.registry import Registry
     from pyramid.interfaces import IRouteRequest
     registry = Registry()
     def view():pass
     class IMyRoute(Interface):
         pass
     registry.registerUtility(IMyRoute, IRouteRequest, name='a')
     command = self._makeOne()
     route = DummyRoute('a', '/a')
     mapper = DummyMapper(route)
     command._get_mapper = lambda *arg: mapper
     L = []
     command.out = L.append
     app = DummyApp()
     app.registry = registry
     loadapp = DummyLoadApp(app)
     command.loadapp = (loadapp,)
     command.args = ('/foo/bar/myapp.ini', 'myapp')
     result = command.command()
     self.assertEqual(result, None)
     self.assertEqual(len(L), 3)
     self.assertEqual(L[-1].split()[:3], ['a', '/a', 'None'])