elastic_adapter 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f388cfada6ca770fbeb5f7039efb9986a08c6bcd
4
- data.tar.gz: 516fd85530fdf3b62561e829ff72728ef8c90f58
3
+ metadata.gz: 25e0579bbeba803053caee8b5986f7b02f7f719c
4
+ data.tar.gz: 1280437e020532bc8c67fc55555fad96ac9bd1e8
5
5
  SHA512:
6
- metadata.gz: 42428a0a11237fad29bdb3f01f1ae007e23baec0da33d29ca3443a4bb8a76ea15eb61bbc42b16fbeb218d552a0463e6eea23cadd067aaa656e07cdf3aaf5f5f2
7
- data.tar.gz: a71a53218c7ea5d93fe8150cb3667e9037f276bca3ac9c73bb232093e76d884b972803793d255d67e85ea1896227785ccf28c6bb5acc8baa2e1403ea3338c7f7
6
+ metadata.gz: 577612284345aea4de48577b3d01c462326605e0b16531947fea2366c0ec5e4e43eac8a1687ed6942db07d559a992e29b41195d89e20e24f39d4e03a0ff84a3a
7
+ data.tar.gz: ef247ad391ecc75e53f322f9a8fb659a26eb2de46f4cbd50354428a146a35028beccdf70687c043d1818cc1a578664b4bb45b7fdd99171634854ce59ef273840
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- [![Build Status](https://travis-ci.org/kbredemeier/elastic_adatper.svg?branch=master)](https://travis-ci.org/kbredemeier/elastic_adatper) [![Code Climate](https://codeclimate.com/github/kbredemeier/elastic_adatper/badges/gpa.svg)](https://codeclimate.com/github/kbredemeier/elastic_adatper)
1
+ [![Build Status](https://travis-ci.org/kbredemeier/elastic_adapter.svg?branch=master)](https://travis-ci.org/kbredemeier/elastic_adatper) [![Code Climate](https://codeclimate.com/github/kbredemeier/elastic_adatper/badges/gpa.svg)](https://codeclimate.com/github/kbredemeier/elastic_adatper)
2
2
 
3
3
  # ElasticAdapter
4
4
 
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
  spec.email = ["k.bredemeier@gmail.com"]
11
11
  spec.summary = %q{Repository like access to elasticseach indices}
12
12
  spec.description = %q{Repository like access to elasticseach indices}
13
- spec.homepage = "https://github.com/kbredemeier/elastic_adatper"
13
+ spec.homepage = "https://github.com/kbredemeier/elastic_adapter"
14
14
  spec.license = "MIT"
15
15
 
16
16
  spec.files = `git ls-files -z`.split("\x0")
@@ -0,0 +1,34 @@
1
+ module ElasticAdapter
2
+ module Decoration
3
+ # Used to decorate responses from the elasticsearch search api
4
+ #
5
+ # @attr_reader [Hash] aggregations
6
+ class AggregationResponse < Decorator
7
+ attr_reader :aggregations
8
+
9
+ # Reduces the interface
10
+ #
11
+ # @param [Hash] hash
12
+ # @return [Hash]
13
+ def alter_object(hash)
14
+ new_hash = {}
15
+ new_hash[:aggregations] = {}
16
+
17
+ hash[:aggregations].each do |key, value|
18
+ new_hash[:aggregations][key] = []
19
+
20
+ value[:buckets].each do |agg|
21
+ new_hash[:aggregations][key] << {
22
+ term: agg[:key],
23
+ count: agg[:doc_count]
24
+ }
25
+ end
26
+ end
27
+
28
+ @aggregations = new_hash[:aggregations]
29
+
30
+ new_hash
31
+ end
32
+ end
33
+ end
34
+ end
@@ -6,23 +6,21 @@ module ElasticAdapter
6
6
  # @see Response#decorate
7
7
  class ResponseDecoratorFactory
8
8
  class << self
9
- # Takes a response and returns it with the right decorator
10
- # applied
9
+ # Takes a response and multiple symbols and decorated response.
11
10
  #
12
11
  # @param [Hash] response a response returned by elasticsearch
12
+ # @param [Array<Symbol>] args the decorators the response should be decorated with.
13
+ # Currently valid args are :count, :hit, :search, :validation, :suggestion
13
14
  # @return [Docorator] a decorated response
14
- def decorate(response)
15
- if response.key? :count
16
- return CountResponse.new(response)
17
- elsif response.key? :source
18
- return HitDecorator.new(response)
19
- elsif response.key? :hits
20
- return SearchResponse.new(response)
21
- elsif response.key? :valid
22
- return ValidationResponse.new(response)
23
- elsif suggestion?(response)
24
- return SuggestionResponse.new(response)
25
- end
15
+ def decorate(plain_response, *args)
16
+ response = Response.new(plain_response)
17
+
18
+ response = CountResponse.new(response) if args.include? :count
19
+ response = HitDecorator.new(response) if args.include? :hit
20
+ response = SearchResponse.new(response) if args.include? :search
21
+ response = ValidationResponse.new(response) if args.include? :validation
22
+ response = SuggestionResponse.new(response) if args.include? :suggestion
23
+ response = AggregationResponse.new(response) if args.include? :aggregation
26
24
 
27
25
  response
28
26
  end
@@ -85,7 +85,7 @@ module ElasticAdapter
85
85
  # @param [Hash] query a query to count the documents for a given query. Defaults to match all
86
86
  # @return [Decoration::CountResponse] the count
87
87
  def count(query = { query: { match_all: {} } })
88
- handle_api_call do
88
+ handle_api_call :count do
89
89
  client.count index: name, body: query
90
90
  end
91
91
  end
@@ -125,7 +125,7 @@ module ElasticAdapter
125
125
  # @param [Integer] id
126
126
  # @return [ElasticAdapter::HitDecorator]
127
127
  def get(id)
128
- handle_api_call do
128
+ handle_api_call :hit do
129
129
  client.get(
130
130
  index: name,
131
131
  type: document_type.name,
@@ -145,7 +145,7 @@ module ElasticAdapter
145
145
  # @param [Hash] query
146
146
  # @return [ElasticAdapter::SearchResponse]
147
147
  def search(query)
148
- handle_api_call do
148
+ handle_api_call :search do
149
149
  client.search(
150
150
  index: name,
151
151
  body: query
@@ -164,7 +164,7 @@ module ElasticAdapter
164
164
  # @param [Hash] query
165
165
  # @return [ElasticAdapter::SuggestResponse]
166
166
  def suggest(query)
167
- handle_api_call do
167
+ handle_api_call :suggestion do
168
168
  client.suggest(
169
169
  index: name,
170
170
  body: query
@@ -179,7 +179,7 @@ module ElasticAdapter
179
179
  # @param [Hash] query
180
180
  # @return [ElasticAdapter::ValidationResponse]
181
181
  def validate(query)
182
- handle_api_call do
182
+ handle_api_call :validation do
183
183
  client.indices.validate_query(
184
184
  index: name,
185
185
  explain: true,
@@ -188,10 +188,23 @@ module ElasticAdapter
188
188
  end
189
189
  end
190
190
 
191
+ # Executes a search request and wraps the response in an AggregationResponse
192
+ #
193
+ # @param [Hash] query
194
+ # @return [ElasticAdapter::Decoration::AggregationResponse]
195
+ def aggregate(query)
196
+ handle_api_call :aggregation do
197
+ client.search(
198
+ index: name,
199
+ body: query
200
+ )
201
+ end
202
+ end
203
+
191
204
  private
192
205
 
193
- def handle_api_call
194
- Response.new(yield).decorate
206
+ def handle_api_call(*args)
207
+ Decoration::ResponseDecoratorFactory.decorate(yield, *args)
195
208
  rescue Elasticsearch::Transport::Transport::Error => e
196
209
  Response.new(
197
210
  exception: e
@@ -15,13 +15,6 @@ module ElasticAdapter
15
15
  key?(:exception)
16
16
  end
17
17
 
18
- # Decorates the response with the right decorator
19
- #
20
- # @return [Decorator] returns the decorated response
21
- def decorate
22
- Decoration::ResponseDecoratorFactory.decorate(self)
23
- end
24
-
25
18
  private
26
19
 
27
20
  # Sanitizes a nested hash. It removes leading underscores
@@ -1,3 +1,3 @@
1
1
  module ElasticAdapter
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -8,6 +8,7 @@ require "elastic_adapter/decoration/count_response"
8
8
  require "elastic_adapter/decoration/validation_response"
9
9
  require "elastic_adapter/decoration/suggestion_response"
10
10
  require "elastic_adapter/decoration/search_response"
11
+ require "elastic_adapter/decoration/aggregation_response"
11
12
  require "elastic_adapter/decoration/response_decorator_factory"
12
13
  require "elastic_adapter/response"
13
14
  require "elastic_adapter/index"
@@ -0,0 +1,30 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://localhost:9200/test_index/_search
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"aggs":{"group":{"terms":{"field":"group"}}}}'
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.1
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Content-Type:
22
+ - application/json; charset=UTF-8
23
+ Content-Length:
24
+ - '483'
25
+ body:
26
+ encoding: UTF-8
27
+ string: '{"took":7,"timed_out":false,"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":2,"max_score":1.0,"hits":[{"_index":"test_index","_type":"test_doc","_id":"AUv-oTm7Ngm7ooYjXOfD","_score":1.0,"_source":{"foo":"bar","group":"A"}},{"_index":"test_index","_type":"test_doc","_id":"AUv-n2n-Ngm7ooYjXOVX","_score":1.0,"_source":{"foo":"bar","group":"A"}}]},"aggregations":{"group":{"doc_count_error_upper_bound":0,"sum_other_doc_count":0,"buckets":[{"key":"a","doc_count":2}]}}}'
28
+ http_version:
29
+ recorded_at: Mon, 09 Mar 2015 13:02:38 GMT
30
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,84 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: put
5
+ uri: http://localhost:9200/test_index
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"mappings":{"test_doc":{"properties":{"foo":{"type":"string"},"foo_suggest":{"type":"completion"}}}},"settings":{}}'
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.1
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 400
19
+ message: Bad Request
20
+ headers:
21
+ Content-Type:
22
+ - application/json; charset=UTF-8
23
+ Content-Length:
24
+ - '81'
25
+ body:
26
+ encoding: UTF-8
27
+ string: '{"error":"IndexAlreadyExistsException[[test_index] already exists]","status":400}'
28
+ http_version:
29
+ recorded_at: Mon, 09 Mar 2015 13:02:33 GMT
30
+ - request:
31
+ method: post
32
+ uri: http://localhost:9200/test_index/test_doc
33
+ body:
34
+ encoding: UTF-8
35
+ string: '{"foo":"bar","group":"A"}'
36
+ headers:
37
+ User-Agent:
38
+ - Faraday v0.9.1
39
+ Accept-Encoding:
40
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
41
+ Accept:
42
+ - "*/*"
43
+ response:
44
+ status:
45
+ code: 201
46
+ message: Created
47
+ headers:
48
+ Content-Type:
49
+ - application/json; charset=UTF-8
50
+ Content-Length:
51
+ - '99'
52
+ body:
53
+ encoding: UTF-8
54
+ string: '{"_index":"test_index","_type":"test_doc","_id":"AUv-oTm7Ngm7ooYjXOfD","_version":1,"created":true}'
55
+ http_version:
56
+ recorded_at: Mon, 09 Mar 2015 13:02:33 GMT
57
+ - request:
58
+ method: delete
59
+ uri: http://localhost:9200/test_index
60
+ body:
61
+ encoding: US-ASCII
62
+ string: ''
63
+ headers:
64
+ User-Agent:
65
+ - Faraday v0.9.1
66
+ Accept-Encoding:
67
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
68
+ Accept:
69
+ - "*/*"
70
+ response:
71
+ status:
72
+ code: 200
73
+ message: OK
74
+ headers:
75
+ Content-Type:
76
+ - application/json; charset=UTF-8
77
+ Content-Length:
78
+ - '21'
79
+ body:
80
+ encoding: UTF-8
81
+ string: '{"acknowledged":true}'
82
+ http_version:
83
+ recorded_at: Mon, 09 Mar 2015 13:23:53 GMT
84
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,58 @@
1
+ require "spec_helper"
2
+
3
+ module ElasticAdapter
4
+ module Decoration
5
+ describe AggregationResponse do
6
+ let(:response){{
7
+ aggregations: {
8
+ products: {
9
+ doc_count_error_upper_bound: 46,
10
+ buckets: [
11
+ {
12
+ key: "Product A",
13
+ doc_count: 100
14
+ },
15
+ {
16
+ key: "Product Z",
17
+ doc_count: 52
18
+ }
19
+ ]
20
+ }
21
+ }
22
+ }}
23
+
24
+ subject { AggregationResponse.new(response) }
25
+
26
+ describe "#aggregations" do
27
+ it "counts one" do
28
+ expect(subject.aggregations.count).to eq 1
29
+ end
30
+
31
+ it "contains products" do
32
+ expect(subject.aggregations).to have_key :products
33
+ end
34
+
35
+ describe "products" do
36
+ it "counts two" do
37
+ expect(subject.aggregations[:products].count).to eq 2
38
+ end
39
+
40
+ it "contains Product A with it's count" do
41
+ expect(subject.aggregations[:products]).to include({
42
+ term: "Product A",
43
+ count: 100
44
+ })
45
+ end
46
+
47
+ it "contains Product Z with it's count" do
48
+ expect(subject.aggregations[:products]).to include({
49
+ term: "Product Z",
50
+ count: 52
51
+ })
52
+ end
53
+ end
54
+ end
55
+
56
+ end
57
+ end
58
+ end
@@ -5,69 +5,72 @@ module ElasticAdapter
5
5
  describe ResponseDecoratorFactory do
6
6
  describe "class methods" do
7
7
  describe "#decorate" do
8
- context "response with exception" do
9
- let(:response) {{ exception: ArgumentError.new }}
10
- let(:subject) { ResponseDecoratorFactory.decorate(response)}
11
-
12
- it "returns the unmodified response" do
13
- expect(subject).to be response
14
- end
15
- end
16
-
17
- context "response with acknowledged" do
8
+ context "count" do
18
9
  let(:response) {{ acknowledged: true }}
19
- let(:subject) { ResponseDecoratorFactory.decorate(response)}
10
+ subject { ResponseDecoratorFactory.decorate(response, :count) }
20
11
 
21
- it "returns the unmodified response" do
22
- expect(subject).to be response
12
+ it "returns a CountResponse" do
13
+ expect(subject).to be_a CountResponse
23
14
  end
24
15
  end
25
16
 
26
- context "response with source" do
17
+ context "hit" do
27
18
  let(:response) {{ source: {} }}
28
- let(:subject) { ResponseDecoratorFactory.decorate(response)}
19
+ subject { ResponseDecoratorFactory.decorate(response, :hit) }
29
20
 
30
21
  it "returns a HitDecorator" do
31
22
  expect(subject).to be_a HitDecorator
32
23
  end
33
24
  end
34
25
 
35
- context "response with hits" do
26
+ context "search" do
36
27
  let(:response) {{ hits: {hits: []} }}
37
- let(:subject) { ResponseDecoratorFactory.decorate(response)}
28
+ subject { ResponseDecoratorFactory.decorate(response, :search) }
38
29
 
39
30
  it "returns a SearchResponse" do
40
31
  expect(subject).to be_a SearchResponse
41
32
  end
42
33
  end
43
34
 
44
- context "response with count" do
45
- let(:response) {{ count: {count: 1} }}
46
- let(:subject) { ResponseDecoratorFactory.decorate(response)}
35
+ context "validation" do
36
+ let(:response) {{ valid: true }}
37
+ subject { ResponseDecoratorFactory.decorate(response, :validation) }
47
38
 
48
- it "returns a CountResponse" do
49
- expect(subject).to be_a CountResponse
39
+ it "returns a ValidationResponse" do
40
+ expect(subject).to be_a ValidationResponse
50
41
  end
51
42
  end
52
43
 
53
- context "response with options" do
44
+ context "suggestion" do
54
45
  let(:response) {{ foo: "bar", foo_suggestion: [{options: []}] }}
55
- let(:subject) { ResponseDecoratorFactory.decorate(response)}
46
+ subject { ResponseDecoratorFactory.decorate(response, :suggestion) }
56
47
 
57
48
  it "returns a SuggestionResponse" do
58
49
  expect(subject).to be_a SuggestionResponse
59
50
  end
60
51
  end
61
52
 
62
- context "response with everything_else" do
63
- let(:response) {{ everything_else: {} }}
64
- let(:subject) { ResponseDecoratorFactory.decorate(response)}
53
+ context "aggregation" do
54
+ let(:response){{
55
+ aggregations: {
56
+ products: {
57
+ doc_count_error_upper_bound: 46,
58
+ buckets: [
59
+ {
60
+ key: "Product A",
61
+ doc_count: 100
62
+ }
63
+ ]
64
+ }
65
+ }
66
+ }}
65
67
 
66
- it "returns a Response" do
67
- expect(subject).to be_a Hash
68
+ subject { ResponseDecoratorFactory.decorate(response, :aggregation) }
69
+
70
+ it "returns a AggregationResponse" do
71
+ expect(subject).to be_a AggregationResponse
68
72
  end
69
73
  end
70
-
71
74
  end
72
75
  end
73
76
  end
@@ -0,0 +1,34 @@
1
+ require_relative "./shared_context.rb"
2
+
3
+ module ElasticAdapter
4
+ describe Index do
5
+ include_context "index context"
6
+
7
+ describe "#aggregate", :vcr do
8
+ before :all do
9
+ create_test_index
10
+ index_documents foo: "bar", group: "A"
11
+ index_documents foo: "baz", group: "A"
12
+ index_documents foo: "boo", group: "B"
13
+ end
14
+
15
+ after :all do
16
+ delete_test_index
17
+ end
18
+
19
+ describe "response" do
20
+ let(:query) {{
21
+ aggs: {
22
+ group: {
23
+ terms: { field: "group" }
24
+ }
25
+ }
26
+ }}
27
+
28
+ it "is a AggregationResponse" do
29
+ expect(subject.aggregate(query)).to be_a Decoration::AggregationResponse
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -32,6 +32,13 @@ module ElasticAdapter
32
32
  response = Response.new(hash)
33
33
  expect(response.object).to eq expected
34
34
  end
35
+
36
+ it "works with arrays" do
37
+ hash = { "foo" => ["bar", "buz"] }
38
+ expected = { foo: ["bar", "buz"] }
39
+ response = Response.new(hash)
40
+ expect(response.object).to eq expected
41
+ end
35
42
  end
36
43
 
37
44
  describe "#failure?" do
@@ -53,28 +60,5 @@ module ElasticAdapter
53
60
  end
54
61
  end
55
62
  end
56
-
57
- describe "#decorate" do
58
- context "find request" do
59
- let(:document) { {foo: "bar", id: 1} }
60
- let(:response_hash) do
61
- {
62
- "found" => true,
63
- "_id" => 1,
64
- "_source" => {
65
- "foo" => "bar"
66
- }
67
- }
68
- end
69
-
70
- let(:response) do
71
- response = Response.new(response_hash)
72
- end
73
-
74
- it "is the document" do
75
- expect(response.decorate.to_hash).to eq document
76
- end
77
- end
78
- end
79
63
  end
80
64
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elastic_adapter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kristopher Bredemeier
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-26 00:00:00.000000000 Z
11
+ date: 2015-03-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: elasticsearch
@@ -154,9 +154,9 @@ files:
154
154
  - README.md
155
155
  - Rakefile
156
156
  - elastic_adapter.gemspec
157
- - example.env
158
157
  - examples/basic_usage.rb
159
158
  - lib/elastic_adapter.rb
159
+ - lib/elastic_adapter/decoration/aggregation_response.rb
160
160
  - lib/elastic_adapter/decoration/count_response.rb
161
161
  - lib/elastic_adapter/decoration/decorator.rb
162
162
  - lib/elastic_adapter/decoration/hit_decorator.rb
@@ -168,6 +168,8 @@ files:
168
168
  - lib/elastic_adapter/index.rb
169
169
  - lib/elastic_adapter/response.rb
170
170
  - lib/elastic_adapter/version.rb
171
+ - spec/cassettes/ElasticAdapter_Index/_aggregate.yml
172
+ - spec/cassettes/ElasticAdapter_Index/_aggregate/response/is_a_AggregationResponse.yml
171
173
  - spec/cassettes/ElasticAdapter_Index/_count/empty_index.yml
172
174
  - spec/cassettes/ElasticAdapter_Index/_count/empty_index/is_a_response.yml
173
175
  - spec/cassettes/ElasticAdapter_Index/_count/empty_index/returns_the_amount_of_all_documents.yml
@@ -207,9 +209,11 @@ files:
207
209
  - spec/cassettes/ElasticAdapter_Index/_validate/invalid_query/is_false.yml
208
210
  - spec/cassettes/ElasticAdapter_Index/_validate/valid_query/is_a_response.yml
209
211
  - spec/cassettes/ElasticAdapter_Index/_validate/valid_query/is_true.yml
212
+ - spec/decoration/aggregation_response_spec.rb
210
213
  - spec/decoration/response_decorator_factory_spec.rb
211
214
  - spec/document_type_spec.rb
212
215
  - spec/elastic_adapter_spec.rb
216
+ - spec/index/aggregation_spec.rb
213
217
  - spec/index/count_spec.rb
214
218
  - spec/index/create_index_spec.rb
215
219
  - spec/index/delete_index_spec.rb
@@ -224,7 +228,7 @@ files:
224
228
  - spec/response_spec.rb
225
229
  - spec/spec_helper.rb
226
230
  - spec/support/index_helper.rb
227
- homepage: https://github.com/kbredemeier/elastic_adatper
231
+ homepage: https://github.com/kbredemeier/elastic_adapter
228
232
  licenses:
229
233
  - MIT
230
234
  metadata: {}
@@ -249,6 +253,8 @@ signing_key:
249
253
  specification_version: 4
250
254
  summary: Repository like access to elasticseach indices
251
255
  test_files:
256
+ - spec/cassettes/ElasticAdapter_Index/_aggregate.yml
257
+ - spec/cassettes/ElasticAdapter_Index/_aggregate/response/is_a_AggregationResponse.yml
252
258
  - spec/cassettes/ElasticAdapter_Index/_count/empty_index.yml
253
259
  - spec/cassettes/ElasticAdapter_Index/_count/empty_index/is_a_response.yml
254
260
  - spec/cassettes/ElasticAdapter_Index/_count/empty_index/returns_the_amount_of_all_documents.yml
@@ -288,9 +294,11 @@ test_files:
288
294
  - spec/cassettes/ElasticAdapter_Index/_validate/invalid_query/is_false.yml
289
295
  - spec/cassettes/ElasticAdapter_Index/_validate/valid_query/is_a_response.yml
290
296
  - spec/cassettes/ElasticAdapter_Index/_validate/valid_query/is_true.yml
297
+ - spec/decoration/aggregation_response_spec.rb
291
298
  - spec/decoration/response_decorator_factory_spec.rb
292
299
  - spec/document_type_spec.rb
293
300
  - spec/elastic_adapter_spec.rb
301
+ - spec/index/aggregation_spec.rb
294
302
  - spec/index/count_spec.rb
295
303
  - spec/index/create_index_spec.rb
296
304
  - spec/index/delete_index_spec.rb
data/example.env DELETED
@@ -1,4 +0,0 @@
1
- TEST_CLUSTER_NAME="elastic_adatper_test_cluster"
2
- TEST_CLUSTER_COMMAND="sh /path/to/elasticsearch"
3
- TEST_CLUSTER_PORT=9350
4
- TEST_CLUSTER_NODES=1