# -*- 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_jury.py
"""

import requests

from tests.api.setup_test_api import SCODOC_URL, CHECK_CERTIFICATE, HEADERS

# jury_preparation
def test_jury_preparation():
    r = requests.get(
        SCODOC_URL
        + "/ScoDoc/api/jury/formsemestre/<int:formsemestre_id>/preparation_jury",
        headers=HEADERS,
        verify=CHECK_CERTIFICATE,
    )
    assert r.status_code == 200


# jury_decisions
def test_jury_decisions():
    r = requests.get(
        SCODOC_URL
        + "/ScoDoc/api/jury/formsemestre/<int:formsemestre_id>/decisions_jury",
        headers=HEADERS,
        verify=CHECK_CERTIFICATE,
    )
    assert r.status_code == 200


# set_decision_jury
def test_set_decision_jury():
    r = requests.get(
        SCODOC_URL
        + "/ScoDoc/api/jury/set_decision/etudid?etudid=<int:etudid>&formsemestre_id=<int:formesemestre_id>"
        "&jury=<string:decision_jury>&devenir=<string:devenir_jury>&assiduite=<bool>",
        headers=HEADERS,
        verify=CHECK_CERTIFICATE,
    )
    assert r.status_code == 200

    r = requests.get(
        SCODOC_URL
        + "/ScoDoc/api/jury/set_decision/nip?etudid=<int:etudid>&formsemestre_id=<int:formesemestre_id>"
        "&jury=<string:decision_jury>&devenir=<string:devenir_jury>&assiduite=<bool>",
        headers=HEADERS,
        verify=CHECK_CERTIFICATE,
    )
    assert r.status_code == 200

    r = requests.get(
        SCODOC_URL
        + "/ScoDoc/api/jury/set_decision/ine?etudid=<int:etudid>&formsemestre_id=<int:formesemestre_id>"
        "&jury=<string:decision_jury>&devenir=<string:devenir_jury>&assiduite=<bool>",
        headers=HEADERS,
        verify=CHECK_CERTIFICATE,
    )
    assert r.status_code == 200


# annule_decision_jury
def test_annule_decision_jury():
    r = requests.get(
        SCODOC_URL
        + "/ScoDoc/api/jury/etudid/<int:etudid>/formsemestre/<int:formsemestre_id>/annule_decision",
        headers=HEADERS,
        verify=CHECK_CERTIFICATE,
    )
    assert r.status_code == 200

    r = requests.get(
        SCODOC_URL
        + "/ScoDoc/api/jury/nip/<int:nip>/formsemestre/<int:formsemestre_id>/annule_decision",
        headers=HEADERS,
        verify=CHECK_CERTIFICATE,
    )
    assert r.status_code == 200

    r = requests.get(
        SCODOC_URL
        + "/ScoDoc/api/jury/ine/<int:ine>/formsemestre/<int:formsemestre_id>/annule_decision",
        headers=HEADERS,
        verify=CHECK_CERTIFICATE,
    )
    assert r.status_code == 200
