summaryrefslogtreecommitdiff
path: root/repoze/bfg/tests/test_wsgiadapter.py
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2008-07-07 04:44:57 +0000
committerChris McDonough <chrism@agendaless.com>2008-07-07 04:44:57 +0000
commit7de404bb4af2744a64c13e31a780fc0229b8f9e5 (patch)
tree49f0b91b005777071050bf72732300f3bcd8d3ad /repoze/bfg/tests/test_wsgiadapter.py
parent93a4f5df2f74e4cbefc70733f2c0258859207106 (diff)
downloadpyramid-7de404bb4af2744a64c13e31a780fc0229b8f9e5.tar.gz
pyramid-7de404bb4af2744a64c13e31a780fc0229b8f9e5.tar.bz2
pyramid-7de404bb4af2744a64c13e31a780fc0229b8f9e5.zip
Look up a view after traversal; adapt it to IWSGIApplication.
Diffstat (limited to 'repoze/bfg/tests/test_wsgiadapter.py')
-rw-r--r--repoze/bfg/tests/test_wsgiadapter.py75
1 files changed, 75 insertions, 0 deletions
diff --git a/repoze/bfg/tests/test_wsgiadapter.py b/repoze/bfg/tests/test_wsgiadapter.py
new file mode 100644
index 000000000..71e2f5c81
--- /dev/null
+++ b/repoze/bfg/tests/test_wsgiadapter.py
@@ -0,0 +1,75 @@
+import unittest
+
+class NaiveWSGIAdapterTests(unittest.TestCase):
+ def _getTargetClass(self):
+ from repoze.bfg.wsgiadapter import NaiveWSGIViewAdapter
+ return NaiveWSGIViewAdapter
+
+ def _makeOne(self, *arg, **kw):
+ klass = self._getTargetClass()
+ return klass(*arg, **kw)
+
+ def test_view_takes_no_args(self):
+ response = DummyResponse()
+ response.app_iter = ['Hello world']
+ def view():
+ return response
+ request = DummyRequest()
+ adapter = self._makeOne(view, request)
+ environ = {}
+ start_response = DummyStartResponse()
+ result = adapter(environ, start_response)
+ self.assertEqual(result, ['Hello world'])
+ self.assertEqual(start_response.headers, ())
+ self.assertEqual(start_response.status, '200 OK')
+
+ def test_view_takes_pep_333_args(self):
+ response = DummyResponse()
+ response.app_iter = ['Hello world']
+ def view(environ, start_response):
+ response.environ = environ
+ response.start_response = start_response
+ return response
+ request = DummyRequest()
+ adapter = self._makeOne(view, request)
+ environ = {}
+ start_response = DummyStartResponse()
+ result = adapter(environ, start_response)
+ self.assertEqual(result, ['Hello world'])
+ self.assertEqual(start_response.headers, ())
+ self.assertEqual(start_response.status, '200 OK')
+ self.assertEqual(response.environ, environ)
+ self.assertEqual(response.start_response, start_response)
+
+ def test_view_takes_zopey_args(self):
+ request = DummyRequest()
+ response = DummyResponse()
+ response.app_iter = ['Hello world']
+ def view(request):
+ response.request = request
+ return response
+ adapter = self._makeOne(view, request)
+ environ = {}
+ start_response = DummyStartResponse()
+ result = adapter(environ, start_response)
+ self.assertEqual(result, ['Hello world'])
+ self.assertEqual(start_response.headers, ())
+ self.assertEqual(start_response.status, '200 OK')
+ self.assertEqual(response.request, request)
+
+class DummyRequest:
+ pass
+
+class DummyResponse:
+ status = '200 OK'
+ headerlist = ()
+ app_iter = ()
+
+class DummyStartResponse:
+ status = None
+ headers = None
+ def __call__(self, status, headers):
+ self.status = status
+ self.headers = headers
+
+