From d61dbc20cf135cde18bb45411fa46c44dc4c17c2 Mon Sep 17 00:00:00 2001 From: Tomas Pazderka Date: Thu, 28 Jul 2016 13:37:07 +0200 Subject: [1.10.x] Fixed #26896 -- Allowed a lazy base_url for FileSystemStorage. Backport of b820b6108a7d3f11ec18774d16d657f4f63fe9fa from master --- tests/file_storage/tests.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/file_storage/tests.py b/tests/file_storage/tests.py index dcd27de5c7..d419d82bd0 100644 --- a/tests/file_storage/tests.py +++ b/tests/file_storage/tests.py @@ -24,6 +24,7 @@ from django.test import ( override_settings, ) from django.test.utils import requires_tz_support +from django.urls import NoReverseMatch, reverse_lazy from django.utils import six, timezone from django.utils._os import upath from django.utils.deprecation import RemovedInDjango20Warning @@ -73,7 +74,7 @@ class GetStorageClassTests(SimpleTestCase): get_storage_class('django.core.files.non_existing_storage.NonExistingStorage') -class FileStorageDeconstructionTests(unittest.TestCase): +class FileSystemStorageTests(unittest.TestCase): def test_deconstruction(self): path, args, kwargs = temp_storage.deconstruct() @@ -89,6 +90,14 @@ class FileStorageDeconstructionTests(unittest.TestCase): path, args, kwargs = storage.deconstruct() self.assertEqual(kwargs, kwargs_orig) + def test_lazy_base_url_init(self): + """ + FileSystemStorage.__init__() shouldn't evaluate base_url. + """ + storage = FileSystemStorage(base_url=reverse_lazy('app:url')) + with self.assertRaises(NoReverseMatch): + storage.url(storage.base_url) + # Tests for TZ-aware time methods need pytz. requires_pytz = unittest.skipIf(pytz is None, "this test requires pytz") -- cgit v1.3