elasticsearch-model 7.0.0.pre → 7.1.2.pre

Sign up to get free protection for your applications and to get access to all the features.
@@ -24,10 +24,10 @@ describe 'Elasticsearch::Model::Adapter::ActiveRecord Multimodel', if: test_mong
24
24
 
25
25
  begin
26
26
  ActiveRecord::Schema.define(:version => 1) do
27
- create_table Episode.table_name do |t|
28
- t.string :name
29
- t.datetime :created_at, :default => 'NOW()'
30
- end
27
+ create_table Episode.table_name do |t|
28
+ t.string :name
29
+ t.datetime :created_at, :default => 'NOW()'
30
+ end
31
31
  end
32
32
  rescue
33
33
  end
@@ -36,22 +36,22 @@ describe 'Elasticsearch::Model::Adapter::ActiveRecord Multimodel', if: test_mong
36
36
  before do
37
37
  clear_tables(Episode, Image)
38
38
  Episode.__elasticsearch__.create_index! force: true
39
- Episode.create name: "TheEpisode"
40
- Episode.create name: "A great Episode"
41
- Episode.create name: "The greatest Episode"
39
+ Episode.create name: 'TheEpisode'
40
+ Episode.create name: 'A great Episode'
41
+ Episode.create name: 'The greatest Episode'
42
42
  Episode.__elasticsearch__.refresh_index!
43
43
 
44
44
  Image.__elasticsearch__.create_index! force: true
45
- Image.create! name: "The Image"
46
- Image.create! name: "A great Image"
47
- Image.create! name: "The greatest Image"
45
+ Image.create! name: 'The Image'
46
+ Image.create! name: 'A great Image'
47
+ Image.create! name: 'The greatest Image'
48
48
  Image.__elasticsearch__.refresh_index!
49
49
  Image.__elasticsearch__.client.cluster.health wait_for_status: 'yellow'
50
50
  end
51
51
 
52
52
  after do
53
53
  [Episode, Image].each do |model|
54
- model.__elasticsearch__.client.delete_by_query(index: model.index_name, q: '*')
54
+ model.__elasticsearch__.client.delete_by_query(index: model.index_name, q: '*', body: {})
55
55
  model.delete_all
56
56
  model.__elasticsearch__.refresh_index!
57
57
  end
@@ -227,5 +227,17 @@ describe Elasticsearch::Model::Importing do
227
227
  end
228
228
  end
229
229
  end
230
+
231
+ context 'when a pipeline is provided as an options' do
232
+
233
+ before do
234
+ expect(DummyImportingModel).to receive(:client).and_return(client)
235
+ expect(client).to receive(:bulk).with(body: nil, index: 'foo', type: 'foo', pipeline: 'my-pipeline').and_return(response)
236
+ end
237
+
238
+ it 'uses the pipeline option' do
239
+ expect(DummyImportingModel.import(pipeline: 'my-pipeline')).to eq(0)
240
+ end
241
+ end
230
242
  end
231
243
  end
@@ -418,7 +418,7 @@ describe Elasticsearch::Model::Indexing do
418
418
  expect(instance).to receive(:client).and_return(client)
419
419
  expect(instance).to receive(:as_indexed_json).and_return('JSON')
420
420
  expect(instance).to receive(:index_name).and_return('foo')
421
- expect(instance).to receive(:document_type).and_return('bar')
421
+ expect(instance).to receive(:document_type).twice.and_return('bar')
422
422
  expect(instance).to receive(:id).and_return('1')
423
423
  end
424
424
 
@@ -458,7 +458,7 @@ describe Elasticsearch::Model::Indexing do
458
458
  before do
459
459
  expect(instance).to receive(:client).and_return(client)
460
460
  expect(instance).to receive(:index_name).and_return('foo')
461
- expect(instance).to receive(:document_type).and_return('bar')
461
+ expect(instance).to receive(:document_type).twice.and_return('bar')
462
462
  expect(instance).to receive(:id).and_return('1')
463
463
  end
464
464
 
@@ -602,7 +602,7 @@ describe Elasticsearch::Model::Indexing do
602
602
  before do
603
603
  expect(instance).to receive(:client).and_return(client)
604
604
  expect(instance).to receive(:index_name).and_return('foo')
605
- expect(instance).to receive(:document_type).and_return('bar')
605
+ expect(instance).to receive(:document_type).twice.and_return('bar')
606
606
  expect(instance).to receive(:id).and_return('1')
607
607
  instance.instance_variable_set(:@__changed_model_attributes, { author: 'john' })
608
608
  end
@@ -659,36 +659,6 @@ describe Elasticsearch::Model::Indexing do
659
659
  expect(DummyIndexingModel.index_exists?).to be(false)
660
660
  end
661
661
  end
