|
@@ -1,7 +1,7 @@
|
|
|
# -*- coding: utf-8 -*-
|
|
|
import os
|
|
|
from django.test import TestCase, Client
|
|
|
-from coin.members.models import Member, LdapUser
|
|
|
+from coin.members.models import Member, LdapUser, LdapGroup
|
|
|
import logging
|
|
|
|
|
|
logger = logging.getLogger('fabs')
|
|
@@ -11,8 +11,8 @@ class MemberTests(TestCase):
|
|
|
def test_when_creating_member_a_ldapuser_is_also_created_with_same_data(self):
|
|
|
"""
|
|
|
Test que lors de la création d'un nouveau membre, une entrée
|
|
|
- correspondante est bien créer dans le LDAP et qu'elle contient
|
|
|
- les même données.
|
|
|
+ correspondante est bien créée dans le LDAP et qu'elle contient
|
|
|
+ les mêmes données.
|
|
|
Cela concerne le nom et le prénom
|
|
|
"""
|
|
|
#~ Créé un membre
|
|
@@ -64,6 +64,31 @@ class MemberTests(TestCase):
|
|
|
member.delete();
|
|
|
ldap_user.delete();
|
|
|
|
|
|
+ def test_when_creating_member_corresponding_ldap_user_is_in_coin_ldap_group(self):
|
|
|
+ """
|
|
|
+ Test que l'utilisateur Ldap fraichement créé est bien dans le group "coin"
|
|
|
+ Et que lors de la supression d'un membre, l'utilisateur LDAP correspondant
|
|
|
+ est bien retiré du groupe.
|
|
|
+ """
|
|
|
+ #~ Créé un membre
|
|
|
+ ldap_cn = self.get_random_ldap_cn()
|
|
|
+ member = Member(first_name = 'Canard', last_name = 'WC', ldap_cn = ldap_cn)
|
|
|
+ member.save()
|
|
|
+
|
|
|
+ #~ Récupère le group "coin" et test que l'utilisateur y est présent
|
|
|
+ ldap_group = LdapGroup.objects.get(pk="coin")
|
|
|
+ self.assertEqual(ldap_cn in ldap_group.members, True)
|
|
|
+
|
|
|
+ #~ Supprime l'utilisateur
|
|
|
+ member.delete();
|
|
|
+
|
|
|
+ #~ Récupère le group "coin" et test que l'utilisateur n'y est plus
|
|
|
+ ldap_group = LdapGroup.objects.get(pk="coin")
|
|
|
+ self.assertEqual(ldap_cn in ldap_group.members, False)
|
|
|
+
|
|
|
+ LdapUser.objects.get(pk=ldap_cn).delete();
|
|
|
+
|
|
|
+
|
|
|
def test_change_password_and_auth(self):
|
|
|
"""
|
|
|
Test que la fonction change_password de member fonctionne et permet
|
|
@@ -88,6 +113,9 @@ class MemberTests(TestCase):
|
|
|
|
|
|
member.delete();
|
|
|
ldap_user.delete();
|
|
|
-
|
|
|
+
|
|
|
def get_random_ldap_cn(self):
|
|
|
+ """
|
|
|
+ Renvoi une clé aléatoire pour un utilisateur LDAP
|
|
|
+ """
|
|
|
return 'coin_test_' + os.urandom(8).encode('hex');
|