summaryrefslogtreecommitdiff
path: root/tests/file_storage
diff options
context:
space:
mode:
authorBrian Helba <brian.helba@kitware.com>2020-08-24 15:27:22 -0400
committerCarlton Gibson <carlton@noumenal.es>2020-09-02 11:06:18 +0200
commit2d42e23b6d8fd76f93a96b2310b2c9dfd441d009 (patch)
treeee254a738ecfa26d59f2aac7994612b98ef00782 /tests/file_storage
parentece18207cbb64dd89014e279ac636a6c9829828e (diff)
downloaddjango-2d42e23b6d8fd76f93a96b2310b2c9dfd441d009.tar.gz
Fixed #31941 -- Corrected FileField.deconstruct() with a callable storage.
Diffstat (limited to 'tests/file_storage')
-rw-r--r--tests/file_storage/tests.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/tests/file_storage/tests.py b/tests/file_storage/tests.py
index 4bac3ca11d..6d17a7118b 100644
--- a/tests/file_storage/tests.py
+++ b/tests/file_storage/tests.py
@@ -29,7 +29,9 @@ from django.test.utils import requires_tz_support
from django.urls import NoReverseMatch, reverse_lazy
from django.utils import timezone
-from .models import Storage, temp_storage, temp_storage_location
+from .models import (
+ Storage, callable_storage, temp_storage, temp_storage_location,
+)
FILE_SUFFIX_REGEX = '[A-Za-z0-9]{7}'
@@ -912,6 +914,15 @@ class FieldCallableFileStorageTests(SimpleTestCase):
self.assertEqual(obj.storage_callable.storage.location, temp_storage_location)
self.assertIsInstance(obj.storage_callable_class.storage, BaseStorage)
+ def test_deconstruction(self):
+ """
+ Deconstructing gives the original callable, not the evaluated value.
+ """
+ obj = Storage()
+ *_, kwargs = obj._meta.get_field('storage_callable').deconstruct()
+ storage = kwargs['storage']
+ self.assertIs(storage, callable_storage)
+
# Tests for a race condition on file saving (#4948).
# This is written in such a way that it'll always pass on platforms