elasticsearch-api 7.9.0 → 7.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (157) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +18 -2
  3. data/elasticsearch-api.gemspec +1 -1
  4. data/lib/elasticsearch/api/actions/bulk.rb +4 -3
  5. data/lib/elasticsearch/api/actions/cat/aliases.rb +1 -1
  6. data/lib/elasticsearch/api/actions/cat/allocation.rb +1 -1
  7. data/lib/elasticsearch/api/actions/cat/count.rb +1 -1
  8. data/lib/elasticsearch/api/actions/cat/fielddata.rb +1 -2
  9. data/lib/elasticsearch/api/actions/cat/health.rb +1 -1
  10. data/lib/elasticsearch/api/actions/cat/help.rb +1 -1
  11. data/lib/elasticsearch/api/actions/cat/indices.rb +2 -2
  12. data/lib/elasticsearch/api/actions/cat/master.rb +1 -1
  13. data/lib/elasticsearch/api/actions/cat/nodeattrs.rb +1 -1
  14. data/lib/elasticsearch/api/actions/cat/nodes.rb +1 -1
  15. data/lib/elasticsearch/api/actions/cat/pending_tasks.rb +1 -1
  16. data/lib/elasticsearch/api/actions/cat/plugins.rb +1 -1
  17. data/lib/elasticsearch/api/actions/cat/recovery.rb +1 -2
  18. data/lib/elasticsearch/api/actions/cat/repositories.rb +1 -1
  19. data/lib/elasticsearch/api/actions/cat/segments.rb +1 -1
  20. data/lib/elasticsearch/api/actions/cat/shards.rb +2 -2
  21. data/lib/elasticsearch/api/actions/cat/snapshots.rb +1 -1
  22. data/lib/elasticsearch/api/actions/cat/tasks.rb +5 -5
  23. data/lib/elasticsearch/api/actions/cat/templates.rb +1 -1
  24. data/lib/elasticsearch/api/actions/cat/thread_pool.rb +1 -1
  25. data/lib/elasticsearch/api/actions/clear_scroll.rb +1 -1
  26. data/lib/elasticsearch/api/actions/cluster/allocation_explain.rb +1 -1
  27. data/lib/elasticsearch/api/actions/cluster/delete_component_template.rb +1 -5
  28. data/lib/elasticsearch/api/actions/cluster/delete_voting_config_exclusions.rb +1 -1
  29. data/lib/elasticsearch/api/actions/cluster/exists_component_template.rb +1 -5
  30. data/lib/elasticsearch/api/actions/cluster/get_component_template.rb +1 -5
  31. data/lib/elasticsearch/api/actions/cluster/get_settings.rb +1 -1
  32. data/lib/elasticsearch/api/actions/cluster/health.rb +1 -1
  33. data/lib/elasticsearch/api/actions/cluster/pending_tasks.rb +1 -1
  34. data/lib/elasticsearch/api/actions/cluster/post_voting_config_exclusions.rb +1 -1
  35. data/lib/elasticsearch/api/actions/cluster/put_component_template.rb +1 -5
  36. data/lib/elasticsearch/api/actions/cluster/put_settings.rb +1 -1
  37. data/lib/elasticsearch/api/actions/cluster/remote_info.rb +1 -1
  38. data/lib/elasticsearch/api/actions/cluster/reroute.rb +1 -1
  39. data/lib/elasticsearch/api/actions/cluster/state.rb +1 -1
  40. data/lib/elasticsearch/api/actions/cluster/stats.rb +1 -1
  41. data/lib/elasticsearch/api/actions/count.rb +1 -1
  42. data/lib/elasticsearch/api/actions/create.rb +1 -1
  43. data/lib/elasticsearch/api/actions/dangling_indices/delete_dangling_index.rb +1 -1
  44. data/lib/elasticsearch/api/actions/dangling_indices/import_dangling_index.rb +1 -1
  45. data/lib/elasticsearch/api/actions/dangling_indices/list_dangling_indices.rb +1 -1
  46. data/lib/elasticsearch/api/actions/delete.rb +1 -1
  47. data/lib/elasticsearch/api/actions/delete_by_query.rb +1 -1
  48. data/lib/elasticsearch/api/actions/delete_by_query_rethrottle.rb +1 -1
  49. data/lib/elasticsearch/api/actions/delete_script.rb +1 -1
  50. data/lib/elasticsearch/api/actions/exists.rb +1 -1
  51. data/lib/elasticsearch/api/actions/exists_source.rb +1 -1
  52. data/lib/elasticsearch/api/actions/explain.rb +1 -1
  53. data/lib/elasticsearch/api/actions/field_caps.rb +1 -1
  54. data/lib/elasticsearch/api/actions/get.rb +1 -1
  55. data/lib/elasticsearch/api/actions/get_script.rb +1 -1
  56. data/lib/elasticsearch/api/actions/get_script_context.rb +1 -1
  57. data/lib/elasticsearch/api/actions/get_script_languages.rb +1 -1
  58. data/lib/elasticsearch/api/actions/get_source.rb +1 -1
  59. data/lib/elasticsearch/api/actions/index.rb +4 -2
  60. data/lib/elasticsearch/api/actions/indices/add_block.rb +1 -1
  61. data/lib/elasticsearch/api/actions/indices/analyze.rb +1 -2
  62. data/lib/elasticsearch/api/actions/indices/clear_cache.rb +1 -2
  63. data/lib/elasticsearch/api/actions/indices/clone.rb +1 -1
  64. data/lib/elasticsearch/api/actions/indices/close.rb +1 -1
  65. data/lib/elasticsearch/api/actions/indices/create.rb +1 -1
  66. data/lib/elasticsearch/api/actions/indices/delete.rb +1 -1
  67. data/lib/elasticsearch/api/actions/indices/delete_alias.rb +1 -1
  68. data/lib/elasticsearch/api/actions/indices/delete_index_template.rb +1 -5
  69. data/lib/elasticsearch/api/actions/indices/delete_template.rb +1 -1
  70. data/lib/elasticsearch/api/actions/indices/exists.rb +1 -1
  71. data/lib/elasticsearch/api/actions/indices/exists_alias.rb +1 -1
  72. data/lib/elasticsearch/api/actions/indices/exists_index_template.rb +1 -5
  73. data/lib/elasticsearch/api/actions/indices/exists_template.rb +1 -1
  74. data/lib/elasticsearch/api/actions/indices/exists_type.rb +1 -1
  75. data/lib/elasticsearch/api/actions/indices/flush.rb +1 -1
  76. data/lib/elasticsearch/api/actions/indices/flush_synced.rb +6 -1
  77. data/lib/elasticsearch/api/actions/indices/forcemerge.rb +1 -1
  78. data/lib/elasticsearch/api/actions/indices/get.rb +1 -1
  79. data/lib/elasticsearch/api/actions/indices/get_alias.rb +1 -1
  80. data/lib/elasticsearch/api/actions/indices/get_field_mapping.rb +1 -1
  81. data/lib/elasticsearch/api/actions/indices/get_index_template.rb +1 -5
  82. data/lib/elasticsearch/api/actions/indices/get_mapping.rb +1 -1
  83. data/lib/elasticsearch/api/actions/indices/get_settings.rb +1 -1
  84. data/lib/elasticsearch/api/actions/indices/get_template.rb +1 -1
  85. data/lib/elasticsearch/api/actions/indices/get_upgrade.rb +7 -2
  86. data/lib/elasticsearch/api/actions/indices/open.rb +1 -1
  87. data/lib/elasticsearch/api/actions/indices/put_alias.rb +1 -1
  88. data/lib/elasticsearch/api/actions/indices/put_index_template.rb +1 -5
  89. data/lib/elasticsearch/api/actions/indices/put_mapping.rb +1 -1
  90. data/lib/elasticsearch/api/actions/indices/put_settings.rb +1 -1
  91. data/lib/elasticsearch/api/actions/indices/put_template.rb +1 -1
  92. data/lib/elasticsearch/api/actions/indices/recovery.rb +1 -1
  93. data/lib/elasticsearch/api/actions/indices/refresh.rb +1 -1
  94. data/lib/elasticsearch/api/actions/indices/resolve_index.rb +1 -1
  95. data/lib/elasticsearch/api/actions/indices/rollover.rb +1 -1
  96. data/lib/elasticsearch/api/actions/indices/segments.rb +1 -1
  97. data/lib/elasticsearch/api/actions/indices/shard_stores.rb +1 -1
  98. data/lib/elasticsearch/api/actions/indices/shrink.rb +1 -1
  99. data/lib/elasticsearch/api/actions/indices/simulate_index_template.rb +1 -5
  100. data/lib/elasticsearch/api/actions/indices/simulate_template.rb +1 -5
  101. data/lib/elasticsearch/api/actions/indices/split.rb +1 -1
  102. data/lib/elasticsearch/api/actions/indices/stats.rb +1 -1
  103. data/lib/elasticsearch/api/actions/indices/update_aliases.rb +1 -1
  104. data/lib/elasticsearch/api/actions/indices/upgrade.rb +7 -2
  105. data/lib/elasticsearch/api/actions/indices/validate_query.rb +1 -1
  106. data/lib/elasticsearch/api/actions/info.rb +1 -1
  107. data/lib/elasticsearch/api/actions/ingest/delete_pipeline.rb +1 -1
  108. data/lib/elasticsearch/api/actions/ingest/get_pipeline.rb +1 -1
  109. data/lib/elasticsearch/api/actions/ingest/processor_grok.rb +1 -1
  110. data/lib/elasticsearch/api/actions/ingest/put_pipeline.rb +1 -1
  111. data/lib/elasticsearch/api/actions/ingest/simulate.rb +1 -1
  112. data/lib/elasticsearch/api/actions/mget.rb +1 -1
  113. data/lib/elasticsearch/api/actions/msearch.rb +3 -5
  114. data/lib/elasticsearch/api/actions/msearch_template.rb +1 -1
  115. data/lib/elasticsearch/api/actions/mtermvectors.rb +1 -1
  116. data/lib/elasticsearch/api/actions/nodes/hot_threads.rb +1 -1
  117. data/lib/elasticsearch/api/actions/nodes/info.rb +1 -1
  118. data/lib/elasticsearch/api/actions/nodes/reload_secure_settings.rb +1 -1
  119. data/lib/elasticsearch/api/actions/nodes/stats.rb +1 -1
  120. data/lib/elasticsearch/api/actions/nodes/usage.rb +1 -1
  121. data/lib/elasticsearch/api/actions/ping.rb +1 -1
  122. data/lib/elasticsearch/api/actions/put_script.rb +1 -2
  123. data/lib/elasticsearch/api/actions/rank_eval.rb +1 -1
  124. data/lib/elasticsearch/api/actions/reindex.rb +1 -1
  125. data/lib/elasticsearch/api/actions/reindex_rethrottle.rb +1 -1
  126. data/lib/elasticsearch/api/actions/render_search_template.rb +1 -1
  127. data/lib/elasticsearch/api/actions/scripts_painless_execute.rb +1 -1
  128. data/lib/elasticsearch/api/actions/scroll.rb +1 -2
  129. data/lib/elasticsearch/api/actions/search.rb +1 -1
  130. data/lib/elasticsearch/api/actions/search_shards.rb +1 -1
  131. data/lib/elasticsearch/api/actions/search_template.rb +1 -1
  132. data/lib/elasticsearch/api/actions/snapshot/cleanup_repository.rb +1 -1
  133. data/lib/elasticsearch/api/actions/snapshot/clone.rb +66 -0
  134. data/lib/elasticsearch/api/actions/snapshot/create.rb +1 -1
  135. data/lib/elasticsearch/api/actions/snapshot/create_repository.rb +1 -1
  136. data/lib/elasticsearch/api/actions/snapshot/delete.rb +1 -1
  137. data/lib/elasticsearch/api/actions/snapshot/delete_repository.rb +1 -1
  138. data/lib/elasticsearch/api/actions/snapshot/get.rb +1 -1
  139. data/lib/elasticsearch/api/actions/snapshot/get_repository.rb +1 -1
  140. data/lib/elasticsearch/api/actions/snapshot/restore.rb +1 -1
  141. data/lib/elasticsearch/api/actions/snapshot/status.rb +1 -1
  142. data/lib/elasticsearch/api/actions/snapshot/verify_repository.rb +1 -1
  143. data/lib/elasticsearch/api/actions/tasks/cancel.rb +5 -1
  144. data/lib/elasticsearch/api/actions/tasks/get.rb +5 -1
  145. data/lib/elasticsearch/api/actions/tasks/list.rb +5 -1
  146. data/lib/elasticsearch/api/actions/termvectors.rb +1 -1
  147. data/lib/elasticsearch/api/actions/update.rb +4 -2
  148. data/lib/elasticsearch/api/actions/update_by_query.rb +1 -1
  149. data/lib/elasticsearch/api/actions/update_by_query_rethrottle.rb +1 -1
  150. data/lib/elasticsearch/api/version.rb +1 -1
  151. data/spec/elasticsearch/api/actions/msearch_spec.rb +16 -33
  152. data/spec/elasticsearch/api/actions/snapshot/clone_spec.rb +67 -0
  153. data/spec/elasticsearch/api/rest_api_yaml_spec.rb +13 -6
  154. data/spec/rest_yaml_tests_helper.rb +19 -9
  155. data/utils/thor/generator/endpoint_specifics.rb +2 -2
  156. data/utils/thor/templates/_documentation_top.erb +1 -1
  157. metadata +9 -6
