elasticsearch-api 7.11.2 → 7.17.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +4 -4
- data/README.md +22 -45
- data/Rakefile +35 -65
- data/elasticsearch-api.gemspec +14 -8
- data/lib/elasticsearch/api/actions/bulk.rb +2 -2
- data/lib/elasticsearch/api/actions/cat/aliases.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/allocation.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/count.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/fielddata.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/health.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/help.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/indices.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/master.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/nodeattrs.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/nodes.rb +4 -2
- data/lib/elasticsearch/api/actions/cat/pending_tasks.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/plugins.rb +3 -1
- data/lib/elasticsearch/api/actions/cat/recovery.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/repositories.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/segments.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/shards.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/snapshots.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/tasks.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/templates.rb +1 -1
- data/lib/elasticsearch/api/actions/cat/thread_pool.rb +1 -1
- data/lib/elasticsearch/api/actions/clear_scroll.rb +1 -1
- data/lib/elasticsearch/api/actions/{abort_benchmark.rb → close_point_in_time.rb} +13 -12
- data/lib/elasticsearch/api/actions/cluster/allocation_explain.rb +3 -3
- data/lib/elasticsearch/api/actions/cluster/delete_component_template.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/delete_voting_config_exclusions.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/exists_component_template.rb +2 -1
- data/lib/elasticsearch/api/actions/cluster/get_component_template.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/get_settings.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/health.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/pending_tasks.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/post_voting_config_exclusions.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/put_component_template.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/put_settings.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/remote_info.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/reroute.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/state.rb +1 -1
- data/lib/elasticsearch/api/actions/cluster/stats.rb +1 -1
- data/lib/elasticsearch/api/actions/count.rb +7 -2
- data/lib/elasticsearch/api/actions/create.rb +1 -1
- data/lib/elasticsearch/api/actions/dangling_indices/delete_dangling_index.rb +1 -1
- data/lib/elasticsearch/api/actions/dangling_indices/import_dangling_index.rb +1 -1
- data/lib/elasticsearch/api/actions/dangling_indices/list_dangling_indices.rb +1 -1
- data/lib/elasticsearch/api/actions/delete.rb +1 -1
- data/lib/elasticsearch/api/actions/delete_by_query.rb +1 -7
- data/lib/elasticsearch/api/actions/delete_by_query_rethrottle.rb +1 -1
- data/lib/elasticsearch/api/actions/delete_script.rb +1 -1
- data/lib/elasticsearch/api/actions/exists.rb +2 -1
- data/lib/elasticsearch/api/actions/exists_source.rb +2 -1
- data/lib/elasticsearch/api/actions/explain.rb +6 -6
- data/lib/elasticsearch/api/actions/{nodes/shutdown.rb → features/get_features.rb} +16 -21
- data/lib/elasticsearch/api/actions/features/params_registry.rb +60 -0
- data/lib/elasticsearch/api/actions/features/reset_features.rb +47 -0
- data/lib/elasticsearch/api/actions/field_caps.rb +6 -6
- data/lib/elasticsearch/api/actions/get.rb +1 -1
- data/lib/elasticsearch/api/actions/get_script.rb +1 -1
- data/lib/elasticsearch/api/actions/get_script_context.rb +1 -5
- data/lib/elasticsearch/api/actions/get_script_languages.rb +1 -5
- data/lib/elasticsearch/api/actions/get_source.rb +1 -1
- data/lib/elasticsearch/api/actions/index.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/add_block.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/analyze.rb +6 -6
- data/lib/elasticsearch/api/actions/indices/clear_cache.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/clone.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/close.rb +2 -2
- data/lib/elasticsearch/api/actions/indices/create.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/delete.rb +2 -2
- data/lib/elasticsearch/api/actions/indices/delete_alias.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/delete_index_template.rb +6 -2
- data/lib/elasticsearch/api/actions/indices/delete_template.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/disk_usage.rb +68 -0
- data/lib/elasticsearch/api/actions/indices/exists.rb +2 -1
- data/lib/elasticsearch/api/actions/indices/exists_alias.rb +2 -1
- data/lib/elasticsearch/api/actions/indices/exists_index_template.rb +6 -2
- data/lib/elasticsearch/api/actions/indices/exists_template.rb +2 -1
- data/lib/elasticsearch/api/actions/indices/exists_type.rb +2 -1
- data/lib/elasticsearch/api/actions/indices/field_usage_stats.rb +66 -0
- data/lib/elasticsearch/api/actions/indices/flush.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/flush_synced.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/forcemerge.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/get.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/get_alias.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/get_field_mapping.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/get_index_template.rb +2 -2
- data/lib/elasticsearch/api/actions/indices/get_mapping.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/get_settings.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/get_template.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/get_upgrade.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/open.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/put_alias.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/put_index_template.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/put_mapping.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/put_settings.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/put_template.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/recovery.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/refresh.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/resolve_index.rb +1 -5
- data/lib/elasticsearch/api/actions/indices/rollover.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/segments.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/shard_stores.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/shrink.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/simulate_index_template.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/simulate_template.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/split.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/stats.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/update_aliases.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/upgrade.rb +1 -1
- data/lib/elasticsearch/api/actions/indices/validate_query.rb +8 -8
- data/lib/elasticsearch/api/actions/info.rb +1 -1
- data/lib/elasticsearch/api/actions/ingest/delete_pipeline.rb +1 -1
- data/lib/elasticsearch/api/actions/ingest/geo_ip_stats.rb +43 -0
- data/lib/elasticsearch/api/actions/ingest/get_pipeline.rb +3 -1
- data/lib/elasticsearch/api/actions/ingest/processor_grok.rb +1 -1
- data/lib/elasticsearch/api/actions/ingest/put_pipeline.rb +3 -1
- data/lib/elasticsearch/api/actions/ingest/simulate.rb +1 -1
- data/lib/elasticsearch/api/actions/mget.rb +1 -1
- data/lib/elasticsearch/api/actions/msearch.rb +3 -3
- data/lib/elasticsearch/api/actions/msearch_template.rb +3 -3
- data/lib/elasticsearch/api/actions/mtermvectors.rb +8 -8
- data/lib/elasticsearch/api/actions/nodes/clear_repositories_metering_archive.rb +56 -0
- data/lib/elasticsearch/api/actions/nodes/get_repositories_metering_info.rb +52 -0
- data/lib/elasticsearch/api/actions/nodes/hot_threads.rb +4 -2
- data/lib/elasticsearch/api/actions/nodes/info.rb +2 -2
- data/lib/elasticsearch/api/actions/nodes/reload_secure_settings.rb +1 -1
- data/lib/elasticsearch/api/actions/nodes/stats.rb +5 -3
- data/lib/elasticsearch/api/actions/nodes/usage.rb +1 -1
- data/lib/elasticsearch/api/actions/open_point_in_time.rb +62 -0
- data/lib/elasticsearch/api/actions/ping.rb +3 -3
- data/lib/elasticsearch/api/actions/put_script.rb +1 -1
- data/lib/elasticsearch/api/actions/rank_eval.rb +1 -5
- data/lib/elasticsearch/api/actions/reindex.rb +1 -1
- data/lib/elasticsearch/api/actions/reindex_rethrottle.rb +1 -1
- data/lib/elasticsearch/api/actions/render_search_template.rb +6 -6
- data/lib/elasticsearch/api/actions/scripts_painless_execute.rb +2 -2
- data/lib/elasticsearch/api/actions/scroll.rb +6 -6
- data/lib/elasticsearch/api/actions/search.rb +11 -9
- data/lib/elasticsearch/api/actions/search_mvt.rb +85 -0
- data/lib/elasticsearch/api/actions/search_shards.rb +1 -1
- data/lib/elasticsearch/api/actions/search_template.rb +2 -2
- data/lib/elasticsearch/api/actions/shutdown/delete_node.rb +48 -0
- data/lib/elasticsearch/api/actions/shutdown/get_node.rb +50 -0
- data/lib/elasticsearch/api/actions/shutdown/params_registry.rb +60 -0
- data/lib/elasticsearch/api/actions/shutdown/put_node.rb +50 -0
- data/lib/elasticsearch/api/actions/snapshot/cleanup_repository.rb +1 -1
- data/lib/elasticsearch/api/actions/snapshot/clone.rb +1 -1
- data/lib/elasticsearch/api/actions/snapshot/create.rb +1 -1
- data/lib/elasticsearch/api/actions/snapshot/create_repository.rb +1 -1
- data/lib/elasticsearch/api/actions/snapshot/delete.rb +1 -1
- data/lib/elasticsearch/api/actions/snapshot/delete_repository.rb +1 -1
- data/lib/elasticsearch/api/actions/snapshot/get.rb +5 -1
- data/lib/elasticsearch/api/actions/snapshot/get_repository.rb +1 -1
- data/lib/elasticsearch/api/actions/snapshot/repository_analyze.rb +76 -0
- data/lib/elasticsearch/api/actions/snapshot/restore.rb +1 -1
- data/lib/elasticsearch/api/actions/snapshot/status.rb +1 -1
- data/lib/elasticsearch/api/actions/snapshot/verify_repository.rb +1 -1
- data/lib/elasticsearch/api/actions/tasks/cancel.rb +1 -1
- data/lib/elasticsearch/api/actions/tasks/get.rb +1 -1
- data/lib/elasticsearch/api/actions/tasks/list.rb +1 -1
- data/lib/elasticsearch/api/actions/termvectors.rb +11 -10
- data/lib/elasticsearch/api/actions/update.rb +1 -1
- data/lib/elasticsearch/api/actions/update_by_query.rb +1 -7
- data/lib/elasticsearch/api/actions/update_by_query_rethrottle.rb +1 -1
- data/lib/elasticsearch/api/{actions/remote/info.rb → namespace/features.rb} +12 -13
- data/lib/elasticsearch/api/namespace/security.rb +36 -0
- data/lib/elasticsearch/api/namespace/shutdown.rb +37 -0
- data/lib/elasticsearch/api/utils.rb +7 -3
- data/lib/elasticsearch/api/version.rb +1 -1
- data/lib/elasticsearch/api.rb +3 -1
- data/spec/elasticsearch/api/actions/{benchmark_spec.rb → close_point_in_time_spec.rb} +6 -6
- data/spec/elasticsearch/api/actions/count_spec.rb +2 -5
- data/spec/elasticsearch/api/actions/{remote/info_spec.rb → features/get_features_spec.rb} +7 -8
- data/spec/elasticsearch/api/actions/features/reset_features_spec.rb +34 -0
- data/spec/elasticsearch/api/actions/indices/clear_cache_spec.rb +16 -3
- data/spec/elasticsearch/api/actions/indices/disk_usage_spec.rb +48 -0
- data/spec/elasticsearch/api/actions/indices/field_usage_stats_spec.rb +46 -0
- data/spec/elasticsearch/api/actions/ingest/geo_ip_stats_spec.rb +34 -0
- data/spec/elasticsearch/api/actions/nodes/clear_repositories_metering_archive_spec.rb +51 -0
- data/spec/elasticsearch/api/actions/nodes/get_repositories_metering_info_spec.rb +44 -0
- data/spec/elasticsearch/api/actions/{abort_benchmark_spec.rb → open_point_in_time_spec.rb} +5 -5
- data/spec/elasticsearch/api/actions/search_mvt_spec.rb +52 -0
- data/spec/elasticsearch/api/actions/shutdown/delete_node_spec.rb +44 -0
- data/spec/elasticsearch/api/actions/shutdown/get_node_spec.rb +46 -0
- data/spec/elasticsearch/api/actions/shutdown/put_node_spec.rb +50 -0
- data/spec/elasticsearch/api/actions/snapshot/repository_analize_spec.rb +48 -0
- data/spec/elasticsearch/api/rest_api_yaml_spec.rb +24 -5
- data/spec/elasticsearch/api/utils_spec.rb +9 -21
- data/spec/rest_yaml_tests_helper.rb +76 -62
- data/spec/skipped_tests.yml +29 -0
- data/spec/spec_helper.rb +9 -2
- data/utils/Gemfile +4 -3
- data/utils/README.md +6 -1
- data/utils/thor/.rubocop.yml +2 -0
- data/utils/thor/generate_source.rb +18 -13
- data/utils/thor/generator/endpoint_specifics.rb +7 -1
- data/utils/thor/generator/files_helper.rb +38 -20
- data/utils/thor/templates/_documentation_top.erb +19 -0
- data/utils/thor/templates/_method_setup.erb +18 -0
- data/utils/thor/templates/_params_registry.erb +19 -0
- data/utils/thor/templates/_perform_request.erb +20 -2
- data/utils/thor/templates/test.erb +16 -3
- data/utils/thor/templates/test_helper.rb +0 -4
- metadata +68 -44
- data/lib/elasticsearch/api/actions/benchmark.rb +0 -81
- data/lib/elasticsearch/api/actions/delete_by_rethrottle.rb +0 -47
- data/lib/elasticsearch/api/actions/indices/freeze.rb +0 -56
- data/lib/elasticsearch/api/actions/indices/unfreeze.rb +0 -56
- data/spec/elasticsearch/api/actions/indices/freeze_spec.rb +0 -85
- data/spec/elasticsearch/api/actions/indices/unfreeze_spec.rb +0 -85
- data/spec/elasticsearch/api/actions/nodes/shutdown_spec.rb +0 -76
@@ -0,0 +1,34 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
18
|
+
require 'spec_helper'
|
19
|
+
|
20
|
+
describe 'client.ingest#geo_ip_stats' do
|
21
|
+
let(:expected_args) do
|
22
|
+
[
|
23
|
+
'GET',
|
24
|
+
'_ingest/geoip/stats',
|
25
|
+
{},
|
26
|
+
nil,
|
27
|
+
{}
|
28
|
+
]
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'performs the request' do
|
32
|
+
expect(client_double.ingest.geo_ip_stats).to eq({})
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
18
|
+
require 'spec_helper'
|
19
|
+
|
20
|
+
|
21
|
+
describe 'client.nodes#clear_metering_archive' do
|
22
|
+
let(:expected_args) do
|
23
|
+
[
|
24
|
+
'DELETE',
|
25
|
+
'_nodes/foo/_repositories_metering/bar',
|
26
|
+
{},
|
27
|
+
nil,
|
28
|
+
{}
|
29
|
+
]
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'performs the request' do
|
33
|
+
expect(client_double.nodes.clear_repositories_metering_archive(node_id: 'foo', max_archive_version: 'bar')).to eq({})
|
34
|
+
end
|
35
|
+
|
36
|
+
let(:client) do
|
37
|
+
Class.new { include Elasticsearch::API }.new
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'raises an error if no node_id is provided' do
|
41
|
+
expect do
|
42
|
+
client.nodes.clear_repositories_metering_archive(max_archive_version: 'bar')
|
43
|
+
end.to raise_exception(ArgumentError)
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'raises an error if no max_archive_version is provided' do
|
47
|
+
expect do
|
48
|
+
client.nodes.clear_repositories_metering_archive(node_id: 'foo')
|
49
|
+
end.to raise_exception(ArgumentError)
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
18
|
+
require 'spec_helper'
|
19
|
+
|
20
|
+
describe 'client.nodes#get_metering_info' do
|
21
|
+
let(:expected_args) do
|
22
|
+
[
|
23
|
+
'GET',
|
24
|
+
'_nodes/foo/_repositories_metering',
|
25
|
+
{},
|
26
|
+
nil,
|
27
|
+
{}
|
28
|
+
]
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'performs the request' do
|
32
|
+
expect(client_double.nodes.get_repositories_metering_info(node_id: 'foo', max_archive_version: 'bar')).to eq({})
|
33
|
+
end
|
34
|
+
|
35
|
+
let(:client) do
|
36
|
+
Class.new { include Elasticsearch::API }.new
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'raises an error if no node_id is provided' do
|
40
|
+
expect do
|
41
|
+
client.nodes.get_repositories_metering_info
|
42
|
+
end.to raise_exception(ArgumentError)
|
43
|
+
end
|
44
|
+
end
|
@@ -17,18 +17,18 @@
|
|
17
17
|
|
18
18
|
require 'spec_helper'
|
19
19
|
|
20
|
-
describe 'client#
|
21
|
-
|
20
|
+
describe 'client#open_point_in_time' do
|
22
21
|
let(:expected_args) do
|
23
22
|
[
|
24
23
|
'POST',
|
25
|
-
'
|
24
|
+
'foo/_pit',
|
26
25
|
{},
|
27
|
-
nil
|
26
|
+
nil,
|
27
|
+
{}
|
28
28
|
]
|
29
29
|
end
|
30
30
|
|
31
31
|
it 'performs the request' do
|
32
|
-
expect(client_double.
|
32
|
+
expect(client_double.open_point_in_time(index: 'foo')).to eq({})
|
33
33
|
end
|
34
34
|
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
18
|
+
require 'spec_helper'
|
19
|
+
|
20
|
+
describe 'client#search_mvt' do
|
21
|
+
let(:expected_args) do
|
22
|
+
[
|
23
|
+
'POST',
|
24
|
+
url,
|
25
|
+
params,
|
26
|
+
body,
|
27
|
+
{}
|
28
|
+
]
|
29
|
+
end
|
30
|
+
|
31
|
+
context 'with right parameters' do
|
32
|
+
let(:url) { 'foo/_mvt/field/10/57.2127/6.2348' }
|
33
|
+
let(:params) { {} }
|
34
|
+
let(:body) { nil }
|
35
|
+
|
36
|
+
it 'performs the request' do
|
37
|
+
expect(client_double.search_mvt(index: 'foo', field: 'field', zoom: 10, x: 57.2127, y: 6.2348)).to eq({})
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
context 'when a param is missing' do
|
42
|
+
let(:client) do
|
43
|
+
Class.new { include Elasticsearch::API }.new
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'raises an ArgumentError' do
|
47
|
+
expect{
|
48
|
+
client.search_mvt
|
49
|
+
}.to raise_exception(ArgumentError)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
18
|
+
require 'spec_helper'
|
19
|
+
|
20
|
+
describe 'client.shutdown#delete_node' do
|
21
|
+
let(:expected_args) do
|
22
|
+
[
|
23
|
+
'DELETE',
|
24
|
+
'_nodes/id/shutdown',
|
25
|
+
{},
|
26
|
+
nil,
|
27
|
+
{}
|
28
|
+
]
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'performs the request' do
|
32
|
+
expect(client_double.shutdown.delete_node(node_id: 'id')).to eq({})
|
33
|
+
end
|
34
|
+
|
35
|
+
let(:client) do
|
36
|
+
Class.new { include Elasticsearch::API }.new
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'raises an error if no node_id is provided' do
|
40
|
+
expect {
|
41
|
+
client.shutdown.delete_node
|
42
|
+
}.to raise_exception(ArgumentError)
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
18
|
+
require 'spec_helper'
|
19
|
+
|
20
|
+
describe 'client.shutdown#get_node' do
|
21
|
+
let(:expected_args) do
|
22
|
+
[
|
23
|
+
'GET',
|
24
|
+
url,
|
25
|
+
{},
|
26
|
+
nil,
|
27
|
+
{}
|
28
|
+
]
|
29
|
+
end
|
30
|
+
|
31
|
+
context 'when id is provided' do
|
32
|
+
let(:url) { '_nodes/id/shutdown' }
|
33
|
+
|
34
|
+
it 'performs the request' do
|
35
|
+
expect(client_double.shutdown.get_node(node_id: 'id')).to eq({})
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
context 'when no id is provided' do
|
40
|
+
let(:url) { '_nodes/shutdown' }
|
41
|
+
|
42
|
+
it 'performs the request' do
|
43
|
+
expect(client_double.shutdown.get_node).to eq({})
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
18
|
+
require 'spec_helper'
|
19
|
+
|
20
|
+
describe 'client.shutdown#put_node' do
|
21
|
+
let(:expected_args) do
|
22
|
+
[
|
23
|
+
'PUT',
|
24
|
+
'_nodes/id/shutdown',
|
25
|
+
{},
|
26
|
+
{},
|
27
|
+
{}
|
28
|
+
]
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'performs the request' do
|
32
|
+
expect(client_double.shutdown.put_node(body: {}, node_id: 'id')).to eq({})
|
33
|
+
end
|
34
|
+
|
35
|
+
let(:client) do
|
36
|
+
Class.new { include Elasticsearch::API }.new
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'raises an error if no node_id is provided' do
|
40
|
+
expect {
|
41
|
+
client.shutdown.put_node(body: {})
|
42
|
+
}.to raise_exception(ArgumentError)
|
43
|
+
end
|
44
|
+
|
45
|
+
it 'raises an error if no body is provided' do
|
46
|
+
expect {
|
47
|
+
client.shutdown.put_node(node_id: 'id')
|
48
|
+
}.to raise_exception(ArgumentError)
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
18
|
+
require 'spec_helper'
|
19
|
+
|
20
|
+
describe 'client.snapshot#repository_analyze' do
|
21
|
+
let(:expected_args) do
|
22
|
+
[
|
23
|
+
'POST',
|
24
|
+
url,
|
25
|
+
{},
|
26
|
+
nil,
|
27
|
+
{}
|
28
|
+
]
|
29
|
+
end
|
30
|
+
|
31
|
+
let(:url) do
|
32
|
+
'_snapshot/foo/_analyze'
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'performs the request' do
|
36
|
+
expect(client_double.snapshot.repository_analyze(repository: 'foo')).to eq({})
|
37
|
+
end
|
38
|
+
|
39
|
+
let(:client) do
|
40
|
+
Class.new { include Elasticsearch::API }.new
|
41
|
+
end
|
42
|
+
|
43
|
+
it 'requires the :repository argument' do
|
44
|
+
expect {
|
45
|
+
client.snapshot.repository_analyze
|
46
|
+
}.to raise_exception(ArgumentError)
|
47
|
+
end
|
48
|
+
end
|
@@ -1,11 +1,31 @@
|
|
1
|
-
# Licensed to Elasticsearch B.V under one or more
|
2
|
-
#
|
3
|
-
#
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
4
8
|
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
5
18
|
require 'spec_helper'
|
6
19
|
require 'rest_yaml_tests_helper'
|
7
20
|
|
8
21
|
describe 'Rest API YAML tests' do
|
22
|
+
if REST_API_YAML_FILES.empty?
|
23
|
+
logger = Logger.new($stdout)
|
24
|
+
logger.error 'No test files found!'
|
25
|
+
logger.info 'Use rake rake elasticsearch:download_artifacts in the root directory of the project to download the test artifacts.'
|
26
|
+
exit 1
|
27
|
+
end
|
28
|
+
|
9
29
|
# Traverse YAML files and create TestFile object:
|
10
30
|
REST_API_YAML_FILES.each do |file|
|
11
31
|
begin
|
@@ -30,13 +50,12 @@ describe 'Rest API YAML tests' do
|
|
30
50
|
|
31
51
|
# Runs once before each test in a test file
|
32
52
|
before(:all) do
|
33
|
-
Elasticsearch::RestAPIYAMLTests::TestFile.wipe_cluster(ADMIN_CLIENT)
|
34
53
|
test_file.setup
|
35
54
|
end
|
36
55
|
|
37
56
|
after(:all) do
|
38
57
|
test_file.teardown
|
39
|
-
Elasticsearch::RestAPIYAMLTests::
|
58
|
+
Elasticsearch::RestAPIYAMLTests::WipeCluster.run(ADMIN_CLIENT)
|
40
59
|
end
|
41
60
|
|
42
61
|
test.task_groups.each do |task_group|
|
@@ -30,7 +30,7 @@ describe Elasticsearch::API::Utils do
|
|
30
30
|
end
|
31
31
|
|
32
32
|
it 'encodes special characters' do
|
33
|
-
expect(utils.__escape('foo bar')).to eq('foo
|
33
|
+
expect(utils.__escape('foo bar')).to eq('foo%20bar')
|
34
34
|
expect(utils.__escape('foo/bar')).to eq('foo%2Fbar')
|
35
35
|
expect(utils.__escape('foo^bar')).to eq('foo%5Ebar')
|
36
36
|
end
|
@@ -38,18 +38,6 @@ describe Elasticsearch::API::Utils do
|
|
38
38
|
it 'does not encode asterisks' do
|
39
39
|
expect(utils.__escape('*')).to eq('*')
|
40
40
|
end
|
41
|
-
|
42
|
-
it 'users CGI.escape by default' do
|
43
|
-
expect(CGI).to receive(:escape).and_call_original
|
44
|
-
expect(utils.__escape('foo bar')).to eq('foo+bar')
|
45
|
-
end
|
46
|
-
|
47
|
-
it 'uses the escape_utils gem when available', unless: defined?(JRUBY_VERSION) do
|
48
|
-
require 'escape_utils'
|
49
|
-
expect(CGI).not_to receive(:escape)
|
50
|
-
expect(EscapeUtils).to receive(:escape_url).and_call_original
|
51
|
-
expect(utils.__escape('foo bar')).to eq('foo+bar')
|
52
|
-
end
|
53
41
|
end
|
54
42
|
|
55
43
|
describe '#__listify' do
|
@@ -77,7 +65,7 @@ describe Elasticsearch::API::Utils do
|
|
77
65
|
context 'when the escape option is set to false' do
|
78
66
|
|
79
67
|
it 'does not escape the characters' do
|
80
|
-
expect(utils.__listify(['foo', 'bar^bam'], :
|
68
|
+
expect(utils.__listify(['foo', 'bar^bam'], escape: false)).to eq('foo,bar^bam')
|
81
69
|
end
|
82
70
|
end
|
83
71
|
end
|
@@ -107,19 +95,19 @@ describe Elasticsearch::API::Utils do
|
|
107
95
|
|
108
96
|
let(:result) do
|
109
97
|
utils.__bulkify [
|
110
|
-
{ :
|
111
|
-
{ :
|
112
|
-
{ :
|
98
|
+
{ index: { _index: 'myindexA', _id: '1', data: { title: 'Test' } } },
|
99
|
+
{ update: { _index: 'myindexB', _id: '2', data: { doc: { title: 'Update' } } } },
|
100
|
+
{ delete: { _index: 'myindexC', _id: '3' } }
|
113
101
|
]
|
114
102
|
end
|
115
103
|
|
116
104
|
let(:expected_string) do
|
117
105
|
<<-PAYLOAD.gsub(/^\s+/, '')
|
118
|
-
{"index":{"_index":"myindexA","
|
106
|
+
{"index":{"_index":"myindexA","_id":"1"}}
|
119
107
|
{"title":"Test"}
|
120
|
-
{"update":{"_index":"myindexB","
|
108
|
+
{"update":{"_index":"myindexB","_id":"2"}}
|
121
109
|
{"doc":{"title":"Update"}}
|
122
|
-
{"delete":{"_index":"myindexC","
|
110
|
+
{"delete":{"_index":"myindexC","_id":"3"}}
|
123
111
|
PAYLOAD
|
124
112
|
end
|
125
113
|
|
@@ -379,7 +367,7 @@ describe Elasticsearch::API::Utils do
|
|
379
367
|
end
|
380
368
|
|
381
369
|
let(:unsupported_params) do
|
382
|
-
[ { :
|
370
|
+
[ { foo: { explanation: 'NOT_SUPPORTED'} }, :moo ]
|
383
371
|
end
|
384
372
|
|
385
373
|
|