跳转到主要内容

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 (14.8 kB 查看哈希值)

上传时间 源代码

由以下支持