summaryrefslogtreecommitdiff
path: root/tests/file_storage
diff options
context:
space:
mode:
authorAdam Zapletal <adamzap@gmail.com>2024-02-18 21:56:26 -0600
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2024-02-20 21:06:39 +0100
commiteb2d49b73408f1e60b8e1fa7fee822816945e1cd (patch)
tree524d2fb39f9ed3cd9170f51d9c18eaca8b5b2569 /tests/file_storage
parent3426a5c33c36266af42128ee9eca4921e68ea876 (diff)
Fixed #23759 -- Preserved all file extensions in Storage.get_available_name().
Diffstat (limited to 'tests/file_storage')
-rw-r--r--tests/file_storage/tests.py30
1 files changed, 18 insertions, 12 deletions
diff --git a/tests/file_storage/tests.py b/tests/file_storage/tests.py
index 637de0a3c9..420314573d 100644
--- a/tests/file_storage/tests.py
+++ b/tests/file_storage/tests.py
@@ -769,18 +769,24 @@ class FileFieldStorageTests(TestCase):
def test_duplicate_filename(self):
# Multiple files with the same name get _(7 random chars) appended to them.
- objs = [Storage() for i in range(2)]
- for o in objs:
- o.normal.save("multiple_files.txt", ContentFile("Same Content"))
- try:
- names = [o.normal.name for o in objs]
- self.assertEqual(names[0], "tests/multiple_files.txt")
- self.assertRegex(
- names[1], "tests/multiple_files_%s.txt" % FILE_SUFFIX_REGEX
- )
- finally:
- for o in objs:
- o.delete()
+ tests = [
+ ("multiple_files", "txt"),
+ ("multiple_files_many_extensions", "tar.gz"),
+ ]
+ for filename, extension in tests:
+ with self.subTest(filename=filename):
+ objs = [Storage() for i in range(2)]
+ for o in objs:
+ o.normal.save(f"{filename}.{extension}", ContentFile("Content"))
+ try:
+ names = [o.normal.name for o in objs]
+ self.assertEqual(names[0], f"tests/{filename}.{extension}")
+ self.assertRegex(
+ names[1], f"tests/{filename}_{FILE_SUFFIX_REGEX}.{extension}"
+ )
+ finally:
+ for o in objs:
+ o.delete()
def test_file_truncation(self):
# Given the max_length is limited, when multiple files get uploaded