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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file testing.elasticsearch2-1.0.0.tar.gz.
File metadata
- Download URL: testing.elasticsearch2-1.0.0.tar.gz
- Upload date:
- Size: 9.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c085e64251c9df88191e556d5ba43816f6bfa44dcc3ac37f8fdecbf07caee593
|
|
| MD5 |
ab66adf329aae5ea0724db060ed94ac7
|
|
| BLAKE2b-256 |
67ca3172ca5eb5ac8f0f1533f76024acebef1204258649be5f1e19f47f4a6162
|
File details
Details for the file testing.elasticsearch2-1.0.0-py2.py3-none-any.whl.
File metadata
- Download URL: testing.elasticsearch2-1.0.0-py2.py3-none-any.whl
- Upload date:
- Size: 7.3 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2d31e1e702b034b79bafa652d1d254958ea5f1dbb3adb035ddadef26f0615f93
|
|
| MD5 |
ae3bdf839521468c50c9ebb191c4d9e6
|
|
| BLAKE2b-256 |
c4826378ee5d9c5041e495a565282a3477c58a0002d0527a657fc5353c2df320
|