@@ -20,13 +20,17 @@ module Elasticsearch
20
20
  module Tasks
21
21
  module Actions
22
22
  # Returns information about a task.
23
+ # This functionality is Experimental and may be changed or removed
24
+ # completely in a future release. Elastic will take a best effort approach
25
+ # to fix any issues, but experimental features are not subject to the
26
+ # support SLA of official GA features.
23
27
  #
24
28
  # @option arguments [String] :task_id Return the task with specified id (node_id:task_number)
25
29
  # @option arguments [Boolean] :wait_for_completion Wait for the matching tasks to complete (default: false)
26
30
  # @option arguments [Time] :timeout Explicit operation timeout
27
31
  # @option arguments [Hash] :headers Custom HTTP headers
28
32
  #
29
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.9/tasks.html
33
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.11/tasks.html
30
34
  #
31
35
  def get(arguments = {})
32
36
  headers = arguments.delete(:headers) || {}
@@ -20,6 +20,10 @@ module Elasticsearch
20
20
  module Tasks
21
21
  module Actions
22
22
  # Returns a list of tasks.
23
+ # This functionality is Experimental and may be changed or removed
24
+ # completely in a future release. Elastic will take a best effort approach
25
+ # to fix any issues, but experimental features are not subject to the
26
+ # support SLA of official GA features.
23
27
  #
