sanic/tests/test_signal_handlers.py

54 lines
1.2 KiB
Python
Raw Normal View History

import asyncio
from queue import Queue
from unittest.mock import MagicMock
from sanic.response import HTTPResponse
from sanic.testing import HOST, PORT
async def stop(app, loop):
await asyncio.sleep(0.1)
app.stop()
2018-12-30 11:18:06 +00:00
calledq = Queue()
2018-10-22 21:25:38 +01:00
def set_loop(app, loop):
loop.add_signal_handler = MagicMock()
2018-10-22 21:25:38 +01:00
def after(app, loop):
calledq.put(loop.add_signal_handler.called)
2018-10-22 21:25:38 +01:00
2018-08-26 15:43:14 +01:00
def test_register_system_signals(app):
"""Test if sanic register system signals"""
2018-12-30 11:18:06 +00:00
@app.route("/hello")
async def hello_route(request):
return HTTPResponse()
2018-12-30 11:18:06 +00:00
app.listener("after_server_start")(stop)
app.listener("before_server_start")(set_loop)
app.listener("after_server_stop")(after)
2018-03-16 04:28:52 +00:00
app.run(HOST, PORT)
2018-10-22 21:25:38 +01:00
assert calledq.get() is True
2018-08-26 15:43:14 +01:00
def test_dont_register_system_signals(app):
"""Test if sanic don't register system signals"""
2018-12-30 11:18:06 +00:00
@app.route("/hello")
async def hello_route(request):
return HTTPResponse()
2018-12-30 11:18:06 +00:00
app.listener("after_server_start")(stop)
app.listener("before_server_start")(set_loop)
app.listener("after_server_stop")(after)
2018-03-16 04:28:52 +00:00
app.run(HOST, PORT, register_sys_signals=False)
2018-10-22 21:25:38 +01:00
assert calledq.get() is False