fakeldap

Logiciel capture d'écran:
fakeldap
Détails logiciels:
Version: 0.5.1
Date de transfert: 11 May 15
Développeur: Christo Buschek
Licence: Gratuit
Popularité: 11

Rating: nan/5 (Total Votes: 0)

fakeldap est un module Python qui fournit un moyen simple de se moquer de serveurs backend LDAP pour vos unittests & nbsp;. Il permet de définir dès le départ un ensemble d'entrées de répertoire pouvant être interrogées ou définir des valeurs à rendement fixe de requêtes LDAP. Il agit comme une baisse de remplacement pour la classe LDAPObject du module python-ldap. Il met en oeuvre un sous-ensemble des méthodes autorisées de cette classe.
Ce module met en oeuvre la classe MockLDAP qui fonctionne à la fois comme le LDAPObject ainsi que le module de LDAP. La plupart du code et la conception a été prise de l'excellent module de django-auth-ldap de Peter Sagerson.
Installation
Obtenir et installer le code:
& Nbsp; git clone git: //github.com/30loops/fakeldap.git
& Nbsp; cd fakeldap
& Nbsp; python setup.py install
Si vous voulez, vous pouvez exécuter les tests:
& nbsp; nosetests python setup.py
Utilisation
Note: Ce code est encore expérimental et pas très testé pour l'instant. Ainsi est la documentation
La classe MockLDAP remplace le LDAPObject du module python-ldap. La meilleure façon de l'utiliser, est d'écraser ldap.initialize revenir MockLDAP lieu de LDAPObject. L'exemple ci-dessous utilise la bibliothèque de Michael Mock Foord à réaliser ce qui suit:
unittest d'importation
de patch importation maquette
de MockLDAP d'importation fakeldap
_mock_ldap MockLDAP = ()
classe YourTestCase (unittest.TestCase):
& Nbsp; def setUp (auto):
& Nbsp; # Patch où la bibliothèque LDAP est utilisé:
& Nbsp; self.ldap_patcher = patch ('app.module.ldap.initialize')
& Nbsp; self.mock_ldap = self.ldap_patcher.start ()
& Nbsp; self.mock_ldap.return_value = _mock_ldap
& Nbsp; tearDown def (auto):
& Nbsp; _mock_ldap.reset ()
& Nbsp; self.mock_ldap.stop ()
L'objet de ldap maquette en oeuvre les opérations LDAP suivants:
- Simple_bind_s
- search_s
- compare_s
- modify_s
- delete_s
- add_s
- rename_s
Ceci est un exemple comment utiliser MockLDAP avec des valeurs de rendement fixe:
def test_some_ldap_group_stuff (auto):
& Nbsp; # Définir la valeur de rendement prévu pour l'opération de ldap
& Nbsp; return_value = ("cn = testgroup, ou = groupe, dc = 30loops, dc = net", {
& Nbsp; 'objectClass': ['posixGroup'],
& Nbsp; 'cn': 'testgroup',
& Nbsp; »gidNumber»: «2030»,
& Nbsp;})
& Nbsp; # Créer une valeur de retour avec l'objet MockLDAP
& Nbsp; _mock_ldap.set_return_value ('add_s',
& Nbsp; ("cn = testgroup, ou = groupes, dc = 30loops, dc = net", (
& Nbsp; ('objectClass', ('posixGroup')),
& Nbsp; ('cn', 'testgroup'),
& Nbsp; ('gidNumber »,« 2030 »))),
& Nbsp; (105, [], 10, []))
& Nbsp; # Lancez votre code réel, ceci est juste un exemple
& Nbsp; group_manager = GroupManager ()
& Nbsp; result = group_manager.add ("testgroup")
& Nbsp; # affirment que la valeur de retour de votre méthode et de l'MockLDAP
& Nbsp; # sont comme prévu, ici en utilisant l'équation () l'outil de test de python-nez:
& Nbsp; eq_ (return_value, résultat)
& Nbsp; # Chaque ldap réelle appelez votre logiciel fait est enregistrée. Tu peux
& Nbsp; # préparer une liste d'appels que vous vous attendez à être émises et comparer:
& nbsp; called_records = []
& Nbsp; called_records.append (('simple_bind_s',
& Nbsp; {'qui': 'cn = admin, dc = 30loops, dc = net "," cred': 'ldaptest'}))
& Nbsp; called_records.append (('', {add_s
& Nbsp; "dn": "cn = testgroup, ou = groupes, dc = 30loops, dc = net»,
& Nbsp; «record»: [
& Nbsp; ('objectClass', ['posixGroup']),
& Nbsp; ('gidNumber »,« 2030 »),
& Nbsp; ('cn', 'testgroup'),
& Nbsp;]}))
& Nbsp; # Et encore tester le comportement attendu
& Nbsp; eq_ (called_records, _mock_ldap.ldap_methods_called_with_arguments ())
Outre la fixation des valeurs de retour pour les appels spécifiques, vous pouvez également imiter un serveur LDAP complet avec un répertoire d'entrées:
# Créer une instance de MockLDAP avec un répertoire prédéfini
arbre = {
& Nbsp; "cn = admin, dc = 30loops, dc = net": {
& Nbsp; "userPassword": "ldaptest"
& Nbsp;}
}
mock_ldap = MockLDAP (arbre)
enregistrement = [
& Nbsp; ('uid', 'Criton'),
& Nbsp; ('userPassword', 'secret'),
]
# La valeur de retour, je pense quand je ajouter un autre enregistrement à l'annuaire
eq_ (
& Nbsp; (105, [], 1, []),
& nbsp; mock_ldap.add_s ("uid = Criton, ou = personnes, dc = 30loops, dc = net", fiche)
)
# Le répertoire attendu
directory = {
& Nbsp; "cn = admin, dc = 30loops, dc = net": {"userPassword": "ldaptest"},
& Nbsp; "uid = Criton, ou = personnes, dc = 30loops, dc = net": {
& Nbsp; "uid": "Criton", "userPassword": "secret"}
}
# Comparez le répertoire prévu avec le répertoire MockLDAP
eq_ (répertoire, mock_ldap.directory)

Exigences :

  • Python

Logiciel similaire

nbdebug
nbdebug

11 May 15

nose-pynotify
nose-pynotify

11 May 15

Schema Crawler
Schema Crawler

3 Jun 15

tl.testing
tl.testing

15 Apr 15

Commentaires à fakeldap

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!