automatically setups a elasticsearch instance in a temporary directory, and destroys it after testing
Project description
About
testing.elasticsearch automatically setups a elasticsearch instance in a temporary directory, and destroys it after testing.
Install
Use pip:
$ pip install testing.elasticsearch2
And testing.elasticsearch2 requires Elasticsearch server in your PATH.
Usage
Create Elasticsearch instance using testing.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 generates temporary config files and data directories. On deleting Elasticsearch object, it terminates Elasticsearch instance and removes temporary files and directories.
If you want a database including indexes and any fixtures for your apps, use copy_data_from keyword:
# uses a copy of specified data directory of Elasticsearch. elasticsearch = testing.elasticsearch.Elasticsearch(copy_data_from='/path/to/your/index')
For example, you can setup new Elasticsearch server for each testcases on setUp() method:
import unittest import testing.elasticsearch class MyTestCase(unittest.TestCase): def setUp(self): self.elasticsearch = testing.elasticsearch.Elasticsearch() def tearDown(self): self.elasticsearch.stop()
Requirements
Python 2.7, 3.3, 3.4, 3.5
License
Apache License 2.0
History
1.0.0 (2016-08-20)
Drop python 2.6, 3.2 support
Depend on testing.common.database >= 2.0.0
Set booting timeout to 20sec
Fix bugs:
#1: find_elasticsearch_yaml_path() does not refer elasticsearch_home argument
#2: Make ES_PATH absolute
0.9.1 (2016-02-04)
Depend on testing.common.database package
0.9.0 (2015-12-13)
First release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for testing.elasticsearch2-1.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | c085e64251c9df88191e556d5ba43816f6bfa44dcc3ac37f8fdecbf07caee593 |
|
MD5 | ab66adf329aae5ea0724db060ed94ac7 |
|
BLAKE2b-256 | 67ca3172ca5eb5ac8f0f1533f76024acebef1204258649be5f1e19f47f4a6162 |
Hashes for testing.elasticsearch2-1.0.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d31e1e702b034b79bafa652d1d254958ea5f1dbb3adb035ddadef26f0615f93 |
|
MD5 | ae3bdf839521468c50c9ebb191c4d9e6 |
|
BLAKE2b-256 | c4826378ee5d9c5041e495a565282a3477c58a0002d0527a657fc5353c2df320 |