Fixed #31407 -- Adjusted test to avoid coroutine never awaited warning.

This commit is contained in:
Mark 2020-04-07 20:32:54 +02:00 committed by GitHub
parent 26799c6503
commit 590957a0eb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 6 deletions

View File

@ -269,9 +269,10 @@ class AsyncHandlerRequestTests(SimpleTestCase):
async def test_unawaited_response(self): async def test_unawaited_response(self):
msg = ( msg = (
"The view handlers.views.async_unawaited didn't return an " "The view handlers.views.CoroutineClearingView.__call__ didn't"
"HttpResponse object. It returned an unawaited coroutine instead. " " return an HttpResponse object. It returned an unawaited"
"You may need to add an 'await' into your view." " coroutine instead. You may need to add an 'await'"
" into your view."
) )
with self.assertRaisesMessage(ValueError, msg): with self.assertRaisesMessage(ValueError, msg):
await self.async_client.get('/unawaited/') await self.async_client.get('/unawaited/')

View File

@ -51,6 +51,12 @@ async def async_regular(request):
return HttpResponse(b'regular content') return HttpResponse(b'regular content')
async def async_unawaited(request): class CoroutineClearingView:
def __call__(self, request):
"""Return an unawaited coroutine (common error for async views).""" """Return an unawaited coroutine (common error for async views)."""
return asyncio.sleep(0) # Store coroutine to suppress 'unawaited' warning message
self._unawaited_coroutine = asyncio.sleep(0)
return self._unawaited_coroutine
async_unawaited = CoroutineClearingView()