diff options
| author | Michael Merickel <michael@merickel.org> | 2020-01-09 22:53:46 -0600 |
|---|---|---|
| committer | Michael Merickel <michael@merickel.org> | 2020-01-09 22:53:46 -0600 |
| commit | 68c1929bbfec92f3fff1985226d88f41b02e5a4f (patch) | |
| tree | 99d1d6c463da8e36d0d7a9ddd60938eff1930f2d /tests/test_scripting.py | |
| parent | 9ba492843ef8685b5493516a9c740b6aa5a9e55a (diff) | |
| parent | 912bccb8b715b0249c2c23736c467eaee14a4e3b (diff) | |
| download | pyramid-68c1929bbfec92f3fff1985226d88f41b02e5a4f.tar.gz pyramid-68c1929bbfec92f3fff1985226d88f41b02e5a4f.tar.bz2 pyramid-68c1929bbfec92f3fff1985226d88f41b02e5a4f.zip | |
Merge branch 'master' into security-docs
Diffstat (limited to 'tests/test_scripting.py')
| -rw-r--r-- | tests/test_scripting.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/test_scripting.py b/tests/test_scripting.py index 8f74f35f8..b8a18f57e 100644 --- a/tests/test_scripting.py +++ b/tests/test_scripting.py @@ -1,3 +1,4 @@ +from collections import deque import unittest @@ -162,6 +163,20 @@ class Test_prepare(unittest.TestCase): self.assertEqual(request.context, root) self.assertEqual(request.registry, registry) + def test_closer_invokes_finished_callbacks(self): + finish_called = [False] + + def finished_callback(request): + finish_called[0] = True + + request = DummyRequest({}) + request.registry = self._makeRegistry() + info = self._callFUT(request=request) + request.add_finished_callback(finished_callback) + closer = info['closer'] + closer() + self.assertTrue(finish_called[0]) + class Test__make_request(unittest.TestCase): def _callFUT(self, path='/', registry=None): @@ -234,6 +249,15 @@ class DummyRequest(object): def __init__(self, environ): self.environ = environ + self.finished_callbacks = deque() + + def add_finished_callback(self, cb): + self.finished_callbacks.append(cb) + + def _process_finished_callbacks(self): + while self.finished_callbacks: + cb = self.finished_callbacks.popleft() + cb(self) class DummyExtensions: |
