Clean temporary files by default
This commit is contained in:
@@ -5,18 +5,28 @@ from django.test import override_settings
|
||||
|
||||
|
||||
class UploadMixin(TestCase):
|
||||
base_upload_dir: str
|
||||
clean_uploads_after_run = True
|
||||
base_upload_dir: tempfile.TemporaryDirectory
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls) -> None:
|
||||
super().setUpClass()
|
||||
cls.base_upload_dir = tempfile.mkdtemp(suffix='-videodinges-tests')
|
||||
cls.base_upload_dir = tempfile.TemporaryDirectory(suffix='-videodinges-tests')
|
||||
|
||||
def setUp(self) -> None:
|
||||
super().setUp()
|
||||
media_root = tempfile.mkdtemp(suffix='-' + self.__class__.__name__, dir=self.base_upload_dir)
|
||||
self.media_root_override_settings = override_settings(MEDIA_ROOT=media_root)
|
||||
self.media_root = tempfile.TemporaryDirectory(suffix='-' + self.__class__.__name__, dir=self.base_upload_dir.name)
|
||||
self.media_root_override_settings = override_settings(MEDIA_ROOT=self.media_root.name)
|
||||
self.media_root_override_settings.enable()
|
||||
|
||||
def tearDown(self) -> None:
|
||||
self.media_root_override_settings.disable()
|
||||
if self.clean_uploads_after_run:
|
||||
self.media_root.cleanup()
|
||||
super().tearDown()
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls) -> None:
|
||||
if cls.clean_uploads_after_run:
|
||||
cls.base_upload_dir.cleanup()
|
||||
super().tearDownClass()
|
||||
|
||||
Reference in New Issue
Block a user