diff options
author | Jon Dufresne <jon.dufresne@gmail.com> | 2020-02-06 17:59:20 -0800 |
---|---|---|
committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2020-02-11 09:09:25 +0100 |
commit | e3f6e18513224c8ad081e5a19da641f49b0b43da (patch) | |
tree | 260e3b93c96cea3ea6b5ea4cd10076c82890b77b /tests/async | |
parent | 20ba3ce4ac8e8438070568ffba76f7d8d4986a53 (diff) | |
download | django-e3f6e18513224c8ad081e5a19da641f49b0b43da.tar.gz |
Fixed #31253 -- Fixed data loss possibility when using caching from async code.
Case missed in a415ce70bef6d91036b00dd2c8544aed7aeeaaed.
Diffstat (limited to 'tests/async')
-rw-r--r-- | tests/async/tests.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/async/tests.py b/tests/async/tests.py index f42e549075..86ed504c57 100644 --- a/tests/async/tests.py +++ b/tests/async/tests.py @@ -4,6 +4,7 @@ from unittest import mock, skipIf from asgiref.sync import async_to_sync +from django.core.cache import DEFAULT_CACHE_ALIAS, caches from django.core.exceptions import SynchronousOnlyOperation from django.test import SimpleTestCase from django.utils.asyncio import async_unsafe @@ -12,6 +13,18 @@ from .models import SimpleModel @skipIf(sys.platform == 'win32' and (3, 8, 0) < sys.version_info < (3, 8, 1), 'https://bugs.python.org/issue38563') +class CacheTest(SimpleTestCase): + def test_caches_local(self): + @async_to_sync + async def async_cache(): + return caches[DEFAULT_CACHE_ALIAS] + + cache_1 = async_cache() + cache_2 = async_cache() + self.assertIs(cache_1, cache_2) + + +@skipIf(sys.platform == 'win32' and (3, 8, 0) < sys.version_info < (3, 8, 1), 'https://bugs.python.org/issue38563') class DatabaseConnectionTest(SimpleTestCase): """A database connection cannot be used in an async context.""" @async_to_sync |