|
@@ -1,262 +0,0 @@
|
|
|
-import sys
|
|
|
-from types import ModuleType
|
|
|
-
|
|
|
-from django.conf import (
|
|
|
- DEFAULT_FILE_STORAGE_DEPRECATED_MSG,
|
|
|
- DEFAULT_STORAGE_ALIAS,
|
|
|
- STATICFILES_STORAGE_ALIAS,
|
|
|
- STATICFILES_STORAGE_DEPRECATED_MSG,
|
|
|
- Settings,
|
|
|
- settings,
|
|
|
-)
|
|
|
-from django.contrib.staticfiles.storage import (
|
|
|
- ManifestStaticFilesStorage,
|
|
|
- staticfiles_storage,
|
|
|
-)
|
|
|
-from django.core.exceptions import ImproperlyConfigured
|
|
|
-from django.core.files.storage import Storage, StorageHandler, default_storage, storages
|
|
|
-from django.test import TestCase, ignore_warnings
|
|
|
-from django.utils.deprecation import RemovedInDjango51Warning
|
|
|
-
|
|
|
-
|
|
|
-class StaticfilesStorageDeprecationTests(TestCase):
|
|
|
- msg = STATICFILES_STORAGE_DEPRECATED_MSG
|
|
|
-
|
|
|
- def test_override_settings_warning(self):
|
|
|
- with self.assertRaisesMessage(RemovedInDjango51Warning, self.msg):
|
|
|
- with self.settings(
|
|
|
- STATICFILES_STORAGE=(
|
|
|
- "django.contrib.staticfiles.storage.ManifestStaticFilesStorage"
|
|
|
- )
|
|
|
- ):
|
|
|
- pass
|
|
|
-
|
|
|
- def test_settings_init(self):
|
|
|
- old_staticfiles_storage = settings.STORAGES.get(STATICFILES_STORAGE_ALIAS)
|
|
|
- settings_module = ModuleType("fake_settings_module")
|
|
|
- settings_module.USE_TZ = True
|
|
|
- settings_module.STATICFILES_STORAGE = (
|
|
|
- "django.contrib.staticfiles.storage.ManifestStaticFilesStorage"
|
|
|
- )
|
|
|
- sys.modules["fake_settings_module"] = settings_module
|
|
|
- try:
|
|
|
- with self.assertWarnsMessage(RemovedInDjango51Warning, self.msg):
|
|
|
- fake_settings = Settings("fake_settings_module")
|
|
|
- self.assertEqual(
|
|
|
- fake_settings.STORAGES[STATICFILES_STORAGE_ALIAS],
|
|
|
- {
|
|
|
- "BACKEND": (
|
|
|
- "django.contrib.staticfiles.storage.ManifestStaticFilesStorage"
|
|
|
- ),
|
|
|
- },
|
|
|
- )
|
|
|
- # settings.STORAGES is not mutated.
|
|
|
- self.assertEqual(
|
|
|
- settings.STORAGES.get(STATICFILES_STORAGE_ALIAS),
|
|
|
- old_staticfiles_storage,
|
|
|
- )
|
|
|
- finally:
|
|
|
- del sys.modules["fake_settings_module"]
|
|
|
-
|
|
|
- def test_settings_storages_init(self):
|
|
|
- settings_module = ModuleType("fake_settings_module")
|
|
|
- settings_module.USE_TZ = True
|
|
|
- settings_module.STORAGES = {
|
|
|
- STATICFILES_STORAGE_ALIAS: {
|
|
|
- "BACKEND": (
|
|
|
- "django.contrib.staticfiles.storage.ManifestStaticFilesStorage"
|
|
|
- )
|
|
|
- }
|
|
|
- }
|
|
|
- sys.modules["fake_settings_module"] = settings_module
|
|
|
- try:
|
|
|
- fake_settings = Settings("fake_settings_module")
|
|
|
- self.assertEqual(
|
|
|
- fake_settings.STATICFILES_STORAGE,
|
|
|
- "django.contrib.staticfiles.storage.ManifestStaticFilesStorage",
|
|
|
- )
|
|
|
- finally:
|
|
|
- del sys.modules["fake_settings_module"]
|
|
|
-
|
|
|
- def test_access_warning(self):
|
|
|
- with self.assertRaisesMessage(RemovedInDjango51Warning, self.msg):
|
|
|
- settings.STATICFILES_STORAGE
|
|
|
- # Works a second time.
|
|
|
- with self.assertRaisesMessage(RemovedInDjango51Warning, self.msg):
|
|
|
- settings.STATICFILES_STORAGE
|
|
|
-
|
|
|
- @ignore_warnings(category=RemovedInDjango51Warning)
|
|
|
- def test_access(self):
|
|
|
- with self.settings(
|
|
|
- STATICFILES_STORAGE=(
|
|
|
- "django.contrib.staticfiles.storage.ManifestStaticFilesStorage"
|
|
|
- )
|
|
|
- ):
|
|
|
- self.assertEqual(
|
|
|
- settings.STATICFILES_STORAGE,
|
|
|
- "django.contrib.staticfiles.storage.ManifestStaticFilesStorage",
|
|
|
- )
|
|
|
- # Works a second time.
|
|
|
- self.assertEqual(
|
|
|
- settings.STATICFILES_STORAGE,
|
|
|
- "django.contrib.staticfiles.storage.ManifestStaticFilesStorage",
|
|
|
- )
|
|
|
-
|
|
|
- def test_use_both_error(self):
|
|
|
- msg = "STATICFILES_STORAGE/STORAGES are mutually exclusive."
|
|
|
- settings_module = ModuleType("fake_settings_module")
|
|
|
- settings_module.USE_TZ = True
|
|
|
- settings_module.STATICFILES_STORAGE = (
|
|
|
- "django.contrib.staticfiles.storage.ManifestStaticFilesStorage"
|
|
|
- )
|
|
|
- settings_module.STORAGES = {}
|
|
|
- sys.modules["fake_settings_module"] = settings_module
|
|
|
- try:
|
|
|
- with self.assertRaisesMessage(ImproperlyConfigured, msg):
|
|
|
- Settings("fake_settings_module")
|
|
|
- finally:
|
|
|
- del sys.modules["fake_settings_module"]
|
|
|
-
|
|
|
- @ignore_warnings(category=RemovedInDjango51Warning)
|
|
|
- def test_storage(self):
|
|
|
- empty_storages = StorageHandler()
|
|
|
- with self.settings(
|
|
|
- STATICFILES_STORAGE=(
|
|
|
- "django.contrib.staticfiles.storage.ManifestStaticFilesStorage"
|
|
|
- )
|
|
|
- ):
|
|
|
- self.assertIsInstance(
|
|
|
- storages[STATICFILES_STORAGE_ALIAS],
|
|
|
- ManifestStaticFilesStorage,
|
|
|
- )
|
|
|
- self.assertIsInstance(
|
|
|
- empty_storages[STATICFILES_STORAGE_ALIAS],
|
|
|
- ManifestStaticFilesStorage,
|
|
|
- )
|
|
|
- self.assertIsInstance(staticfiles_storage, ManifestStaticFilesStorage)
|
|
|
-
|
|
|
- @ignore_warnings(category=RemovedInDjango51Warning)
|
|
|
- def test_staticfiles_storage(self):
|
|
|
- with self.settings(
|
|
|
- STORAGES={
|
|
|
- STATICFILES_STORAGE_ALIAS: {
|
|
|
- "BACKEND": (
|
|
|
- "django.contrib.staticfiles.storage.ManifestStaticFilesStorage"
|
|
|
- )
|
|
|
- }
|
|
|
- }
|
|
|
- ):
|
|
|
- self.assertEqual(
|
|
|
- settings.STATICFILES_STORAGE,
|
|
|
- "django.contrib.staticfiles.storage.ManifestStaticFilesStorage",
|
|
|
- )
|
|
|
- self.assertIsInstance(
|
|
|
- storages[STATICFILES_STORAGE_ALIAS],
|
|
|
- ManifestStaticFilesStorage,
|
|
|
- )
|
|
|
-
|
|
|
-
|
|
|
-class DefaultStorageDeprecationTests(TestCase):
|
|
|
- msg = DEFAULT_FILE_STORAGE_DEPRECATED_MSG
|
|
|
-
|
|
|
- def test_override_settings_warning(self):
|
|
|
- with self.assertRaisesMessage(RemovedInDjango51Warning, self.msg):
|
|
|
- with self.settings(
|
|
|
- DEFAULT_FILE_STORAGE=("django.core.files.storage.Storage")
|
|
|
- ):
|
|
|
- pass
|
|
|
-
|
|
|
- def test_settings_init(self):
|
|
|
- old_default_storage = settings.STORAGES.get(DEFAULT_STORAGE_ALIAS)
|
|
|
- settings_module = ModuleType("fake_settings_module")
|
|
|
- settings_module.USE_TZ = True
|
|
|
- settings_module.DEFAULT_FILE_STORAGE = "django.core.files.storage.Storage"
|
|
|
- sys.modules["fake_settings_module"] = settings_module
|
|
|
- try:
|
|
|
- with self.assertWarnsMessage(RemovedInDjango51Warning, self.msg):
|
|
|
- fake_settings = Settings("fake_settings_module")
|
|
|
- self.assertEqual(
|
|
|
- fake_settings.STORAGES[DEFAULT_STORAGE_ALIAS],
|
|
|
- {"BACKEND": "django.core.files.storage.Storage"},
|
|
|
- )
|
|
|
- # settings.STORAGES is not mutated.
|
|
|
- self.assertEqual(
|
|
|
- settings.STORAGES.get(DEFAULT_STORAGE_ALIAS),
|
|
|
- old_default_storage,
|
|
|
- )
|
|
|
- finally:
|
|
|
- del sys.modules["fake_settings_module"]
|
|
|
-
|
|
|
- def test_settings_storages_init(self):
|
|
|
- settings_module = ModuleType("fake_settings_module")
|
|
|
- settings_module.USE_TZ = True
|
|
|
- settings_module.STORAGES = {
|
|
|
- DEFAULT_STORAGE_ALIAS: {
|
|
|
- "BACKEND": "django.core.files.storage.Storage",
|
|
|
- }
|
|
|
- }
|
|
|
- sys.modules["fake_settings_module"] = settings_module
|
|
|
- try:
|
|
|
- fake_settings = Settings("fake_settings_module")
|
|
|
- self.assertEqual(
|
|
|
- fake_settings.DEFAULT_FILE_STORAGE,
|
|
|
- "django.core.files.storage.Storage",
|
|
|
- )
|
|
|
- finally:
|
|
|
- del sys.modules["fake_settings_module"]
|
|
|
-
|
|
|
- def test_access_warning(self):
|
|
|
- with self.assertRaisesMessage(RemovedInDjango51Warning, self.msg):
|
|
|
- settings.DEFAULT_FILE_STORAGE
|
|
|
- # Works a second time.
|
|
|
- with self.assertRaisesMessage(RemovedInDjango51Warning, self.msg):
|
|
|
- settings.DEFAULT_FILE_STORAGE
|
|
|
-
|
|
|
- @ignore_warnings(category=RemovedInDjango51Warning)
|
|
|
- def test_access(self):
|
|
|
- with self.settings(DEFAULT_FILE_STORAGE="django.core.files.storage.Storage"):
|
|
|
- self.assertEqual(
|
|
|
- settings.DEFAULT_FILE_STORAGE,
|
|
|
- "django.core.files.storage.Storage",
|
|
|
- )
|
|
|
- # Works a second time.
|
|
|
- self.assertEqual(
|
|
|
- settings.DEFAULT_FILE_STORAGE,
|
|
|
- "django.core.files.storage.Storage",
|
|
|
- )
|
|
|
-
|
|
|
- def test_use_both_error(self):
|
|
|
- msg = "DEFAULT_FILE_STORAGE/STORAGES are mutually exclusive."
|
|
|
- settings_module = ModuleType("fake_settings_module")
|
|
|
- settings_module.USE_TZ = True
|
|
|
- settings_module.DEFAULT_FILE_STORAGE = "django.core.files.storage.Storage"
|
|
|
- settings_module.STORAGES = {}
|
|
|
- sys.modules["fake_settings_module"] = settings_module
|
|
|
- try:
|
|
|
- with self.assertRaisesMessage(ImproperlyConfigured, msg):
|
|
|
- Settings("fake_settings_module")
|
|
|
- finally:
|
|
|
- del sys.modules["fake_settings_module"]
|
|
|
-
|
|
|
- @ignore_warnings(category=RemovedInDjango51Warning)
|
|
|
- def test_storage(self):
|
|
|
- empty_storages = StorageHandler()
|
|
|
- with self.settings(DEFAULT_FILE_STORAGE="django.core.files.storage.Storage"):
|
|
|
- self.assertIsInstance(storages[DEFAULT_STORAGE_ALIAS], Storage)
|
|
|
- self.assertIsInstance(empty_storages[DEFAULT_STORAGE_ALIAS], Storage)
|
|
|
- self.assertIsInstance(default_storage, Storage)
|
|
|
-
|
|
|
- @ignore_warnings(category=RemovedInDjango51Warning)
|
|
|
- def test_default_file_storage(self):
|
|
|
- with self.settings(
|
|
|
- STORAGES={
|
|
|
- DEFAULT_STORAGE_ALIAS: {
|
|
|
- "BACKEND": "django.core.files.storage.Storage",
|
|
|
- }
|
|
|
- }
|
|
|
- ):
|
|
|
- self.assertEqual(
|
|
|
- settings.DEFAULT_FILE_STORAGE,
|
|
|
- "django.core.files.storage.Storage",
|
|
|
- )
|
|
|
- self.assertIsInstance(storages[DEFAULT_STORAGE_ALIAS], Storage)
|