@@ -55,8 +55,7 @@ def initialize(definition)
55
55
def execute ( client , test = nil )
56
56
@definition . each . inject ( client ) do |client , ( method_chain , args ) |
57
57
if method_chain . match? ( '_internal' )
58
- es_version = test . cached_values [ 'es_version' ] unless test . nil?
59
- perform_internal ( method_chain , args , client , es_version )
58
+ perform_internal ( method_chain , args , client , test )
60
59
else
61
60
chain = method_chain . split ( '.' )
62
61
# If we have a method nested in a namespace, client becomes the
@@ -143,7 +142,8 @@ def yaml_response?
143
142
private
144
143
145
144
# Executes operations not implemented by elasticsearch-api, such as _internal
146
- def perform_internal ( method , args , client , es_version )
145
+ def perform_internal ( method , args , client , test )
146
+ es_version = test . cached_values [ 'es_version' ] unless test . nil?
147
147
case method
148
148
when '_internal.update_desired_nodes'
149
149
http = 'PUT'
@@ -178,7 +178,12 @@ def perform_internal(method, args, client, es_version)
178
178
end
179
179
http = 'GET'
180
180
body = args . delete ( 'body' )
181
+ when '_internal.prevalidate_node_removal'
182
+ path = '/_internal/prevalidate_node_removal'
183
+ http = 'POST'
184
+ body = args . delete ( 'body' )
181
185
end
186
+ args = prepare_arguments ( args , test )
182
187
@response = Elasticsearch ::API ::Response . new ( client . perform_request ( http , path , args , body ) )
183
188
client
184
189
end
0 commit comments