fakeldap

Screenshot Software:
fakeldap
Mga detalye ng Software:
Bersyon: 0.5.1
I-upload ang petsa: 11 May 15
Nag-develop: Christo Buschek
Lisensya: Libre
Katanyagan: 11

Rating: nan/5 (Total Votes: 0)

fakeldap ay isang Python module na nagbibigay ng isang simpleng paraan upang libakin LDAP backend server para sa iyong unittests. & Nbsp; Ito ay posible upang tukuyin upfront ng isang set ng mga entry na direktoryo na maaaring na-query o magtakda ng taning halaga ng pagbabalik sa LDAP mga query. Ito ay gumaganap bilang isang drop sa kapalit para sa mga LDAPObject klase ng module python-ldap. Ito nagpapatupad isang subset ng mga pinapayagang mga pamamaraan ng ganitong klase.
Ang module na ito ay nagpapatupad ng mga MockLDAP klase na function sa parehong bilang ng mga LDAPObject pati na rin ang mga module ldap. Karamihan sa mga code at disenyo ay kinuha mula sa mahusay django-auth-ldap module Peter Sagerson ni.
Pag-install
Kunin at i-install ang code:
& Nbsp; git clone git: //github.com/30loops/fakeldap.git
& Nbsp; cd fakeldap
& Nbsp; python setup.py install
Kung gusto mo, maaari mong patakbuhin ang pagsusulit:
& Nbsp; python setup.py nosetests
Usage
Note: Ang code na ito ay experimental at hindi masyadong nasubok bilang ng mga pa rin. Kaya ay ang dokumentasyon
Ang MockLDAP klase pumapalit sa LDAPObject ng module python-ldap. Ang pinakamadaling paraan upang gamitin ang mga ito, ay patungan ldap.initialize upang bumalik MockLDAP halip ng LDAPObject. Ang halimbawa sa ibaba ay gumagamit ng mock library Michael Foord upang makamit na ang:
import unittest
mula mock import patch
mula fakeldap import MockLDAP
_mock_ldap = MockLDAP ()
klase YourTestCase (unittest.TestCase):
& Nbsp; def setup (sa sarili):
& Nbsp; # Patch saan ang ldap library ay ginagamit:
& 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 ()
Ang mock ldap object nagpapatupad ng mga sumusunod na mga operasyon ldap:
- Simple_bind_s
- Search_s
- Compare_s
- Modify_s
- Delete_s
- Add_s
- Rename_s
Ito ay isang halimbawa kung paano gamitin MockLDAP may nakapirming halaga ng pagbabalik:
def test_some_ldap_group_stuff (self):
& Nbsp; # Tukuyin ang inaasahang bumalik halaga para sa operasyon ldap
& Nbsp; return_value = ("cn = testgroup, ou = group, DC = 30loops, DC = net", {
& Nbsp; 'objectClass': ['posixGroup'],
& Nbsp; 'cn': 'testgroup',
& Nbsp; 'gidNumber': '2030',
& Nbsp;})
& Nbsp; # rehistro ng return halaga sa mga MockLDAP object
& Nbsp; _mock_ldap.set_return_value ('add_s',
& Nbsp; ("cn = testgroup, ou = groups, DC = 30loops, DC = net", (
& Nbsp; ('objectClass', ('posixGroup')),
& Nbsp; ('cn', 'testgroup'),
& Nbsp; ('gidNumber', '2030'))),
& Nbsp; (105, [], 10, []))
& Nbsp; # Patakbuhin ang iyong aktwal na code, ito ay isang halimbawa lamang
& Nbsp; group_manager = GroupManager ()
& Nbsp; result = group_manager.add ("testgroup")
& Nbsp; # igiit na ang return halaga ng iyong mga paraan at mga MockLDAP
& Nbsp; # ay tulad ng inaasahan, dito gamit eq () pagsubok na kasangkapan python-ilong ni:
& Nbsp; eq_ (return_value, resulta)
& Nbsp; # Bawat aktwal ldap tawagan ang gumagawa ng iyong software ay makakakuha ng naitala. Maaari mo
& Nbsp; # maghanda ng isang listahan ng mga tawag na inaasahan mong ipalabas at ihambing ito:
& Nbsp; called_records = []
& Nbsp; called_records.append (('simple_bind_s',
& Nbsp; {'na': 'cn = admin, DC = 30loops, DC = net', 'cred': 'ldaptest'}))
& Nbsp; called_records.append (('add_s', {
& Nbsp; 'dn': 'cn = testgroup, ou = groups, DC = 30loops, DC = net ",
& Nbsp; 'record': [
& Nbsp; ('objectClass', ['posixGroup']),
& Nbsp; ('gidNumber', '2030'),
& Nbsp; ('cn', 'testgroup'),
& Nbsp;]}))
& Nbsp; # At muli subukan ang inaasahang pag-uugali
& Nbsp; eq_ (called_records, _mock_ldap.ldap_methods_called_with_arguments ())
Bukod sa pag-aayos ng mga halaga ng pagbabalik para sa mga tiyak na mga tawag, maaari mo ring tularan ng isang full ldap server na may isang listahan ng mga entries:
# Lumikha ng isang halimbawa ng MockLDAP sa isang preset na direktoryo ng
puno = {
& Nbsp; "cn = admin, DC = 30loops, DC = net": {
& Nbsp; "userPassword": "ldaptest"
& Nbsp;}
}
mock_ldap = MockLDAP (tree)
record = [
& Nbsp; ('uid', 'Crito'),
& Nbsp; ('userPassword', 'secret'),
]
# Ang return halaga ang inaasahan ko kapag nagdagdag ako ng isa pang record sa direktoryo
eq_ (
& Nbsp; (105, [], 1, []),
& Nbsp; mock_ldap.add_s ("uid = Crito, ou = tao, DC = 30loops, DC = net", record)
)
# Ang inaasahang directory
directory = {
& Nbsp; "cn = admin, DC = 30loops, DC = net": {"userPassword": "ldaptest"},
& Nbsp; "uid = Crito, ou = tao, DC = 30loops, DC = net": {
& Nbsp; "uid": "Crito", "userPassword": "sekretong"}
}
# Paghambingin ang inaasahang direktoryo sa ang direktoryo MockLDAP
eq_ (directory, mock_ldap.directory)

Kinakailangan :

  • sawa

Katulad na software

lava-fastmodels
lava-fastmodels

14 Apr 15

selenose
selenose

20 Feb 15

nose-exclude
nose-exclude

20 Feb 15

Mga komento sa fakeldap

Mga Komento hindi natagpuan
Magdagdag ng komento
I-sa mga imahe!