diff options
| author | Chris McDonough <chrism@agendaless.com> | 2008-07-07 04:44:57 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2008-07-07 04:44:57 +0000 |
| commit | 7de404bb4af2744a64c13e31a780fc0229b8f9e5 (patch) | |
| tree | 49f0b91b005777071050bf72732300f3bcd8d3ad /repoze/bfg/tests/test_wsgiadapter.py | |
| parent | 93a4f5df2f74e4cbefc70733f2c0258859207106 (diff) | |
| download | pyramid-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.py | 75 |
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 + + |
