fakeldap

Screenshot der Software:
fakeldap
Softwarebeschreibung:
Version: 0.5.1
Upload-Datum: 11 May 15
Entwickler: Christo Buschek
Lizenz: Frei
Popularität: 11

Rating: nan/5 (Total Votes: 0)

fakeldap ist ein Python-Modul, das eine einfache Möglichkeit, LDAP-Backend-Server für die Unittests verspotten bietet. & Nbsp; Es macht es möglich, im Vorfeld eine Reihe von Verzeichniseinträgen, die abgefragt oder gesetzt festen Rückgabewerte von Abfragen ldap werden kann definieren. Es fungiert als direkter Ersatz für die LDAPObject Klasse der python-ldap Modul. Es setzt eine Teilmenge der erlaubten Methoden dieser Klasse.
Dieses Modul implementiert die MockLDAP Klasse, die beide Funktionen als LDAPObject sowie das LDAP-Modul. Der meiste Code und Design wurde von Peter Sagerson hervorragenden django-auth-LDAP-Modul übernommen.
Installation
Holen Sie sich und installieren Sie den Code ein:
& Nbsp; git clone git: //github.com/30loops/fakeldap.git
& Nbsp; cd fakeldap
& Nbsp; python setup.py install
Wenn Sie möchten, können Sie die Tests durchführen:
& Nbsp; python setup.py nosetests
Verwendung
Hinweis: Dieser Code ist noch experimentell und nicht sehr, wie der noch nicht getestet. So ist die Dokumentation
Die MockLDAP Klasse ersetzt die LDAPObject der python-ldap Modul. Der einfachste Weg, es zu benutzen, ist es, zu ldap.initialize MockLDAP statt LDAPObject zurückschreiben. Im folgenden Beispiel wird Michael Foord der Mock-Bibliothek, um das zu erreichen:
import unittest
von mock import Patch
von fakeldap import MockLDAP
_mock_ldap = MockLDAP ()
Klasse YourTestCase (unittest.TestCase):
& Nbsp; def setUp (self):
& Nbsp; # Flecken, wo die LDAP-Bibliothek verwendet:
& 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; def tearDown (self):
& Nbsp; _mock_ldap.reset ()
& Nbsp; self.mock_ldap.stop ()
Der mock LDAP-Objekt implementiert die folgenden LDAP-Operationen:
- Simple_bind_s
- Search_s
- Compare_s
- Modify_s
- Delete_s
- Add_s
- Rename_s
Dies ist ein Beispiel, wie man MockLDAP mit festen Rückgabewerte verwenden:
def test_some_ldap_group_stuff (self):
& Nbsp; # Definieren Sie den erwarteten Rückgabewert für die LDAP-Operation
& Nbsp; return_value = ("cn = Testgruppe, ou = Gruppen, dc = 30loops, dc = net", {
& Nbsp; "object ': [' posixGroup '],
& Nbsp; "cn": "Testgruppe"
& Nbsp; "gidNumber ':' 2030 ',
& Nbsp;})
& Nbsp; # Registrieren Sie ein Rückgabewert mit dem Objekt MockLDAP
& Nbsp; _mock_ldap.set_return_value ('add_s',
& Nbsp; ("cn = Testgruppe, ou = Gruppen, dc = 30loops, dc = net", (
& Nbsp; ('object', ('posixGroup')),
& Nbsp; ("cn", "Testgruppe"),
& Nbsp; ('gidNumber', '2030'))),
& Nbsp; (105, [], 10, []))
& Nbsp; # Führen Sie Ihre eigentlichen Code, das ist nur ein Beispiel,
& Nbsp; group_manager = Groupmanager ()
& Nbsp; result = group_manager.add ("Testgruppe")
& Nbsp; # behaupten, dass der Rückgabewert von Ihrer Methode und der MockLDAP
& Nbsp; # sind wie erwartet, hier mit eq () Meßgeräts python-Nase:
& Nbsp; eq_ (return_value, Ergebnis)
& Nbsp; # Jeder tatsächlichen LDAP rufen Sie Ihre Software macht wird aufgezeichnet. Sie könnten
& Nbsp; # bereiten eine Liste der Anrufe, die Sie erwarten, ausgestellt und vergleichen Sie sie:
& Nbsp; called_records = []
& Nbsp; called_records.append (('simple_bind_s',
& Nbsp; {', die': 'cn = admin, dc = 30loops, dc = net "," cred ":" ldaptest'}))
& Nbsp; called_records.append (('add_s', {
& Nbsp; "dn": "cn = Testgruppe, ou = Gruppen, dc = 30loops, dc = net",
& Nbsp; "Record": [
& Nbsp; ('object', ['posixGroup']),
& Nbsp; ('gidNumber', '2030'),
& Nbsp; ("cn", "Testgruppe"),
& Nbsp;]}))
& Nbsp; # Und wieder das erwartete Verhalten zu testen
& Nbsp; eq_ (called_records, _mock_ldap.ldap_methods_called_with_arguments ())
Neben der Befestigung Rückgabewerte für bestimmte Anrufe können Sie auch zu imitieren eine vollständige LDAP-Server mit einem Verzeichnis der Einträge:
# Erstellen Sie eine Instanz MockLDAP mit einem vorgegebenen Verzeichnis
Baum = {
& Nbsp; "cn = admin, dc = 30loops, dc = net": {
& Nbsp; "userpassword": "ldaptest"
& Nbsp;}
}
mock_ldap = MockLDAP (Baum)
Rekord = [
& Nbsp; ("uid", "Kriton '),
& Nbsp; ("userpassword", "Geheimnis"),
]
# Der Rückgabewert erwarte ich, wenn ich einen anderen Datensatz hinzufügen, in das Verzeichnis
eq_ (
& Nbsp; (105, [] 1, []),
& Nbsp; mock_ldap.add_s ("uid = Kriton, ou = people, dc = 30loops, dc = net", record)
)
# Der erwartete Verzeichnis
directory = {
& Nbsp; "cn = admin, dc = 30loops, dc = net": {"userpassword": "ldaptest"},
& Nbsp; "uid = Kriton, ou = people, dc = 30loops, dc = net": {
& Nbsp; "uid": "Kriton", "userpassword": "geheim"}
}
# Vergleichen die erwartete Verzeichnis mit dem MockLDAP Verzeichnis
eq_ (Verzeichnis, mock_ldap.directory)

Anforderungen :

  • Python

Ähnliche Software

nose-cprof
nose-cprof

20 Feb 15

TestLink
TestLink

20 Feb 15

lava-fastmodels
lava-fastmodels

14 Apr 15

Kommentare zu fakeldap

Kommentare nicht gefunden
Kommentar hinzufügen
Schalten Sie auf die Bilder!