fakeldap

Софтуер снимки:
fakeldap
Софтуер детайли:
Версия: 0.5.1
Дата на качване: 11 May 15
Розробник: Christo Buschek
Разрешително: Безплатно
Популярност: 11

Rating: 3.0/5 (Total Votes: 1)

fakeldap е Python модул, който осигурява лесен начин да се подиграят LDAP гръб сървъри за вашите unittests & Nbsp;. Тя дава възможност да се определи предварително набор от записи в указателя, че може да се извършва запитване, или определени стойности, определени за връщане към LDAP заявки. Той действа като капка в замяна за класа LDAPObject на модула на питон-LDAP. Той прилага подгрупа от право методите за този клас.
Този модул изпълнява класа MockLDAP който функционира както като LDAPObject както и модула LDAP. Повечето от кода и дизайна е взета от отлична Джанго-AUTH-LDAP модул Peter Sagerson му.
<Силен> Инсталиране
Вземи и инсталиране на кода:
& Nbsp; Git клонинг Git: //github.com/30loops/fakeldap.git
& Nbsp; CD fakeldap
& Nbsp; питон setup.py инсталиране
Ако искате, можете да стартирате на изпитванията:
& Nbsp; питон setup.py nosetests
<Силен> Usage
<Силен> Забележка: Този код е все още експериментална и не е много тестван като на все още. Така е документацията
Класът MockLDAP замества LDAPObject на модула на питон-LDAP. Най-лесният начин да го използват, е да се презапише ldap.initialize да се върне MockLDAP вместо LDAPObject. Примерът по-долу използва Mock библиотека Michael Foord да постигне, че:
внос unittest
от моделната внос пластир
от fakeldap внос MockLDAP
_mock_ldap = MockLDAP ()
клас YourTestCase (unittest.TestCase):
& Nbsp; Def Setup (самостоятелно):
& Nbsp; # Patch, където се използва 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 Teardown (самостоятелно):
& 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 със стойности, установени за връщане:
Def test_some_ldap_group_stuff (самостоятелно):
& Nbsp; # Дефиниране на очакваната стойност замяна на операция на LDAP
& Nbsp; return_value = ("КН = testgroup, ОУ = група, DC = 30loops, DC = нетен", {
& Nbsp; "objectClass": ['posixGroup "],
& Nbsp; "КН": "testgroup",
& Nbsp; "gidNumber ':' 2030 ',
& Nbsp;})
& Nbsp; # Регистрирайте връщане на стойност с предмета MockLDAP
& Nbsp; _mock_ldap.set_return_value ("add_s",
& Nbsp; ("КН = testgroup, ОУ = групи, DC = 30loops, DC = нетен", (
& Nbsp ("objectClass" ("posixGroup")),
& Nbsp; ("КН", "testgroup"),
& Nbsp ("gidNumber", "2030"))),
& Nbsp (105, [], 10 []))
& Nbsp; # Направи свой действителния код, това е само един пример
& Nbsp; group_manager = GroupManager ()
& Nbsp; резултат = group_manager.add ("testgroup")
& Nbsp; # твърдят, че стойността връщане на вашия метод и на MockLDAP
& Nbsp; # са, както се очаква, тук се използва еквивалента () тест инструмент питон-носа си:
& Nbsp; eq_ (return_value, резултат)
& Nbsp; # Всеки действителната LDAP се обадите на вашия софтуер прави получава записано. Можеш
& Nbsp; # изготвя списък на разговори, които се очаква да бъдат издадени и да я сравни:
& Nbsp; called_records = []
& Nbsp; called_records.append (("simple_bind_s",
& Nbsp; {", които": "CN = администратор, DC = 30loops, DC = нетен ',' cred": "ldaptest '}))
& Nbsp; called_records.append (("add_s" {
& Nbsp; "DN": "CN = testgroup, ОУ = групи, DC = 30loops, DC = нетен",
& Nbsp; "рекорд": [
& Nbsp ("objectClass" ["posixGroup ']),
& Nbsp ("gidNumber", "2030"),
& Nbsp; ("КН", "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", "crito"),
& Nbsp; ("userPassword", "тайна"),
]
# Върнатата стойност да очаквам при добавите друг запис в директорията
eq_ (
& Nbsp (105, [], 1, []),
& Nbsp; mock_ldap.add_s ("UID = crito, ОУ = хора, DC = 30loops, DC = нетен", записа)
)
# Очакваният директория
указател = {
& Nbsp; "CN = администратор, DC = 30loops, DC = нетен": {"userPassword": "ldaptest"},
& Nbsp; "UID = crito, ОУ = хора, DC = 30loops, DC = нетен": {
& Nbsp; "UID": "crito", "userPassword": "тайна"}
}
# Сравни очакваната директория с указателя за MockLDAP
eq_ (директория, mock_ldap.directory)

<силни> Изисквания

  • Python

Подобен софтуер

nose-performance
nose-performance

20 Feb 15

nose_fixes
nose_fixes

14 Apr 15

nose-exclude
nose-exclude

20 Feb 15

PyNuker
PyNuker

15 Apr 15

Коментари към fakeldap

Коментари не е намерена
добавите коментар
Включете на изображения!