测试用临时拍击发射器

volatildap的Python项目详细描述


https://secure.travis-ci.org/rbarrois/volatildap.png?branch=masterLatest VersionSupported Python versionsWheel statusLicense

volatildap提供了针对LDAP数据库测试代码的简单帮助程序。

其主要特点包括:

  • 简单配置:不提供LDAP服务器将以正常默认值启动的任何内容
  • {STR 1 }内置的清除:当测试结束/测试进程退出时,服务器立即删除
  • 交叉分发设置:自动发现openldap二进制文件、架构等的系统路径。

用法

importvolatildapclassMyTests(unittest.TestCase):@classmethoddefsetUpClass(cls):super(MyTests,cls).setUpClass()cls._slapd=volatildap.LdapServer(suffix='dc=example,dc=org')defsetUp(self):# Will start the server, or reset/restart it if already started from a previous test.self._slapd.start()deftest_something(self):conn=ldap.connection(self._slapd.uri)# Do some testsdeftest_with_data(self):# Load some dataself._slapd.add({'ou=people':{'cn':[b'Users']}})# Run the tests

volatildap.LdapServer提供了一些有用的方法:

start()

启动或重新启动服务器。 这将:

  • 清除所有数据(如果有)
  • 如果服务器尚未运行,请启动它
  • 填充初始数据
stop()

停止服务器。

这将清除所有数据并终止进程。

add(data)
添加一些数据,请参见下面的initial_data结构。
get(dn)

按可分辨名称检索对象

返回将属性映射到其值列表的字典(以字节为单位)。

如果基础数据库不知道可分辨名称,则引发KeyError

reset()
将服务器还原到原始的初始状态。 这包括加载初始数据。

配置

volatildap.LdapServer类接受几个参数:

suffix
要用于LDAP树的后缀

默认值:dc=example,dc=org

rootdn
LDAP服务器的管理员帐户

默认值:cn=testadmin,dc=example,dc=org

rootpw

管理员密码。

默认值:一个随机值,可通过LdapServer.rootpw

schemas

要加载的架构列表;可以是一个简单的名称(例如在openldap安装中查找的cosine.schema);也可以是一个自定义名称的路径。

默认值:['core.schema']

initial_data

dict将可分辨名称映射到属性/值的dict:

slapd(initial_data={'ou=people':{'objectClass':['organizationalUnit'],'cn':['People'],},})

注意:添加数据时,可以在对象dns上省略后缀。

默认值:{}

skip_missing_schemas

加载架构时,如果某些架构 找不到

默认值:False

port

要使用的端口

默认值:系统上可用的TCP端口

slapd_debug

slapd的调试级别;请参见slapd.conf

默认值:0

max_server_startup_delay
> p>服务器启动时允许的最大延迟,以秒为单位。

默认值:30

tls_config

一组用于配置服务器的TLS证书文件。 localhost的有效集作为volatildap.LOCALHOST_TLS_CONFIG提供,但用户也可以提供自己的:

tls_config=volatildap.TLSConfig(root=read(ca_path),chain=[read(intermediate_path),],certificate=read(certificate_path),key=read(key_path),)

根据分布特性

Ubuntu
在ubuntu下,默认的apparmor策略不允许slapd(ldap守护进程)读取临时文件夹。 用户应该更新/etc/apparmor.d/usr.sbin.slapd文件并在其中添加/tmp/** rw

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
swing Java按钮/网格布局   java列出Google日历中的所有事件   java无效:单击API publisher test按钮后连接到后端时出错   带有内部赋值的java While循环导致checkstyle错误   java为什么trimToSize/ensureCapacity方法提供“公共”级访问?   文件输出流的java问题   ListIterator和并发修改异常的java问题   java如何使用两个URL映射   无法识别使用“./../”构造的字符串java相对路径,为什么?   首次写入remotelyclosedsocket不会触发异常,对吗?JAVA   java OneDrive REST API为文件上载提供了400个无效谓词   Java泛型、集合接口和对象类的问题   OpenSSL Java安全提供程序   jmeter java运行jmx禁用操作