diff options
author | Francesco Panico <panico.francesco@gmail.com> | 2022-12-30 12:47:59 +0100 |
---|---|---|
committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-12-30 13:28:47 +0100 |
commit | c179ad9fe7e82dcb80261aa016f2fe18c8fcc181 (patch) | |
tree | a8b2b0faa53ee7e84fe1d7aacd3bbd3dec147bb3 /tests/file_uploads | |
parent | 6e9e7ec472bdc870152e1f4f4130ecc07cdfc820 (diff) | |
download | django-c179ad9fe7e82dcb80261aa016f2fe18c8fcc181.tar.gz |
Refs #34100 -- Made file upload tests use Storage.exists() where appropriate.
Diffstat (limited to 'tests/file_uploads')
-rw-r--r-- | tests/file_uploads/tests.py | 3 | ||||
-rw-r--r-- | tests/file_uploads/uploadhandler.py | 2 | ||||
-rw-r--r-- | tests/file_uploads/views.py | 12 |
3 files changed, 11 insertions, 6 deletions
diff --git a/tests/file_uploads/tests.py b/tests/file_uploads/tests.py index d5377488ff..ecbee48160 100644 --- a/tests/file_uploads/tests.py +++ b/tests/file_uploads/tests.py @@ -25,7 +25,8 @@ from .models import FileModel UNICODE_FILENAME = "test-0123456789_中文_Orléans.jpg" MEDIA_ROOT = sys_tempfile.mkdtemp() -UPLOAD_TO = os.path.join(MEDIA_ROOT, "test_upload") +UPLOAD_FOLDER = "test_upload" +UPLOAD_TO = os.path.join(MEDIA_ROOT, UPLOAD_FOLDER) CANDIDATE_TRAVERSAL_FILE_NAMES = [ "/tmp/hax0rd.txt", # Absolute path, *nix-style. diff --git a/tests/file_uploads/uploadhandler.py b/tests/file_uploads/uploadhandler.py index eecbc6dc9b..a1e1a5af05 100644 --- a/tests/file_uploads/uploadhandler.py +++ b/tests/file_uploads/uploadhandler.py @@ -55,7 +55,7 @@ class TraversalUploadHandler(FileUploadHandler): """A handler with potential directory-traversal vulnerability.""" def __init__(self, request=None): - from .views import UPLOAD_TO + from .tests import UPLOAD_TO super().__init__(request) self.upload_dir = UPLOAD_TO diff --git a/tests/file_uploads/views.py b/tests/file_uploads/views.py index d5efbba3ce..c1d4ca5358 100644 --- a/tests/file_uploads/views.py +++ b/tests/file_uploads/views.py @@ -6,7 +6,7 @@ from django.core.files.uploadhandler import TemporaryFileUploadHandler from django.http import HttpResponse, HttpResponseServerError, JsonResponse from .models import FileModel -from .tests import UNICODE_FILENAME, UPLOAD_TO +from .tests import UNICODE_FILENAME, UPLOAD_FOLDER from .uploadhandler import ( ErroringUploadHandler, QuotaUploadHandler, @@ -68,9 +68,13 @@ def file_upload_unicode_name(request): # Check to make sure the exotic characters are preserved even # through file save. uni_named_file = request.FILES["file_unicode"] - FileModel.objects.create(testfile=uni_named_file) - full_name = "%s/%s" % (UPLOAD_TO, uni_named_file.name) - return HttpResponse() if os.path.exists(full_name) else HttpResponseServerError() + file_model = FileModel.objects.create(testfile=uni_named_file) + full_name = f"{UPLOAD_FOLDER}/{uni_named_file.name}" + return ( + HttpResponse() + if file_model.testfile.storage.exists(full_name) + else HttpResponseServerError() + ) def file_upload_echo(request): |