24
28
  # @option arguments [List] :nodes A comma-separated list of node IDs or names to limit the returned information; use `_local` to return information from the node you're connecting to, leave empty to get information from all nodes
25
29
  # @option arguments [List] :actions A comma-separated list of actions that should be returned. Leave empty to return all.
@@ -30,7 +34,7 @@ module Elasticsearch
30
34
  # @option arguments [Time] :timeout Explicit operation timeout
31
35
  # @option arguments [Hash] :headers Custom HTTP headers
32
36
  #
33
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.9/tasks.html
37
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.11/tasks.html
34
38
  #
35
39
  def list(arguments = {})
36
40
  headers = arguments.delete(:headers) || {}
@@ -42,7 +42,7 @@ module Elasticsearch
42
42
  # Deprecated since version 7.0.0
43
43
  #
44
44
  #
45
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.9/docs-termvectors.html
45
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.11/docs-termvectors.html
46
46
  #
47
47
  def termvectors(arguments = {})
48
48
  raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
@@ -34,6 +34,7 @@ module Elasticsearch
34
34
  # @option arguments [Time] :timeout Explicit operation timeout
35
35
  # @option arguments [Number] :if_seq_no only perform the update operation if the last operation that has changed the document has the specified sequence number
36
36
  # @option arguments [Number] :if_primary_term only perform the update operation if the last operation that has changed the document has the specified primary term
