summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMichael Merickel <michael@merickel.org>2018-11-14 20:35:39 -0600
committerMichael Merickel <michael@merickel.org>2018-11-14 20:36:00 -0600
commita705f56c3ebf34f25ab567d85b7d5b421983aa4a (patch)
tree515498bb3f375807db95391b240a7df3ab247aca /tests
parent0b570220d9f442700eb97c5a5c4eca6ab03a1ee4 (diff)
downloadpyramid-a705f56c3ebf34f25ab567d85b7d5b421983aa4a.tar.gz
pyramid-a705f56c3ebf34f25ab567d85b7d5b421983aa4a.tar.bz2
pyramid-a705f56c3ebf34f25ab567d85b7d5b421983aa4a.zip
rely on webob for request.path_info and request.scheme
Diffstat (limited to 'tests')
-rw-r--r--tests/test_config/test_testing.py14
-rw-r--r--tests/test_config/test_views.py6
-rw-r--r--tests/test_scripts/dummy.py5
-rw-r--r--tests/test_scripts/test_pviews.py18
-rw-r--r--tests/test_url.py1
-rw-r--r--tests/test_urldispatch.py44
6 files changed, 55 insertions, 33 deletions
diff --git a/tests/test_config/test_testing.py b/tests/test_config/test_testing.py
index ede31e1b6..870bbe9fa 100644
--- a/tests/test_config/test_testing.py
+++ b/tests/test_config/test_testing.py
@@ -69,23 +69,27 @@ class TestingConfiguratorMixinTests(unittest.TestCase):
config = self._makeOne(autocommit=True)
config.testing_resources(resources)
adapter = config.registry.getAdapter(None, ITraverser)
- result = adapter(DummyRequest({'PATH_INFO': '/ob1'}))
+ request = DummyRequest()
+ request.path_info = '/ob1'
+ result = adapter(request)
self.assertEqual(result['context'], ob1)
self.assertEqual(result['view_name'], '')
self.assertEqual(result['subpath'], ())
self.assertEqual(result['traversed'], (text_('ob1'),))
self.assertEqual(result['virtual_root'], ob1)
self.assertEqual(result['virtual_root_path'], ())
- result = adapter(DummyRequest({'PATH_INFO': '/ob2'}))
+ request = DummyRequest()
+ request.path_info = '/ob2'
+ result = adapter(request)
self.assertEqual(result['context'], ob2)
self.assertEqual(result['view_name'], '')
self.assertEqual(result['subpath'], ())
self.assertEqual(result['traversed'], (text_('ob2'),))
self.assertEqual(result['virtual_root'], ob2)
self.assertEqual(result['virtual_root_path'], ())
- self.assertRaises(
- KeyError, adapter, DummyRequest({'PATH_INFO': '/ob3'})
- )
+ request = DummyRequest()
+ request.path_info = '/ob3'
+ self.assertRaises(KeyError, adapter, request)
try:
config.begin()
self.assertEqual(find_resource(None, '/ob1'), ob1)
diff --git a/tests/test_config/test_views.py b/tests/test_config/test_views.py
index d530542b7..e25ee881e 100644
--- a/tests/test_config/test_views.py
+++ b/tests/test_config/test_views.py
@@ -1357,6 +1357,7 @@ class TestViewsConfigurationMixin(unittest.TestCase):
request_method='POST',
)
request = self._makeRequest(config)
+ request.path_info = '/'
request.method = 'POST'
request.params = {}
router = Router(config.registry)
@@ -1412,6 +1413,7 @@ class TestViewsConfigurationMixin(unittest.TestCase):
request_method='POST',
)
request = self._makeRequest(config)
+ request.path_info = '/'
request.method = 'POST'
request.params = {}
router = Router(config.registry)
@@ -2722,7 +2724,7 @@ class TestViewsConfigurationMixin(unittest.TestCase):
view, renderer=null_renderer, append_slash=True
)
request = self._makeRequest(config)
- request.environ['PATH_INFO'] = '/foo'
+ request.path_info = '/foo'
request.query_string = 'a=1&b=2'
request.path = '/scriptname/foo'
view = self._getViewCallable(
@@ -2751,7 +2753,7 @@ class TestViewsConfigurationMixin(unittest.TestCase):
view, renderer=null_renderer, append_slash=HTTPMovedPermanently
)
request = self._makeRequest(config)
- request.environ['PATH_INFO'] = '/foo'
+ request.path_info = '/foo'
request.query_string = 'a=1&b=2'
request.path = '/scriptname/foo'
view = self._getViewCallable(
diff --git a/tests/test_scripts/dummy.py b/tests/test_scripts/dummy.py
index 8e340f645..bb3475d39 100644
--- a/tests/test_scripts/dummy.py
+++ b/tests/test_scripts/dummy.py
@@ -81,8 +81,11 @@ class DummyRoute(object):
class DummyRequest:
application_url = 'http://example.com:5432'
script_name = ''
+ path_info = '/'
- def __init__(self, environ):
+ def __init__(self, environ=None):
+ if environ is None:
+ environ = {}
self.environ = environ
self.matchdict = {}
diff --git a/tests/test_scripts/test_pviews.py b/tests/test_scripts/test_pviews.py
index 0b26a9cf3..c8d29113f 100644
--- a/tests/test_scripts/test_pviews.py
+++ b/tests/test_scripts/test_pviews.py
@@ -53,7 +53,8 @@ class TestPViewsCommand(unittest.TestCase):
class View1(object):
pass
- request = dummy.DummyRequest({'PATH_INFO': '/a'})
+ request = dummy.DummyRequest()
+ request.path_info = '/a'
root = DefaultRootFactory(request)
root_iface = providedBy(root)
registry.registerAdapter(
@@ -78,7 +79,8 @@ class TestPViewsCommand(unittest.TestCase):
def view1(): # pragma: no cover
pass
- request = dummy.DummyRequest({'PATH_INFO': '/a'})
+ request = dummy.DummyRequest()
+ request.path_info = '/a'
root = DefaultRootFactory(request)
root_iface = providedBy(root)
registry.registerAdapter(
@@ -105,7 +107,8 @@ class TestPViewsCommand(unittest.TestCase):
class View1(object):
pass
- request = dummy.DummyRequest({'PATH_INFO': '/a'})
+ request = dummy.DummyRequest()
+ request.path_info = '/a'
root = DefaultRootFactory(request)
root_iface = providedBy(root)
view = View1()
@@ -267,7 +270,8 @@ class TestPViewsCommand(unittest.TestCase):
dummy.DummyRoute('b', '/a', factory=factory, matchdict={}),
]
mapper = dummy.DummyMapper(*routes)
- request = dummy.DummyRequest({'PATH_INFO': '/a'})
+ request = dummy.DummyRequest()
+ request.path_info = '/a'
result = command._find_multi_routes(mapper, request)
self.assertEqual(
result,
@@ -288,7 +292,8 @@ class TestPViewsCommand(unittest.TestCase):
dummy.DummyRoute('b', '/a', factory=factory, matchdict={}),
]
mapper = dummy.DummyMapper(*routes)
- request = dummy.DummyRequest({'PATH_INFO': '/a'})
+ request = dummy.DummyRequest()
+ request.path_info = '/a'
result = command._find_multi_routes(mapper, request)
self.assertEqual(result, [{'match': {}, 'route': routes[1]}])
@@ -303,7 +308,8 @@ class TestPViewsCommand(unittest.TestCase):
dummy.DummyRoute('b', '/a', factory=factory),
]
mapper = dummy.DummyMapper(*routes)
- request = dummy.DummyRequest({'PATH_INFO': '/a'})
+ request = dummy.DummyRequest()
+ request.path_info = '/a'
result = command._find_multi_routes(mapper, request)
self.assertEqual(result, [])
diff --git a/tests/test_url.py b/tests/test_url.py
index 94a0a61c9..a852f3301 100644
--- a/tests/test_url.py
+++ b/tests/test_url.py
@@ -25,6 +25,7 @@ class TestURLMethodsMixin(unittest.TestCase):
def __init__(self, environ):
self.environ = environ
+ self.scheme = environ.get('wsgi.url_scheme', 'http')
request = Request(environ)
request.registry = self.config.registry
diff --git a/tests/test_urldispatch.py b/tests/test_urldispatch.py
index b50e86b99..9296a50e1 100644
--- a/tests/test_urldispatch.py
+++ b/tests/test_urldispatch.py
@@ -59,9 +59,7 @@ class RoutesMapperTests(unittest.TestCase):
def _getRequest(self, **kw):
from pyramid.threadlocal import get_current_registry
- environ = {'SERVER_NAME': 'localhost', 'wsgi.url_scheme': 'http'}
- environ.update(kw)
- request = DummyRequest(environ)
+ request = DummyRequest(**kw)
reg = get_current_registry()
request.registry = reg
return request
@@ -83,7 +81,7 @@ class RoutesMapperTests(unittest.TestCase):
def test_no_route_matches(self):
mapper = self._makeOne()
- request = self._getRequest(PATH_INFO='/')
+ request = self._getRequest(path_info='/')
result = mapper(request)
self.assertEqual(result['match'], None)
self.assertEqual(result['route'], None)
@@ -130,16 +128,22 @@ class RoutesMapperTests(unittest.TestCase):
def test___call__pathinfo_cant_be_decoded(self):
from pyramid.exceptions import URLDecodeError
+ from pyramid.threadlocal import get_current_registry
+
+ class DummyRequest:
+ @property
+ def path_info(self):
+ return b'\xff\xfe\xe6\x00'.decode('utf-8')
mapper = self._makeOne()
- path_info = b'\xff\xfe\xe6\x00'.decode('latin-1')
- request = self._getRequest(PATH_INFO=path_info)
+ request = DummyRequest()
+ request.registry = get_current_registry()
self.assertRaises(URLDecodeError, mapper, request)
def test___call__route_matches(self):
mapper = self._makeOne()
mapper.connect('foo', 'archives/:action/:article')
- request = self._getRequest(PATH_INFO='/archives/action1/article1')
+ request = self._getRequest(path_info='/archives/action1/article1')
result = mapper(request)
self.assertEqual(result['route'], mapper.routes['foo'])
self.assertEqual(result['match']['action'], 'action1')
@@ -150,7 +154,7 @@ class RoutesMapperTests(unittest.TestCase):
mapper.connect(
'foo', 'archives/:action/:article', predicates=[lambda *arg: True]
)
- request = self._getRequest(PATH_INFO='/archives/action1/article1')
+ request = self._getRequest(path_info='/archives/action1/article1')
result = mapper(request)
self.assertEqual(result['route'], mapper.routes['foo'])
self.assertEqual(result['match']['action'], 'action1')
@@ -164,7 +168,7 @@ class RoutesMapperTests(unittest.TestCase):
predicates=[lambda *arg: True, lambda *arg: False],
)
mapper.connect('bar', 'archives/:action/:article')
- request = self._getRequest(PATH_INFO='/archives/action1/article1')
+ request = self._getRequest(path_info='/archives/action1/article1')
result = mapper(request)
self.assertEqual(result['route'], mapper.routes['bar'])
self.assertEqual(result['match']['action'], 'action1')
@@ -179,7 +183,7 @@ class RoutesMapperTests(unittest.TestCase):
return True
mapper.connect('foo', 'archives/:action/article1', predicates=[pred])
- request = self._getRequest(PATH_INFO='/archives/action1/article1')
+ request = self._getRequest(path_info='/archives/action1/article1')
mapper(request)
def test_cc_bug(self):
@@ -191,13 +195,13 @@ class RoutesMapperTests(unittest.TestCase):
'juri', 'licenses/:license_code/:license_version/:jurisdiction'
)
- request = self._getRequest(PATH_INFO='/licenses/1/v2/rdf')
+ request = self._getRequest(path_info='/licenses/1/v2/rdf')
result = mapper(request)
self.assertEqual(result['route'], mapper.routes['rdf'])
self.assertEqual(result['match']['license_code'], '1')
self.assertEqual(result['match']['license_version'], 'v2')
- request = self._getRequest(PATH_INFO='/licenses/1/v2/usa')
+ request = self._getRequest(path_info='/licenses/1/v2/usa')
result = mapper(request)
self.assertEqual(result['route'], mapper.routes['juri'])
self.assertEqual(result['match']['license_code'], '1')
@@ -207,7 +211,7 @@ class RoutesMapperTests(unittest.TestCase):
def test___call__root_route_matches(self):
mapper = self._makeOne()
mapper.connect('root', '')
- request = self._getRequest(PATH_INFO='/')
+ request = self._getRequest(path_info='/')
result = mapper(request)
self.assertEqual(result['route'], mapper.routes['root'])
self.assertEqual(result['match'], {})
@@ -215,7 +219,7 @@ class RoutesMapperTests(unittest.TestCase):
def test___call__root_route_matches2(self):
mapper = self._makeOne()
mapper.connect('root', '/')
- request = self._getRequest(PATH_INFO='/')
+ request = self._getRequest(path_info='/')
result = mapper(request)
self.assertEqual(result['route'], mapper.routes['root'])
self.assertEqual(result['match'], {})
@@ -223,7 +227,7 @@ class RoutesMapperTests(unittest.TestCase):
def test___call__root_route_when_path_info_empty(self):
mapper = self._makeOne()
mapper.connect('root', '/')
- request = self._getRequest(PATH_INFO='')
+ request = self._getRequest(path_info='')
result = mapper(request)
self.assertEqual(result['route'], mapper.routes['root'])
self.assertEqual(result['match'], {})
@@ -231,7 +235,7 @@ class RoutesMapperTests(unittest.TestCase):
def test___call__root_route_when_path_info_notempty(self):
mapper = self._makeOne()
mapper.connect('root', '/')
- request = self._getRequest(PATH_INFO='/')
+ request = self._getRequest(path_info='/')
result = mapper(request)
self.assertEqual(result['route'], mapper.routes['root'])
self.assertEqual(result['match'], {})
@@ -239,7 +243,7 @@ class RoutesMapperTests(unittest.TestCase):
def test___call__no_path_info(self):
mapper = self._makeOne()
mapper.connect('root', '/')
- request = self._getRequest()
+ request = self._getRequest(path_info='')
result = mapper(request)
self.assertEqual(result['route'], mapper.routes['root'])
self.assertEqual(result['match'], {})
@@ -643,8 +647,10 @@ class DummyContext(object):
class DummyRequest(object):
- def __init__(self, environ):
- self.environ = environ
+ scheme = 'http'
+
+ def __init__(self, **kw):
+ self.__dict__.update(kw)
class DummyRoute(object):