summaryrefslogtreecommitdiff
path: root/tests/test_scripts/test_pviews.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_scripts/test_pviews.py')
-rw-r--r--tests/test_scripts/test_pviews.py272
1 files changed, 184 insertions, 88 deletions
diff --git a/tests/test_scripts/test_pviews.py b/tests/test_scripts/test_pviews.py
index 999028f28..cdb3c1c33 100644
--- a/tests/test_scripts/test_pviews.py
+++ b/tests/test_scripts/test_pviews.py
@@ -1,9 +1,11 @@
import unittest
from . import dummy
+
class TestPViewsCommand(unittest.TestCase):
def _getTargetClass(self):
from pyramid.scripts.pviews import PViewsCommand
+
return PViewsCommand
def _makeOne(self, registry=None):
@@ -15,17 +17,20 @@ class TestPViewsCommand(unittest.TestCase):
def _makeRequest(self, url, registry):
from pyramid.request import Request
+
request = Request.blank('/a')
request.registry = registry
return request
def _register_mapper(self, registry, routes):
from pyramid.interfaces import IRoutesMapper
+
mapper = dummy.DummyMapper(*routes)
registry.registerUtility(mapper, IRoutesMapper)
def test__find_view_no_match(self):
from pyramid.registry import Registry
+
registry = Registry()
self._register_mapper(registry, [])
command = self._makeOne(registry)
@@ -41,16 +46,19 @@ class TestPViewsCommand(unittest.TestCase):
from pyramid.interfaces import IMultiView
from pyramid.traversal import DefaultRootFactory
from pyramid.registry import Registry
+
registry = Registry()
+
@implementer(IMultiView)
class View1(object):
pass
- request = dummy.DummyRequest({'PATH_INFO':'/a'})
+
+ request = dummy.DummyRequest({'PATH_INFO': '/a'})
root = DefaultRootFactory(request)
root_iface = providedBy(root)
- registry.registerAdapter(View1(),
- (IViewClassifier, IRequest, root_iface),
- IMultiView)
+ registry.registerAdapter(
+ View1(), (IViewClassifier, IRequest, root_iface), IMultiView
+ )
self._register_mapper(registry, [])
command = self._makeOne(registry=registry)
request = self._makeRequest('/x', registry)
@@ -64,14 +72,18 @@ class TestPViewsCommand(unittest.TestCase):
from pyramid.interfaces import IView
from pyramid.traversal import DefaultRootFactory
from pyramid.registry import Registry
+
registry = Registry()
- def view1(): pass
- request = dummy.DummyRequest({'PATH_INFO':'/a'})
+
+ def view1():
+ pass
+
+ request = dummy.DummyRequest({'PATH_INFO': '/a'})
root = DefaultRootFactory(request)
root_iface = providedBy(root)
- registry.registerAdapter(view1,
- (IViewClassifier, IRequest, root_iface),
- IView, name='a')
+ registry.registerAdapter(
+ view1, (IViewClassifier, IRequest, root_iface), IView, name='a'
+ )
self._register_mapper(registry, [])
command = self._makeOne(registry=registry)
request = self._makeRequest('/a', registry)
@@ -86,17 +98,20 @@ class TestPViewsCommand(unittest.TestCase):
from pyramid.interfaces import IMultiView
from pyramid.traversal import DefaultRootFactory
from pyramid.registry import Registry
+
registry = Registry()
+
@implementer(IMultiView)
class View1(object):
pass
- request = dummy.DummyRequest({'PATH_INFO':'/a'})
+
+ request = dummy.DummyRequest({'PATH_INFO': '/a'})
root = DefaultRootFactory(request)
root_iface = providedBy(root)
view = View1()
- registry.registerAdapter(view,
- (IViewClassifier, IRequest, root_iface),
- IMultiView, name='a')
+ registry.registerAdapter(
+ view, (IViewClassifier, IRequest, root_iface), IMultiView, name='a'
+ )
self._register_mapper(registry, [])
command = self._makeOne(registry=registry)
request = self._makeRequest('/a', registry)
@@ -110,22 +125,32 @@ class TestPViewsCommand(unittest.TestCase):
from pyramid.interfaces import IViewClassifier
from pyramid.interfaces import IView
from pyramid.registry import Registry
+
registry = Registry()
- def view():pass
+
+ def view():
+ pass
+
class IMyRoot(Interface):
pass
+
class IMyRoute(Interface):
pass
- registry.registerAdapter(view,
- (IViewClassifier, IMyRoute, IMyRoot),
- IView, '')
+
+ 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)]
+
+ 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)
@@ -139,24 +164,37 @@ class TestPViewsCommand(unittest.TestCase):
from pyramid.interfaces import IMultiView
from pyramid.interfaces import IRootFactory
from pyramid.registry import Registry
+
registry = Registry()
- def view1():pass
- def view2():pass
+
+ 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={})]
+ 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)
@@ -172,30 +210,43 @@ class TestPViewsCommand(unittest.TestCase):
from pyramid.interfaces import IMultiView
from pyramid.interfaces import IRootFactory
from pyramid.registry import Registry
+
registry = Registry()
- def view1():pass
- def view2():pass
+
+ 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.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={})]
+ 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)
@@ -207,37 +258,58 @@ class TestPViewsCommand(unittest.TestCase):
def test__find_multi_routes_all_match(self):
command = self._makeOne()
- def factory(request): pass
- routes = [dummy.DummyRoute('a', '/a', factory=factory, matchdict={}),
- dummy.DummyRoute('b', '/a', factory=factory, matchdict={})]
+
+ def factory(request):
+ pass
+
+ routes = [
+ dummy.DummyRoute('a', '/a', factory=factory, matchdict={}),
+ dummy.DummyRoute('b', '/a', factory=factory, matchdict={}),
+ ]
mapper = dummy.DummyMapper(*routes)
- request = dummy.DummyRequest({'PATH_INFO':'/a'})
+ request = dummy.DummyRequest({'PATH_INFO': '/a'})
result = command._find_multi_routes(mapper, request)
- self.assertEqual(result, [{'match':{}, 'route':routes[0]},
- {'match':{}, 'route':routes[1]}])
-
+ self.assertEqual(
+ result,
+ [
+ {'match': {}, 'route': routes[0]},
+ {'match': {}, 'route': routes[1]},
+ ],
+ )
+
def test__find_multi_routes_some_match(self):
command = self._makeOne()
- def factory(request): pass
- routes = [dummy.DummyRoute('a', '/a', factory=factory),
- dummy.DummyRoute('b', '/a', factory=factory, matchdict={})]
+
+ def factory(request):
+ pass
+
+ routes = [
+ dummy.DummyRoute('a', '/a', factory=factory),
+ dummy.DummyRoute('b', '/a', factory=factory, matchdict={}),
+ ]
mapper = dummy.DummyMapper(*routes)
- request = dummy.DummyRequest({'PATH_INFO':'/a'})
+ request = dummy.DummyRequest({'PATH_INFO': '/a'})
result = command._find_multi_routes(mapper, request)
- self.assertEqual(result, [{'match':{}, 'route':routes[1]}])
-
+ self.assertEqual(result, [{'match': {}, 'route': routes[1]}])
+
def test__find_multi_routes_none_match(self):
command = self._makeOne()
- def factory(request): pass
- routes = [dummy.DummyRoute('a', '/a', factory=factory),
- dummy.DummyRoute('b', '/a', factory=factory)]
+
+ def factory(request):
+ pass
+
+ routes = [
+ dummy.DummyRoute('a', '/a', factory=factory),
+ dummy.DummyRoute('b', '/a', factory=factory),
+ ]
mapper = dummy.DummyMapper(*routes)
- request = dummy.DummyRequest({'PATH_INFO':'/a'})
+ request = dummy.DummyRequest({'PATH_INFO': '/a'})
result = command._find_multi_routes(mapper, request)
self.assertEqual(result, [])
-
+
def test_views_command_not_found(self):
from pyramid.registry import Registry
+
registry = Registry()
command = self._makeOne(registry=registry)
L = []
@@ -252,6 +324,7 @@ class TestPViewsCommand(unittest.TestCase):
def test_views_command_not_found_url_starts_without_slash(self):
from pyramid.registry import Registry
+
registry = Registry()
command = self._makeOne(registry=registry)
L = []
@@ -266,6 +339,7 @@ class TestPViewsCommand(unittest.TestCase):
def test_views_command_single_view_traversal(self):
from pyramid.registry import Registry
+
registry = Registry()
command = self._makeOne(registry=registry)
L = []
@@ -279,16 +353,19 @@ class TestPViewsCommand(unittest.TestCase):
self.assertEqual(L[1], 'URL = /a')
self.assertEqual(L[3], ' context: context')
self.assertEqual(L[4], ' view name: a')
- self.assertEqual(L[8],
- ' tests.test_scripts.dummy.DummyView')
+ self.assertEqual(L[8], ' tests.test_scripts.dummy.DummyView')
def test_views_command_single_view_function_traversal(self):
from pyramid.registry import Registry
+
registry = Registry()
command = self._makeOne(registry=registry)
L = []
command.out = L.append
- def view(): pass
+
+ def view():
+ pass
+
view.__request_attrs__ = {'context': 'context', 'view_name': 'a'}
command._find_view = lambda arg1: view
command.args.config_uri = '/foo/bar/myapp.ini#myapp'
@@ -298,11 +375,11 @@ class TestPViewsCommand(unittest.TestCase):
self.assertEqual(L[1], 'URL = /a')
self.assertEqual(L[3], ' context: context')
self.assertEqual(L[4], ' view name: a')
- self.assertEqual(L[8],
- ' tests.test_scripts.test_pviews.view')
+ self.assertEqual(L[8], ' tests.test_scripts.test_pviews.view')
def test_views_command_single_view_traversal_with_permission(self):
from pyramid.registry import Registry
+
registry = Registry()
command = self._makeOne(registry=registry)
L = []
@@ -317,17 +394,20 @@ class TestPViewsCommand(unittest.TestCase):
self.assertEqual(L[1], 'URL = /a')
self.assertEqual(L[3], ' context: context')
self.assertEqual(L[4], ' view name: a')
- self.assertEqual(L[8],
- ' tests.test_scripts.dummy.DummyView')
+ self.assertEqual(L[8], ' tests.test_scripts.dummy.DummyView')
self.assertEqual(L[9], ' required permission = test')
def test_views_command_single_view_traversal_with_predicates(self):
from pyramid.registry import Registry
+
registry = Registry()
command = self._makeOne(registry=registry)
L = []
command.out = L.append
- def predicate(): pass
+
+ def predicate():
+ pass
+
predicate.text = lambda *arg: "predicate = x"
view = dummy.DummyView(context='context', view_name='a')
view.__predicates__ = [predicate]
@@ -339,19 +419,20 @@ class TestPViewsCommand(unittest.TestCase):
self.assertEqual(L[1], 'URL = /a')
self.assertEqual(L[3], ' context: context')
self.assertEqual(L[4], ' view name: a')
- self.assertEqual(L[8],
- ' tests.test_scripts.dummy.DummyView')
+ self.assertEqual(L[8], ' tests.test_scripts.dummy.DummyView')
self.assertEqual(L[9], ' view predicates (predicate = x)')
def test_views_command_single_view_route(self):
from pyramid.registry import Registry
+
registry = Registry()
command = self._makeOne(registry=registry)
L = []
command.out = L.append
route = dummy.DummyRoute('a', '/a', matchdict={})
- view = dummy.DummyView(context='context', view_name='a',
- matched_route=route, subpath='')
+ view = dummy.DummyView(
+ context='context', view_name='a', matched_route=route, subpath=''
+ )
command._find_view = lambda arg1: view
command.args.config_uri = '/foo/bar/myapp.ini#myapp'
command.args.url = '/a'
@@ -365,11 +446,11 @@ class TestPViewsCommand(unittest.TestCase):
self.assertEqual(L[9], ' route pattern: /a')
self.assertEqual(L[10], ' route path: /a')
self.assertEqual(L[11], ' subpath: ')
- self.assertEqual(L[15],
- ' tests.test_scripts.dummy.DummyView')
+ self.assertEqual(L[15], ' tests.test_scripts.dummy.DummyView')
def test_views_command_multi_view_nested(self):
from pyramid.registry import Registry
+
registry = Registry()
command = self._makeOne(registry=registry)
L = []
@@ -377,10 +458,12 @@ class TestPViewsCommand(unittest.TestCase):
view1 = dummy.DummyView(context='context', view_name='a1')
view1.__name__ = 'view1'
view1.__view_attr__ = 'call'
- multiview1 = dummy.DummyMultiView(view1, context='context',
- view_name='a1')
- multiview2 = dummy.DummyMultiView(multiview1, context='context',
- view_name='a')
+ multiview1 = dummy.DummyMultiView(
+ view1, context='context', view_name='a1'
+ )
+ multiview2 = dummy.DummyMultiView(
+ multiview1, context='context', view_name='a'
+ )
command._find_view = lambda arg1: multiview2
command.args.config_uri = '/foo/bar/myapp.ini#myapp'
command.args.url = '/a'
@@ -389,22 +472,25 @@ class TestPViewsCommand(unittest.TestCase):
self.assertEqual(L[1], 'URL = /a')
self.assertEqual(L[3], ' context: context')
self.assertEqual(L[4], ' view name: a')
- self.assertEqual(L[8],
- ' tests.test_scripts.dummy.DummyMultiView')
- self.assertEqual(L[12],
- ' tests.test_scripts.dummy.view1.call')
+ self.assertEqual(L[8], ' tests.test_scripts.dummy.DummyMultiView')
+ self.assertEqual(L[12], ' tests.test_scripts.dummy.view1.call')
def test_views_command_single_view_route_with_route_predicates(self):
from pyramid.registry import Registry
+
registry = Registry()
command = self._makeOne(registry=registry)
L = []
command.out = L.append
- def predicate(): pass
+
+ def predicate():
+ pass
+
predicate.text = lambda *arg: "predicate = x"
route = dummy.DummyRoute('a', '/a', matchdict={}, predicate=predicate)
- view = dummy.DummyView(context='context', view_name='a',
- matched_route=route, subpath='')
+ view = dummy.DummyView(
+ context='context', view_name='a', matched_route=route, subpath=''
+ )
command._find_view = lambda arg1: view
command.args.config_uri = '/foo/bar/myapp.ini#myapp'
command.args.url = '/a'
@@ -419,11 +505,11 @@ class TestPViewsCommand(unittest.TestCase):
self.assertEqual(L[10], ' route path: /a')
self.assertEqual(L[11], ' subpath: ')
self.assertEqual(L[12], ' route predicates (predicate = x)')
- self.assertEqual(L[16],
- ' tests.test_scripts.dummy.DummyView')
+ self.assertEqual(L[16], ' tests.test_scripts.dummy.DummyView')
def test_views_command_multiview(self):
from pyramid.registry import Registry
+
registry = Registry()
command = self._makeOne(registry=registry)
L = []
@@ -431,7 +517,9 @@ class TestPViewsCommand(unittest.TestCase):
view = dummy.DummyView(context='context')
view.__name__ = 'view'
view.__view_attr__ = 'call'
- multiview = dummy.DummyMultiView(view, context='context', view_name='a')
+ multiview = dummy.DummyMultiView(
+ view, context='context', view_name='a'
+ )
command._find_view = lambda arg1: multiview
command.args.config_uri = '/foo/bar/myapp.ini#myapp'
command.args.url = '/a'
@@ -440,11 +528,11 @@ class TestPViewsCommand(unittest.TestCase):
self.assertEqual(L[1], 'URL = /a')
self.assertEqual(L[3], ' context: context')
self.assertEqual(L[4], ' view name: a')
- self.assertEqual(L[8],
- ' tests.test_scripts.dummy.view.call')
+ self.assertEqual(L[8], ' tests.test_scripts.dummy.view.call')
def test_views_command_multiview_with_permission(self):
from pyramid.registry import Registry
+
registry = Registry()
command = self._makeOne(registry=registry)
L = []
@@ -453,7 +541,9 @@ class TestPViewsCommand(unittest.TestCase):
view.__name__ = 'view'
view.__view_attr__ = 'call'
view.__permission__ = 'test'
- multiview = dummy.DummyMultiView(view, context='context', view_name='a')
+ multiview = dummy.DummyMultiView(
+ view, context='context', view_name='a'
+ )
command._find_view = lambda arg1: multiview
command.args.config_uri = '/foo/bar/myapp.ini#myapp'
command.args.url = '/a'
@@ -462,23 +552,28 @@ class TestPViewsCommand(unittest.TestCase):
self.assertEqual(L[1], 'URL = /a')
self.assertEqual(L[3], ' context: context')
self.assertEqual(L[4], ' view name: a')
- self.assertEqual(L[8],
- ' tests.test_scripts.dummy.view.call')
+ self.assertEqual(L[8], ' tests.test_scripts.dummy.view.call')
self.assertEqual(L[9], ' required permission = test')
def test_views_command_multiview_with_predicates(self):
from pyramid.registry import Registry
+
registry = Registry()
command = self._makeOne(registry=registry)
L = []
command.out = L.append
- def predicate(): pass
+
+ def predicate():
+ pass
+
predicate.text = lambda *arg: "predicate = x"
view = dummy.DummyView(context='context')
view.__name__ = 'view'
view.__view_attr__ = 'call'
view.__predicates__ = [predicate]
- multiview = dummy.DummyMultiView(view, context='context', view_name='a')
+ multiview = dummy.DummyMultiView(
+ view, context='context', view_name='a'
+ )
command._find_view = lambda arg1: multiview
command.args.config_uri = '/foo/bar/myapp.ini#myapp'
command.args.url = '/a'
@@ -487,13 +582,14 @@ class TestPViewsCommand(unittest.TestCase):
self.assertEqual(L[1], 'URL = /a')
self.assertEqual(L[3], ' context: context')
self.assertEqual(L[4], ' view name: a')
- self.assertEqual(L[8],
- ' tests.test_scripts.dummy.view.call')
+ self.assertEqual(L[8], ' tests.test_scripts.dummy.view.call')
self.assertEqual(L[9], ' view predicates (predicate = x)')
+
class Test_main(unittest.TestCase):
def _callFUT(self, argv):
from pyramid.scripts.pviews import main
+
return main(argv, quiet=True)
def test_it(self):