Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Utilities for testing ElasticSearch queries

Project Description

ESTester is a Python package to help testing ElasticSearch queries.

It provides a TestCase which allows you to load data to a test index and validate the behavior of your search queries.

How to install

Using pip to install from Cheeseshop

pip install estester

Or, install from the source

git clone git://
python install

How to use

ESTester defines a main testing class, called ElasticSearchQueryTestCase.

In order to use it, you should subclass it and redefine one or more class attributes:

  • index: name of the index (default: sample.test)
  • host: ElasticSearch host (default: http://localhost:9200/)
  • fixtures: list of items to be loaded (default: [])
  • timeout: time in seconds to wait index load (default: 5s)
  • reset_index: delete index after running tests (default: True)

Basic example, only re-defining fixtures:

from estester import ElasticSearchQueryTestCase

    "query": {
        "query_string": {
            "fields": [
            "query": "nina"

class QueryTestCase(ElasticSearchQueryTestCase):

    fixtures = [
            "type": "dog",
            "id": "1",
            "body": {"name": "Nina Fox"}
            "type": "dog",
            "id": "2",
            "body": {"name": "Charles M."}

    def test_query_by_nina_returns_one_result(self):
        response = self.query(SAMPLE_QUERY)
        self.assertEqual(response["hits"]["total"], 1)
        self.assertEqual(response["hits"]["hits"][0]["_id"], u"1")
        self.assertEqual(response["hits"]["hits"][0]["_source"], {u"name": u"Nina Fox"})

ESTester tests

In order to run ESTester tests, make sure you have ElasticSearch installed locally and it is up ::
make setup make test


ESTester was successfully used to test queries on top of versions 19.x and 90.x of ElasticSearch.

For more information on this amazing open-source search engine, read:


ESTester is GNU GPL 2:

< ESTester: ElasticSearch Tester >
Copyright (C) 2013 - Tatiana Al-Chueyr Pereira Martins

ESTester is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, version 2 of the License.

ESTester is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with ESTester. If not, see <>.

Release History

This version
History Node


History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(4.2 kB) Copy SHA256 Hash SHA256
Source None Oct 22, 2013

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers