Browse Source

Disable LDAP tests by default

Because they are relying on some external server and specific setup.
Jocelyn Delalande 8 years ago
parent
commit
5d67e47cdc
2 changed files with 76 additions and 68 deletions
  1. 4 1
      coin/billing/tests.py
  2. 72 67
      coin/members/tests.py

+ 4 - 1
coin/billing/tests.py

@@ -3,6 +3,8 @@ from __future__ import unicode_literals
 
 
 import datetime
 import datetime
 from decimal import Decimal
 from decimal import Decimal
+
+from django.conf import settings
 from django.test import TestCase, Client
 from django.test import TestCase, Client
 from coin.members.tests import MemberTestsUtils
 from coin.members.tests import MemberTestsUtils
 from coin.members.models import Member, LdapUser
 from coin.members.models import Member, LdapUser
@@ -33,7 +35,8 @@ class BillingInvoiceCreationTests(TestCase):
 
 
     def tearDown(self):
     def tearDown(self):
         # Supprime l'utilisateur LDAP créé
         # Supprime l'utilisateur LDAP créé
-        LdapUser.objects.get(pk=self.username).delete()
+        if settings.LDAP_ACTIVATE:
+            LdapUser.objects.get(pk=self.username).delete()
 
 
     def test_first_subscription_invoice_has_initial_fees(self):
     def test_first_subscription_invoice_has_initial_fees(self):
         """
         """

+ 72 - 67
coin/members/tests.py

@@ -7,8 +7,10 @@ import ldapdb
 from datetime import date
 from datetime import date
 from cStringIO import StringIO
 from cStringIO import StringIO
 from dateutil.relativedelta import relativedelta
 from dateutil.relativedelta import relativedelta
+import unittest
 
 
 from django import db
 from django import db
+from django.conf import settings
 from django.test import TestCase, Client, override_settings
 from django.test import TestCase, Client, override_settings
 from django.contrib.auth.models import User
 from django.contrib.auth.models import User
 from django.core import mail, management
 from django.core import mail, management
@@ -16,8 +18,8 @@ from django.core import mail, management
 from coin.members.models import Member, MembershipFee, LdapUser
 from coin.members.models import Member, MembershipFee, LdapUser
 
 
 
 
-class MemberTests(TestCase):
-
+@unittest.skipIf(not settings.LDAP_ACTIVATE, "LDAP disabled")
+class LDAPMemberTests(TestCase):
     def test_when_creating_member_a_ldapuser_is_also_created_with_same_data(self):
     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
         Test que lors de la création d'un nouveau membre, une entrée
@@ -161,71 +163,6 @@ class MemberTests(TestCase):
 
 
         member.delete()
         member.delete()
 
 
-    def test_when_creating_member_username_is_well_defined(self):
-        """
-        Lors de la création d'un membre, le champ "username", s'il n'est pas
-        définit doit être généré avec les contraintes suivantes :
-        premières lettres du prénom + nom le tout en minuscule,
-        sans caractères accentués et sans espaces.
-        """
-        random = os.urandom(4).encode('hex')
-        first_name = 'Gérard-Étienne'
-        last_name = 'Majax de la Boétie!B' + random
-
-        control = 'gemajaxdelaboetieb' + random
-        control = control[:30]
-
-        member = Member(first_name=first_name, last_name=last_name)
-        member.save()
-
-        self.assertEqual(member.username, control)
-
-        member.delete()
-
-    def test_when_creating_member_with_username_already_exists_username_is_incr(self):
-        """
-        Lors de la création d'un membre, test si le username existe déjà,
-        renvoi avec un incrément à la fin
-        """
-        random = os.urandom(4).encode('hex')
-
-        member1 = Member(first_name='Hervé', last_name='DUPOND' + random, email='hdupond@coin.org')
-        member1.save()
-        self.assertEqual(member1.username, 'hdupond' + random)
-        
-        member2 = Member(first_name='Henri', last_name='DUPOND' + random, email='hdupond2@coin.org')
-        member2.save()
-        self.assertEqual(member2.username, 'hdupond' + random + '2')
-        
-        member3 = Member(first_name='Hector', last_name='DUPOND' + random, email='hdupond3@coin.org')
-        member3.save()
-        self.assertEqual(member3.username, 'hdupond' + random + '3')
-
-        member1.delete()
-        member2.delete()
-        member3.delete()
-
-    def test_when_creating_legal_entity_organization_name_is_used_for_username(self):
-        """
-        Lors de la créatio d'une entreprise, son nom doit être utilisée lors de
-        la détermination automatique du username
-        """
-        random = os.urandom(4).encode('hex')
-        member = Member(type='legal_entity', organization_name='ILLYSE' + random, email='illyse@coin.org')
-        member.save()
-        self.assertEqual(member.username, 'illyse' + random)
-        member.delete()
-
-    def test_when_creating_member_with_nickname_it_is_used_for_username(self):
-        """
-        Lors de la création d'une personne, qui a un pseudo, celui-ci est utilisé en priorité
-        """
-        random = os.urandom(4).encode('hex')
-        member = Member(first_name='Richard', last_name='Stallman', nickname='rms' + random, email='illyse@coin.org')
-        member.save()
-        self.assertEqual(member.username, 'rms' + random)
-
-        member.delete()
 
 
     def test_when_saving_member_and_ldap_fail_dont_save(self):
     def test_when_saving_member_and_ldap_fail_dont_save(self):
         """
         """
