|
14 | 14 | # KIND, either express or implied. See the License for the
|
15 | 15 | # specific language governing permissions and limitations
|
16 | 16 | # under the License.
|
17 |
| -require_relative 'helpers_spec_helper' |
| 17 | +require_relative File.expand_path('../../spec_helper', __dir__) |
18 | 18 | require 'elasticsearch/helpers/bulk_helper'
|
19 | 19 | require 'tempfile'
|
20 | 20 |
|
|
23 | 23 | let(:index) { 'bulk_animals' }
|
24 | 24 | let(:index_slice) { 'bulk_animals_slice' }
|
25 | 25 | let(:params) { { refresh: 'wait_for' } }
|
26 |
| - let(:bulk_helper) { Elasticsearch::Helpers::BulkHelper.new(client, index, params) } |
| 26 | + let(:bulk_helper) { Elasticsearch::Helpers::BulkHelper.new(CLIENT, index, params) } |
27 | 27 | let(:docs) do
|
28 | 28 | [
|
29 |
| - { scientific_name: 'Lama guanicoe', name:'Guanaco' }, |
30 |
| - { scientific_name: 'Tayassu pecari', name:'White-lipped peccary' }, |
31 |
| - { scientific_name: 'Snycerus caffer', name:'Buffalo, african' }, |
32 |
| - { scientific_name: 'Coluber constrictor', name:'Snake, racer' }, |
33 |
| - { scientific_name: 'Thalasseus maximus', name:'Royal tern' }, |
34 |
| - { scientific_name: 'Centrocercus urophasianus', name:'Hen, sage' }, |
35 |
| - { scientific_name: 'Sitta canadensis', name:'Nuthatch, red-breasted' }, |
36 |
| - { scientific_name: 'Aegypius tracheliotus', name:'Vulture, lappet-faced' }, |
37 |
| - { scientific_name: 'Bucephala clangula', name:'Common goldeneye' }, |
38 |
| - { scientific_name: 'Felis pardalis', name:'Ocelot' } |
| 29 | + { scientific_name: 'Lama guanicoe', name: 'Guanaco' }, |
| 30 | + { scientific_name: 'Tayassu pecari', name: 'White-lipped peccary' }, |
| 31 | + { scientific_name: 'Snycerus caffer', name: 'Buffalo, african' }, |
| 32 | + { scientific_name: 'Coluber constrictor', name: 'Snake, racer' }, |
| 33 | + { scientific_name: 'Thalasseus maximus', name: 'Royal tern' }, |
| 34 | + { scientific_name: 'Centrocercus urophasianus', name: 'Hen, sage' }, |
| 35 | + { scientific_name: 'Sitta canadensis', name: 'Nuthatch, red-breasted' }, |
| 36 | + { scientific_name: 'Aegypius tracheliotus', name: 'Vulture, lappet-faced' }, |
| 37 | + { scientific_name: 'Bucephala clangula', name: 'Common goldeneye' }, |
| 38 | + { scientific_name: 'Felis pardalis', name: 'Ocelot' } |
39 | 39 | ]
|
40 | 40 | end
|
41 | 41 |
|
42 | 42 | after do
|
43 |
| - client.indices.delete(index: index, ignore: 404) |
44 |
| - client.indices.delete(index: index_slice, ignore: 404) |
| 43 | + CLIENT.indices.delete(index: index, ignore: 404) |
| 44 | + CLIENT.indices.delete(index: index_slice, ignore: 404) |
45 | 45 | end
|
46 | 46 |
|
47 | 47 | it 'Ingests documents' do
|
|
58 | 58 | ]
|
59 | 59 | bulk_helper.ingest(docs)
|
60 | 60 | # Get the ingested documents, add id and modify them to update them:
|
61 |
| - animals = client.search(index: index)['hits']['hits'] |
| 61 | + animals = CLIENT.search(index: index)['hits']['hits'] |
62 | 62 | # Add id to each doc
|
63 |
| - docs = animals.map { |animal| animal['_source'].merge({'id' => animal['_id'] }) } |
| 63 | + docs = animals.map { |animal| animal['_source'].merge({ 'id' => animal['_id'] }) } |
64 | 64 | docs.map { |doc| doc['scientific_name'].upcase! }
|
65 | 65 | response = bulk_helper.update(docs)
|
66 | 66 | expect(response.status).to eq(200)
|
|
73 | 73 | response = bulk_helper.delete(ids)
|
74 | 74 | expect(response.status).to eq 200
|
75 | 75 | expect(response['items'].map { |item| item['delete']['result'] }.uniq.first).to eq('deleted')
|
76 |
| - expect(client.count(index: index)['count']).to eq(0) |
| 76 | + expect(CLIENT.count(index: index)['count']).to eq(0) |
77 | 77 | end
|
78 | 78 |
|
79 | 79 | it 'Ingests documents and yields response and docs' do
|
80 | 80 | slice = 2
|
81 |
| - bulk_helper = Elasticsearch::Helpers::BulkHelper.new(client, index_slice, params) |
82 |
| - response = bulk_helper.ingest(docs, {slice: slice}) do |response, docs| |
| 81 | + bulk_helper = Elasticsearch::Helpers::BulkHelper.new(CLIENT, index_slice, params) |
| 82 | + bulk_helper.ingest(docs, { slice: slice }) do |response, docs| |
83 | 83 | expect(response).to be_an_instance_of Elasticsearch::API::Response
|
84 | 84 | expect(docs.count).to eq slice
|
85 | 85 | end
|
86 |
| - response = client.search(index: index_slice, size: 200) |
| 86 | + response = CLIENT.search(index: index_slice, size: 200) |
87 | 87 | expect(response['hits']['hits'].map { |a| a['_source'].transform_keys(&:to_sym) }).to eq docs
|
88 | 88 | end
|
89 | 89 |
|
|
0 commit comments