2022-07-29 16:19:40 +02:00
|
|
|
# Tests unitaires de l'API ScoDoc
|
|
|
|
|
2022-11-01 11:19:28 +01:00
|
|
|
Démarche générale:
|
2022-07-29 16:19:40 +02:00
|
|
|
|
|
|
|
1. On génère une base SQL de test: voir
|
|
|
|
`tools/fakedatabase/create_test_api_database.py`
|
|
|
|
|
2022-11-01 11:19:28 +01:00
|
|
|
1. modifier /opt/scodoc/.env pour indiquer
|
|
|
|
|
2022-11-01 17:39:18 +01:00
|
|
|
```bash
|
2022-07-29 16:19:40 +02:00
|
|
|
FLASK_ENV=test_api
|
|
|
|
FLASK_DEBUG=1
|
|
|
|
```
|
|
|
|
|
|
|
|
2. En tant qu'utilisateur scodoc, lancer:
|
2022-11-01 11:19:28 +01:00
|
|
|
|
2022-11-01 17:39:18 +01:00
|
|
|
```bash
|
2022-07-29 16:19:40 +02:00
|
|
|
tools/create_database.sh --drop SCODOC_TEST_API
|
|
|
|
flask db upgrade
|
|
|
|
flask sco-db-init --erase
|
|
|
|
flask init-test-database
|
|
|
|
```
|
|
|
|
|
2022-11-01 17:39:18 +01:00
|
|
|
en plus court: ```bash
|
2022-08-02 17:13:13 +02:00
|
|
|
tools/create_database.sh --drop SCODOC_TEST_API && flask db upgrade &&flask sco-db-init --erase && flask init-test-database
|
|
|
|
```
|
|
|
|
|
2022-07-29 16:19:40 +02:00
|
|
|
2. On lance le serveur ScoDoc sur cette base
|
2022-11-01 11:19:28 +01:00
|
|
|
|
2022-07-29 16:19:40 +02:00
|
|
|
```
|
|
|
|
flask run --host 0.0.0.0
|
|
|
|
```
|
|
|
|
|
|
|
|
3. On lance les tests unitaires API
|
2022-11-01 11:19:28 +01:00
|
|
|
|
2022-07-29 16:19:40 +02:00
|
|
|
```
|
|
|
|
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:
|
2022-11-01 11:19:28 +01:00
|
|
|
|
2022-07-29 16:19:40 +02:00
|
|
|
```
|
|
|
|
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
|
|
|
|
```
|