fix(tests): copier users.test.sqlite vers une base jetable pour les tests
Les tests qui démarrent l'app complète (Selenium) écrivent dans la base users pointée par USERS_DB_PATH (comptes créés, vues sauvegardées...). Comme ce fichier était le fixture committé lui-même, chaque exécution de la suite le laissait modifié dans l'arbre de travail — gênant pour les commits et le nettoyage de worktree. Même schéma déjà utilisé pour DUCKDB_PATH et DATA_SCHEMA_CACHE dans ce fichier : le fixture committé est copié vers une base jetable gitignorée (tests/users.runtime.sqlite) au chargement de conftest.py, et USERS_DB_PATH pointe sur la copie. tests/users.test.sqlite reste désormais toujours propre. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -19,6 +19,8 @@ users.sqlite
|
||||
*.sqlite-*
|
||||
!tests/*.sqlite
|
||||
!tests/**/*.sqlite
|
||||
# Copie jetable de tests/users.test.sqlite, générée par tests/conftest.py
|
||||
tests/users.runtime.sqlite
|
||||
|
||||
# LLM plugins
|
||||
.superpowers/
|
||||
|
||||
@@ -60,6 +60,16 @@ shutil.copyfile(_SCHEMA_FIXTURE, _SCHEMA_CACHE)
|
||||
os.environ["DATA_SCHEMA_CACHE"] = str(_SCHEMA_CACHE)
|
||||
os.environ.pop("DATA_SCHEMA_PATH", None)
|
||||
|
||||
# Base users partagée par les tests qui démarrent l'app complète (Selenium) :
|
||||
# on COPIE le fixture committé vers une base jetable (users.runtime.sqlite,
|
||||
# gitignorée) et on pointe USERS_DB_PATH dessus. Ainsi, toute écriture faite
|
||||
# pendant les tests (comptes créés, vues sauvegardées, etc.) ne mute pas
|
||||
# tests/users.test.sqlite (versionné, partagé pour toute la suite).
|
||||
_USERS_DB_FIXTURE = Path(os.path.abspath("tests/users.test.sqlite"))
|
||||
_USERS_DB_RUNTIME = Path(os.path.abspath("tests/users.runtime.sqlite"))
|
||||
shutil.copyfile(_USERS_DB_FIXTURE, _USERS_DB_RUNTIME)
|
||||
os.environ["USERS_DB_PATH"] = str(_USERS_DB_RUNTIME)
|
||||
|
||||
|
||||
def _cleanup_db_artifacts() -> None:
|
||||
for artifact in (
|
||||
|
||||
Reference in New Issue
Block a user