#23251: Use a temporary folder to store uploaded files during tests -------------------------------------+------------------------------------ Reporter: Shai Berger | Owner: (none) Type: Bug | Status: new Component: Testing framework | Version: dev Severity: Normal | Resolution: Keywords: file storage upload | Triage Stage: Accepted Has patch: 1 | Needs documentation: 0 Needs tests: 0 | Patch needs improvement: 1 Easy pickings: 0 | UI/UX: 0 -------------------------------------+------------------------------------ Changes (by bcail):
* cc: bcail (added) Comment: Here's a small patch that sets the default storage to a temporary directory: {{{ diff --git a/django/test/utils.py b/django/test/utils.py index ddb85127dc..2564e745ca 100644 --- a/django/test/utils.py +++ b/django/test/utils.py @@ -1,9 +1,11 @@ import collections +import copy import gc import logging import os import re import sys +import tempfile import time import warnings from contextlib import contextmanager @@ -149,6 +151,10 @@ def setup_test_environment(debug=None): saved_data.template_render = Template._render Template._render = instrumented_test_render + saved_data.storages = copy.deepcopy(settings.STORAGES) + settings.STORAGES["default"]["BACKEND"] = "django.core.files.storage.FileSystemStorage" + settings.STORAGES["default"]["OPTIONS"] = {"location": tempfile.mkdtemp()} + mail.outbox = [] deactivate() @@ -165,6 +171,7 @@ def teardown_test_environment(): settings.DEBUG = saved_data.debug settings.EMAIL_BACKEND = saved_data.email_backend Template._render = saved_data.template_render + settings.STORAGES = saved_data.storages del _TestState.saved_data del mail.outbox }}} Note: it doesn't currently allow for users to opt out of that behavior. Also, it makes some of the tests fail when they expect the settings to be different. -- Ticket URL: <https://code.djangoproject.com/ticket/23251#comment:25> Django <https://code.djangoproject.com/> The Web framework for perfectionists with deadlines. -- You received this message because you are subscribed to the Google Groups "Django updates" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-updates+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-updates/0107018d8ed3e8cc-028ec8cd-8457-4c1b-8366-a3801e731772-000000%40eu-central-1.amazonses.com.