1Search::Elasticsearch::UTseesrtSCeornvterri(b3u)ted PerlSeDaorccuhm:e:nEtlaatsitoincsearch::TestServer(3)
2
3
4
6 Search::Elasticsearch::TestServer - A helper class to launch
7 Elasticsearch nodes
8
10 version 6.00
11
13 use Search::Elasticsearch;
14 use Search::Elasticsearch::TestServer;
15
16 my $server = Search::Elasticsearch::TestServer->new(
17 es_home => '/path/to/elasticsearch', # defaults to $ENV{ES_HOME}
18 es_version => '6_0' # defaults to $ENV{ES_VERSION}
19 );
20
21 my $nodes = $server->start;
22 my $es = Search::Elasticsearch->new( nodes => $nodes );
23 # run tests
24 $server->shutdown;
25
27 The Search::Elasticsearch::TestServer class can be used to launch one
28 or more instances of Elasticsearch for testing purposes. The nodes
29 will be shutdown automatically.
30
32 "new()"
33 my $server = Search::Elasticsearch::TestServer->new(
34 es_home => '/path/to/elasticsearch',
35 es_version => '6_0',
36 instances => 1,
37 http_port => 9600,
38 es_port => 9700,
39 conf => ['attr.foo=bar'],
40 );
41
42 Params:
43
44 · "es_home"
45
46 Required. Must point to the Elasticsearch home directory, which
47 contains "./bin/elasticsearch". Defaults to $ENV{ES_HOME}
48
49 · "es_version"
50
51 Required. Accepts a version of the client, eg `6_0`, `5_0`, `2_0`,
52 `1_0`, `0_90`. Defaults to $ENV{ES_VERSION}.
53
54 · "instances"
55
56 The number of nodes to start. Defaults to 1
57
58 · "http_port"
59
60 The port to use for HTTP. If multiple instances are started, the
61 "http_port" will be incremented for each subsequent instance.
62 Defaults to 9600.
63
64 · "es_port"
65
66 The port to use for Elasticsearch's internal transport. If multiple
67 instances are started, the "es_port" will be incremented for each
68 subsequent instance. Defaults to 9700
69
70 · "conf"
71
72 An array containing any extra startup options that should be passed
73 to Elasticsearch.
74
76 $nodes = $server->start;
77
78 Starts the required instances and returns an array ref containing the
79 IP and port of each node, suitable for passing to "new()" in
80 Search::Elasticsearch:
81
82 $es = Search::Elasticsearch->new( nodes => $nodes );
83
85 $server->shutdown;
86
87 Kills the running instances. This will be called automatically when
88 $server goes out of scope or if the program receives a "SIGINT".
89
91 Clinton Gormley <drtech@cpan.org>
92
94 This software is Copyright (c) 2017 by Elasticsearch BV.
95
96 This is free software, licensed under:
97
98 The Apache License, Version 2.0, January 2004
99
100
101
102perl v5.28.0 2017-11-1S4earch::Elasticsearch::TestServer(3)