662
-
663
- context 'when the index API raises an error' do
664
-
665
- let(:client) do
666
- double('client').tap do |cl|
667
- expect(cl).to receive(:indices).and_raise(StandardError)
668
- end
669
- end
670
-
671
- it 'returns false' do
672
- expect(DummyIndexingModel.index_exists?).to be(false)
673
- end
674
- end
675
-
676
- context 'when the indices.exists API raises an error' do
677
-
678
- let(:client) do
679
- double('client', indices: indices)
680
- end
681
-
682
- let(:indices) do
683
- double('indices').tap do |ind|
684
- expect(ind).to receive(:exists).and_raise(StandardError)
685
- end
686
- end
687
-
688
- it 'returns false' do
689
- expect(DummyIndexingModel.index_exists?).to be(false)
690
- end
691
- end
692
662
  end
693
663
 
694
664
  describe '#delete_index!' do
@@ -48,6 +48,7 @@ describe Elasticsearch::Model do
48
48
  end
49
49
 
50
50
  DummyIncludingModel.__send__ :include, Elasticsearch::Model
51
+ DummyIncludingModelWithSearchMethodDefined.__send__ :include, Elasticsearch::Model
51
52
  end
52
53
 
53
54
  after(:all) do
data/spec/spec_helper.rb CHANGED
@@ -23,7 +23,11 @@ require 'will_paginate/collection'
23
23
  require 'elasticsearch/model'
24
24
  require 'hashie/version'
25
25
  require 'active_model'
26
- require 'mongoid'
26
+ begin
27
+ require 'mongoid'
28
+ rescue LoadError
29
+ $stderr.puts("'mongoid' gem could not be loaded")
30
+ end
27
31
  require 'yaml'
28
32
  require 'active_record'
29
33
 
@@ -77,8 +81,16 @@ end
77
81
  # @since 6.0.1
78
82
  def clear_indices(*models)
79
83
  models.each do |model|
80
- begin; Elasticsearch::Model.client.delete_by_query(index: model.index_name, q: '*'); rescue; end
81
- end and true
84
+ begin
85
+ Elasticsearch::Model.client.delete_by_query(
86
+ index: model.index_name,
87
+ q: '*',
88
+ body: {}
89
+ )
90
+ rescue
91
+ end
92
+ end
93
+ true
82
94
  end
83
95
 
84
96
  # Delete all documents from the tables of the provided list of models.
@@ -151,8 +163,10 @@ def test_mongoid?
151
163
  client.database.command(ping: 1) && true
152
164
  end
153
165
  end and true
154
- rescue Timeout::Error, LoadError, Mongo::Error => e
155
- client.close
166
+ rescue LoadError
167
+ $stderr.puts("'mongoid' gem could not be loaded")
168
+ rescue Timeout::Error, Mongo::Error => e
169
+ client.close if client
156
170
  $stderr.puts("MongoDB not installed or running: #{e}")
157
171
  end
158
172
  end
data/spec/support/app.rb CHANGED
@@ -26,9 +26,7 @@ require 'support/app/namespaced_book'
26
26
  require 'support/app/article_for_pagination'
27
27
  require 'support/app/article_with_dynamic_index_name'
28
28
  require 'support/app/episode'
29
- require 'support/app/image'
30
29
  require 'support/app/series'
31
- require 'support/app/mongoid_article'
32
30
  require 'support/app/article'
33
31
  require 'support/app/article_no_type'
34
32
  require 'support/app/searchable'
@@ -37,3 +35,12 @@ require 'support/app/author'
37
35
  require 'support/app/authorship'
38
36
  require 'support/app/comment'
39
37
  require 'support/app/post'
38
+
39
+
40
+ # Mongoid models
41
+ begin
42
+ require 'support/app/image'
43
+ require 'support/app/mongoid_article'
44
+ rescue
45
+ $stderr.puts("'mongoid' gem is not installed, could not load Mongoid models")
46
+ end
metadata CHANGED
@@ -1,43 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elasticsearch-model
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.0.0.pre
4
+ version: 7.1.2.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Karel Minarik
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-30 00:00:00.000000000 Z
11
+ date: 2021-03-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: elasticsearch
14
+ name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">"
18
18
  - !ruby/object:Gem::Version
19
- version: '1'
19
+ version: '3'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">"
25
25
  - !ruby/object:Gem::Version
26
- version: '1'
26
+ version: '3'
27
27
  - !ruby/object:Gem::Dependency
28
- name: activesupport
28
+ name: elasticsearch
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">"
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '3'
33
+ version: '7'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">"
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '3'
40
+ version: '7'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: hashie
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -53,35 +53,35 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: bundler
56
+ name: activemodel
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - ">"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: '3'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - ">"
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: '3'
69
69
  - !ruby/object:Gem::Dependency
70
- name: rake
70
+ name: bundler
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: '11.1'
75
+ version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: '11.1'
82
+ version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: elasticsearch-extensions
84
+ name: cane
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
@@ -95,7 +95,7 @@ dependencies:
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: sqlite3
98
+ name: elasticsearch-extensions
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
@@ -109,21 +109,21 @@ dependencies:
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: activemodel
112
+ name: kaminari
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ">"
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
- version: '3'
117
+ version: '0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ">"
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
- version: '3'
124
+ version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
- name: oj
126
+ name: minitest
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - ">="
@@ -137,7 +137,7 @@ dependencies:
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
- name: kaminari
140
+ name: mocha
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - ">="
@@ -151,7 +151,7 @@ dependencies:
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
153
  - !ruby/object:Gem::Dependency
