Skip to content

Commit 06c01e3

Browse files
committed
add test
1 parent 3392af6 commit 06c01e3

1 file changed

Lines changed: 26 additions & 0 deletions

File tree

airflow-core/tests/unit/jobs/test_triggerer_job.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,32 @@ def test_trigger_log(mock_monotonic, trigger, watcher_count, trigger_count, sess
303303
trigger_runner_supervisor.kill(force=False)
304304

305305

306+
def test_trigger_logger_fd_closed_when_removed(session):
307+
import structlog
308+
309+
trigger = TimeDeltaTrigger(datetime.timedelta(seconds=0.5))
310+
311+
create_trigger_in_db(session, trigger)
312+
313+
mock_file = MagicMock()
314+
mock_file.closed = False
315+
316+
mock_underlying_logger = MagicMock()
317+
mock_underlying_logger._file = mock_file
318+
319+
with patch.object(structlog, "BytesLogger", return_value=mock_underlying_logger):
320+
trigger_runner_supervisor = TriggerRunnerSupervisor.start(job=Job(id=123456), capacity=10)
321+
trigger_runner_supervisor.load_triggers()
322+
323+
for _ in range(30):
324+
trigger_runner_supervisor._service_subprocess(0.1)
325+
326+
mock_file.flush.assert_called_once()
327+
mock_file.close.assert_called_once()
328+
329+
trigger_runner_supervisor.kill(force=False)
330+
331+
306332
class TestTriggerRunner:
307333
def test_run_inline_trigger_canceled(self, session) -> None:
308334
trigger_runner = TriggerRunner()

0 commit comments

Comments
 (0)