37
+ # @option arguments [Boolean] :require_alias When true, requires destination is an alias. Default is false
37
38
  # @option arguments [Hash] :headers Custom HTTP headers
38
39
  # @option arguments [Hash] :body The request definition requires either `script` or partial `doc` (*Required*)
39
40
  #
@@ -42,7 +43,7 @@ module Elasticsearch
42
43
  # Deprecated since version 7.0.0
43
44
  #
44
45
  #
45
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.9/docs-update.html
46
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.11/docs-update.html
46
47
  #
47
48
  def update(arguments = {})
48
49
  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
@@ -89,7 +90,8 @@ module Elasticsearch
89
90
  :routing,
90
91
  :timeout,
91
92
  :if_seq_no,
92
- :if_primary_term
93
+ :if_primary_term,
94
+ :require_alias
93
95
  ].freeze)
94
96
  end
95
97
  end
@@ -66,7 +66,7 @@ module Elasticsearch
66
66
  # Deprecated since version 7.0.0
67
67
  #
68
68
  #
69
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.9/docs-update-by-query.html
69
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.11/docs-update-by-query.html
70
70
  #
71
71
  def update_by_query(arguments = {})
72
72
  raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
@@ -24,7 +24,7 @@ module Elasticsearch
24
24
  # @option arguments [Number] :requests_per_second The throttle to set on this request in floating sub-requests per second. -1 means set no throttle. (*Required*)
