summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBert JW Regeer <bertjw@regeer.org>2013-09-05 23:14:06 -0600
committerBert JW Regeer <bertjw@regeer.org>2013-09-05 23:14:06 -0600
commit42afb08e143871feb847635d559400a60239c850 (patch)
treed75fd576862e6df801717b378bb58b93970a7723
parent6ef10d66720c0965764cca1a743db3997621392a (diff)
downloadpyramid-42afb08e143871feb847635d559400a60239c850.tar.gz
pyramid-42afb08e143871feb847635d559400a60239c850.tar.bz2
pyramid-42afb08e143871feb847635d559400a60239c850.zip
Fix tests on Python 3.x
-rw-r--r--pyramid/tests/test_config/test_views.py68
1 files changed, 38 insertions, 30 deletions
diff --git a/pyramid/tests/test_config/test_views.py b/pyramid/tests/test_config/test_views.py
index 00d04de7c..88f740323 100644
--- a/pyramid/tests/test_config/test_views.py
+++ b/pyramid/tests/test_config/test_views.py
@@ -47,7 +47,7 @@ class TestViewsConfigurationMixin(unittest.TestCase):
def __init__(self, info):
self.__class__.info = info
def __call__(self, *arg):
- return 'Hello!'
+ return b'Hello!'
config.registry.registerUtility(Renderer, IRendererFactory, name=name)
return Renderer
@@ -264,7 +264,7 @@ class TestViewsConfigurationMixin(unittest.TestCase):
wrapper = self._getViewCallable(config)
result = wrapper(None, None)
self.assertEqual(result, 'OK')
-
+
def test_add_view_as_instance_requestonly(self):
from pyramid.renderers import null_renderer
class AView:
@@ -994,7 +994,7 @@ class TestViewsConfigurationMixin(unittest.TestCase):
pass
foo = Foo()
bar = Bar()
-
+
from pyramid.interfaces import IRequest
from pyramid.interfaces import IView
from pyramid.interfaces import IViewClassifier
@@ -1056,7 +1056,7 @@ class TestViewsConfigurationMixin(unittest.TestCase):
def __init__(self, *arg, **kw):
pass
def __call__(self, *arg, **kw):
- return 'moo'
+ return b'moo'
config.add_renderer(None, moo)
config.add_view(view=view)
wrapper = self._getViewCallable(config)
@@ -1200,7 +1200,7 @@ class TestViewsConfigurationMixin(unittest.TestCase):
request = self._makeRequest(config)
request.method = 'HEAD'
self.assertEqual(wrapper(None, request), 'OK')
-
+
def test_add_view_with_request_param_noval_true(self):
from pyramid.renderers import null_renderer
view = lambda *arg: 'OK'
@@ -1587,7 +1587,7 @@ class TestViewsConfigurationMixin(unittest.TestCase):
context = DummyContext()
request = self._makeRequest(config)
self.assertRaises(PredicateMismatch, wrapper, context, request)
-
+
def test_add_view_with_view_config_and_view_defaults_doesnt_conflict(self):
from pyramid.renderers import null_renderer
class view(object):
@@ -1665,7 +1665,7 @@ class TestViewsConfigurationMixin(unittest.TestCase):
def __init__(self, view):
pass
def __call__(self, *arg, **kw):
- return 'foo'
+ return b'foo'
def view(request):
return 'OK'
config = self._makeOne()
@@ -1727,7 +1727,7 @@ class TestViewsConfigurationMixin(unittest.TestCase):
config.add_static_view('static', static_path)
self.assertEqual(info.added,
[(config, 'static', static_path, {})])
-
+
def test_add_forbidden_view(self):
from pyramid.renderers import null_renderer
from zope.interface import implementedBy
@@ -1821,7 +1821,7 @@ class TestViewsConfigurationMixin(unittest.TestCase):
config = self._makeOne(autocommit=True)
self.assertRaises(ConfigurationError,
config.add_notfound_view, http_cache='foo')
-
+
def test_add_notfound_view_append_slash(self):
from pyramid.response import Response
from pyramid.renderers import null_renderer
@@ -1841,7 +1841,15 @@ class TestViewsConfigurationMixin(unittest.TestCase):
request_iface=IRequest)
result = view(None, request)
self.assertEqual(result.location, '/scriptname/foo/?a=1&b=2')
-
+
+ # Since Python 3 has to be all cool and fancy and different...
+ def _assertBody(self, response, value):
+ from pyramid.compat import text_type
+ if isinstance(value, text_type):
+ self.assertEqual(response.text, value)
+ else:
+ self.assertEqual(response.body, value)
+
def test_add_notfound_view_with_renderer(self):
from zope.interface import implementedBy
from pyramid.interfaces import IRequest
@@ -1852,13 +1860,12 @@ class TestViewsConfigurationMixin(unittest.TestCase):
config.add_notfound_view(
view,
renderer='json')
- config.begin()
request = self._makeRequest(config)
view = self._getViewCallable(config,
ctx_iface=implementedBy(HTTPNotFound),
request_iface=IRequest)
result = view(None, request)
- self.assertEqual("{}", result.body)
+ self._assertBody(result, '{}')
def test_add_forbidden_view_with_renderer(self):
from zope.interface import implementedBy
@@ -1875,7 +1882,7 @@ class TestViewsConfigurationMixin(unittest.TestCase):
ctx_iface=implementedBy(HTTPForbidden),
request_iface=IRequest)
result = view(None, request)
- self.assertEqual("{}", result.body)
+ self._assertBody(result, '{}')
def test_set_view_mapper(self):
from pyramid.interfaces import IViewMapperFactory
@@ -2225,12 +2232,12 @@ class TestViewDeriver(unittest.TestCase):
def tearDown(self):
self.config = None
-
+
def _makeOne(self, **kw):
kw['registry'] = self.config.registry
from pyramid.config.views import ViewDeriver
return ViewDeriver(**kw)
-
+
def _makeRequest(self):
request = DummyRequest()
request.registry = self.config.registry
@@ -2259,7 +2266,7 @@ class TestViewDeriver(unittest.TestCase):
result(None, None)
except ValueError as e:
self.assertEqual(
- e.args[0],
+ e.args[0],
'Could not convert return value of the view callable function '
'pyramid.tests.test_config.test_views.view into a response '
'object. The value returned was None. You may have forgotten '
@@ -2278,7 +2285,7 @@ class TestViewDeriver(unittest.TestCase):
result(None, None)
except ValueError as e:
self.assertEqual(
- e.args[0],
+ e.args[0],
"Could not convert return value of the view callable function "
"pyramid.tests.test_config.test_views.view into a response "
"object. The value returned was {'a': 1}. You may have "
@@ -2286,7 +2293,7 @@ class TestViewDeriver(unittest.TestCase):
)
else: # pragma: no cover
raise AssertionError
-
+
def test_instance_returns_non_adaptable(self):
class AView(object):
def __call__(self, request):
@@ -2345,7 +2352,7 @@ class TestViewDeriver(unittest.TestCase):
result(None, request)
except ValueError as e:
self.assertEqual(
- e.args[0],
+ e.args[0],
'Could not convert return value of the view callable '
'method __call__ of '
'class pyramid.tests.test_config.test_views.AView into a '
@@ -2369,7 +2376,7 @@ class TestViewDeriver(unittest.TestCase):
result(None, request)
except ValueError as e:
self.assertEqual(
- e.args[0],
+ e.args[0],
'Could not convert return value of the view callable '
'method theviewmethod of '
'class pyramid.tests.test_config.test_views.AView into a '
@@ -2378,7 +2385,7 @@ class TestViewDeriver(unittest.TestCase):
)
else: # pragma: no cover
raise AssertionError
-
+
def test_requestonly_function(self):
response = DummyResponse()
def view(request):
@@ -2412,7 +2419,7 @@ class TestViewDeriver(unittest.TestCase):
self.assertEqual(value, 'OK')
self.assertEqual(system['request'], request)
self.assertEqual(system['context'], context)
- return 'moo'
+ return b'moo'
return inner
def view(request):
return 'OK'
@@ -2929,7 +2936,7 @@ class TestViewDeriver(unittest.TestCase):
'predicate mismatch for view myview (pred2)')
else: # pragma: no cover
raise AssertionError
-
+
def test_with_predicates_all(self):
response = DummyResponse()
view = lambda *arg: response
@@ -3240,7 +3247,7 @@ class TestViewDeriver(unittest.TestCase):
expires = parse_httpdate(headers['Expires'])
assert_similar_datetime(expires, when)
self.assertEqual(headers['Cache-Control'], 'max-age=3600')
-
+
def test_http_cached_view_timedelta(self):
import datetime
from pyramid.response import Response
@@ -3336,7 +3343,7 @@ class TestViewDeriver(unittest.TestCase):
class TestDefaultViewMapper(unittest.TestCase):
def setUp(self):
self.config = testing.setUp()
- self.registry = self.config.registry
+ self.registry = self.config.registry
def tearDown(self):
del self.registry
@@ -3598,7 +3605,7 @@ class TestStaticURLInfo(unittest.TestCase):
def _getTargetClass(self):
from pyramid.config.views import StaticURLInfo
return StaticURLInfo
-
+
def _makeOne(self):
return self._getTargetClass()()
@@ -3825,19 +3832,19 @@ class Test_view_description(unittest.TestCase):
def _callFUT(self, view):
from pyramid.config.views import view_description
return view_description(view)
-
+
def test_with_text(self):
def view(): pass
view.__text__ = 'some text'
result = self._callFUT(view)
self.assertEqual(result, 'some text')
-
+
def test_without_text(self):
def view(): pass
result = self._callFUT(view)
- self.assertEqual(result,
+ self.assertEqual(result,
'function pyramid.tests.test_config.test_views.view')
-
+
class DummyRegistry:
pass
@@ -3848,6 +3855,7 @@ from pyramid.interfaces import IResponse
class DummyResponse(object):
content_type = None
default_content_type = None
+ body = None
class DummyRequest:
subpath = ()