From 45f2f3ad639c38bfdffcffb69bc1d12ef8e4acb1 Mon Sep 17 00:00:00 2001 From: tligui_y Date: Mon, 4 Aug 2025 18:25:08 +0200 Subject: [PATCH] Update tests/test_utils_run_later.py --- tests/test_utils_run_later.py | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/tests/test_utils_run_later.py b/tests/test_utils_run_later.py index e2ecaa275..589d75c21 100644 --- a/tests/test_utils_run_later.py +++ b/tests/test_utils_run_later.py @@ -21,6 +21,16 @@ class FakeDatetime: return getattr(datetime, attr) +# Wrapper to monkeypatch the whole datetime module with a fake .now() +class FakeDateTimeModule: + def __init__(self, fake_dt): + self.fake_dt = fake_dt + def now(self): + return self.fake_dt.now() + def __getattr__(self, attr): + return getattr(datetime, attr) + + def test_run_at(monkeypatch): triggered = [] @@ -30,9 +40,7 @@ def test_run_at(monkeypatch): base = datetime(2025, 1, 1, 12, 0, 0) fake_dt = FakeDatetime(base) - # Patch dependencies in slic.utils.run_later - monkeypatch.setattr("slic.utils.run_later.datetime", datetime) - monkeypatch.setattr("slic.utils.run_later.datetime.now", fake_dt.now) + monkeypatch.setattr("slic.utils.run_later.datetime", FakeDateTimeModule(fake_dt)) monkeypatch.setattr("slic.utils.run_later.sleep", lambda x: None) monkeypatch.setattr("slic.utils.run_later.tqdm_mod", lambda *a, **k: DummyBar()) @@ -56,8 +64,7 @@ def test_run_in(monkeypatch): base = datetime(2025, 1, 1, 13, 0, 0) fake_dt = FakeDatetime(base) - monkeypatch.setattr("slic.utils.run_later.datetime", datetime) - monkeypatch.setattr("slic.utils.run_later.datetime.now", fake_dt.now) + monkeypatch.setattr("slic.utils.run_later.datetime", FakeDateTimeModule(fake_dt)) monkeypatch.setattr("slic.utils.run_later.sleep", lambda x: None) monkeypatch.setattr("slic.utils.run_later.tqdm_mod", lambda *a, **k: DummyBar()) @@ -82,8 +89,7 @@ def test_run_later(monkeypatch): base = datetime(2025, 1, 1, 14, 0, 0) fake_dt = FakeDatetime(base) - monkeypatch.setattr("slic.utils.run_later.datetime", datetime) - monkeypatch.setattr("slic.utils.run_later.datetime.now", fake_dt.now) + monkeypatch.setattr("slic.utils.run_later.datetime", FakeDateTimeModule(fake_dt)) monkeypatch.setattr("slic.utils.run_later.sleep", lambda x: None) monkeypatch.setattr("slic.utils.run_later.tqdm_mod", lambda *a, **k: DummyBar())