mirror of
https://github.com/django/django.git
synced 2025-10-23 21:59:11 +00:00
Fixed #31253 -- Fixed data loss possibility when using caching from async code.
Case missed in a415ce70be.
This commit is contained in:
committed by
Mariusz Felisiak
parent
20ba3ce4ac
commit
e3f6e18513
@@ -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
|
||||
@@ -11,6 +12,18 @@ from django.utils.asyncio import async_unsafe
|
||||
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."""
|
||||
|
||||
Reference in New Issue
Block a user