sanic/tests/test_signal_handlers.py

52 lines
1.2 KiB
Python
Raw Normal View History

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