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

Похожие программы

dfuzz
dfuzz

12 May 15

Peon
Peon

20 Feb 15

van.pg
van.pg

14 Apr 15

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

Комментарии не найдены
добавить комментарий
Включите картинки!