summaryrefslogtreecommitdiff
path: root/tests/test_scripting.py
diff options
context:
space:
mode:
authorMichael Merickel <michael@merickel.org>2020-01-09 22:53:46 -0600
committerMichael Merickel <michael@merickel.org>2020-01-09 22:53:46 -0600
commit68c1929bbfec92f3fff1985226d88f41b02e5a4f (patch)
tree99d1d6c463da8e36d0d7a9ddd60938eff1930f2d /tests/test_scripting.py
parent9ba492843ef8685b5493516a9c740b6aa5a9e55a (diff)
parent912bccb8b715b0249c2c23736c467eaee14a4e3b (diff)
downloadpyramid-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.py24
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: