2017 © Pedro Peláez
 

library elasticsearchunit

PHPUnit extension that supports ElasticSearch Client

image

zumba/elasticsearchunit

PHPUnit extension that supports ElasticSearch Client

  • Tuesday, February 21, 2017
  • by jrbasso
  • Repository
  • 21 Watchers
  • 3 Stars
  • 17,456 Installations
  • PHP
  • 2 Dependents
  • 0 Suggesters
  • 3 Forks
  • 1 Open issues
  • 8 Versions
  • 4 % Grown

The README.md

ElasticSearchUnit is a PHPUnit extension for test cases that utilize the official ElasticSearch Client as their data source., (*1)

Build Status, (*2)

Requirements

  • PHP 5.4+
  • ElasticSearch 1.7+

Testing

  1. Install dependencies composer install -dev
  2. Run ./bin/phpunit

Example use

<?php

class MyElasticSearchTestCase extends \PHPUnit_Framework_TestCase {
    use \Zumba\PHPUnit\Extensions\ElasticSearch\TestTrait;

    /**
     * Get the ElasticSearch connection for this test.
     *
     * @return Zumba\PHPUnit\Extensions\ElasticSearch\Client\Connector
     */
    public function getElasticSearchConnector() {
        if (empty($this->connection)) {
            $clientBuilder = new \Elasticsearch\ClientBuilder();
            $this->connection = new \Zumba\PHPUnit\Extensions\ElasticSearch\Client\Connector($clientBuilder->build());
        }
        return $this->connection;
    }

    /**
     * Get the dataset to be used for this test.
     *
     * @return Zumba\PHPUnit\Extensions\ElasticSearch\DataSet\DataSet
     */
    public function getElasticSearchDataSet() {
        $dataset = new \Zumba\PHPUnit\Extensions\ElasticSearch\DataSet\DataSet($this->getElasticSearchConnector());
        $dataset->setFixture([
            'some_index' => [
                'some_type' => [
                    ['name' => 'Document 1'],
                    ['name' => 'Document 2']
                ]
            ]
        ]);
        return $dataset;
    }

    public function testRead() {
        $result = $this->getElasticSearchConnector()->getConnection()->search(['index' => 'some_index']);
        $this->assertEquals(2, $result['hits']['total']);
    }

}

See full working example., (*3)

Testing with Docker/VM etc

If Elasticsearch is not running on localhost, you can provide the hostname of your Elasticsearch instance via environment variables:, (*4)

ES_TEST_HOST=http://docker:9200 ./bin/phpunit

Elasticsearch Version Support

For Elasticsearch 5.x and greater, use version 2.x., (*5)

For Elasticsearch 2.x/1.x, use the version 1.x., (*6)

Note about PHPUnit Versions

It currently is supporting PHPUnit 4 @before and @after but can be used in PHPUnit ~3.7 by either aliasing the elasticSearchSetUp and elasticSearchTearDown to setUp and tearDown, or by calling elasticSearchSetUp and elasticSearchTearDown in your respective methods., (*7)

The Versions

21/02 2017

dev-es-5.2-support

dev-es-5.2-support https://github.com/zumba/elasticsearchunit

PHPUnit extension that supports ElasticSearch Client

  Sources   Download

MIT

The Requires

  • ext-curl *
  • php >=5.6.0

 

The Development Requires

by Julian Castaneda

database testing elasticsearch elasticsearchclient

22/02 2016

dev-master

9999999-dev https://github.com/zumba/elasticsearchunit

PHPUnit extension that supports ElasticSearch Client

  Sources   Download

MIT

The Requires

  • php >=5.4.0
  • ext-curl *

 

The Development Requires

by Julian Castaneda

database testing elasticsearch elasticsearchclient

22/02 2016

v1.3.1

1.3.1.0 https://github.com/zumba/elasticsearchunit

PHPUnit extension that supports ElasticSearch Client

  Sources   Download

MIT

The Requires

  • php >=5.4.0
  • ext-curl *

 

The Development Requires

by Julian Castaneda

database testing elasticsearch elasticsearchclient

31/08 2015

v1.3.0

1.3.0.0 https://github.com/zumba/elasticsearchunit

PHPUnit extension that supports ElasticSearch Client

  Sources   Download

MIT

The Requires

  • php >=5.4.0
  • ext-curl *

 

The Development Requires

by Julian Castaneda

database testing elasticsearch elasticsearchclient

05/06 2015

v1.2.0

1.2.0.0 https://github.com/zumba/elasticsearchunit

PHPUnit extension that supports ElasticSearch Client

  Sources   Download

MIT

The Requires

  • php >=5.4.0
  • ext-curl *

 

The Development Requires

by Julian Castaneda

database testing elasticsearch elasticsearchclient

20/05 2015

v1.1.1

1.1.1.0 https://github.com/zumba/elasticsearchunit

PHPUnit extension that supports ElasticSearch Client

  Sources   Download

MIT

The Requires

  • php >=5.4.0
  • ext-curl *

 

The Development Requires

by Julian Castaneda

database testing elasticsearch elasticsearchclient

13/05 2015

v1.1

1.1.0.0 https://github.com/zumba/elasticsearchunit

PHPUnit extension that supports ElasticSearch Client

  Sources   Download

MIT

The Requires

  • php >=5.4.0
  • ext-curl *

 

The Development Requires

by Julian Castaneda

database testing elasticsearch elasticsearchclient

13/05 2015

v1.0

1.0.0.0 https://github.com/zumba/elasticsearchunit

PHPUnit extension that supports ElasticSearch Client

  Sources   Download

MIT

The Requires

  • php >=5.4.0
  • ext-curl *

 

The Development Requires

by Julian Castaneda

database testing elasticsearch elasticsearchclient