@@ -291,6 +228,74 @@ class MemberTests(TestCase):
 
 
     #     LdapUser.objects.get(pk=member.username).delete()
     #     LdapUser.objects.get(pk=member.username).delete()
 
 
+
+class MemberTests(TestCase):
+    def test_when_creating_member_username_is_well_defined(self):
+        """
+        Lors de la création d'un membre, le champ "username", s'il n'est pas
+        définit doit être généré avec les contraintes suivantes :
+        premières lettres du prénom + nom le tout en minuscule,
+        sans caractères accentués et sans espaces.
+        """
+        random = os.urandom(4).encode('hex')
+        first_name = 'Gérard-Étienne'
+        last_name = 'Majax de la Boétie!B' + random
+
+        control = 'gemajaxdelaboetieb' + random
+        control = control[:30]
+
+        member = Member(first_name=first_name, last_name=last_name)
+        member.save()
+
+        self.assertEqual(member.username, control)
+
+        member.delete()
+
+    def test_when_creating_member_with_username_already_exists_username_is_incr(self):
+        """
+        Lors de la création d'un membre, test si le username existe déjà,
+        renvoi avec un incrément à la fin
+        """
+        random = os.urandom(4).encode('hex')
+
+        member1 = Member(first_name='Hervé', last_name='DUPOND' + random, email='hdupond@coin.org')
+        member1.save()
+        self.assertEqual(member1.username, 'hdupond' + random)
+
+        member2 = Member(first_name='Henri', last_name='DUPOND' + random, email='hdupond2@coin.org')
+        member2.save()
+        self.assertEqual(member2.username, 'hdupond' + random + '2')
+
+        member3 = Member(first_name='Hector', last_name='DUPOND' + random, email='hdupond3@coin.org')
+        member3.save()
+        self.assertEqual(member3.username, 'hdupond' + random + '3')
+
+        member1.delete()
+        member2.delete()
+        member3.delete()
+
+    def test_when_creating_legal_entity_organization_name_is_used_for_username(self):
+        """
+        Lors de la créatio d'une entreprise, son nom doit être utilisée lors de
+        la détermination automatique du username
+        """
+        random = os.urandom(4).encode('hex')
+        member = Member(type='legal_entity', organization_name='ILLYSE' + random, email='illyse@coin.org')
+        member.save()
+        self.assertEqual(member.username, 'illyse' + random)
+        member.delete()
+
+    def test_when_creating_member_with_nickname_it_is_used_for_username(self):
+        """
+        Lors de la création d'une personne, qui a un pseudo, celui-ci est utilisé en priorité
+        """
+        random = os.urandom(4).encode('hex')
+        member = Member(first_name='Richard', last_name='Stallman', nickname='rms' + random, email='illyse@coin.org')
+        member.save()
+        self.assertEqual(member.username, 'rms' + random)
+
+        member.delete()
+
     def test_member_end_date_of_memberhip(self):
     def test_member_end_date_of_memberhip(self):
         """
         """
         Test que end_date_of_membership d'un membre envoi bien la date de fin d'adhésion
         Test que end_date_of_membership d'un membre envoi bien la date de fin d'adhésion