25
25
  # @option arguments [Hash] :headers Custom HTTP headers
26
26
  #
27
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.9/docs-update-by-query.html
27
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.11/docs-update-by-query.html
28
28
  #
29
29
  def update_by_query_rethrottle(arguments = {})
30
30
  raise ArgumentError, "Required argument 'task_id' missing" unless arguments[:task_id]
@@ -17,6 +17,6 @@
17
17
 
18
18
  module Elasticsearch
19
19
  module API
20
- VERSION = "7.9.0"
20
+ VERSION = '7.11.0'.freeze
21
21
  end
22
22
  end
@@ -49,13 +49,12 @@ describe 'client#msearch' do
49
49
  end
50
50
 
51
51
  it 'requires the :body argument' do
52
- expect {
52
+ expect do
53
53
  client.msearch
54
- }.to raise_exception(ArgumentError)
54
+ end.to raise_exception(ArgumentError)
55
55
  end
56
56
 
57
57
  context 'when the body is an object' do
58
-
59
58
  let(:body) do
60
59
  <<-PAYLOAD.gsub(/^\s+/, '')
61
60
  {"index":"foo"}
@@ -68,16 +67,19 @@ describe 'client#msearch' do
68
67
  end
69
68
 
70
69
  it 'performs the request' do
71
- expect(client_double.msearch body: [
72
- { index: 'foo', search: { query: { match_all: {} } } },
73
- { index: 'bar', search: { query: { match: { foo: 'bar' } } } },
74
- { search_type: 'count', search: { facets: { tags: {} } } }
75
- ])
70
+ expect(
71
+ client_double.msearch(
72
+ body: [
73
+ { index: 'foo', search: { query: { match_all: {} } } },
74
+ { index: 'bar', search: { query: { match: { foo: 'bar' } } } },
75
+ { search_type: 'count', search: { facets: { tags: {} } } }
76
+ ]
77
+ )
78
+ )
76
79
  end
77
80
  end
78
81
 
79
82
  context 'when the body is a string' do
80
-
81
83
  let(:body) do
82
84
  %Q|{"foo":"bar"}\n{"moo":"lam"}|
83
85
  end
@@ -88,7 +90,6 @@ describe 'client#msearch' do
88
90
  end
89
91
 
90
92
  context 'when an index is specified' do
91
-
92
93
  let(:url) do
93
94
  'foo/_msearch'
94
95
  end
@@ -102,25 +103,9 @@ describe 'client#msearch' do
102
103
  end
103
104
  end
104
105
 
105
- context 'when a type and index are specified' do
106
-
107
- let(:url) do
108
- 'foo/bar/_msearch'
109
- end
110
-
111
- let(:body) do
112
- ''
113
- end
114
-
115
- it 'performs the request' do
116
- expect(client_double.msearch(index: 'foo', type: 'bar', body: []))
117
- end
118
- end
119
-
120
- context 'when multiple indices and multiple types are specified' do
121
-
106
+ context 'when multiple indices are specified' do
122
107
  let(:url) do
123
- 'foo,bar/lam,bam/_msearch'
108
+ 'foo,bar/_msearch'
124
109
  end
125
110
 
126
111
  let(:body) do
@@ -128,14 +113,13 @@ describe 'client#msearch' do
128
113
  end
129
114
 
130
115
  it 'performs the request' do
