MonScoDocEssai/tests/api
2022-08-10 15:21:47 +02:00
..
__init__.py Fixes #374: bulletins BUT si non publiés 2022-05-04 05:45:46 +02:00
dotenv_exemple API: corrections, refonte complète des tests 2022-05-04 23:11:20 +02:00
exemple-api-basic.py exemple API 2022-08-10 15:21:47 +02:00
exemple-api-scodoc7.py API ScoDoc 7: autorise POSTs, ajoute groups_view, script exemple/test 2021-11-01 16:59:56 +01:00
README.md Fixes #466 2022-08-02 17:13:13 +02:00
setup_test_api.py Script test interactif API 2022-08-10 10:49:58 +02:00
test_api_absences.py fix diffs avec origin master 2022-07-11 13:39:50 +02:00
test_api_billets.py renomme /billets_absence/add en /billets_absence/create 2022-08-02 08:48:08 +02:00
test_api_departements.py API: utilisateurs /user, /users/query + tests unitaires 2022-08-05 17:05:24 +02:00
test_api_etudiants.py API: modif résultat de /etudiant(s) 2022-07-31 21:44:39 +02:00
test_api_evaluations.py Modif route /moduleimpl/<int:moduleimpl_id>/evaluations 2022-07-30 08:23:22 +02:00
test_api_formations.py API: diverses corrections, tests unitaires (sauf absences et logos). 2022-07-29 16:19:40 +02:00
test_api_formsemestre.py API: modif /formsemestre/<int:formsemestre_id>/etudiants[/query] 2022-08-10 07:16:34 +02:00
test_api_jury.py API: modif formsemestre/etudiant. TESTS unitaires OK sauf logos. 2022-08-08 10:06:42 +02:00
test_api_logos.py API: unifie traitement errors, messages JSON. 2022-08-07 19:56:25 +02:00
test_api_partitions.py Fix API: /group/<int:group_id>/etudiants/query 2022-08-10 07:24:54 +02:00
test_api_permissions.py API: modif formsemestre/etudiant. TESTS unitaires OK sauf logos. 2022-08-08 10:06:42 +02:00
test_api_users.py Changed route: /role/create/<str:role_name> 2022-08-10 07:29:34 +02:00
tools_test_api.py API: modif résultat de /etudiant(s) 2022-07-31 21:44:39 +02:00

Tests unitaires de l'API ScoDoc

Démarche générale:

  1. On génère une base SQL de test: voir tools/fakedatabase/create_test_api_database.py

    1. modifier /opt/scodoc/.env pour indiquer
    FLASK_ENV=test_api
    FLASK_DEBUG=1 
    
    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

    
    
  2. On lance le serveur ScoDoc sur cette base

    flask run --host 0.0.0.0
    
  3. 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