跳转到主要内容

MongoDB线协议服务器库

项目描述

用于测试MongoDB客户端和创建MongoDB线协议服务器的模拟服务器。

变更日志

1.8.1 (2021-10-14)

修复MockupDB未识别OP_MSG exhaustAllowed标志的bug。

1.8.0 (2020-09-26)

MockupDB支持Python 3.4到3.8;它不再支持Python 2.6或Python 3.3。

新增方法MockupDB.append_responder以添加最后的自动响应器。

修复了在interactive_server中使用all_ok=True时的bug。它返回了一个空的isMaster响应,导致驱动程序抛出类似“服务器在localhost:27017报告线协议版本为0,但此版本的PyMongo至少需要2(MongoDB 2.6)”的错误。

在客户端断开连接后,在Windows上停止记录“OSError: [WinError 10038] 尝试对一个不是套接字的对象执行操作”错误。

以任意顺序和任意数量的部分解析OP_MSG。这允许从mongo shell发送写命令,与驱动程序发送的顺序相反。处理带有校验和的OP_MSG,例如从4.2开始由mongo shell发送的。

1.7.0 (2018-12-02)

改进匹配表达式中的日期时间支持。Python日期时间具有微秒精度,但BSON只有毫秒,因此这样的表达式总是失败

server.receives(Command('foo', when=datetime(2018, 12, 1, 6, 6, 6, 12345)))

现在,匹配逻辑已被重写,以便递归地通过数组和不进行文档进行遍历,逐值比较。它只使用毫秒精度比较日期时间值。

1.6.0 (2018-11-16)

删除了vended BSON库。相反,需要PyMongo并使用其BSON库。这避免了使用PyMongo创建的BSON类型与使用MockupDB创建的不相等的问题,并且避免了偶尔需要更新vended代码以支持新BSON功能的情况。

1.5.0 (2018-11-02)

支持具有uds_path参数的Unix域路径。

现在,interactive_server()函数现在已准备好服务器,以自动响应mongo shell的getFreeMonitoringStatus命令。

1.4.1 (2018-06-30)

修复了一个意外的PyMongo依赖关系,这破坏了文档构建。

1.4.0 (2018-06-29)

支持并期望客户端的OP_MSG请求。感谢Shane Harvey的贡献。

从PyMongo更新vended bson库。支持Decimal128 BSON类型。修复Matcher,使其与PyMongo中创建的ObjectId(...)等BSON对象等效,这些对象是从MockupDB的vended bson库中创建的。

1.3.0 (2018-02-19)

支持Windows。如果不良客户端请求导致assert,记录跟踪堆栈。修复SSL。在关闭时减少错误的可能性。在Travis和Appveyor上启用测试。修复doctests和交互式服务器以支持现代MongoDB协议。

1.2.1 (2017-12-06)

将minWireVersion设置为0,而不是2。我关于MongoDB 3.6的wire版本范围的判断是错误的:它实际上是0到6。MockupDB现在默认报告与MongoDB 3.6相同的wire版本范围。

1.2.0 (2017-09-22)

为MongoDB 3.6更新:默认报告minWireVersion 2和maxWireVersion 6。

1.1.3 (2017-04-23)

避免在close()中发生罕见的RuntimeError,如果客户端线程在MockupDB迭代其套接字列表时关闭套接字。

1.1.2 (2016-08-23)

正确检测已关闭的套接字,以便MockupDB.stop()不需要每个连接花费10秒钟。感谢Sean Purcell。

1.1.1 (2016-08-01)

不要将“client”用作Request的关键字参数,因为它与驱动程序新握手协议中的实际“client”字段冲突。

1.1.0 (2016-02-11)

将cursor_id属性添加到OpGetMore,并将ssl参数添加到interactive_server。

1.0.3 (2015-09-12)

MockupDB(auto_ismaster=True)刚刚响应了{"ok": 1},但这不足以让PyMongo 3相信它正在与有效的独立服务器通信,因此自动响应{"ok": 1, "ismaster": True}

1.0.2 (2015-09-11)

恢复Request.assert_matches方法,用于pymongo-mockup-tests。

1.0.1 (2015-09-11)

允许与PyMongo共存安装。

1.0.0 (2015-09-10)

第一个版本。

0.1.0 (2015-02-25)

开始开发。

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪一个,请了解有关安装包的更多信息。

源分发

mockupdb-1.8.1.tar.gz (47.7 kB 查看散列)

上传于 源码

构建的发行版

mockupdb-1.8.1-py2.py3-none-any.whl (27.6 kB 查看哈希值)

上传于 Python 2 Python 3

由以下支持