# -*- 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_partitions.py """ import requests from tests.api.setup_test_api import API_URL, CHECK_CERTIFICATE, api_headers from tests.api.tools_test_api import ( verify_fields, PARTITIONS_FIELDS, PARTITION_GROUPS_ETUD_FIELDS, ) def test_partition(api_headers): """ Test 'partition' Route : - /partition/ """ partition_id = 1 r = requests.get( f"{API_URL}/partition/{partition_id}", headers=api_headers, verify=CHECK_CERTIFICATE, ) assert r.status_code == 200 partition = r.json() assert isinstance(partition, dict) assert verify_fields(partition, PARTITIONS_FIELDS) is True assert partition_id == partition["id"] assert isinstance(partition["id"], int) assert isinstance(partition["id"], int) assert isinstance(partition["formsemestre_id"], int) assert partition["partition_name"] is None or isinstance( partition["partition_name"], str ) assert isinstance(partition["numero"], int) assert isinstance(partition["bul_show_rank"], bool) assert isinstance(partition["show_in_lists"], bool) def test_etud_in_group(api_headers): """ Test 'etud_in_group' Routes : - /group//etudiants - /group//etudiants/query?etat= """ group_id = 1 r = requests.get( f"{API_URL}/group/{group_id}/etudiants", headers=api_headers, verify=CHECK_CERTIFICATE, ) assert r.status_code == 200 assert isinstance(r.json(), list) for etud in r.json(): assert verify_fields(etud, PARTITION_GROUPS_ETUD_FIELDS) assert isinstance(etud["id"], int) assert isinstance(etud["dept_id"], int) assert isinstance(etud["nom"], str) assert isinstance(etud["prenom"], str) assert etud["nom_usuel"] is None or isinstance(etud["nom_usuel"], str) assert isinstance(etud["civilite"], str) assert isinstance(etud["code_nip"], str) assert isinstance(etud["code_ine"], str) etat = "I" r_etat = requests.get( f"{API_URL}/group/{group_id}/etudiants/query?etat={etat}", headers=api_headers, verify=CHECK_CERTIFICATE, ) assert r_etat.status_code == 200 assert isinstance(r_etat.json(), list) for etud in r_etat.json(): assert verify_fields(etud, PARTITION_GROUPS_ETUD_FIELDS) assert isinstance(etud["id"], int) assert isinstance(etud["dept_id"], int) assert isinstance(etud["nom"], str) assert isinstance(etud["prenom"], str) assert etud["nom_usuel"] is None or isinstance(etud["nom_usuel"], str) assert isinstance(etud["civilite"], str) # # set_groups # def test_set_groups(api_headers): # """ # Test 'set_groups' # # Routes : # - /partitions/set_groups/partition//groups//delete/" # "/create/ # """ # r = requests.get( # SCODOC_URL # + "/partitions/set_groups/partition//groups/" # "/delete//create/", # headers=api_headers, # verify=CHECK_CERTIFICATE, # ) # assert r.status_code == 200