fakeldap

Software kuvakaappaus:
fakeldap
Ohjelmiston tiedot:
Versio: 0.5.1
Lähetyksen päivämäärä: 11 May 15
Kehittäjä: Christo Buschek
Lupa: Vapaa
Suosio: 93

Rating: 3.0/5 (Total Votes: 1)

fakeldap on Python-moduuli, joka tarjoaa helpon tavan pilkata LDAP backend palvelimia varten unittests. & Nbsp; Se on mahdollista määritellä etukäteen joukon hakemistomerkinnät jossa voidaan suorittaa hakuja tai asettaa kiinteitä paluuarvot LDAP kyselyt. Se toimii lasku korvaa LDAPObject luokan python-ldap-moduuli. Se toteuttaa osajoukko sallittu menetelmiä tämän luokan.
Tämä moduuli toteuttaa MockLDAP luokka, joka toimii sekä LDAPObject sekä LDAP-moduuli. Useimmat koodin ja suunnittelun on otettu Peter Sagerson erinomaista Django-auth-ldap-moduuli.
asennus
Hanki ja asenna koodi:
& Nbsp; git klooni git: //github.com/30loops/fakeldap.git
& Nbsp; cd fakeldap
& Nbsp; python setup.py asentaa
Jos haluat, voit suorittaa testit:
& Nbsp; python setup.py nosetests
Käyttö
Huomaa: Tämä koodi on vielä kokeiluvaiheessa eikä kovin testattu vielä. Joten on dokumentaatio
MockLDAP luokka korvaa LDAPObject of python-ldap-moduuli. Helpoin tapa käyttää sitä, on korvata ldap.initialize palata MockLDAP sijaan LDAPObject. Alla olevassa esimerkissä käytetään Michael Foord n ​​Mock kirjaston saavuttamiseksi:
tuonti unittest
alkaen mock tuonti patch
alkaen fakeldap tuonti MockLDAP
_mock_ldap = MockLDAP ()
luokan YourTestCase (unittest.TestCase):
& Nbsp; def Setup (itse):
& Nbsp; # Patch jossa ldap kirjastoa käytetään:
& Nbsp; self.ldap_patcher = laastari ('app.module.ldap.initialize')
& Nbsp; self.mock_ldap = self.ldap_patcher.start ()
& Nbsp; self.mock_ldap.return_value = _mock_ldap
& Nbsp; def tearDown (itse):
& Nbsp; _mock_ldap.reset ()
& Nbsp; self.mock_ldap.stop ()
Pilkata ldap objekti toteuttaa seuraavat ldap toiminnot:
- Simple_bind_s
- Search_s
- Compare_s
- Modify_s
- Delete_s
- Add_s
- Rename_s
Tämä on esimerkki siitä, miten käyttää MockLDAP kiinteällä paluuarvot:
def test_some_ldap_group_stuff (itse):
& Nbsp; # Määrittele odotettu tuotto arvo ldap operaation
& Nbsp; return_value = ("cn = testgroup, ou = ryhmä, p = 30loops, dc = net", {
& Nbsp; "objectClass ': [" posixGroup'],
& Nbsp; "cn": "testgroup",
& Nbsp; "gidNumber": "2030",
& Nbsp;})
& Nbsp; # Rekisteröidy paluu arvo MockLDAP esineen
& Nbsp; _mock_ldap.set_return_value ("add_s ',
& Nbsp; ("cn = testgroup, ou = ryhmät, dc = 30loops, dc = net", (
& Nbsp; ("objectClass", ('posixGroup')),
& Nbsp; ("cn", "testgroup '),
& Nbsp; ("gidNumber ',' 2030 '))),
& Nbsp; (105, [], 10, []))
& Nbsp; # Tee todellinen koodia, tämä on vain esimerkki
& Nbsp; group_manager = GroupManager ()
& Nbsp; tulos = group_manager.add ("testgroup")
& Nbsp; # väittää, että paluu arvo oman menetelmän ja MockLDAP
& Nbsp; # ovat odotetusti, tästä käyttäen python-nenä n ekv () testi työkalu:
& Nbsp; eq_ (return_value, tulos)
& Nbsp; # Jokainen todellinen ldap soittaa ohjelmiston avulla saa kirjata. Voisit
& Nbsp; # valmistelee luettelon puheluista, jotka odotat myönnetään ja vertaa sitä:
& Nbsp; called_records = []
& Nbsp; called_records.append (('simple_bind_s',
& Nbsp; {"kuka": "cn = admin, dc = 30loops, dc = net", "uskottavuus": "ldaptest '}))
& Nbsp; called_records.append (('add_s ", {
& Nbsp; "dn": "cn = testgroup, ou = ryhmät, dc = 30loops, dc = net",
& Nbsp; "ennätys": [
& Nbsp; ("objectClass ', [' posixGroup ']),
& Nbsp; ("gidNumber ',' 2030 '),
& Nbsp; ("cn", "testgroup '),
& Nbsp;]}))
& Nbsp; # Ja taas testata odotettua käyttäytymistä
& Nbsp; eq_ (called_records, _mock_ldap.ldap_methods_called_with_arguments ())
Lisäksi vahvistaa tuoton arvoista tiettyjen puhelujen, voit myös jäljitellä täydellisen LDAP-palvelimen kanssa hakemiston merkinnät:
# Luo instanssi MockLDAP kanssa valmiiksi hakemisto
tree = {
& Nbsp; "cn = admin, dc = 30loops, dc = net": {
& Nbsp; "userPassword": "ldaptest"
& Nbsp;}
}
mock_ldap = MockLDAP (puu)
record = [
& Nbsp; ("uid ',' Krito '),
& Nbsp; ("userPassword", "salaisen"),
]
# Paluuarvo odotan kun lisään uuden tallenteen hakemistoon
eq_ (
& Nbsp; (105, [], 1, []),
& Nbsp; mock_ldap.add_s ("uid = Krito, ou = ihmiset, dc = 30loops, dc = net", record)
)
# Odotettavissa Hakemisto
directory = {
& Nbsp; "cn = admin, dc = 30loops, dc = net": {"userPassword": "ldaptest"},
& Nbsp; "uid = Krito, ou = ihmiset, dc = 30loops, dc = net": {
& Nbsp; "UID": "Krito", "userPassword": "salainen"}
}
# Vertaa odotettavissa hakemistoon MockLDAP hakemisto
eq_ (hakemisto, mock_ldap.directory)

vaatimukset

  • Python

Vastaavia ohjelmistoja

pyfix
pyfix

20 Feb 15

PyHamcrest
PyHamcrest

11 May 15

filterunit
filterunit

11 May 15

lintswitch
lintswitch

15 Apr 15

Kommentit fakeldap

Kommentteja ei löytynyt
Lisää kommentti
Ota kuvia!