.. | ||
__init__.py | ||
dotenv_exemple | ||
exemple-api-basic.py | ||
exemple-api-scodoc7.py | ||
make_samples.py | ||
README.md | ||
samples.csv | ||
setup_test_api.py | ||
test_api_absences.py | ||
test_api_billets.py | ||
test_api_departements.py | ||
test_api_etudiants.py | ||
test_api_evaluations.py | ||
test_api_formations.py | ||
test_api_formsemestre.py | ||
test_api_jury.py | ||
test_api_logos.py | ||
test_api_partitions.py | ||
test_api_permissions.py | ||
test_api_users.py | ||
tools_test_api.py |
Tests unitaires de l'API ScoDoc
Démarche générale:
-
On génère une base SQL de test: voir
tools/fakedatabase/create_test_api_database.py
- modifier /opt/scodoc/.env pour indiquer
FLASK_ENV=test_api FLASK_DEBUG=1
- En tant qu'utilisateur scodoc, lancer:
tools/create_database.sh --drop SCODOC_TEST_API flask db upgrade flask sco-db-init --erase flask init-test-database
en plus court: ``` 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