fakeldap

צילום מסך תוכנה:
fakeldap
פרטי תוכנה:
גרסה: 0.5.1
טען תאריך: 11 May 15
מפתחים: Christo Buschek
רשיון: ללא תשלום
פופולריות: 11

Rating: nan/5 (Total Votes: 0)

fakeldap הוא מודול פייתון שמספק דרך פשוטה ללעוג שרתי backend LDAP לunittests & nbsp;. היא מאפשרת להגדיר מראש סט של ערכי מדריך שניתן שאילתא או להגדיר ערכי תשואה קבועות לLDAP שאילתות. היא פועלת כמו ירידה בתחליף לכיתת LDAPObject של מודול פייתון-LDAP. היא מיישמת משנה של השיטות מותרת של המעמד הזה.
מודול זה מיישם את מעמד MockLDAP שמתפקד גם כLDAPObject כמו גם מודול LDAP. רוב הקוד והעיצוב נלקח ממודול Django-auth-LDAP המצוין של פיטר Sagerson.
התקנה
קבל ולהתקין את הקוד:
& Nbsp; git clone git: //github.com/30loops/fakeldap.git
& Nbsp; fakeldap CD
& Nbsp; פיתון setup.py להתקין
אם אתה רוצה, אתה יכול להפעיל את הבדיקות:
& Nbsp; nosetests setup.py פיתון
שימוש
הערה: קוד זה הוא עדיין ניסיוני ולא מאוד נבדק כמו של עוד. אז הוא התיעוד
כיתת MockLDAP מחליפה את LDAPObject של מודול פייתון-LDAP. הדרך הקלה ביותר להשתמש בו, היא להחליף ldap.initialize לחזור MockLDAP במקום LDAPObject. הדוגמא הבאה משתמשת בספריית מוק של מייקל רומפורד כדי להשיג את זה:
unittest יבוא
מתיקון יבוא מדומה
מMockLDAP יבוא fakeldap
_mock_ldap = MockLDAP ()
הכיתה YourTestCase (unittest.TestCase):
& Nbsp; הגדרת def (עצמי):
& Nbsp; # תיקון שבו ספריית LDAP משמשת:
& Nbsp; self.ldap_patcher = תיקון ("app.module.ldap.initialize ')
& Nbsp; self.mock_ldap = self.ldap_patcher.start ()
& Nbsp; self.mock_ldap.return_value = _mock_ldap
& Nbsp; פירוק def (עצמי):
& Nbsp; _mock_ldap.reset ()
& Nbsp; self.mock_ldap.stop ()
אובייקט LDAP המדומה מיישם את פעולות LDAP הבאות:
- Simple_bind_s
- Search_s
- Compare_s
- Modify_s
- Delete_s
- Add_s
- Rename_s
זוהי דוגמא כיצד להשתמש MockLDAP עם ערכי תמורה קבועים:
test_some_ldap_group_stuff def (עצמי):
& Nbsp; # הגדר את ערך התשואה הצפויה לפעולת LDAP
& Nbsp; return_value = ("cn = testgroup, ou = קבוצה, dc = 30loops, dc = נטו", {
& Nbsp; 'objectClass': ['posixGroup'],
& Nbsp; 'cn': 'testgroup',
& Nbsp; 'gidNumber': "2,030 ',
& Nbsp;})
& Nbsp; # הרשם ערך החזרה עם אובייקט MockLDAP
& Nbsp; ('add_s' _mock_ldap.set_return_value,
& Nbsp; ("cn = testgroup, ou = קבוצות, dc = 30loops, dc = נטו", (
& Nbsp; ('objectClass', ('posixGroup')),
& Nbsp; ('cn', 'testgroup'),
& Nbsp; ('gidNumber', '2,030'))),
& Nbsp; (105, [], 10, []))
& Nbsp; # הפעל הקוד שלך בפועל, זה הוא רק דוגמא
& Nbsp; group_manager = GroupManager ()
& Nbsp; תוצאה = group_manager.add ("testgroup")
& Nbsp; # טוען כי ערך ההחזרה של השיטה שלך ושל MockLDAP
& Nbsp; # הוא כצפוי, כאן שימוש בכלי מבחן EQ () של פייטון-האף:
& Nbsp; eq_ (return_value, תוצאה)
& Nbsp; # כל LDAP בפועל קורא את התוכנה שלך עושה יקבל נרשמה. אתה יכול
& Nbsp; # להכין רשימה של שיחות שאתה מצפה שתונפק ולהשוות אותו:
& Nbsp; = called_records []
& Nbsp; called_records.append (('simple_bind_s',
& Nbsp; {'ש':' cn = מנהל, dc = 30loops, dc = נטו ',' קרד ':' ldaptest '}))
& Nbsp; called_records.append (('add_s', {
& Nbsp; 'dn': 'cn = testgroup, ou = קבוצות, dc = 30loops, dc = נטו ",
& Nbsp; "שיא": [
& Nbsp; ('objectClass', ['posixGroup']),
& Nbsp; ('gidNumber', '2,030'),
& Nbsp; ('cn', 'testgroup'),
& Nbsp;]}))
& Nbsp; # ושוב לבדוק את ההתנהגות הצפויה
& Nbsp; eq_ (called_records, _mock_ldap.ldap_methods_called_with_arguments ())
חוץ מזה של תיקון ערכי תמורה לשיחות ספציפיות, אתה יכול גם לחקות שרת LDAP מלא עם ספרייה של ערכים:
# יצירת מופע של MockLDAP עם ספרייה מוגדרת מראש
עץ = {
& Nbsp; "cn = מנהל, dc = 30loops, dc = נטו": {
& Nbsp; "userPassword": "ldaptest"
& Nbsp;}
}
mock_ldap = MockLDAP (עץ)
שיא = [
& Nbsp; ('UID', 'קריטון'),
& Nbsp; ('userPassword', 'סוד'),
]
# ערך ההחזרה אני מצפה כאשר אני מוסיף עוד שיא לספרייה
eq_ (
& Nbsp; (105, [], 1, []),
& Nbsp; mock_ldap.add_s ("UID = קריטון, ou = אנשים, dc = 30loops, dc = נטו", שיא)
)
# הספרייה הצפויה
ספרייה = {
& Nbsp; "cn = מנהל, dc = 30loops, dc = נטו": {"userPassword": "ldaptest"},
& Nbsp; "UID = קריטון, ou = אנשים, dc = 30loops, dc = נטו": {
& Nbsp; "UID": "userPassword" "קריטון": "סוד"}
}
# השווה את הספרייה הצפויה עם ספריית MockLDAP
eq_ (ספרייה, mock_ldap.directory)

דרישות :

  • פייתון

תוכנה דומה

pyzombie
pyzombie

12 May 15

JProfiler
JProfiler

17 Feb 15

תגובות ל fakeldap

תגובות לא נמצא
להוסיף הערה
הפעל את התמונות!