fakeldap

Software captura de pantalla:
fakeldap
Detalles de software:
Versión: 0.5.1
Fecha de carga: 11 May 15
Promotor: Christo Buschek
Licencia: Libre
Popularidad: 11

Rating: nan/5 (Total Votes: 0)

fakeldap es un módulo de Python que proporciona una forma sencilla para burlarse de los servidores de backend LDAP para sus unittests & nbsp;. Esto hace que sea posible definir por adelantado un conjunto de entradas de directorio que se pueden consultar o establecer los valores de renta fija a LDAP consultas. Actúa como una gota en el reemplazo para la clase LDAPObject del módulo python-LDAP. Se implementa un subconjunto de los métodos permitidos de esta clase.
Este módulo implementa la clase MockLDAP que funciona tanto como el LDAPObject así como el módulo LDAP. La mayor parte del código y el diseño se ha tomado de excelente módulo django-auth-ldap de Peter Sagerson.
Instalación
Obtener e instalar el código:
& Nbsp; git clone git: //github.com/30loops/fakeldap.git
& Nbsp; fakeldap cd
& Nbsp; python setup.py install
Si lo desea, puede ejecutar las pruebas:
& nbsp; nosetests python setup.py
Uso
Nota: Este código es aún experimental y no muy probado hasta el momento. Así es la documentación
La clase MockLDAP sustituye al LDAPObject del módulo python-ldap. La forma más fácil de utilizar, es sobrescribir ldap.initialize volver MockLDAP lugar de LDAPObject. El siguiente ejemplo utiliza la biblioteca Simulacro de Michael Foord para lograr que:
unittest importación
del parche de importación simulacro
desde MockLDAP importación fakeldap
_mock_ldap = MockLDAP ()
clase YourTestCase (unittest.TestCase):
& Nbsp; del setUp def (self):
& Nbsp; # Patch, donde se utiliza la biblioteca ldap:
& Nbsp; self.ldap_patcher = parche ('app.module.ldap.initialize')
& Nbsp; self.mock_ldap = self.ldap_patcher.start ()
& Nbsp; self.mock_ldap.return_value = _mock_ldap
& Nbsp; tearDown def (self):
& Nbsp; _mock_ldap.reset ()
& Nbsp; self.mock_ldap.stop ()
El objeto ldap simulacro implementa las siguientes operaciones LDAP:
- Simple_bind_s
- search_s
- compare_s
- modify_s
- delete_s
- add_s
- rename_s
Este es un ejemplo de cómo utilizar MockLDAP con los valores de renta fija:
test_some_ldap_group_stuff def (self):
& Nbsp; # Definir el valor de retorno esperado para la operación ldap
& Nbsp; valor_devuelto = ("cn = TestGroup, ou = grupo, dc = 30loops, dc = net", {
& Nbsp; "objectClass": ['posixGroup'],
& Nbsp; 'cn': 'TestGroup',
& Nbsp; "gidNumber ':' 2030 ',
& Nbsp;})
& Nbsp; # Registrar un valor de retorno con el objeto MockLDAP
& Nbsp; _mock_ldap.set_return_value ('add_s',
& Nbsp; ("cn = TestGroup, ou = grupos, dc = 30loops, dc = net", (
& Nbsp; ('objectClass', ('posixGroup')),
& Nbsp; ('cn', 'TestGroup'),
& Nbsp; ('gidNumber', '2030'))),
& Nbsp; (105, [], 10, []))
& Nbsp; # Ejecutar el código real, esto es sólo un ejemplo
& Nbsp; group_manager = GroupManager ()
& Nbsp; result = group_manager.add ("TestGroup")
& Nbsp; # afirman que el valor de retorno de su método y de la MockLDAP
& Nbsp; # son como se esperaba, aquí usando eq () herramienta de prueba de python-nariz:
& Nbsp; eq_ (valor_devuelto, resultado)
& Nbsp; # Cada ldap real llame a su software hace que se graba. Podrías
& Nbsp; # preparar una lista de llamadas que usted espera que se emitan y compararlo:
& nbsp; called_records = []
& Nbsp; called_records.append (('simple_bind_s',
& Nbsp; {"quién": "cn = admin, dc = 30loops, dc = net ',' credibilidad ':' ldaptest '}))
& Nbsp; called_records.append (('add_s', {
& Nbsp; "dn": "cn = TestGroup, ou = grupos, dc = 30loops, dc = net",
& Nbsp; "record": [
& Nbsp; ('objectClass', ['posixGroup']),
& Nbsp; ('gidNumber', '2030'),
& Nbsp; ('cn', 'TestGroup'),
& Nbsp;]}))
& Nbsp; # Y de nuevo a prueba el comportamiento esperado
& Nbsp; eq_ (called_records, _mock_ldap.ldap_methods_called_with_arguments ())
Además de la fijación de los valores devueltos por las llamadas específicas, también puede imitar a un servidor LDAP completo con un directorio de entradas:
# Crear una instancia de MockLDAP con un directorio prefijado
árbol = {
& Nbsp; "cn = admin, dc = 30loops, dc = net": {
& Nbsp; "userPassword": "ldaptest"
& Nbsp;}
}
mock_ldap = MockLDAP (árbol)
record = [
& Nbsp; ('uid', 'Critón'),
& Nbsp; ('userPassword "," secreto "),
]
# El valor de retorno espero que cuando agrego un nuevo récord en el directorio
eq_ (
& Nbsp; (105, [] 1, []),
& nbsp; mock_ldap.add_s ("uid = Critón, ou = people, dc = 30loops, dc = net", ficha)
)
# El directorio esperado
directorio = {
& Nbsp; "cn = admin, dc = 30loops, dc = net": {"userPassword": "ldaptest"},
& Nbsp; "uid = Critón, ou = people, dc = 30loops, dc = net": {
& Nbsp; "uid": "Critón", "userPassword": "secreto"}
}
# Compare el directorio de esperar con el directorio MockLDAP
eq_ (directorio, mock_ldap.directory)

Requisitos

  • Python

Programas parecidos

Embedded Profiler
Embedded Profiler

17 Feb 15

PyZen
PyZen

12 May 15

nose2
nose2

20 Feb 15

cynic
cynic

14 Apr 15

Comentarios a la fakeldap

Comentarios que no se encuentran
Añadir comentario
A su vez en las imágenes!