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-*
|
*.sqlite-*
|
||||||
!tests/*.sqlite
|
!tests/*.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
|
# LLM plugins
|
||||||
.superpowers/
|
.superpowers/
|
||||||
|
|||||||
@@ -60,6 +60,16 @@ shutil.copyfile(_SCHEMA_FIXTURE, _SCHEMA_CACHE)
|
|||||||
os.environ["DATA_SCHEMA_CACHE"] = str(_SCHEMA_CACHE)
|
os.environ["DATA_SCHEMA_CACHE"] = str(_SCHEMA_CACHE)
|
||||||
os.environ.pop("DATA_SCHEMA_PATH", None)
|
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:
|
def _cleanup_db_artifacts() -> None:
|
||||||
for artifact in (
|
for artifact in (
|
||||||
|
|||||||
Reference in New Issue
Block a user