fakeldap

Скріншот програми:
fakeldap
Дані програми:
Версія: 0.5.1
Дата завантаження: 11 May 15
Розробник: Christo Buschek
Ліцензія: Безкоштовно
Популярність: 11

Rating: nan/5 (Total Votes: 0)

fakeldap є модуль Python, який забезпечує простий спосіб поглумитися над LDAP-серверів бекенда для UnitTests & NBSP ;. Це дає можливість визначити початкові набір записів каталогів, які можуть бути запитані або встановлених фіксованих значень повернення, LDAP запити. Він діє як крапля в заміні для LDAPObject класу модуля Python-LDAP. Він реалізує підмножина дозволених методів цього класу.
Цей модуль реалізує клас MockLDAP, що функції і, як LDAPObject, а також модуля LDAP. Велика частина коду та дизайну був узятий з чудового модуля Django-авт-LDAP Пітера Sagerson в.
<Сильний> Установка
Отримати і встановити код:
& NBSP; мерзотник клон Git: //github.com/30loops/fakeldap.git
& NBSP; кд fakeldap
& NBSP; пітон setup.py встановити
Якщо ви хочете, ви можете запускати тести:
і NBSP; пітон setup.py nosetests
<Сильний> Використання
<Сильний> Примітка: Цей код все ще є експериментальною і не дуже випробування, як досі. Так документація
Клас MockLDAP замінює LDAPObject модуля Python-LDAP. Найпростіший спосіб, щоб використовувати його, щоб перезаписати ldap.initialize повернутися MockLDAP замість LDAPObject. Приклад нижче використовує пробний бібліотеку Майкла Фурдуй для досягнення, що:
імпорт UnitTest
від макету імпорту патч
від fakeldap імпорту MockLDAP
_mock_ldap = MockLDAP ()
клас YourTestCase (unittest.TestCase):
& NBSP; Def Setup (само):
& 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 з фіксованими повертаються значень:
Def test_some_ldap_group_stuff (само):
& NBSP; # Визначити очікувану дохідність значення для операції LDAP
& NBSP; return_value = ("CN = testgroup, НУ = група, DC = 30loops, DC = чистий", {
& NBSP; 'об'єктний »: [' posixGroup '],
& NBSP; 'сп': 'testgroup ",
& NBSP; 'gidNumber': '2030',
& NBSP;})
& NBSP; # Реєстрація значення, що повертається з об'єктом MockLDAP
& NBSP; _mock_ldap.set_return_value ('add_s ",
& NBSP; ("CN = testgroup, НУ = групи, DC = 30loops, DC = чистий", (
& NBSP; ('об'єктний', ('posixGroup')),
& NBSP; ('сп', 'testgroup'),
& NBSP; ('gidNumber', '2030'))),
& NBSP; (105, [], 10 []))
& NBSP; # Запустіть фактичний код, це просто приклад
& NBSP; group_manager = GroupManager ()
& NBSP; результат = group_manager.add ("testgroup")
& NBSP; # стверджувати, що повертається значення вашого методу і в MockLDAP
& NBSP; # є, як очікувалося, тут за допомогою екв () вимірювальний прилад Python ніс в:
& 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, НУ = групи, DC = 30loops, DC = чистий ",
& NBSP; «рекорд»: [
& NBSP; ('об'єктний », [' 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; "Парольпользователя": "ldaptest"
& NBSP;}
}
mock_ldap = MockLDAP (дерево)
запис = [
& NBSP; ('UID', 'Крітон "),
& NBSP; ('Парольпользователя "," секрет "),
]
# Яке значення Я очікую, коли я додаю ще один рекорд в каталог
eq_ (
& NBSP; (105, [], 1, []),
і NBSP; mock_ldap.add_s ("UID = Крітон, НУ = люди, DC = 30loops, DC = чистий", запис)
)
# Очікуваний каталог
Каталог = {
& NBSP; "CN = адміністратора, DC = 30loops, DC = чистий": {"Парольпользователя": "ldaptest"},
& NBSP; "UID = Крітон, НУ = люди, DC = 30loops, DC = чистий": {
& NBSP; "UID": "Крітон", "Парольпользователя": "Секрет"}
}
# Порівняйте очікуваний каталог з каталогом MockLDAP
eq_ (каталог, mock_ldap.directory)

Вимоги

  • Python

Схожі програми

bdd
bdd

14 Apr 15

van.pg
van.pg

14 Apr 15

cynic
cynic

14 Apr 15

lava-ci
lava-ci

11 May 15

fakeldap

Коментар не знайдено
додати коментар
Включіть картинки!
Пошук за категоріями