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"])
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'] )
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))
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>'])
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>'])
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)
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
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)
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
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)
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))
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'])
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'])
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>'])
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)
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'])