ScoDoc/scotests/test_user.py

75 lines
2.2 KiB
Python

""" Créer un utilisateur, recupérer ses infos, changer son mdp, le supprimer """
import random
# La variable context est définie par le script de lancement
# l'affecte ainsi pour évietr les warnins pylint:
context = context # pylint: disable=undefined-variable
REQUEST = REQUEST # pylint: disable=undefined-variable
import scotests.sco_fake_gen as sco_fake_gen # pylint: disable=import-error
import ZScoUsers
import ZScoDoc
import ZScolar
nomdept = raw_input(
"Quel est le nom de votre département test? ATTENTION A NE PAS VOUS TROMPER : "
)
# --- Création d'un utilisateur
arg = {
"passwd": "scodocpass",
"user_name": "unutil",
"nom": "unnom",
"prenom": "unprenom",
"email": "unemail@mail.fr",
"roles": "Ens" + nomdept + ",RespPe" + nomdept,
}
# user1 = context.Users.create_user(args=arg, REQUEST=REQUEST)
user_info1 = context.Users.user_info(user_name="unutil")
assert user_info1["email"] == arg["email"]
assert user_info1["user_name"] == arg["user_name"]
assert user_info1["nom"] == "unnom"
assert user_info1["prenom"] == "unprenom"
assert user_info1["roles"] == arg["roles"]
# --- Récupération de la liste des Users
liste_xml = context.Users.get_user_list_xml(REQUEST=REQUEST)
print(liste_xml)
liste_user = context.Users.get_userlist()
len_liu1 = len(liste_user)
assert user_info1 in liste_user # le nouvel utilisateur est bien dans la liste !
# --- Récupérer user_name à partir de nomplogin
user_name1 = context.Users.get_user_name_from_nomplogin(
nomplogin=user_info1["nomplogin"]
)
assert user_name1 == "unutil"
# --- Changement du mot de passe de l'utilisateur
context.Users.do_change_password(user_name="unutil", password="scodocpass2")
# vérification du mdp changé directement sur scodoc web car je ne trouve pas comment récupérer le mdp en python
# Vérification : ok!
# --- Supression d'un utilisateur
# context.Users.delete_user_form(REQUEST=REQUEST, user_name="unutil")
# --- Test de la récupération de l'URL
url = context.Users.UsersURL()
assert url == "ScoDoc/" + nomdept + "/Scolarite/Users"
"""
Commentaire :
La supression d'un utilisateur ne fonctionne pas car nécessite l'envoie d'un formulaire.
"""