Provided by: libsearch-elasticsearch-perl_7.717-1_all
NAME
Search::Elasticsearch::TestServer - A helper class to launch Elasticsearch nodes
VERSION
version 7.717
SYNOPSIS
use Search::Elasticsearch; use Search::Elasticsearch::TestServer; my $server = Search::Elasticsearch::TestServer->new( es_home => '/path/to/elasticsearch', # defaults to $ENV{ES_HOME} es_version => '6_0' # defaults to $ENV{ES_VERSION} ); my $nodes = $server->start; my $es = Search::Elasticsearch->new( nodes => $nodes ); # run tests $server->shutdown;
DESCRIPTION
The Search::Elasticsearch::TestServer class can be used to launch one or more instances of Elasticsearch for testing purposes. The nodes will be shutdown automatically.
METHODS
"new()" my $server = Search::Elasticsearch::TestServer->new( es_home => '/path/to/elasticsearch', es_version => '6_0', instances => 1, http_port => 9600, es_port => 9700, conf => ['attr.foo=bar'], ); Params: • "es_home" Required. Must point to the Elasticsearch home directory, which contains "./bin/elasticsearch". Defaults to $ENV{ES_HOME} • "es_version" Required. Accepts a version of the client, eg `6_0`, `5_0`, `2_0`, `1_0`, `0_90`. Defaults to $ENV{ES_VERSION}. • "instances" The number of nodes to start. Defaults to 1 • "http_port" The port to use for HTTP. If multiple instances are started, the "http_port" will be incremented for each subsequent instance. Defaults to 9600. • "es_port" The port to use for Elasticsearch's internal transport. If multiple instances are started, the "es_port" will be incremented for each subsequent instance. Defaults to 9700 • "conf" An array containing any extra startup options that should be passed to Elasticsearch.
"start()"
$nodes = $server->start; Starts the required instances and returns an array ref containing the IP and port of each node, suitable for passing to "new()" in Search::Elasticsearch: $es = Search::Elasticsearch->new( nodes => $nodes );
"shutdown()"
$server->shutdown; Kills the running instances. This will be called automatically when $server goes out of scope or if the program receives a "SIGINT".
AUTHOR
Enrico Zimuel <enrico.zimuel@elastic.co>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2022 by Elasticsearch BV. This is free software, licensed under: The Apache License, Version 2.0, January 2004