def app(loop: Any): ret = mock.Mock() ret.loop = loop ret._debug = False ret.on_response_prepare = aiosignal.Signal(ret) ret.on_response_prepare.freeze() return ret
async def test_prepare_calls_signal() -> None: app = mock.Mock() sig = make_mocked_coro() on_response_prepare = aiosignal.Signal(app) on_response_prepare.append(sig) req = make_request("GET", "/", app=app, on_response_prepare=on_response_prepare) resp = StreamResponse() await resp.prepare(req) sig.assert_called_with(req, resp)
def make_request( method: Any, path: Any, headers: Any = CIMultiDict(), version: Any = HttpVersion11, on_response_prepare: Optional[Any] = None, **kwargs: Any ): app = kwargs.pop("app", None) or mock.Mock() app._debug = False if on_response_prepare is None: on_response_prepare = aiosignal.Signal(app) app.on_response_prepare = on_response_prepare app.on_response_prepare.freeze() protocol = kwargs.pop("protocol", None) or mock.Mock() return make_mocked_request( method, path, headers, version=version, protocol=protocol, app=app, **kwargs )
async def test_response_prepared_after_header_preparation() -> None: req = make_request("GET", "/") resp = StreamResponse() await resp.prepare(req) assert type(resp.headers["Server"]) is str async def _strip_server(req, res): assert "Server" in res.headers if "Server" in res.headers: del res.headers["Server"] app = mock.Mock() sig = aiosignal.Signal(app) sig.append(_strip_server) req = make_request("GET", "/", on_response_prepare=sig, app=app) resp = StreamResponse() await resp.prepare(req) assert "Server" not in resp.headers