131
- expect(client_double.msearch(index: ['foo', 'bar'], type: ['lam', 'bam'], body: []))
116
+ expect(client_double.msearch(index: ['foo', 'bar'], body: []))
132
117
  end
133
118
  end
134
119
 
135
120
  context 'when the request needs to be URL-escaped' do
136
-
137
121
  let(:url) do
138
- 'foo%5Ebar/bar%2Fbam/_msearch'
122
+ 'foo%5Ebar/_msearch'
139
123
  end
140
124
 
141
125
  let(:body) do
@@ -143,12 +127,11 @@ describe 'client#msearch' do
143
127
  end
144
128
 
145
129
  it 'performs the request' do
146
- expect(client_double.msearch(index: 'foo^bar', type: 'bar/bam', body: [])).to eq({})
130
+ expect(client_double.msearch(index: 'foo^bar', body: [])).to eq({})
147
131
  end
148
132
  end
149
133
 
150
134
  context 'when the URL params need to be URL-encoded' do
151
-
152
135
  let(:url) do
153
136
  '_msearch'
154
137
  end
@@ -0,0 +1,67 @@
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#clone' do
21
+ let(:expected_args) do
22
+ [
23
+ 'PUT',
24
+ '_snapshot/foo/bar/_clone/snapshot',
25
+ {},
26
+ {},
27
+ {}
28
+ ]
29
+ end
30
+
31
+ let(:client) do
32
+ Class.new { include Elasticsearch::API }.new
33
+ end
34
+
35
+ it 'requires the :body argument' do
36
+ expect {
37
+ client.snapshot.clone(snapshot: 'bar')
38
+ }.to raise_exception(ArgumentError)
39
+ end
40
+
41
+ it 'requires the :repository argument' do
42
+ expect {
43
+ client.snapshot.clone(snapshot: 'foo', body: {})
44
+ }.to raise_exception(ArgumentError)
45
+ end
46
+
47
+ it 'requires the :snapshot argument' do
48
+ expect {
49
+ client.snapshot.clone(repository: 'foo', body: {})
50
+ }.to raise_exception(ArgumentError)
51
+ end
52
+
53
+ it 'requires the :target_snapshot argument' do
54
+ expect {
55
+ client.snapshot.clone(repository: 'foo', body: {}, snapshot: 'bar')
56
+ }.to raise_exception(ArgumentError)
57
+ end
58
+
59
+ it 'performs the request' do
60
+ expect(client_double.snapshot.clone(
61
+ repository: 'foo',
62
+ snapshot: 'bar',
63
+ body: {},
64
+ target_snapshot: 'snapshot'
65
+ )).to eq({})
66
+ end
67
+ end
@@ -8,11 +8,18 @@ require 'rest_yaml_tests_helper'
8
8
  describe 'Rest API YAML tests' do
9
9
  # Traverse YAML files and create TestFile object:
10
10
  REST_API_YAML_FILES.each do |file|
11
- test_file = Elasticsearch::RestAPIYAMLTests::TestFile.new(file, REST_API_YAML_SKIP_FEATURES)
11
+ begin
12
+ test_file = Elasticsearch::RestAPIYAMLTests::TestFile.new(file, ADMIN_CLIENT, REST_API_YAML_SKIP_FEATURES)
13
+ rescue SkipTestsException => _e
14
+ # If the test file has a `skip` at the top level that applies to this
15
+ # version of Elasticsearch, continue with the next text.
16
+ logger = Logger.new($stdout)
17
+ logger.info "Skipping #{file} due to 'skip all'."
18
+ next
19
+ end
12
20
 
13
21
  context "#{file.gsub("#{YAML_FILES_DIRECTORY}/", '')}" do
14
22
  test_file.tests.each do |test|
15
-
16
23
  context "#{test.description}" do
17
24
  if test.skip_test?(ADMIN_CLIENT)
18
25
  skip 'Test contains feature(s) not yet supported or version is not satisfied'
@@ -23,13 +30,13 @@ describe 'Rest API YAML tests' do
23
30
 
24
31
  # Runs once before each test in a test file
25
32
  before(:all) do
