*** Settings *** Resource resources/resources.robot Suite Setup Run Keywords No Operation ... AND For Suite Setup ... AND Composition du jeu de connées Suite Teardown Run Keywords No Operation ... AND For Suite Teardown *** Test Cases *** Synchronisation des utilisateurs avec un annuaire LDAP [Documentation] On teste la synchronisation des utilisateurs avec le ldap ... Les utilisateurs qui devront être ajoutés et mis à jour : ... einstein, newton, galieleo, tesla ... Et les utilisateurs qui devront être supprimés : ... ldap_instructeur et ldap_service [Tags] exclude # Depuis la page d'accueil admin admin # On accède à l'écran de synchronisation via le menu Go To Submenu In Menu administration annuaire # On vérifie le titre de l'écran Le titre de la page doit être Administration > Utilisateur > Synchronisation Annuaire # On vérifie que le menu est ouvert sur l'élément correct Submenu In Menu Should Be Selected administration annuaire # ATTENTION POSTULAT : Il y a deux utilisateurs LDAP dans la base # et le ldap auquel nous sommes connectés contient 4 utilisateurs qui ne # sont pas les deux déjà en base Page Should Contain Il y a 3 utilisateur(s) présent(s) dans l'annuaire et non présent(s) dans la base => 3 ajout(s) Page Should Contain Il y a 0 utilisateur(s) présent(s) dans la base et non présent(s) dans l'annuaire => 0 suppression(s) Page Should Contain Il y a 0 utilisateur(s) présent(s) à la fois dans la base et l'annuaire => 0 mise(s) à jour # On clique sur "Synchroniser" Click On Submit Button # On vérifie que tout s'est bien passé Valid Message Should Be La synchronisation des utilisateurs est terminée. # On vérifie que les 3 utilisateurs sont bien présents avec l'information LDAP Depuis le contexte de l'utilisateur einstein Depuis le contexte de l'utilisateur newton # Depuis le contexte de l'utilisateur galieleo Depuis le contexte de l'utilisateur tesla # On supprime un des 3 utilisateurs # Supprimer l'utilisateur galieleo Supprimer l'utilisateur tesla # On retourne au tableau de bord Go To Dashboard # On accède à l'écran de synchronisation via le menu Go To Submenu In Menu administration annuaire # On vérifie le titre de l'écran Le titre de la page doit être Administration > Utilisateur > Synchronisation Annuaire # ATTENTION POSTULAT : Il n'y a aucun utilisateur LDAP dans la base # et le ldap auquel nous sommes connectés contient 3 utilisateurs Page Should Contain Il y a 1 utilisateur(s) présent(s) dans l'annuaire et non présent(s) dans la base => 1 ajout(s) Page Should Contain Il y a 0 utilisateur(s) présent(s) dans la base et non présent(s) dans l'annuaire => 0 suppression(s) Page Should Contain Il y a 2 utilisateur(s) présent(s) à la fois dans la base et l'annuaire => 2 mise(s) à jour # On clique sur "Synchroniser" Click On Submit Button # On vérifie que tout s'est bien passé Valid Message Should Be La synchronisation des utilisateurs est terminée. Changement du mot de passe - un mauvais mot de passe actuel est rejeté. Depuis la page d'accueil test_011_mdp test_011_mdp Accéder au formulaire de changement de mot de passe Soumettre le changement de mot de passe mauvais_mdp nouveau_mdp_test nouveau_mdp_test Error Message Should Be Mot de passe actuel incorrect Changement du mot de passe - un nouveau mot de passe vide est rejeté. Depuis la page d'accueil test_011_mdp test_011_mdp Accéder au formulaire de changement de mot de passe Soumettre le changement de mot de passe test_011_mdp ${EMPTY} ${EMPTY} Error Message Should Be Nouveau mot de passe incorrect Changement du mot de passe - deux nouveaux mots de passe différents sont rejetés. Depuis la page d'accueil test_011_mdp test_011_mdp Accéder au formulaire de changement de mot de passe Soumettre le changement de mot de passe test_011_mdp nouveau_mdp_test nouveau_mdp_test_different Error Message Should Be Nouveau mot de passe incorrect Changement du mot de passe - le nouveau mot de passe a bien remplacé l'ancien ${NOUVEAU_MDP} Set Variable nouveau_mdp_test Depuis la page d'accueil test_011_mdp test_011_mdp Accéder au formulaire de changement de mot de passe Soumettre le changement de mot de passe test_011_mdp ${NOUVEAU_MDP} ${NOUVEAU_MDP} Valid Message Should Be Votre mot de passe a été changé correctement # Vérifier que l'ancien mot de passe est refusé Go To ${PROJECT_URL} Se déconnecter Depuis la page de login Saisir les informations de connexion et valider test_011_mdp test_011_mdp Error Message Should Be Votre identifiant ou votre mot de passe est incorrect. # Vérifier que le nouveau mot de passe est accepté à la connexion Depuis la page de login Saisir les informations de connexion et valider test_011_mdp ${NOUVEAU_MDP} Valid Message Should Be Votre session est maintenant ouverte. # Restaurer le mot de passe initial Accéder au formulaire de changement de mot de passe Soumettre le changement de mot de passe ${NOUVEAU_MDP} test_011_mdp test_011_mdp Valid Message Should Be Votre mot de passe a été changé correctement Changement du mot de passe - mot de passe très long accepté [Documentation] Les mots de passe sont hachés avec PASSWORD_ARGON2ID, il ne devrait pas y avoir de limite de longueur. ${MDP_LONG} Set Variable mdp_tres_long_sans_limite_de_longueur_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Depuis la page d'accueil test_011_mdp test_011_mdp Accéder au formulaire de changement de mot de passe Soumettre le changement de mot de passe test_011_mdp ${MDP_LONG} ${MDP_LONG} Valid Message Should Be Votre mot de passe a été changé correctement # Vérifier que la connexion avec le mot de passe long fonctionne Go To ${PROJECT_URL} Se déconnecter Depuis la page de login Saisir les informations de connexion et valider test_011_mdp ${MDP_LONG} Valid Message Should Be Votre session est maintenant ouverte. # Restaurer le mot de passe initial Accéder au formulaire de changement de mot de passe Soumettre le changement de mot de passe ${MDP_LONG} test_011_mdp test_011_mdp Valid Message Should Be Votre mot de passe a été changé correctement Suppression de son propre utilisateur interdite [Documentation] Depuis la page d'accueil admin admin Depuis le contexte de l'utilisateur test_011_mdp Portlet Action Should Be In Form om_utilisateur supprimer Depuis le contexte de l'utilisateur admin Portlet Action Should Not Be In Form om_utilisateur supprimer La réinitialisation du mot de passe n'est pas disponible si l'option est désactivée [Setup] Run Keywords No Operation ... AND Fermer le navigateur ... AND Ouvrir le navigateur # on utilise un navigateur dédié avec une session propre ... AND Désactiver l'option de réinitialisation du mot de passe Depuis la page de login Element Should Not Be Visible css=p.link-password-reset [Teardown] Activer l'option de réinitialisation du mot de passe La réinitialisation du mot de passe par email fonctionne correctement [Documentation] Ce testcase vérifie : ... - que le formulaire fonctionne correctement jusqu'à l'envoi du mail ... de réinitialisation ... - que le mail est envoyé à la bonne adresse avec une partie du contenu ... correcte et bien encodée ... - que le mail contient un lien fonctionnel ... - que le formulaire de saisie d'un nouveau mot de passe est ... fonctionnel [Setup] Run Keywords No Operation ... AND Fermer le navigateur ... AND Ouvrir le navigateur # on utilise un navigateur dédié avec une session propre Depuis la page de login Element Should Be Visible css=p.link-password-reset Click Element css=p.link-password-reset a Le titre de la page doit être Redéfinition Du Mot De Passe Input Text css=#login plop Click Element css=input[type='submit'] Error Message Should Be Votre identifiant est incorrect, ou ne vous permet pas de redefinir votre mot de passe de cette manière. Contactez votre administrateur. Input Text css=#login test_011_mdp Click Element css=input[type='submit'] Valid Message Should Be Un message de demande de ré-initialisation de mot de passe vous a été envoyé sur votre messagerie. # Accéder à maildump pour vérifier que le mail est bien présent et contient bien les accents Go To http://127.0.0.1:1080/ Wait Until Element Is Visible //tr[@data-message-id]/td[text()="test_011_mdp@example.net"] Click Element //tr[@data-message-id]/td[text()="test_011_mdp@example.net"] Click Element link:HTML Select frame //iframe Element Should Contain //body Vous avez demandé la réinitialisation de votre mot de passe Framework openMairie pour l'identifiant : test_011_mdp # On clique sur le lien et on essaie de modifier le mot de passe ${url} = Get Element Attribute css=a[href] href Go To ${url} # Deux mots de passe différents sont refusés Le titre de la page doit être Redéfinition Du Mot De Passe Input Text pwd_one mon_mot_de_passe_1 Input Text pwd_two mon_mot_de_passe_2 Click Element css=input[type='submit'] Error Message Should Be Les deux mots de passe ne sont pas identiques. # 2 mots de passe identiques sont acceptés Input Text pwd_one mon_nouveau_mot_de_passe Input Text pwd_two mon_nouveau_mot_de_passe Click Element css=input[type='submit'] Valid Message Should Be Le nouveau mot de passe a bien ete enregistre. Vous pouvez desormais vous connecter avec ce mot de passe. # L'ancien mot de passe ne fonctionne plus Depuis la page de login Saisir les informations de connexion et valider test_011_mdp test_011_mdp Error Message Should Be Votre identifiant ou votre mot de passe est incorrect. # Vérifier que le nouveau mot de passe est accepté à la connexion Depuis la page de login Saisir les informations de connexion et valider test_011_mdp mon_nouveau_mot_de_passe Valid Message Should Be Votre session est maintenant ouverte. Un lien tapé au pif pour la réinitialisation du mot de passe est bien refusé [Setup] Run Keywords No Operation ... AND Fermer le navigateur ... AND Ouvrir le navigateur # on utilise un navigateur dédié avec une session propre Go To ${PROJECT_URL}/app/index.php?module=login&mode=password_reset&key=jesuisunh4ck3r&coll= Error Message Should Be La cle que vous avez valide n'existe pas ou a expiree. *** Keywords *** Composition du jeu de connées Depuis la page d'accueil admin admin Ajouter l'utilisateur test_011_mdp test_011_mdp@example.net test_011_mdp test_011_mdp ADMINISTRATEUR Accéder au formulaire de changement de mot de passe Wait Until Element Is Visible css=a.actions-password Click Element css=a.actions-password Wait Until Element Is Visible css=#form-change-password Soumettre le changement de mot de passe [Arguments] ${current} ${new} ${confirm} Selenium2Library.Input Password css=#current-password ${current} Selenium2Library.Input Password css=#new-password ${new} Selenium2Library.Input Password css=#new-password-confirmation ${confirm} Click Element css=input[name="submit-change-password"] Saisir les informations de connexion et valider [Arguments] ${login} ${password} Input Text login ${login} Selenium2Library.Input Password password ${password} Click Button login.action.connect