# -*- coding: utf-8 -*- """Test Logos Utilisation : créer les variables d'environnement: (indiquer les valeurs pour le serveur ScoDoc que vous voulez interroger) export SCODOC_URL="https://scodoc.xxx.net/" export SCODOC_USER="xxx" export SCODOC_PASSWD="xxx" export CHECK_CERTIFICATE=0 # ou 1 si serveur de production avec certif SSL valide (on peut aussi placer ces valeurs dans un fichier .env du répertoire tests/api). Lancer : pytest tests/api/test_api_departements.py """ import requests from tests.api.setup_test_api import SCODOC_URL, CHECK_CERTIFICATE, HEADERS # departements def test_departements(): #XXX TODO pour Seb r = requests.get( SCODOC_URL + "/ScoDoc/api/departements", headers=HEADERS, verify=CHECK_CERTIFICATE, ) assert r.status_code == 200 assert len(r.json()) == 1 # liste_etudiants def test_liste_etudiants(): #XXX TODO pour Seb r = requests.get( SCODOC_URL + "/ScoDoc/api/departements/TAPI/etudiants/liste", headers=HEADERS, verify=CHECK_CERTIFICATE, ) assert r.status_code == 200 assert len(r.json()) == 16 r = requests.get( SCODOC_URL + "/ScoDoc/api/departements/TAPI/etudiants/liste/1", headers=HEADERS, verify=CHECK_CERTIFICATE, ) assert r.status_code == 200 assert len(r.json()) == 16 # liste_semestres_courant def test_semestres_courant(): #XXX TODO pour Seb r = requests.get( SCODOC_URL + "/ScoDoc/api/departements/TAPI/semestres_courants", headers=HEADERS, verify=CHECK_CERTIFICATE, ) assert r.status_code == 200 assert len(r.json()) == 1 # referenciel_competences def test_referenciel_competences(): r = requests.get( SCODOC_URL + "/ScoDoc/api/departements/TAPI/formations/1/referentiel_competences", headers=HEADERS, verify=CHECK_CERTIFICATE, ) assert r.status_code == 200 or 204 # semestre_index def test_semestre_index(): #XXX TODO pour Seb ue_fields = [ "semestre_idx", "type", "formation_id", "ue_code", "id", "ects", "acronyme", "is_external", "numero", "code_apogee", "titre", "coefficient", "color", "ue_id", ] ressource_fields = [ "heures_tp", "code_apogee", "titre", "coefficient", "module_type", "id", "ects", "abbrev", "ue_id", "code", "formation_id", "heures_cours", "matiere_id", "heures_td", "semestre_id", "numero", "module_id", ] sae_fields = [ "heures_tp", "code_apogee", "titre", "coefficient", "module_type", "id", "ects", "abbrev", "ue_id", "code", "formation_id", "heures_cours", "matiere_id", "heures_td", "semestre_id", "numero", "module_id", ] r = requests.get( SCODOC_URL + "/ScoDoc/api/departements/TAPI/formsemestre/1/programme", headers=HEADERS, verify=CHECK_CERTIFICATE, ) assert r.status_code == 200 assert len(r.json()) == 3 ue = r.json()["ues"][0] ressource = r.json()["ressources"][0] sae = r.json()["saes"][0] fields_OK = True # Vérifie si tous les champs sont bien présents for field in ue: if field not in ue_fields: fields_OK = False for field in ressource: if field not in ressource_fields: fields_OK = False for field in sae: if field not in sae_fields: fields_OK = False assert fields_OK is True