26
- Elasticsearch::RestAPIYAMLTests::TestFile.clear_data(ADMIN_CLIENT)
27
- test_file.setup(ADMIN_CLIENT)
33
+ Elasticsearch::RestAPIYAMLTests::TestFile.wipe_cluster(ADMIN_CLIENT)
34
+ test_file.setup
28
35
  end
29
36
 
30
37
  after(:all) do
31
- test_file.teardown(ADMIN_CLIENT)
32
- Elasticsearch::RestAPIYAMLTests::TestFile.clear_data(ADMIN_CLIENT)
38
+ test_file.teardown
39
+ Elasticsearch::RestAPIYAMLTests::TestFile.wipe_cluster(ADMIN_CLIENT)
33
40
  end
34
41
 
35
42
  test.task_groups.each do |task_group|
@@ -22,7 +22,7 @@ include Elasticsearch::RestAPIYAMLTests
22
22
  TRANSPORT_OPTIONS = {}
23
23
  PROJECT_PATH = File.join(File.dirname(__FILE__), '..', '..')
24
24
 
25
- if hosts = ELASTICSEARCH_URL
25
+ if (hosts = ELASTICSEARCH_URL)
26
26
  split_hosts = hosts.split(',').map do |host|
27
27
  /(http\:\/\/)?\S+/.match(host)
28
28
  end
@@ -49,11 +49,19 @@ end
49
49
 
50
50
 
51
51
  YAML_FILES_DIRECTORY = "#{File.expand_path(File.dirname('..'), '..')}" +
52
- "/tmp/elasticsearch/rest-api-spec/src/main/resources/rest-api-spec/test"
52
+ '/tmp/elasticsearch/rest-api-spec/src/main/resources/rest-api-spec/test'
53
53
 
54
54
  SINGLE_TEST = if ENV['SINGLE_TEST'] && !ENV['SINGLE_TEST'].empty?
55
- ["#{File.expand_path(File.dirname('..'), '..')}" +
56
- "/tmp/elasticsearch/rest-api-spec/src/main/resources/rest-api-spec/test/#{ENV['SINGLE_TEST']}"]
55
+ test_target = ENV['SINGLE_TEST']
56
+ path = File.expand_path(File.dirname('..'), '..')
57
+
58
+ if test_target.match?(/\.yml$/)
59
+ ["#{path}/tmp/elasticsearch/rest-api-spec/src/main/resources/rest-api-spec/test/#{test_target}"]
60
+ else
61
+ Dir.glob(
62
+ ["#{path}/tmp/elasticsearch/rest-api-spec/src/main/resources/rest-api-spec/test/#{test_target}/*.yml"]
63
+ )
64
+ end
57
65
  end
58
66
 
59
67
  skipped_tests = []
