TestsScoDoc7API/scotests/test_user.py

64 lines
2.2 KiB
Python
Executable File

""" 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_userlist_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.
"""