Clean temporary files by default

This commit is contained in:
2020-05-09 11:36:18 +02:00
parent 40490d6086
commit 61c178d222

View File

@@ -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()