forked from ScoDoc/ScoDoc
b7b5d08de0
prend en compte le fix du test api git revert du revert This reverts commit ddfd94b0bab41fd01590b32c915c094dea81f42f.
Tests unitaires de l'API ScoDoc
Lancement des tests
La première fois, copier le fichier tests/api/dotenv_exemple
vers
tests/api/.env
. Il est normalement inutile de modifier son contenu.
Dans un shell, lancer le script start_api_server.py
, qui se charge
d'initialiser une base SQL de test et de lancer le serveur ScoDoc approprié.
tests/api/start_api_server.sh
Dans un autre shell, lancer les tests:
pytest tests/api
Notes sur la démarche
-
On génère une base SQL de test: voir
tools/fakedatabase/create_test_api_database.py
- En tant qu'utilisateur scodoc, lancer:
# evite de modifier /opt/scodoc/.env export FLASK_ENV=test_api export FLASK_DEBUG=1 tools/create_database.sh --drop SCODOC_TEST_API flask db upgrade flask sco-db-init --erase flask init-test-database
en plus court:
export FLASK_ENV=test_api && tools/create_database.sh --drop SCODOC_TEST_API && flask db upgrade &&flask sco-db-init --erase && flask init-test-database
-
On lance le serveur ScoDoc sur cette base
flask run --host 0.0.0.0
-
On lance les tests unitaires API
pytest tests/api/test_api_departements.py
Rappel: pour interroger l'API, il fait avoir un utilisateur avec (au moins) la permission ScoView dans tous les départements. Pour en créer un:
flask user-create lecteur_api LecteurAPI @all
flask user-password lecteur_api
flask edit-role LecteurAPI -a ScoView
flask user-role lecteur_api -a LecteurAPI