MongoDB服务器stub设置
项目描述
此包为python doctests提供mongodb服务器stub设置。
README
本包提供Mongo数据库服务器的测试存根。您可以在doctest样式中简单设置mongodb存根服务器。
import doctest import unittest from m01.stub import testing def test_suite(): return unittest.TestSuite(( doctest.DocFileSuite('README.txt', setUp=testing.doctestSetUp, tearDown=testing.doctestTearDown, optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS), )) if __name__ == '__main__': unittest.main(defaultTest='test_suite')
m01/stub/testing.py模块提供了一个启动和停止方法,该方法将下载、安装、启动和停止一个mongodb服务器。所有这些都在m01/stub/testing/sandbox文件夹中完成。每次测试启动时,mongodb/data文件夹都会被删除,并使用一个新的空数据库。
注意:请参阅testing.py中的zipFolder和unZipFile方法,这些方法允许您在删除之前将mongodb数据存储为zip文件,以便在下次测试运行中使用。这样的zip数据文件夹可以通过将zip文件的路径设置为dataSource参数来在另一个测试运行中使用。有关更多测试用例,请查看m01.mongo包。
测试
让我们使用pymongo包来测试mongodb服务器存根设置。注意,我们为存根服务器设置使用不同的端口(45017而不是27017)
>>> from pprint import pprint >>> import pymongo >>> from pymongo.periodic_executor import _shutdown_executors >>> conn = pymongo.MongoClient('mongodb://127.0.0.1:45017')
让我们测试我们的mongodb存根设置
>>> pprint(conn.server_info()) {..., u'ok': 1.0, ...}>>> conn.database_names() [u'admin', u'local']
设置索引
>>> conn.testing.test.collection.ensure_index('dummy') u'dummy_1'
添加对象
>>> _id = conn.testing.test.save({'__name__': u'foo', 'dummy': u'object'}) >>> _id ObjectId('...')
删除它们
>>> conn.testing.test.remove({'_id': _id}) {...}
并再次检查数据库名称
>>> conn.database_names() [u'admin', u'local', u'testing']
让我们删除数据库
>>> conn.drop_database("testing") >>> conn.database_names() [u'admin', u'local']
关闭客户端
>>> conn.close() >>> _shutdown_executors()
变更
3.1.0 (2018-01-29)
bug修复:支持Windows的不同下载URL。并非每个选项都已发布。我们将尝试Windows 64位版本的不同的URL。注意,如果您使用非64位Python版本下载大型mongodb版本,您可能会遇到MemoryError。
3.0.1 (2015-11-10)
支持pymongo >= 3.0.0,并使用3.0.0作为包版本,并反映pymongo >= 3.0.0的兼容性
3.0.0 (2015-09-28)
pymongo > 3.0.0的兼容性。支持pymongo > 3.0.0使用MongoClient代替Connection等。使用3.0.0作为包版本,并反映pymongo > 3.0.0的兼容性。
将默认mongodb下载版本更改为3.0.6
改进关闭mongodb服务器,清理客户端弱引用
0.5.8 (2015-03-17)
更新默认mongodb版本到2.4.10
更改默认mongodb分配空间从100MB到10MB以加快服务器启动速度
bug修复:启动检查不合适,被迫16次睡眠一秒钟。将服务器状态ok检查从‘1.0’更改为1
0.5.7 (2012-12-10)
bug修复:没有以低于1的睡眠时间关闭
改进服务器设置,为每个启动使用唯一的日志文件
使用pymongo 2.4.1运行测试
0.5.6 (2012-12-09)
切换到mongodb 2.2.2,并在startMongoServer中支持版本属性
0.5.5 (2012-11-18)
bug修复:修复启动和停止观察者方法。用简单的pymongo连接调用替换了javascript调用,用于启动检查和关闭
0.5.4 (2012-11-18)
更新到mongodb 2.2.0
切换到bson导入
默认强制64位下载
仅对文件和目录使用“sleep”值,对进程使用灵活的等待
bug修复:mongo结果返回时带有换行符
bug修复:仅Windows上的字符串cmd
使用shell=False启动mongodb,即使在posix(更安全)。这将更改“options”参数:现在它必须是一个列表
要停止mongodb,我们现在通过“mongo shell”发送命令,我们不再使用pid文件,我们只需要端口,我们将其保留在全局
我们现在反复检查,直到mongodb服务器启动并对admin查询做出响应
将灵活的子版本测试移动以适应OpenBSD
修复了在mac上检测到MongoDB下载以进行测试的问题
添加了MANIFEST.in文件
0.5.3 (2011-08-26)
修复32位linux下载(Albertas)
下载后删除临时文件
修复64位linux
0.5.2 (2011-08-24)
仍在修复linux
0.5.1 (2011-08-24)
修复linux
0.5.0 (2011-08-19)
初始版本在win 32位上进行了测试。未在win 64位、mac 32/64位和posix 32/64位系统上测试。如果这些系统有问题,请报告。
项目详情
m01.stub-3.1.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a4745bc50de8306cd034482e22eeda82953b2c4182c2b8fcf10b79eebade6be1 |
|
MD5 | bef97f7b8596314bf3c1223036a37904 |
|
BLAKE2b-256 | a1a759d11b2d98df667d966e057db346763e8e9178a5f35cd038e21846fc0db0 |