154
- name: will_paginate
154
+ name: pry
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - ">="
@@ -165,21 +165,21 @@ dependencies:
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0'
167
167
  - !ruby/object:Gem::Dependency
168
- name: minitest
168
+ name: rake
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - ">="
171
+ - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: '0'
173
+ version: '12'
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - ">="
178
+ - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: '0'
180
+ version: '12'
181
181
  - !ruby/object:Gem::Dependency
182
- name: test-unit
182
+ name: require-prof
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
185
  - - ">="
@@ -207,7 +207,7 @@ dependencies:
207
207
  - !ruby/object:Gem::Version
208
208
  version: '0'
209
209
  - !ruby/object:Gem::Dependency
210
- name: mocha
210
+ name: simplecov
211
211
  requirement: !ruby/object:Gem::Requirement
212
212
  requirements:
213
213
  - - ">="
@@ -221,7 +221,7 @@ dependencies:
221
221
  - !ruby/object:Gem::Version
222
222
  version: '0'
223
223
  - !ruby/object:Gem::Dependency
224
- name: turn
224
+ name: test-unit
225
225
  requirement: !ruby/object:Gem::Requirement
226
226
  requirements:
227
227
  - - ">="
@@ -235,7 +235,7 @@ dependencies:
235
235
  - !ruby/object:Gem::Version
236
236
  version: '0'
237
237
  - !ruby/object:Gem::Dependency
238
- name: yard
238
+ name: turn
239
239
  requirement: !ruby/object:Gem::Requirement
240
240
  requirements:
241
241
  - - ">="
@@ -249,7 +249,7 @@ dependencies:
249
249
  - !ruby/object:Gem::Version
250
250
  version: '0'
251
251
  - !ruby/object:Gem::Dependency
252
- name: ruby-prof
252
+ name: will_paginate
253
253
  requirement: !ruby/object:Gem::Requirement
254
254
  requirements:
255
255
  - - ">="
@@ -263,7 +263,7 @@ dependencies:
263
263
  - !ruby/object:Gem::Version
264
264
  version: '0'
265
265
  - !ruby/object:Gem::Dependency
266
- name: pry
266
+ name: yard
267
267
  requirement: !ruby/object:Gem::Requirement
268
268
  requirements:
269
269
  - - ">="
@@ -277,7 +277,7 @@ dependencies:
277
277
  - !ruby/object:Gem::Version
278
278
  version: '0'
279
279
  - !ruby/object:Gem::Dependency
280
- name: simplecov
280
+ name: oj
281
281
  requirement: !ruby/object:Gem::Requirement
282
282
  requirements:
283
283
  - - ">="
@@ -291,7 +291,7 @@ dependencies:
291
291
  - !ruby/object:Gem::Version
292
292
  version: '0'
293
293
  - !ruby/object:Gem::Dependency
294
- name: cane
294
+ name: ruby-prof
295
295
  requirement: !ruby/object:Gem::Requirement
296
296
  requirements:
297
297
  - - ">="
@@ -305,7 +305,7 @@ dependencies:
305
305
  - !ruby/object:Gem::Version
306
306
  version: '0'
307
307
  - !ruby/object:Gem::Dependency
308
- name: require-prof
308
+ name: sqlite3
309
309
  requirement: !ruby/object:Gem::Requirement
310
310
  requirements:
311
311
  - - ">="
@@ -399,7 +399,6 @@ files:
399
399
  - spec/elasticsearch/model/indexing_spec.rb
400
400
  - spec/elasticsearch/model/module_spec.rb
401
401
  - spec/elasticsearch/model/multimodel_spec.rb
402
- - spec/elasticsearch/model/naming_inheritance_spec.rb
403
402
  - spec/elasticsearch/model/naming_spec.rb
404
403
  - spec/elasticsearch/model/proxy_spec.rb
405
404
  - spec/elasticsearch/model/response/aggregations_spec.rb
@@ -450,14 +449,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
450
449
  requirements:
451
450
  - - ">="
452
451
  - !ruby/object:Gem::Version
453
- version: 1.9.3
452
+ version: '2.4'
454
453
  required_rubygems_version: !ruby/object:Gem::Requirement
455
454
  requirements:
456
455
  - - ">"
457
456
  - !ruby/object:Gem::Version
458
457
  version: 1.3.1
459
458
  requirements: []
460
- rubygems_version: 3.0.3
459
+ rubygems_version: 3.1.4
461
460
  signing_key:
462
461
  specification_version: 4
463
462
  summary: ActiveModel/Record integrations for Elasticsearch.
@@ -485,7 +484,6 @@ test_files:
485
484
  - spec/elasticsearch/model/indexing_spec.rb
486
485
  - spec/elasticsearch/model/module_spec.rb
487
486
  - spec/elasticsearch/model/multimodel_spec.rb
488
- - spec/elasticsearch/model/naming_inheritance_spec.rb
489
487
  - spec/elasticsearch/model/naming_spec.rb
490
488
  - spec/elasticsearch/model/proxy_spec.rb
491
489
  - spec/elasticsearch/model/response/aggregations_spec.rb