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