20
20
describe Elasticsearch ::Transport ::Client do
21
21
context 'meta-header' do
22
22
let ( :subject ) { client . transport . connections . first . connection . headers }
23
+ let ( :client ) { described_class . new }
23
24
let ( :regexp ) { /^[a-z]{1,}=[a-z0-9.\- ]{1,}(?:,[a-z]{1,}=[a-z0-9._\- ]+)*$/ }
24
25
let ( :adapter ) { :net_http }
25
26
let ( :adapter_code ) { "nh=#{ defined? ( Net ::HTTP ::VERSION ) ? Net ::HTTP ::VERSION : Net ::HTTP ::HTTPVersion } " }
26
27
let ( :meta_header ) do
27
28
if jruby?
28
- "es=#{ Elasticsearch :: VERSION } ,rb=#{ RUBY_VERSION } ,t=#{ Elasticsearch ::Transport ::VERSION } ,jv=#{ ENV_JAVA [ 'java.version' ] } ,jr=#{ JRUBY_VERSION } ,fd=#{ Faraday ::VERSION } ,#{ adapter_code } "
29
+ "es=#{ meta_version } ,rb=#{ RUBY_VERSION } ,t=#{ Elasticsearch ::Transport ::VERSION } ,jv=#{ ENV_JAVA [ 'java.version' ] } ,jr=#{ JRUBY_VERSION } ,fd=#{ Faraday ::VERSION } ,#{ adapter_code } "
29
30
else
30
- "es=#{ Elasticsearch :: VERSION } ,rb=#{ RUBY_VERSION } ,t=#{ Elasticsearch ::Transport ::VERSION } ,fd=#{ Faraday ::VERSION } ,#{ adapter_code } "
31
+ "es=#{ meta_version } ,rb=#{ RUBY_VERSION } ,t=#{ Elasticsearch ::Transport ::VERSION } ,fd=#{ Faraday ::VERSION } ,#{ adapter_code } "
31
32
end
32
33
end
33
34
35
+ context 'client_meta_version_' do
36
+ let ( :version ) { [ '7.1.0-alpha' , '7.11.0.pre.1' , '8.0.0-beta' , '8.0.0.beta.2' ] }
37
+
38
+ it 'converts the version to X.X.Xp' do
39
+ expect ( client . send ( :client_meta_version , '7.0.0-alpha' ) ) . to eq ( '7.0.0p' )
40
+ expect ( client . send ( :client_meta_version , '7.11.0.pre.1' ) ) . to eq ( '7.11.0p' )
41
+ expect ( client . send ( :client_meta_version , '8.1.0-beta' ) ) . to eq ( '8.1.0p' )
42
+ expect ( client . send ( :client_meta_version , '8.0.0.beta.2' ) ) . to eq ( '8.0.0p' )
43
+ expect ( client . send ( :client_meta_version , '12.16.4.pre' ) ) . to eq ( '12.16.4p' )
44
+ end
45
+ end
46
+
47
+ # We are testing this method in the previous block, so now using it inside the test to make the
48
+ # Elasticsearch version in the meta header string dynamic
49
+ def meta_version
50
+ client . send ( :client_meta_version , Elasticsearch ::VERSION )
51
+ end
52
+
34
53
context 'single use of meta header' do
35
54
let ( :client ) do
36
55
described_class . new ( adapter : adapter ) . tap do |klient |
78
97
context 'adapters' do
79
98
let ( :meta_header ) do
80
99
if jruby?
81
- "es=#{ Elasticsearch :: VERSION } ,rb=#{ RUBY_VERSION } ,t=#{ Elasticsearch ::Transport ::VERSION } ,jv=#{ ENV_JAVA [ 'java.version' ] } ,jr=#{ JRUBY_VERSION } ,fd=#{ Faraday ::VERSION } "
100
+ "es=#{ meta_version } ,rb=#{ RUBY_VERSION } ,t=#{ Elasticsearch ::Transport ::VERSION } ,jv=#{ ENV_JAVA [ 'java.version' ] } ,jr=#{ JRUBY_VERSION } ,fd=#{ Faraday ::VERSION } "
82
101
else
83
- "es=#{ Elasticsearch :: VERSION } ,rb=#{ RUBY_VERSION } ,t=#{ Elasticsearch ::Transport ::VERSION } ,fd=#{ Faraday ::VERSION } "
102
+ "es=#{ meta_version } ,rb=#{ RUBY_VERSION } ,t=#{ Elasticsearch ::Transport ::VERSION } ,fd=#{ Faraday ::VERSION } "
84
103
end
85
104
end
86
105
let ( :client ) { described_class . new ( adapter : adapter ) }
@@ -167,9 +186,9 @@ def initialize(args); end
167
186
let ( :subject ) { client . instance_variable_get ( "@arguments" ) [ :transport_options ] [ :headers ] }
168
187
let ( :meta_header ) do
169
188
if jruby?
170
- "es=#{ Elasticsearch :: VERSION } ,rb=#{ RUBY_VERSION } ,t=#{ Elasticsearch ::Transport ::VERSION } ,jv=#{ ENV_JAVA [ 'java.version' ] } ,jr=#{ JRUBY_VERSION } "
189
+ "es=#{ meta_version } ,rb=#{ RUBY_VERSION } ,t=#{ Elasticsearch ::Transport ::VERSION } ,jv=#{ ENV_JAVA [ 'java.version' ] } ,jr=#{ JRUBY_VERSION } "
171
190
else
172
- "es=#{ Elasticsearch :: VERSION } ,rb=#{ RUBY_VERSION } ,t=#{ Elasticsearch ::Transport ::VERSION } "
191
+ "es=#{ meta_version } ,rb=#{ RUBY_VERSION } ,t=#{ Elasticsearch ::Transport ::VERSION } "
173
192
end
174
193
end
175
194
@@ -181,15 +200,7 @@ def initialize(args); end
181
200
182
201
context 'when using a different service version' do
183
202
before do
184
- module Elastic
185
- META_HEADER_SERVICE_VERSION = [ :ent , '8.0.0' ]
186
- end
187
- end
188
-
189
- after do
190
- module Elastic
191
- META_HEADER_SERVICE_VERSION = [ :es , Elasticsearch ::VERSION ]
192
- end
203
+ stub_const ( "Elastic::META_HEADER_SERVICE_VERSION" , [ :ent , '8.0.0' ] )
193
204
end
194
205
195
206
let ( :client ) { Elasticsearch ::Client . new }
0 commit comments