Add signal reservations (#2060)

* Add signal reservations

* Simplify reservations
This commit is contained in:
Adam Hopkins
2021-03-14 15:21:59 +02:00
committed by GitHub
parent d4660d0ca7
commit 2fea954dcf
2 changed files with 43 additions and 10 deletions

View File

@@ -280,3 +280,23 @@ def test_event_on_bp_not_registered():
match="<Blueprint bp> has not yet been registered to an app",
):
bp.event("foo.bar.baz")
@pytest.mark.parametrize(
"event,expected",
(
("foo.bar.baz", True),
("server.init.before", False),
("http.request.start", False),
("sanic.notice.anything", True),
),
)
def test_signal_reservation(app, event, expected):
if not expected:
with pytest.raises(
InvalidSignal,
match=f"Cannot declare reserved signal event: {event}",
):
app.signal(event)(lambda: ...)
else:
app.signal(event)(lambda: ...)