From 9243435b5e7e327d0e1e1271b6dfd4c74ca7120b Mon Sep 17 00:00:00 2001 From: Andrew Godwin Date: Mon, 2 Dec 2019 13:02:21 -0700 Subject: [3.0.x] Fixed #31056 -- Allowed disabling async-unsafe check with an environment variable. Backport of c90ab30fa1305481024b9c3c50b5a6ed6cd9a2f5 from master --- tests/async/tests.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/async/tests.py b/tests/async/tests.py index 450a38018d..f42e549075 100644 --- a/tests/async/tests.py +++ b/tests/async/tests.py @@ -1,5 +1,6 @@ +import os import sys -from unittest import skipIf +from unittest import mock, skipIf from asgiref.sync import async_to_sync @@ -39,3 +40,13 @@ class AsyncUnsafeTest(SimpleTestCase): ) with self.assertRaisesMessage(SynchronousOnlyOperation, msg): self.dangerous_method() + + @mock.patch.dict(os.environ, {'DJANGO_ALLOW_ASYNC_UNSAFE': 'true'}) + @async_to_sync + async def test_async_unsafe_suppressed(self): + # Decorator doesn't trigger check when the environment variable to + # suppress it is set. + try: + self.dangerous_method() + except SynchronousOnlyOperation: + self.fail('SynchronousOnlyOperation should not be raised.') -- cgit v1.3