summaryrefslogtreecommitdiff
path: root/tests/test_scripting.py
diff options
context:
space:
mode:
authorÉric Araujo <earaujo@caravan.coop>2020-01-11 17:02:18 -0500
committerÉric Araujo <earaujo@caravan.coop>2020-01-11 17:02:18 -0500
commit49b841548c5305d9f612a4e4492571b1fa3281d7 (patch)
treee44a87cc33d7dc22a9869cadfc4143289a8e1416 /tests/test_scripting.py
parente8890336d1738fb736398356989504f6eb2e8237 (diff)
parent912bccb8b715b0249c2c23736c467eaee14a4e3b (diff)
downloadpyramid-49b841548c5305d9f612a4e4492571b1fa3281d7.tar.gz
pyramid-49b841548c5305d9f612a4e4492571b1fa3281d7.tar.bz2
pyramid-49b841548c5305d9f612a4e4492571b1fa3281d7.zip
merge master
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: