The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

ElasticSearch::TestServer - Start an ElasticSearch cluster for testing

SYNOPSIS

    use ElasticSearch::TestServer;

    $ENV{ES_HOME} = '/path/to/elasticsearch';
    $ENV{ES_TRANSPORT} = 'http';

    my $es = ElasticSearch::TestServer->new(
        home        => '/path/to/elasticsearch',
        instances   => 3,
        transport   => 'http',
        ip          => '127.0.0.1',
        trace_calls => 'logfile',
        port        => '9200',
        config      => { values to override}
    );

DESCRIPTION

ElasticSearch::TestServer is a utility module which will start an ElasticSearch cluster intended for testing, and shut the cluster down at the end, even if your code exits abnormally.

By default, it uses http transport, the local gateway, and starts 3 instances on localhost, starting with port 9200 if the transport is http, httplite, httptiny, curl, aehttp or 9500 if thrift.

It is a subclass of ElasticSearch, so ElasticSearch::TestServer->new returns an ElasticSearch instance.

AUTHOR

Clinton Gormley, <clinton@traveljury.com>

COPYRIGHT AND LICENSE

Copyright (C) 2011 by Clinton Gormley

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.7 or, at your option, any later version of Perl 5 you may have available.