Add app.test_mode which is set on testing calls
This commit is contained in:
		| @@ -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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Adam Hopkins
					Adam Hopkins