在临时目录中自动设置ElasticSearch实例,并在测试后将其销毁
testing.elasticsearch6的Python项目详细描述
安装
使用pip:
$ pip install testing.elasticsearch6
并且testing.elasticsearch6需要路径中的ElasticSearch服务器。
用法
使用testing.elasticsearch.Elasticsearch:
创建ElasticSearch实例import testing.elasticsearch from sqlalchemy import create_engine # Lanuch new Elasticsearch server with testing.elasticsearch.Elasticsearch() as elasticsearch: # connect to Elasticsearch (using elasticsearch-py) es = Elasticsearch(**elasticsearch.dsn()) # # do any tests using Elasticsearch... # # Elasticsearch server is terminated here
testing.elasticsearch.Elasticsearch生成临时配置文件和数据目录。 在删除elasticsearch对象时,它终止elasticsearch实例并删除临时文件和目录。
如果你想要一个包含索引的数据库和你的应用程序的任何固定装置, 使用copy_data_from关键字:
# uses a copy of specified data directory of Elasticsearch. elasticsearch = testing.elasticsearch.Elasticsearch(copy_data_from='/path/to/your/index')
例如,可以在setup()方法上为每个测试用例设置新的ElasticSearch服务器:
import unittest import testing.elasticsearch class MyTestCase(unittest.TestCase): def setUp(self): self.elasticsearch = testing.elasticsearch.Elasticsearch() def tearDown(self): self.elasticsearch.stop()
要求
- Python2.7,3.6
许可证
apache许可证2.0
历史记录
1.0.0(2016-08-20)
- 放弃Python2.6、3.2支持
- 取决于testing.common.database>;=2.0.0
- 将引导超时设置为20秒
- 修复错误:
- #1:find_elasticsearch_yaml_path()不引用elasticsearch_home参数
- #2:使ES路径为绝对路径
0.9.1(2016-02-04)
- 取决于testing.common.database包
0.9.0(2015-12-13)
- 首次发布