@@ -86,10 +94,6 @@ skipped_tests << { file: 'delete/70_mix_typeless_typeful.yml',
86
94
  skipped_tests << { file: 'cat.templates/10_basic.yml',
87
95
  description: '*' }
88
96
 
89
- # node_selector is not supported yet
90
- skipped_tests << { file: 'cat.aliases/10_basic.yml',
91
- description: '*' }
92
-
93
97
  # Responses are there but not equal (eg.: yellow status)
94
98
  skipped_tests << { file: 'cluster.health/10_basic.yml',
95
99
  description: 'cluster health with closed index (pre 7.2.0)' }
@@ -98,10 +102,16 @@ skipped_tests << { file: 'cluster.health/10_basic.yml',
98
102
  skipped_tests << { file: 'cat.indices/10_basic.yml',
99
103
  description: 'Test cat indices output for closed index (pre 7.2.0)' }
100
104
 
105
+ # TODO
106
+ skipped_tests << {
107
+ file: 'nodes.info/10_basic.yml',
108
+ description: 'node_info role test'
109
+ }
110
+
101
111
  SKIPPED_TESTS = skipped_tests
102
112
 
103
113
  # The directory of rest api YAML files.
104
114
  REST_API_YAML_FILES = SINGLE_TEST || Dir.glob("#{YAML_FILES_DIRECTORY}/**/*.yml")
105
115
 
106
116
  # The features to skip
107
- REST_API_YAML_SKIP_FEATURES = ['warnings'].freeze
117
+ REST_API_YAML_SKIP_FEATURES = ['warnings', 'node_selector'].freeze
@@ -136,11 +136,11 @@ module Elasticsearch
136
136
  end.
137
137
  map { |item| Elasticsearch::API.serializer.dump(item) }
138
138
  payload << "" unless payload.empty?
139
- payload = payload.join("\n")
139
+ payload = payload.join("\\n")
140
140
  when body.is_a?(Array)
141
141
  payload = body.map { |d| d.is_a?(String) ? d : Elasticsearch::API.serializer.dump(d) }
142
142
  payload << "" unless payload.empty?
143
- payload = payload.join("\n")
143
+ payload = payload.join("\\n")
144
144
  else
145
145
  payload = body
146
146
  end
@@ -12,7 +12,7 @@
12
12
  <%- end -%><%# Body -%>
13
13
  <%# URL parameters -%>
14
14
  <%- @params.each do |name, info| -%>
15
- <%= docs_helper(name, info) -%>
15
+ <%= docs_helper(name, info) unless (!@parts.empty? && @parts.keys.include?(name)) -%>
16
16
  <%- end -%>
17
17
  # @option arguments [Hash] :headers Custom HTTP headers
18
18
  <%- if @spec['body'] -%>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elasticsearch-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.9.0
4
+ version: 7.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Karel Minarik
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-18 00:00:00.000000000 Z
11
+ date: 2021-02-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multi_json
@@ -156,14 +156,14 @@ dependencies:
156
156
  requirements:
157
157
  - - "~>"
158
158
  - !ruby/object:Gem::Version
159
- version: '11.1'
159
+ version: '13'
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - "~>"
165
165
  - !ruby/object:Gem::Version
166
- version: '11.1'
166
+ version: '13'
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: shoulda-context
169
169
  requirement: !ruby/object:Gem::Requirement
@@ -340,7 +340,7 @@ dependencies:
340
340
  version: '0'
341
341
  description: 'Ruby API for Elasticsearch. See the `elasticsearch` gem for full integration.
342
342
 
343
- '
343
+ '
344
344
  email:
345
345
  - karel.minarik@elasticsearch.org
346
346
  executables: []
@@ -500,6 +500,7 @@ files:
500
500
  - lib/elasticsearch/api/actions/search_shards.rb
501
501
  - lib/elasticsearch/api/actions/search_template.rb
502
502
  - lib/elasticsearch/api/actions/snapshot/cleanup_repository.rb
503
+ - lib/elasticsearch/api/actions/snapshot/clone.rb
503
504
  - lib/elasticsearch/api/actions/snapshot/create.rb
504
505
  - lib/elasticsearch/api/actions/snapshot/create_repository.rb
505
506
  - lib/elasticsearch/api/actions/snapshot/delete.rb
@@ -642,6 +643,7 @@ files:
642
643
  - spec/elasticsearch/api/actions/search_shards_spec.rb
643
644
  - spec/elasticsearch/api/actions/search_spec.rb
644
645
  - spec/elasticsearch/api/actions/search_template_spec.rb
646
+ - spec/elasticsearch/api/actions/snapshot/clone_spec.rb
645
647
  - spec/elasticsearch/api/actions/snapshot/create_repository_spec.rb
646
648
  - spec/elasticsearch/api/actions/snapshot/create_spec.rb
647
649
  - spec/elasticsearch/api/actions/snapshot/delete_repository_spec.rb
@@ -702,7 +704,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
702
704
  - !ruby/object:Gem::Version
703
705
  version: '0'
704
706
  requirements: []
705
- rubygems_version: 3.1.2
707
+ rubygems_version: 3.1.4
706
708
  signing_key:
707
709
  specification_version: 4
708
710
  summary: Ruby API for Elasticsearch.
@@ -819,6 +821,7 @@ test_files:
819
821
  - spec/elasticsearch/api/actions/search_shards_spec.rb
820
822
  - spec/elasticsearch/api/actions/search_spec.rb
821
823
  - spec/elasticsearch/api/actions/search_template_spec.rb
824
+ - spec/elasticsearch/api/actions/snapshot/clone_spec.rb
822
825
  - spec/elasticsearch/api/actions/snapshot/create_repository_spec.rb
823
826
  - spec/elasticsearch/api/actions/snapshot/create_spec.rb
824
827
  - spec/elasticsearch/api/actions/snapshot/delete_repository_spec.rb