Add app.test_mode which is set on testing calls
This commit is contained in:
parent
db1c819fe1
commit
c347ff742e
|
@ -90,6 +90,7 @@ class Sanic:
|
|||
self.named_response_middleware = {}
|
||||
# Register alternative method names
|
||||
self.go_fast = self.run
|
||||
self.test_mode = False
|
||||
|
||||
@property
|
||||
def loop(self):
|
||||
|
|
|
@ -21,6 +21,7 @@ class SanicTestClient:
|
|||
self.app = app
|
||||
self.port = port
|
||||
self.host = host
|
||||
self.app.test_mode = True
|
||||
|
||||
def get_new_session(self):
|
||||
return httpx.AsyncClient(verify=False)
|
||||
|
@ -200,6 +201,7 @@ class SanicASGITestClient(httpx.AsyncClient):
|
|||
app.asgi = True
|
||||
|
||||
self.app = app
|
||||
self.app.test_mode = True
|
||||
|
||||
dispatch = SanicASGIDispatch(app=app, client=(ASGI_HOST, PORT or 0))
|
||||
super().__init__(dispatch=dispatch, base_url=base_url)
|
||||
|
|
|
@ -222,3 +222,24 @@ def test_handle_request_with_nested_sanic_exception(app, monkeypatch, caplog):
|
|||
def test_app_name_required():
|
||||
with pytest.deprecated_call():
|
||||
Sanic()
|
||||
|
||||
|
||||
def test_app_has_test_mode_sync(app):
|
||||
@app.get("/")
|
||||
def handler(request):
|
||||
assert request.app.test_mode
|
||||
return text("test")
|
||||
|
||||
_, response = app.test_client.get("/")
|
||||
assert response.status == 200
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_app_has_test_mode_async(app):
|
||||
@app.get("/")
|
||||
async def handler(request):
|
||||
assert request.app.test_mode
|
||||
return text("test")
|
||||
|
||||
_, response = await app.asgi_client.get("/")
|
||||
assert response.status == 200
|
||||
|
|
Loading…
Reference in New Issue
Block a user