From 9eecb9169566db263e243e4522b08ea1403ee95f Mon Sep 17 00:00:00 2001 From: Vajrasky Kok Date: Sat, 19 Oct 2013 20:40:12 +0800 Subject: Fixed #21219 -- Added a way to set different permission for static files. Previously, when collecting static files, the files would receive permission from FILE_UPLOAD_PERMISSIONS. Now, there's an option to give different permission from uploaded files permission by subclassing any of the static files storage classes and setting the file_permissions_mode parameter. Thanks dblack at atlassian.com for the suggestion. --- tests/file_storage/tests.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'tests/file_storage') diff --git a/tests/file_storage/tests.py b/tests/file_storage/tests.py index fa791c405b..00920a8618 100644 --- a/tests/file_storage/tests.py +++ b/tests/file_storage/tests.py @@ -442,7 +442,6 @@ class FileStoragePermissions(unittest.TestCase): self.umask = 0o027 self.old_umask = os.umask(self.umask) self.storage_dir = tempfile.mkdtemp() - self.storage = FileSystemStorage(self.storage_dir) def tearDown(self): shutil.rmtree(self.storage_dir) @@ -450,24 +449,28 @@ class FileStoragePermissions(unittest.TestCase): @override_settings(FILE_UPLOAD_PERMISSIONS=0o654) def test_file_upload_permissions(self): + self.storage = FileSystemStorage(self.storage_dir) name = self.storage.save("the_file", ContentFile("data")) actual_mode = os.stat(self.storage.path(name))[0] & 0o777 self.assertEqual(actual_mode, 0o654) @override_settings(FILE_UPLOAD_PERMISSIONS=None) def test_file_upload_default_permissions(self): + self.storage = FileSystemStorage(self.storage_dir) fname = self.storage.save("some_file", ContentFile("data")) mode = os.stat(self.storage.path(fname))[0] & 0o777 self.assertEqual(mode, 0o666 & ~self.umask) @override_settings(FILE_UPLOAD_DIRECTORY_PERMISSIONS=0o765) def test_file_upload_directory_permissions(self): + self.storage = FileSystemStorage(self.storage_dir) name = self.storage.save("the_directory/the_file", ContentFile("data")) dir_mode = os.stat(os.path.dirname(self.storage.path(name)))[0] & 0o777 self.assertEqual(dir_mode, 0o765) @override_settings(FILE_UPLOAD_DIRECTORY_PERMISSIONS=None) def test_file_upload_directory_default_permissions(self): + self.storage = FileSystemStorage(self.storage_dir) name = self.storage.save("the_directory/the_file", ContentFile("data")) dir_mode = os.stat(os.path.dirname(self.storage.path(name)))[0] & 0o777 self.assertEqual(dir_mode, 0o777 & ~self.umask) -- cgit v1.3