Skip to main content

testing.elasticsearch automatically sets up an elasticsearch instance in a temporary directory, and destroys it after testing. It’s useful as a pytest fixture for testing interactions with elasticsearch in an isolated manner.

Implementation is based off the awesome testing.redis module.

Example usage:

import testing.elasticsearch
import pyes.es import ES

# launch new elasticsearch server:
with testing.elasticsearch.ElasticSearchServer() es:
    elasticsearch = ES(es.uri())
    # perform any testing with elasticsearch here

# elasticsearch server is terminated and cleaned up here

You can change the server configuration by specifying a config dict:

with ElasticSearchServer(config={
    'logger.level': 'DEBUG',
    # Keep index in memory
    'index.store.type': 'mmapfs',
}) as es:
    ...

…or by setting them on the config attribute before starting the server:

es = ElasticSearchServer()
es.config['logger.level'] = 'DEBUG'
es.start()

You can also setup a pytest fixture:

@pytest.fixture(scope='session')
def elasticsearch(request):
    """
    A testing fixture that provides a running elasticsearch server.
    """
    es = ElasticSearchServer()
    es.start()
    request.addfinalizer(es.stop)
    return es

Testing

To run tests you’ll need to install the test requirements:

pip install -r src/tests/requirements.txt

Run tests:

python src/tests/runtests.py

Release files for testing.elasticsearch 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for testing.elasticsearch 0.3.0
File Size Uploaded
testing.elasticsearch-0.3.0.tar.gz 5.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for testing.elasticsearch 0.3.0
File Interpreter ABI Platform
testing.elasticsearch-0.3.0-py2-none-any.whl Python 2 none any Details

Total release size: 11.8 kB

Release files / testing.elasticsearch-0.3.0.tar.gz

Download URL testing.elasticsearch-0.3.0.tar.gz
Size 5.7 kB
Tags Source
SHA-256 checksum
How to use checksums
b7a9065403ee07ec6d22f311369697bbc41141fffc218bf95b24e0c93b6a44f7
BLAKE2b-256 checksum
How to use checksums
1f3015cec34c92f602a05d1aab6a4b8c4b4a09521f7f1e14d21dd527cbdaa207
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / testing.elasticsearch-0.3.0-py2-none-any.whl

Download URL testing.elasticsearch-0.3.0-py2-none-any.whl
Size 6.1 kB
Tags Python 2
SHA-256 checksum
How to use checksums
db09fb9bcaec3a090abf025b7b2813b24839c35736c823324f249f09aaf6f682
BLAKE2b-256 checksum
How to use checksums
3862c65f6dca45f1ee47db691b4ff74906181c47d885f82bc7e4b3d580a188c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.3

2 release files

0.2.2

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.2

1 release file

0.1.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page