Rework test_signals

This commit is contained in:
Markus Unterwaditzer 2014-09-02 05:10:16 +02:00
parent b1c0951ad6
commit dd6b2574c9

View file

@ -9,11 +9,22 @@
:license: BSD, see LICENSE for more details. :license: BSD, see LICENSE for more details.
""" """
import pytest
try:
import blinker
except ImportError:
blinker = None
import flask import flask
import unittest
from tests import TestFlask from tests import TestFlask
pytestmark = pytest.mark.skipif(
blinker is None,
reason='Signals require the blinker library.'
)
class TestSignals(TestFlask): class TestSignals(TestFlask):
def test_template_rendered(self): def test_template_rendered(self):
@ -24,6 +35,7 @@ class TestSignals(TestFlask):
return flask.render_template('simple_template.html', whiskey=42) return flask.render_template('simple_template.html', whiskey=42)
recorded = [] recorded = []
def record(sender, template, context): def record(sender, template, context):
recorded.append((template, context)) recorded.append((template, context))
@ -71,8 +83,8 @@ class TestSignals(TestFlask):
self.assert_equal(rv.data, b'stuff') self.assert_equal(rv.data, b'stuff')
self.assert_equal(calls, ['before-signal', 'before-handler', self.assert_equal(calls, ['before-signal', 'before-handler',
'handler', 'after-handler', 'handler', 'after-handler',
'after-signal']) 'after-signal'])
finally: finally:
flask.request_started.disconnect(before_request_signal, app) flask.request_started.disconnect(before_request_signal, app)
flask.request_finished.disconnect(after_request_signal, app) flask.request_finished.disconnect(after_request_signal, app)
@ -99,8 +111,10 @@ class TestSignals(TestFlask):
def test_appcontext_signals(self): def test_appcontext_signals(self):
app = flask.Flask(__name__) app = flask.Flask(__name__)
recorded = [] recorded = []
def record_push(sender, **kwargs): def record_push(sender, **kwargs):
recorded.append('push') recorded.append('push')
def record_pop(sender, **kwargs): def record_pop(sender, **kwargs):
recorded.append('pop') recorded.append('pop')
@ -130,6 +144,7 @@ class TestSignals(TestFlask):
return flask.redirect('/other') return flask.redirect('/other')
recorded = [] recorded = []
def record(sender, message, category): def record(sender, message, category):
recorded.append((message, category)) recorded.append((message, category))
@ -144,10 +159,3 @@ class TestSignals(TestFlask):
self.assert_equal(category, 'notice') self.assert_equal(category, 'notice')
finally: finally:
flask.message_flashed.disconnect(record, app) flask.message_flashed.disconnect(record, app)
def suite():
suite = unittest.TestSuite()
if flask.signals_available:
suite.addTest(unittest.makeSuite(TestSignals))
return suite