elasticsearch-api 7.16.0 → 7.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Rakefile +0 -14
- data/lib/elasticsearch/api/actions/bulk.rb +1 -1
- data/lib/elasticsearch/api/actions/delete_by_query.rb +0 -6
- data/lib/elasticsearch/api/actions/indices/exists_index_template.rb +3 -4
- data/lib/elasticsearch/api/actions/msearch.rb +1 -1
- data/lib/elasticsearch/api/actions/msearch_template.rb +1 -1
- data/lib/elasticsearch/api/actions/update_by_query.rb +0 -6
- data/lib/elasticsearch/api/utils.rb +5 -2
- data/lib/elasticsearch/api/version.rb +1 -1
- data/spec/elasticsearch/api/rest_api_yaml_spec.rb +1 -2
- data/spec/rest_yaml_tests_helper.rb +59 -9
- data/spec/spec_helper.rb +1 -1
- data/utils/thor/generator/endpoint_specifics.rb +1 -1
- data/utils/thor/templates/_perform_request.erb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: da2424d274828887601f8ad67605b8f46f2d9cd69ab3f9a7750605b6e1ef2424
|
4
|
+
data.tar.gz: 78d25e75a029d32ba699b5899757e6444920cc6ee7219e948378b886fbdf86f9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c43a43586bdc3c7ecabee29fc8f99a5abdd41201a94b4941679a12381b3f6630f7eada28126caffaf425d23623eb22dd13e4e535e60884580f2d6e0e0c93b912
|
7
|
+
data.tar.gz: f9d9aea59e6fc6df3f10f3b4abdcbfcdf6999451f468c0be15f0586e48879a885a381ff0d4983e0966698e55fab930e5a70e1e0b69a62d766b3eec71a04911cc
|
data/Rakefile
CHANGED
@@ -41,20 +41,6 @@ namespace :test do
|
|
41
41
|
|
42
42
|
desc "Run Rest API Spec tests"
|
43
43
|
RSpec::Core::RakeTask.new(:rest_api) do |t|
|
44
|
-
require 'elasticsearch'
|
45
|
-
# Check if a test cluster is running
|
46
|
-
begin
|
47
|
-
url = ENV['TEST_CLUSTER_URL'] || ENV['TEST_ES_SERVER']
|
48
|
-
url = "http://localhost:#{ENV['TEST_CLUSTER_PORT'] || 9200}" unless url
|
49
|
-
client = Elasticsearch::Client.new :url => url
|
50
|
-
es_version_info = client.info['version']
|
51
|
-
version_number = es_version_info['number']
|
52
|
-
build_hash = es_version_info['build_hash']
|
53
|
-
rescue Faraday::ConnectionFailed
|
54
|
-
STDERR.puts "[!] Test cluster not running?"
|
55
|
-
exit 1
|
56
|
-
end
|
57
|
-
|
58
44
|
t.pattern = 'spec/**{,/*/**}/rest_api_yaml_spec.rb'
|
59
45
|
end
|
60
46
|
|
@@ -41,9 +41,6 @@ module Elasticsearch
|
|
41
41
|
# @option arguments [Number] :size Deprecated, please use `max_docs` instead
|
42
42
|
# @option arguments [Number] :max_docs Maximum number of documents to process (default: all documents)
|
43
43
|
# @option arguments [List] :sort A comma-separated list of <field>:<direction> pairs
|
44
|
-
# @option arguments [List] :_source True or false to return the _source field or not, or a list of fields to return
|
45
|
-
# @option arguments [List] :_source_excludes A list of fields to exclude from the returned _source field
|
46
|
-
# @option arguments [List] :_source_includes A list of fields to extract and return from the _source field
|
47
44
|
# @option arguments [Number] :terminate_after The maximum number of documents to collect for each shard, upon reaching which the query execution will terminate early.
|
48
45
|
# @option arguments [List] :stats Specific 'tag' of the request for logging and statistical purposes
|
49
46
|
# @option arguments [Boolean] :version Specify whether to return document version as part of a hit
|
@@ -112,9 +109,6 @@ module Elasticsearch
|
|
112
109
|
:size,
|
113
110
|
:max_docs,
|
114
111
|
:sort,
|
115
|
-
:_source,
|
116
|
-
:_source_excludes,
|
117
|
-
:_source_includes,
|
118
112
|
:terminate_after,
|
119
113
|
:stats,
|
120
114
|
:version,
|
@@ -43,10 +43,9 @@ module Elasticsearch
|
|
43
43
|
params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
|
44
44
|
|
45
45
|
body = nil
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
perform_request(method, path, params, body, headers).body
|
46
|
+
|
47
|
+
Utils.__rescue_from_not_found do
|
48
|
+
perform_request(method, path, params, body, headers).status == 200 ? true : false
|
50
49
|
end
|
51
50
|
end
|
52
51
|
|
@@ -43,9 +43,6 @@ module Elasticsearch
|
|
43
43
|
# @option arguments [Number] :size Deprecated, please use `max_docs` instead
|
44
44
|
# @option arguments [Number] :max_docs Maximum number of documents to process (default: all documents)
|
45
45
|
# @option arguments [List] :sort A comma-separated list of <field>:<direction> pairs
|
46
|
-
# @option arguments [List] :_source True or false to return the _source field or not, or a list of fields to return
|
47
|
-
# @option arguments [List] :_source_excludes A list of fields to exclude from the returned _source field
|
48
|
-
# @option arguments [List] :_source_includes A list of fields to extract and return from the _source field
|
49
46
|
# @option arguments [Number] :terminate_after The maximum number of documents to collect for each shard, upon reaching which the query execution will terminate early.
|
50
47
|
# @option arguments [List] :stats Specific 'tag' of the request for logging and statistical purposes
|
51
48
|
# @option arguments [Boolean] :version Specify whether to return document version as part of a hit
|
@@ -115,9 +112,6 @@ module Elasticsearch
|
|
115
112
|
:size,
|
116
113
|
:max_docs,
|
117
114
|
:sort,
|
118
|
-
:_source,
|
119
|
-
:_source_excludes,
|
120
|
-
:_source_includes,
|
121
115
|
:terminate_after,
|
122
116
|
:stats,
|
123
117
|
:version,
|
@@ -17,11 +17,9 @@
|
|
17
17
|
|
18
18
|
module Elasticsearch
|
19
19
|
module API
|
20
|
-
|
21
20
|
# Generic utility methods
|
22
21
|
#
|
23
22
|
module Utils
|
24
|
-
|
25
23
|
# URL-escape a string
|
26
24
|
#
|
27
25
|
# @example
|
@@ -282,6 +280,11 @@ module Elasticsearch
|
|
282
280
|
end
|
283
281
|
end
|
284
282
|
|
283
|
+
def ndjson_headers(headers)
|
284
|
+
headers.merge!('Content-Type' => 'application/x-ndjson') unless ['1', 'true'].include?(ENV['ELASTIC_CLIENT_APIVERSIONING'])
|
285
|
+
headers
|
286
|
+
end
|
287
|
+
|
285
288
|
extend self
|
286
289
|
end
|
287
290
|
end
|
@@ -50,13 +50,12 @@ describe 'Rest API YAML tests' do
|
|
50
50
|
|
51
51
|
# Runs once before each test in a test file
|
52
52
|
before(:all) do
|
53
|
-
Elasticsearch::RestAPIYAMLTests::TestFile.wipe_cluster(ADMIN_CLIENT)
|
54
53
|
test_file.setup
|
55
54
|
end
|
56
55
|
|
57
56
|
after(:all) do
|
58
57
|
test_file.teardown
|
59
|
-
Elasticsearch::RestAPIYAMLTests::
|
58
|
+
Elasticsearch::RestAPIYAMLTests::WipeCluster.run(ADMIN_CLIENT)
|
60
59
|
end
|
61
60
|
|
62
61
|
test.task_groups.each do |task_group|
|
@@ -17,11 +17,13 @@
|
|
17
17
|
|
18
18
|
require "#{File.expand_path(File.dirname('..'), '..')}/api-spec-testing/test_file"
|
19
19
|
require "#{File.expand_path(File.dirname('..'), '..')}/api-spec-testing/rspec_matchers"
|
20
|
+
require "#{File.expand_path(File.dirname('..'), '..')}/api-spec-testing/wipe_cluster"
|
20
21
|
include Elasticsearch::RestAPIYAMLTests
|
21
|
-
require 'elasticsearch/xpack'
|
22
22
|
|
23
23
|
TRANSPORT_OPTIONS = {}
|
24
24
|
PROJECT_PATH = File.join(File.dirname(__FILE__), '..')
|
25
|
+
STACK_VERSION = ENV['STACK_VERSION']
|
26
|
+
require 'elasticsearch/xpack'
|
25
27
|
|
26
28
|
if (hosts = ELASTICSEARCH_URL)
|
27
29
|
split_hosts = hosts.split(',').map do |host|
|
@@ -34,21 +36,69 @@ else
|
|
34
36
|
TEST_HOST, TEST_PORT = 'localhost', '9200'
|
35
37
|
end
|
36
38
|
|
39
|
+
test_suite = ENV['TEST_SUITE'] || 'free'
|
40
|
+
password = ENV['ELASTIC_PASSWORD'] || 'changeme'
|
41
|
+
user = ENV['ELASTIC_USER'] || 'elastic'
|
42
|
+
|
37
43
|
if defined?(TEST_HOST) && defined?(TEST_PORT)
|
38
|
-
URL = "http://#{TEST_HOST}:#{TEST_PORT}"
|
44
|
+
URL = "http://#{TEST_HOST}:#{TEST_PORT}".freeze
|
39
45
|
|
40
|
-
|
46
|
+
if STACK_VERSION.match?(/^8\./)
|
47
|
+
if ENV['TEST_SUITE'] == 'platinum'
|
48
|
+
raw_certificate = File.read(File.join(PROJECT_PATH, '../.ci/certs/testnode.crt'))
|
49
|
+
certificate = OpenSSL::X509::Certificate.new(raw_certificate)
|
50
|
+
raw_key = File.read(File.join(PROJECT_PATH, '../.ci/certs/testnode.key'))
|
51
|
+
key = OpenSSL::PKey::RSA.new(raw_key)
|
52
|
+
ca_file = File.expand_path(File.join(PROJECT_PATH, '/.ci/certs/ca.crt'))
|
53
|
+
host = "https://elastic:#{password}@#{uri.host}:#{uri.port}".freeze
|
54
|
+
transport_options = { ssl: { verify: false, client_cert: certificate, client_key: key, ca_file: ca_file } }
|
55
|
+
else
|
56
|
+
host = "http://elastic:#{password}@#{uri.host}:#{uri.port}".freeze
|
57
|
+
transport_options = {}
|
58
|
+
end
|
41
59
|
|
42
|
-
|
43
|
-
|
60
|
+
ADMIN_CLIENT = Elasticsearch::Client.new(host: host, transport_options: transport_options)
|
61
|
+
|
62
|
+
DEFAULT_CLIENT = if ENV['QUIET'] == 'true'
|
63
|
+
Elasticsearch::Client.new(host: host, transport_options: transport_options)
|
64
|
+
else
|
65
|
+
Elasticsearch::Client.new(
|
66
|
+
host: host,
|
67
|
+
tracer: Logger.new($stdout),
|
68
|
+
transport_options: transport_options
|
69
|
+
)
|
70
|
+
end
|
71
|
+
|
72
|
+
if ENV['QUIET'] == 'true'
|
73
|
+
DEFAULT_CLIENT = Elasticsearch::Client.new(
|
74
|
+
host: URL,
|
75
|
+
transport_options: TRANSPORT_OPTIONS,
|
76
|
+
user: user,
|
77
|
+
password: password
|
78
|
+
)
|
79
|
+
else
|
80
|
+
DEFAULT_CLIENT = Elasticsearch::Client.new(
|
81
|
+
host: URL,
|
82
|
+
transport_options: TRANSPORT_OPTIONS,
|
83
|
+
user: user,
|
84
|
+
password: password,
|
85
|
+
tracer: Logger.new($stdout)
|
86
|
+
)
|
87
|
+
end
|
44
88
|
else
|
45
|
-
|
46
|
-
|
47
|
-
|
89
|
+
ADMIN_CLIENT = Elasticsearch::Client.new(host: URL, transport_options: TRANSPORT_OPTIONS)
|
90
|
+
|
91
|
+
if ENV['QUIET'] == 'true'
|
92
|
+
DEFAULT_CLIENT = Elasticsearch::Client.new(host: URL, transport_options: TRANSPORT_OPTIONS)
|
93
|
+
else
|
94
|
+
DEFAULT_CLIENT = Elasticsearch::Client.new(host: URL,
|
95
|
+
transport_options: TRANSPORT_OPTIONS,
|
96
|
+
tracer: Logger.new($stdout))
|
97
|
+
end
|
48
98
|
end
|
49
99
|
end
|
50
100
|
|
51
|
-
YAML_FILES_DIRECTORY = "#{PROJECT_PATH}/../tmp/rest-api-spec
|
101
|
+
YAML_FILES_DIRECTORY = "#{PROJECT_PATH}/../tmp/rest-api-spec/#{STACK_VERSION.match?(/^8\./) ? 'compatTest' : 'test'}/free"
|
52
102
|
|
53
103
|
SINGLE_TEST = if ENV['SINGLE_TEST'] && !ENV['SINGLE_TEST'].empty?
|
54
104
|
test_target = ENV['SINGLE_TEST']
|
data/spec/spec_helper.rb
CHANGED
@@ -27,6 +27,7 @@ module Elasticsearch
|
|
27
27
|
exists
|
28
28
|
indices.exists
|
29
29
|
indices.exists_alias
|
30
|
+
indices.exists_index_template
|
30
31
|
indices.exists_template
|
31
32
|
indices.exists_type
|
32
33
|
].freeze
|
@@ -39,7 +40,6 @@ module Elasticsearch
|
|
39
40
|
indices.flush_synced
|
40
41
|
indices.delete
|
41
42
|
indices.delete_index_template
|
42
|
-
indices.exists_index_template
|
43
43
|
indices.delete_template
|
44
44
|
security.get_role
|
45
45
|
security.get_user
|
@@ -34,7 +34,7 @@ when 'mtermvectors'
|
|
34
34
|
<%- end -%>
|
35
35
|
<%- if ['bulk', 'msearch', 'msearch_template', 'find_structure'].include? @method_name -%>
|
36
36
|
<%= self.send("#{@method_name}_body_helper".to_s) %>
|
37
|
-
headers
|
37
|
+
headers = <%= __utils %>.ndjson_headers(headers)
|
38
38
|
<%= ' '*(@namespace_depth+4) %>perform_request(method, path, params, payload, headers).body
|
39
39
|
<%- elsif @method_name == 'ping' -%>
|
40
40
|
<%= ping_perform_request %>
|
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.16.
|
4
|
+
version: 7.16.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Karel Minarik
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-12-
|
11
|
+
date: 2021-12-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: multi_json
|