fakeldap

Software screenshot:
fakeldap
Software ətraflı:
Version: 0.5.1
Tarixi Upload: 11 May 15
Geliştirici: Christo Buschek
Lisenziya: Pulsuz
Məşhurluq: 93

Rating: 2.0/5 (Total Votes: 2)

.

fakeldap bir Python sizin unittests üçün LDAP backend server istehza üçün sadə bir yol təqdim edir modul & nbsp; Bu mümkün sorğulanan və ya sorğu LDAP sabit qaytarılması dəyərlər müəyyən edilə bilər kataloq entries upfront bir sıra müəyyən edir. Bu python-LDAP modul LDAPObject sinfi üçün əvəz bir damla kimi çıxış edir. Bu sinif icazə üsulları alt həyata keçirir.
Bu modul LDAPObject həmçinin LDAP modulu, həm də fəaliyyət MockLDAP sinif həyata keçirir. Kodu və dizayn ən Peter Sagerson əla Django-auth-LDAP modul qəbul edilmişdir.
Quraşdırma
Alın və kodu yüklemek:
& Nbsp; git klon git: //github.com/30loops/fakeldap.git
& Nbsp; cd fakeldap
& Nbsp; python bərpa setup.py
Əgər istəyirsinizsə, siz test run bilər:
& Nbsp; python setup.py nosetests
istifadə
Qeyd: Bu kod hələ eksperimental və çox hələ də test deyil. Belə ki, sənədlərin
MockLDAP sinif python-LDAP modulu LDAPObject əvəz edir. istifadə üçün en asan yol, əvəzinə LDAPObject və MockLDAP qayıtmaq ldap.initialize üzerine edir. misal aşağıda nail olmaq üçün Michael Foord nin Sınaq kitabxana istifadə edir:
idxal unittest
istehza idxal patch
fakeldap idxal MockLDAP olan
_mock_ldap = MockLDAP ()
sinif YourTestCase (unittest.TestCase):
& Nbsp; def quraşdırma (özünə):
& Nbsp; # Patch LDAP kitabxana istifadə olunur:
& 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 demontaj (özünə):
& Nbsp; _mock_ldap.reset ()
& Nbsp; self.mock_ldap.stop ()
istehza LDAP obyekt aşağıdakı LDAP əməliyyatları həyata keçirir:
- Simple_bind_s
- Search_s
- Compare_s
- Modify_s
- Delete_s
- Add_s
- Rename_s
Bu sabit geri dəyərləri ilə MockLDAP necə istifadə bir nümunəsidir:
def test_some_ldap_group_stuff (özünə):
& Nbsp; # LDAP əməliyyat gözlənilir qaytarılması dəyəri müəyyən
& Nbsp; {return_value = ("cn = testgroup, ou = qrup, dc = 30loops, dc = net"
& Nbsp; 'ObjectClass: [' posixGroup '],
& Nbsp; 'cn': 'testgroup "
& Nbsp; 'gidNumber': '2030'
& Nbsp;})
& Nbsp; # MockLDAP obyekt ilə geri dəyəri Qeydiyyat
& Nbsp; _mock_ldap.set_return_value (add_s,
& Nbsp; ("cn = testgroup, ou = qruplar, dc = 30loops, dc = net" (
& Nbsp; (ObjectClass, (posixGroup))
& Nbsp; (cn ',' testgroup),
& Nbsp; (gidNumber ',' 2030 ')))
& Nbsp; (105 [] 10 []))
& Nbsp; # haqq kodu Run, bu, yalnız bir nümunəsidir
& Nbsp; group_manager = GroupManager ()
& Nbsp; nəticə = group_manager.add ("testgroup")
& Nbsp; # təsdiq ki, metodu və MockLDAP qaytarılması dəyəri
& Nbsp; burada python-burun-nin eq () test aracı istifadə edərək, gözlənildiyi kimi # aşağıdakılardır:
& Nbsp; eq_ (return_value, nəticə)
& Nbsp; # Hər bir faktiki LDAP proqram qeyd olur ki, zəng. Siz ola bilər
& Nbsp; # siz buraxılmış və müqayisə etmək üçün gözləyirik zənglər siyahısını hazırlamaq:
& Nbsp; called_records = []
& Nbsp; called_records.append ((simple_bind_s,
& Nbsp; {kim ':' cn = admin, dc = 30loops, dc = net "," Cred ':' ldaptest "}))
& Nbsp; called_records.append ((add_s, {
& Nbsp; 'dn': 'cn = testgroup, ou = qruplar, dc = 30loops, dc = net ",
& Nbsp; 'rekord: [
& Nbsp; (ObjectClass '[' posixGroup '])
& Nbsp; (gidNumber ',' 2030 ')
& Nbsp; (cn ',' testgroup),
& Nbsp;]}))
& Nbsp; # yenə gözlənilir davranış test
& Nbsp; eq_ (called_records, _mock_ldap.ldap_methods_called_with_arguments ())
Xüsusi zənglər üçün geri dəyərlər təyinat Bundan başqa, siz də entries bir kataloq ilə tam LDAP server təqlid edə bilər:
# Əvvəlcədən kataloq ilə MockLDAP bir misal yaradın
ağac = {
& Nbsp; "cn = admin, dc = 30loops, dc = net" {
& Nbsp; "userPassword": "ldaptest"
& Nbsp;}
}
mock_ldap = MockLDAP (ağac)
rekord = [
& Nbsp; (uid ',' Kriton),
& Nbsp; (userPassword ',' gizli ')
]
Mən kataloq başqa qovluğa əlavə zaman gözləmək # qaytarılması dəyəri
eq_ (
& Nbsp; (105, [] 1 [])
& Nbsp; mock_ldap.add_s ("uid = Kriton, ou = nəfər, dc = 30loops, dc = net", rekord)
)
# Gözlənilir kataloq
directory = {
& Nbsp; "cn = admin, dc = 30loops, dc = net" {"userPassword": "ldaptest"}
& Nbsp; "uid = Kriton, ou = nəfər, dc = 30loops, dc = net" {
& Nbsp; "uid": "Kriton", "userPassword": "gizli"}
}
# MockLDAP kataloq gözlənilir kataloq müqayisə
eq_ (kataloq, mock_ldap.directory)

tələblər

  • Python

Oxşar proqram

Scalasca
Scalasca

20 Feb 15

Expect-lite
Expect-lite

19 Feb 15

Şərh fakeldap

Şərhlər tapılmadı
Şərh əlavə
Images yandırın!