From 553e23dd98726f07f8a27f47982427c9cdf580b9 Mon Sep 17 00:00:00 2001 From: Colin Maudry Date: Wed, 15 Apr 2026 16:10:17 +0200 Subject: [PATCH] =?UTF-8?q?Nettoyage=20des=20tests=20should=5Frebuild=20su?= =?UTF-8?q?ite=20=C3=A0=20la=20revue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Import de should_rebuild au niveau module - Suppression d'un setenv DEVELOPMENT inutile (branche db-missing) - Utilisation de os.utime pour un ordre mtime déterministe refs #71 Co-Authored-By: Claude Opus 4.6 --- tests/test_db.py | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/tests/test_db.py b/tests/test_db.py index 4343e08..f03d03a 100644 --- a/tests/test_db.py +++ b/tests/test_db.py @@ -1,7 +1,10 @@ +import os import time import pytest +from src.db import should_rebuild + @pytest.fixture def parquet_and_db(tmp_path, monkeypatch): @@ -13,55 +16,52 @@ def parquet_and_db(tmp_path, monkeypatch): return parquet, db -def test_should_rebuild_when_db_missing(parquet_and_db, monkeypatch): - from src.db import should_rebuild - +def test_should_rebuild_when_db_missing(parquet_and_db): parquet, db = parquet_and_db - monkeypatch.setenv("DEVELOPMENT", "true") assert should_rebuild(db, parquet) is True def test_should_rebuild_prod_when_parquet_newer(parquet_and_db, monkeypatch): - from src.db import should_rebuild - parquet, db = parquet_and_db db.write_bytes(b"x") - time.sleep(0.01) parquet.touch() + now = time.time() + os.utime(db, (now, now)) + os.utime(parquet, (now + 10, now + 10)) monkeypatch.setenv("DEVELOPMENT", "false") assert should_rebuild(db, parquet) is True def test_should_not_rebuild_prod_when_parquet_older(parquet_and_db, monkeypatch): - from src.db import should_rebuild - parquet, db = parquet_and_db parquet.touch() - time.sleep(0.01) db.write_bytes(b"x") + now = time.time() + os.utime(parquet, (now, now)) + os.utime(db, (now + 10, now + 10)) monkeypatch.setenv("DEVELOPMENT", "false") assert should_rebuild(db, parquet) is False def test_should_not_rebuild_dev_even_when_parquet_newer(parquet_and_db, monkeypatch): - from src.db import should_rebuild - parquet, db = parquet_and_db db.write_bytes(b"x") - time.sleep(0.01) parquet.touch() + now = time.time() + os.utime(db, (now, now)) + os.utime(parquet, (now + 10, now + 10)) monkeypatch.setenv("DEVELOPMENT", "true") monkeypatch.delenv("REBUILD_DUCKDB", raising=False) assert should_rebuild(db, parquet) is False def test_should_rebuild_dev_when_rebuild_forced(parquet_and_db, monkeypatch): - from src.db import should_rebuild - parquet, db = parquet_and_db db.write_bytes(b"x") - time.sleep(0.01) parquet.touch() + now = time.time() + os.utime(db, (now, now)) + os.utime(parquet, (now + 10, now + 10)) monkeypatch.setenv("DEVELOPMENT", "true") monkeypatch.setenv("REBUILD_DUCKDB", "true") assert should_rebuild(db, parquet) is True