testUtils.py 1.38 KB
Newer Older
1
import json
2
import pytest
3 4
import string
import random
5

6 7 8 9 10 11 12 13 14 15 16 17 18 19
from app import app


@pytest.fixture
def client():
    app.config['TESTING'] = True
    app.config['SERVER_NAME'] = 'TEST'
    client = app.test_client()
    with app.app_context():
        pass
    app.app_context().push()
    yield client


20 21 22 23
def get_headers(client):
    response = client.get("/utilisateurs/checkUser?login=Charles")
    headers = {'Authorization': 'Bearer ' + json.loads(response.data)["access_token"]}
    return headers
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49


def genererRandom():
    return ''.join(random.choice(string.ascii_letters + string.digits) for _ in range(8))


# permet de générer un utilisateur "aléatoire" pour faire les tests
def creerUtilisateurRandom(client):
    login = genererRandom()
    data = {"login": login}
    client.post("/utilisateurs/newUser", json=data)
    return login


def creerContenuRandom(client, login):
    data = {"auteur": login, "contenu_a_ecrire": "Texte du contenu", "titre": "titreContenu",
            "tags": ["tag1"]}  # création d'un contenu
    rv = client.post("/contenus/addContenu", json=data, headers=get_headers(client))
    assert rv.status_code == 201
    # on récupère l'id
    return json.loads(rv.data)["_id"]


# permet de supprimer un utilisateur créé par la fonction ci dessus
def supprimerUtilisateur(client, login):
    client.delete('/utilisateurs/supprimerUser/' + login, headers=get_headers(client))