fakeldap

软件截图:
fakeldap
软件详细信息:
版本: 0.5.1
上传日期: 11 May 15
许可: 免费
人气: 11

Rating: nan/5 (Total Votes: 0)

fakeldap是一个Python模块,它提供了一种简单的方式来嘲笑LDAP后端服务器为您的单元测试 它使我们能够定义前期一组可查询或设置固定回报值将LDAP查询目录条目。它可以作为替代的下降为LDAPObject类蟒蛇,LDAP模块。它实现了这个类的允许的方法的一个子集。
这个模块实现的功能既作为LDAPObject以及ldap的模块的MockLDAP类。大部分的代码和设计已经摘自彼得Sagerson出色的Django的AUTH-LDAP模块。
安装
获取并安装代码:
 混帐混帐克隆://github.com/30loops/fakeldap.git
  CD fakeldap
 蟒蛇setup.py安装
如果你愿意,你可以运行测试:
 蟒蛇setup.py nosetests
用法
注意::此代码是仍处于实验阶段,不是很测试的呢。那么,文档
该MockLDAP类取代了蟒蛇,LDAP模块的LDAPObject。使用它的最简单的方法,是覆盖​​ldap.initialize返回,而不是LDAPObject MockLDAP。下面的示例使用迈克尔Foord的模拟磁带库,以实现这一目标:
进口单元测试
从模拟进口补丁
从fakeldap进口MockLDAP
_mock_ldap = MockLDAP()
类YourTestCase(unittest.TestCase的):
  DEF设置(个体经营):
 #补丁,其中LDAP库使用:
  self.ldap_patcher =补丁('app.module.ldap.initialize“)
  self.mock_ldap = self.ldap_patcher.start()
  self.mock_ldap.return_value = _mock_ldap
 高清tearDown的(个体经营):
  _mock_ldap.reset()
  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(个体经营):
 #定义LDAP操作的预期收益值
  RETURN_VALUE =(“CN = testgroup,OU =组,DC = 30loops,DC =净”,{
 '的objectClass':['posixGroup'],
 'CN':'testgroup“,
 '的gidNumber':'2030',
 })
 #注册一个返回值与MockLDAP对象
  _mock_ldap.set_return_value('add_s',
 (“CN = testgroup,OU =组织,DC = 30loops,DC =净”,(
 ('的objectClass“,('posixGroup')),
 ('CN','testgroup'),
 ('的gidNumber','2030'))),
 (105,[],10,[]))
 #运行实际代码,这只是一个例子
  group_manager = GroupManager()
 结果= group_manager.add(“testgroup”)
 #断言MockLDAP你的方法的返回值
 #如预期的,在这里使用python鼻的EQ()测试工具:
  eq_(RETURN_VALUE,结果)
 #每个实际的LDAP打电话给你的软件使得被记录下来。你可以
 #编写,您希望将发行和比较它的通话清单:
  called_records = []
  called_records.append(('simple_bind_s',
  {'谁':'CN =管理员,DC = 30loops,DC =净“,”名气“:”ldaptest'}))
  called_records.append(('add_s',{
 “DN”:“CN = testgroup,OU =组织,DC = 30loops,DC =净”,
 “记录”:
 ('objectClass的',['posixGroup']),
 ('的gidNumber','2030'),
 ('CN','testgroup'),
 ]}))
 #并再次测试预期的行为
  eq_(called_records,_mock_ldap.ldap_methods_called_with_arguments())
除了特定的呼叫固定的返回值,你也可以模仿一个完整的LDAP服务器条目的目录:
#创建MockLDAP的实例与预设目录
树= {
 “CN =管理员,DC = 30loops,DC =净”:{
 “的userPassword”:“ldaptest”
 }
}
mock_ldap = MockLDAP(树)
记录= [
 (为'uid','克利托'),
 ('的userPassword','秘密'),
]
#返回值我希望当我另一个记录添加到目录
eq_(
 (105,[],1,[]),
  mock_ldap.add_s(“UID =克利托,OU =人,DC = 30loops,DC =净”,记录)

#预期目录
目录= {
 “CN =管理员,DC = 30loops,DC =净”:{“的userPassword”:“ldaptest”},
 “UID =克利托,OU =人,DC = 30loops,DC =净”:{
 “UID”:“克里托”,“的userPassword”:“秘密”}
}
#与MockLDAP目录比较预期的目录
eq_(目录,mock_ldap.directory)

要求

  • 在Python的

类似的软件

dingus
dingus

14 Apr 15

pyVows
pyVows

20 Feb 15

Peptest
Peptest

14 Apr 15

意见 fakeldap

评论没有发现
添加评论
打开图片!