fakeldap

Screenshot Software:
fakeldap
Detalii soft:
Versiune: 0.5.1
Incarca data: 11 May 15
Producător: Christo Buschek
Licenţă: Gratuit
Popularitate: 11

Rating: nan/5 (Total Votes: 0)

fakeldap este un modul Python care oferă o modalitate simplă de a bate joc de servere LDAP backend pentru UnitTests dvs. & nbsp;. Aceasta face posibila definirea avans o serie de intrări de director, care pot fi interogate sau stabilite valori de returnare fixate LDAP interogări. Acesta acționează ca o picătură în inlocuitor pentru clasa LDAPObject modulului python-ldap. Pune în aplicare un subset de metode permise de această clasă.
Acest modul implementează clasa MockLDAP care funcționează atât ca LDAPObject precum modulul ldap. Cele mai multe dintre cod și designul a fost luat de la excelent modul django-auth-ldap Peter Sagerson lui.
Instalare
Obține și instala codul:
& Nbsp; git clone git: //github.com/30loops/fakeldap.git
& Nbsp; cd fakeldap
& Nbsp; python setup.py instala
Dacă doriți, puteți rula teste:
& nbsp; nosetests python setup.py
Utilizare
Notă: Acest cod este încă experimentală și nu foarte testat ca de încă. Deci, este documentația
Clasa MockLDAP înlocuiește LDAPObject modulului python-ldap. Cel mai simplu mod de a utiliza, este de a suprascrie ldap.initialize pentru a reveni MockLDAP loc de LDAPObject. Exemplul de mai jos foloseste biblioteca Mock Michael Foord de a atinge acel:
unittest import
de patch-uri de import machete
din MockLDAP import fakeldap
_mock_ldap = MockLDAP ()
clasa YourTestCase (unittest.TestCase):
& Nbsp; def setup (auto):
& Nbsp; # Patch în care se utilizează biblioteca ldap:
& Nbsp; self.ldap_patcher = plasture ('app.module.ldap.initialize ")
& Nbsp; self.mock_ldap = self.ldap_patcher.start ()
& Nbsp; self.mock_ldap.return_value = _mock_ldap
& Nbsp; def teardown (auto):
& Nbsp; _mock_ldap.reset ()
& Nbsp; self.mock_ldap.stop ()
Macheta Obiectul LDAP implementează următoarele operațiuni LDAP:
- Simple_bind_s
- search_s
- compare_s
- modify_s
- delete_s
- add_s
- rename_s
Acesta este un exemplu modul de utilizare a MockLDAP cu valori retur fixe:
def test_some_ldap_group_stuff (auto):
& Nbsp; # Definiți valoarea returnată de așteptat pentru operația ldap
& Nbsp; return_value = ("cn = testgroup, ou = grup, dc = 30loops, dc = net", {
& Nbsp; "objectClass": ['posixGroup'],
& Nbsp; "cn": "testgroup",
& Nbsp; "gidNumber ':' 2030 ',
& Nbsp;})
& Nbsp; # Înregistrează o valoare de retur cu obiectul MockLDAP
& Nbsp; _mock_ldap.set_return_value ("add_s",
& Nbsp; ("cn = testgroup, ou = grupuri, dc = 30loops, dc = net", (
& Nbsp; ('objectClass ", (" posixGroup ")),
& Nbsp; ('cn', 'testgroup "),
& Nbsp; ('gidNumber "," 2030 "))),
& Nbsp; (105, [], 10, []))
& Nbsp; # Pornește codul actual, acest lucru este doar un exemplu
& Nbsp; group_manager = GroupManager ()
& Nbsp; rezultat = group_manager.add ("testgroup")
& Nbsp; # afirmă că valoarea returnată de metoda și a MockLDAP
& Nbsp; # sunt cum era de așteptat, de aici folosind eq () instrument de testare python-nas lui:
& Nbsp; eq_ (return_value, rezultat)
& Nbsp; # Fiecare ldap real apela software-ul face devine înregistrate. Ai putea
& Nbsp; # pregăti o listă de apeluri pe care vă așteptați să fie emise și comparați-l:
& nbsp; called_records = []
& Nbsp; called_records.append (("simple_bind_s",
& Nbsp; {', care': 'cn = admin, dc = 30loops, dc = net "," cred ":" ldaptest "}))
& Nbsp; called_records.append (("add_s", {
& Nbsp; "dn": "cn = testgroup, ou = grupuri, dc = 30loops, dc = net",
& Nbsp; "înregistrare": [
& Nbsp; ('objectClass ", [' posixGroup ']),
& Nbsp; ('gidNumber "," 2030 "),
& Nbsp; ('cn', 'testgroup "),
& Nbsp;]}))
& Nbsp; # Și din nou a testa comportamentul așteptat
& Nbsp; eq_ (called_records, _mock_ldap.ldap_methods_called_with_arguments ())
Pe lângă stabilirii valorilor de returnare pentru apeluri specifice, puteți imita, de asemenea, un server complet LDAP cu un director de intrări:
# Creați o instanță a MockLDAP cu un director prestabilit
tree = {
& Nbsp; "cn = admin, dc = 30loops, dc = net": {
& Nbsp; "userPassword": "ldaptest"
& Nbsp;}
}
mock_ldap = MockLDAP (copac)
înregistrare = [
& Nbsp; ("uid", "Criton"),
& Nbsp; ('userPassword "," secret "),
]
# Valoarea returnata mă aștept când am adăuga un alt record la directorul
eq_ (
& Nbsp; (105, [], 1, []),
& nbsp; mock_ldap.add_s ("uid = Criton, ou = oameni, dc = 30loops, dc = net", înregistrare)
)
# Directorul așteptat
director = {
& Nbsp; "cn = admin, dc = 30loops, dc = net": {"userPassword": "ldaptest"},
& Nbsp; "uid = Criton, ou = oameni, dc = 30loops, dc = net": {
& Nbsp; "uid": "Criton", "userPassword": "secret"}
}
# Comparați directorul așteptat cu directorul MockLDAP
eq_ (director, mock_ldap.directory)

Cerințe :

  • Python

Software similare

PyUseCase
PyUseCase

11 May 15

QSnipps
QSnipps

12 May 15

jstestnetlib
jstestnetlib

20 Feb 15

mock_helpers
mock_helpers

14 Apr 15

Comentarii la fakeldap

Comentariile nu a fost găsit
Adauga comentarii
Porniţi pe imagini!