From 6590b8035e043a1b5667b18bce9cd90225fcb7a0 Mon Sep 17 00:00:00 2001 From: Tatiana Al-Chueyr Date: Wed, 30 Aug 2023 16:25:44 +0100 Subject: [PATCH] Fix incorrect temporary directory creation in VirtualenvOperator constructor --- cosmos/operators/virtualenv.py | 2 +- tests/operators/test_virtualenv.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/cosmos/operators/virtualenv.py b/cosmos/operators/virtualenv.py index 493f09ee56..9739c80381 100644 --- a/cosmos/operators/virtualenv.py +++ b/cosmos/operators/virtualenv.py @@ -50,7 +50,7 @@ def __init__( self.py_requirements = py_requirements or [] self.py_system_site_packages = py_system_site_packages super().__init__(**kwargs) - self._venv_tmp_dir = TemporaryDirectory() + self._venv_tmp_dir: None | TemporaryDirectory[str] = None @cached_property def venv_dbt_path( diff --git a/tests/operators/test_virtualenv.py b/tests/operators/test_virtualenv.py index a1b1db9fd0..eabc5cb822 100644 --- a/tests/operators/test_virtualenv.py +++ b/tests/operators/test_virtualenv.py @@ -46,6 +46,8 @@ def test_run_command( py_system_site_packages=False, py_requirements=["dbt-postgres==1.6.0b1"], ) + assert venv_operator._venv_tmp_dir is None # Otherwise we are creating empty directories during DAG parsing time + # and not deleting them venv_operator.run_command(cmd=["fake-dbt", "do-something"], env={}, context={}) run_command_args = mock_subprocess_hook.run_command.call_args_list assert len(run_command_args) == 3