elasticsearch-api 0.0.2
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 +7 -0
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +13 -0
- data/README.md +160 -0
- data/Rakefile +62 -0
- data/elasticsearch-api.gemspec +51 -0
- data/lib/elasticsearch-api +1 -0
- data/lib/elasticsearch/api.rb +23 -0
- data/lib/elasticsearch/api/actions/bulk.rb +71 -0
- data/lib/elasticsearch/api/actions/cluster/get_settings.rb +21 -0
- data/lib/elasticsearch/api/actions/cluster/health.rb +50 -0
- data/lib/elasticsearch/api/actions/cluster/node_hot_threads.rb +46 -0
- data/lib/elasticsearch/api/actions/cluster/node_info.rb +59 -0
- data/lib/elasticsearch/api/actions/cluster/node_shutdown.rb +36 -0
- data/lib/elasticsearch/api/actions/cluster/node_stats.rb +77 -0
- data/lib/elasticsearch/api/actions/cluster/put_settings.rb +28 -0
- data/lib/elasticsearch/api/actions/cluster/reroute.rb +44 -0
- data/lib/elasticsearch/api/actions/cluster/state.rb +47 -0
- data/lib/elasticsearch/api/actions/count.rb +46 -0
- data/lib/elasticsearch/api/actions/create.rb +34 -0
- data/lib/elasticsearch/api/actions/delete.rb +61 -0
- data/lib/elasticsearch/api/actions/delete_by_query.rb +62 -0
- data/lib/elasticsearch/api/actions/exists.rb +51 -0
- data/lib/elasticsearch/api/actions/explain.rb +71 -0
- data/lib/elasticsearch/api/actions/get.rb +59 -0
- data/lib/elasticsearch/api/actions/get_source.rb +59 -0
- data/lib/elasticsearch/api/actions/index.rb +81 -0
- data/lib/elasticsearch/api/actions/indices/analyze.rb +63 -0
- data/lib/elasticsearch/api/actions/indices/clear_cache.rb +69 -0
- data/lib/elasticsearch/api/actions/indices/close.rb +35 -0
- data/lib/elasticsearch/api/actions/indices/create.rb +83 -0
- data/lib/elasticsearch/api/actions/indices/delete.rb +48 -0
- data/lib/elasticsearch/api/actions/indices/delete_alias.rb +37 -0
- data/lib/elasticsearch/api/actions/indices/delete_mapping.rb +26 -0
- data/lib/elasticsearch/api/actions/indices/delete_template.rb +33 -0
- data/lib/elasticsearch/api/actions/indices/delete_warmer.rb +32 -0
- data/lib/elasticsearch/api/actions/indices/exists.rb +35 -0
- data/lib/elasticsearch/api/actions/indices/exists_alias.rb +41 -0
- data/lib/elasticsearch/api/actions/indices/exists_type.rb +39 -0
- data/lib/elasticsearch/api/actions/indices/flush.rb +40 -0
- data/lib/elasticsearch/api/actions/indices/get_alias.rb +41 -0
- data/lib/elasticsearch/api/actions/indices/get_aliases.rb +32 -0
- data/lib/elasticsearch/api/actions/indices/get_mapping.rb +36 -0
- data/lib/elasticsearch/api/actions/indices/get_settings.rb +32 -0
- data/lib/elasticsearch/api/actions/indices/get_template.rb +30 -0
- data/lib/elasticsearch/api/actions/indices/get_warmer.rb +44 -0
- data/lib/elasticsearch/api/actions/indices/open.rb +33 -0
- data/lib/elasticsearch/api/actions/indices/optimize.rb +57 -0
- data/lib/elasticsearch/api/actions/indices/put_alias.rb +43 -0
- data/lib/elasticsearch/api/actions/indices/put_mapping.rb +49 -0
- data/lib/elasticsearch/api/actions/indices/put_settings.rb +45 -0
- data/lib/elasticsearch/api/actions/indices/put_template.rb +40 -0
- data/lib/elasticsearch/api/actions/indices/put_warmer.rb +48 -0
- data/lib/elasticsearch/api/actions/indices/refresh.rb +43 -0
- data/lib/elasticsearch/api/actions/indices/segments.rb +33 -0
- data/lib/elasticsearch/api/actions/indices/snapshot_index.rb +32 -0
- data/lib/elasticsearch/api/actions/indices/stats.rb +96 -0
- data/lib/elasticsearch/api/actions/indices/status.rb +46 -0
- data/lib/elasticsearch/api/actions/indices/update_aliases.rb +49 -0
- data/lib/elasticsearch/api/actions/indices/validate_query.rb +68 -0
- data/lib/elasticsearch/api/actions/info.rb +19 -0
- data/lib/elasticsearch/api/actions/mget.rb +64 -0
- data/lib/elasticsearch/api/actions/mlt.rb +86 -0
- data/lib/elasticsearch/api/actions/msearch.rb +75 -0
- data/lib/elasticsearch/api/actions/percolate.rb +57 -0
- data/lib/elasticsearch/api/actions/ping.rb +29 -0
- data/lib/elasticsearch/api/actions/scroll.rb +44 -0
- data/lib/elasticsearch/api/actions/search.rb +145 -0
- data/lib/elasticsearch/api/actions/suggest.rb +46 -0
- data/lib/elasticsearch/api/actions/update.rb +103 -0
- data/lib/elasticsearch/api/namespace/cluster.rb +20 -0
- data/lib/elasticsearch/api/namespace/common.rb +27 -0
- data/lib/elasticsearch/api/namespace/indices.rb +20 -0
- data/lib/elasticsearch/api/utils.rb +97 -0
- data/lib/elasticsearch/api/version.rb +5 -0
- data/test/integration/yaml_test_runner.rb +330 -0
- data/test/test_helper.rb +52 -0
- data/test/unit/bulk_test.rb +85 -0
- data/test/unit/client_test.rb +31 -0
- data/test/unit/cluster/get_settings_test.rb +26 -0
- data/test/unit/cluster/health_test.rb +38 -0
- data/test/unit/cluster/node_hot_threads_test.rb +35 -0
- data/test/unit/cluster/node_info_test.rb +45 -0
- data/test/unit/cluster/node_shutdown_test.rb +45 -0
- data/test/unit/cluster/node_stats_test.rb +65 -0
- data/test/unit/cluster/put_settings_test.rb +26 -0
- data/test/unit/cluster/reroute_test.rb +38 -0
- data/test/unit/cluster/state_test.rb +37 -0
- data/test/unit/count_test.rb +46 -0
- data/test/unit/create_document_test.rb +38 -0
- data/test/unit/delete_by_query_test.rb +42 -0
- data/test/unit/delete_document_test.rb +62 -0
- data/test/unit/exists_document_test.rb +76 -0
- data/test/unit/explain_document_test.rb +64 -0
- data/test/unit/get_document_source_test.rb +62 -0
- data/test/unit/get_document_test.rb +62 -0
- data/test/unit/hashie_test.rb +78 -0
- data/test/unit/index_document_test.rb +77 -0
- data/test/unit/indices/analyze_test.rb +67 -0
- data/test/unit/indices/clear_cache_test.rb +45 -0
- data/test/unit/indices/close_test.rb +42 -0
- data/test/unit/indices/create_test.rb +42 -0
- data/test/unit/indices/delete_alias_test.rb +38 -0
- data/test/unit/indices/delete_mapping_test.rb +47 -0
- data/test/unit/indices/delete_template_test.rb +26 -0
- data/test/unit/indices/delete_test.rb +45 -0
- data/test/unit/indices/delete_warmer_test.rb +59 -0
- data/test/unit/indices/exists_alias_test.rb +65 -0
- data/test/unit/indices/exists_test.rb +57 -0
- data/test/unit/indices/exists_type_test.rb +59 -0
- data/test/unit/indices/flush_test.rb +45 -0
- data/test/unit/indices/get_alias_test.rb +41 -0
- data/test/unit/indices/get_aliases_test.rb +35 -0
- data/test/unit/indices/get_mapping_test.rb +53 -0
- data/test/unit/indices/get_settings_test.rb +35 -0
- data/test/unit/indices/get_template_test.rb +32 -0
- data/test/unit/indices/get_warmer_test.rb +41 -0
- data/test/unit/indices/open_test.rb +42 -0
- data/test/unit/indices/optimize_test.rb +45 -0
- data/test/unit/indices/put_alias_test.rb +47 -0
- data/test/unit/indices/put_mapping_test.rb +57 -0
- data/test/unit/indices/put_settings_test.rb +50 -0
- data/test/unit/indices/put_template_test.rb +48 -0
- data/test/unit/indices/put_warmer_test.rb +62 -0
- data/test/unit/indices/refresh_test.rb +55 -0
- data/test/unit/indices/segments_test.rb +55 -0
- data/test/unit/indices/snapshot_index_test.rb +55 -0
- data/test/unit/indices/stats_test.rb +76 -0
- data/test/unit/indices/status_test.rb +55 -0
- data/test/unit/indices/update_aliases_test.rb +42 -0
- data/test/unit/indices/validate_query_test.rb +75 -0
- data/test/unit/info_test.rb +26 -0
- data/test/unit/json_builders_test.rb +64 -0
- data/test/unit/mget_test.rb +70 -0
- data/test/unit/mlt_test.rb +80 -0
- data/test/unit/msearch_test.rb +120 -0
- data/test/unit/percolate_test.rb +49 -0
- data/test/unit/ping_test.rb +48 -0
- data/test/unit/scroll_test.rb +26 -0
- data/test/unit/search_test.rb +93 -0
- data/test/unit/suggest_test.rb +55 -0
- data/test/unit/update_document_test.rb +62 -0
- data/test/unit/utils_test.rb +118 -0
- metadata +498 -0
@@ -0,0 +1,55 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
module Elasticsearch
|
4
|
+
module Test
|
5
|
+
class IndicesSnapshotIndexTest < ::Test::Unit::TestCase
|
6
|
+
|
7
|
+
context "Indices: Snapshot index" do
|
8
|
+
subject { FakeClient.new }
|
9
|
+
|
10
|
+
should "perform correct request" do
|
11
|
+
subject.expects(:perform_request).with do |method, url, params, body|
|
12
|
+
assert_equal 'POST', method
|
13
|
+
assert_equal '_gateway/snapshot', url
|
14
|
+
assert_equal Hash.new, params
|
15
|
+
assert_nil body
|
16
|
+
true
|
17
|
+
end.returns(FakeResponse.new)
|
18
|
+
|
19
|
+
subject.indices.snapshot_index
|
20
|
+
end
|
21
|
+
|
22
|
+
should "perform request against an index" do
|
23
|
+
subject.expects(:perform_request).with do |method, url, params, body|
|
24
|
+
assert_equal 'foo/_gateway/snapshot', url
|
25
|
+
true
|
26
|
+
end.returns(FakeResponse.new)
|
27
|
+
|
28
|
+
subject.indices.snapshot_index :index => 'foo'
|
29
|
+
end
|
30
|
+
|
31
|
+
should "perform request against multiple indices" do
|
32
|
+
subject.expects(:perform_request).with do |method, url, params, body|
|
33
|
+
assert_equal 'foo,bar/_gateway/snapshot', url
|
34
|
+
true
|
35
|
+
end.returns(FakeResponse.new).twice
|
36
|
+
|
37
|
+
subject.indices.snapshot_index :index => ['foo','bar']
|
38
|
+
subject.indices.snapshot_index :index => 'foo,bar'
|
39
|
+
end
|
40
|
+
|
41
|
+
should "pass the URL parameters" do
|
42
|
+
subject.expects(:perform_request).with do |method, url, params, body|
|
43
|
+
assert_equal 'foo,bar/_gateway/snapshot', url
|
44
|
+
assert_equal 'missing', params[:ignore_indices]
|
45
|
+
true
|
46
|
+
end.returns(FakeResponse.new)
|
47
|
+
|
48
|
+
subject.indices.snapshot_index :index => ['foo','bar'], :ignore_indices => 'missing'
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
52
|
+
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,76 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
module Elasticsearch
|
4
|
+
module Test
|
5
|
+
class IndicesStatsTest < ::Test::Unit::TestCase
|
6
|
+
|
7
|
+
context "Indices: Stats" do
|
8
|
+
subject { FakeClient.new }
|
9
|
+
|
10
|
+
should "perform correct request" do
|
11
|
+
subject.expects(:perform_request).with do |method, url, params, body|
|
12
|
+
assert_equal 'GET', method
|
13
|
+
assert_equal '_stats', url
|
14
|
+
assert_equal Hash.new, params
|
15
|
+
assert_nil body
|
16
|
+
true
|
17
|
+
end.returns(FakeResponse.new)
|
18
|
+
|
19
|
+
subject.indices.stats
|
20
|
+
end
|
21
|
+
|
22
|
+
should "perform request against an index" do
|
23
|
+
subject.expects(:perform_request).with do |method, url, params, body|
|
24
|
+
assert_equal 'foo/_stats', url
|
25
|
+
true
|
26
|
+
end.returns(FakeResponse.new)
|
27
|
+
|
28
|
+
subject.indices.stats :index => 'foo'
|
29
|
+
end
|
30
|
+
|
31
|
+
should "perform request against multiple indices" do
|
32
|
+
subject.expects(:perform_request).with do |method, url, params, body|
|
33
|
+
assert_equal 'foo,bar/_stats', url
|
34
|
+
true
|
35
|
+
end.returns(FakeResponse.new).twice
|
36
|
+
|
37
|
+
subject.indices.stats :index => ['foo','bar']
|
38
|
+
subject.indices.stats :index => 'foo,bar'
|
39
|
+
end
|
40
|
+
|
41
|
+
should "pass the URL parameters" do
|
42
|
+
subject.expects(:perform_request).with do |method, url, params, body|
|
43
|
+
assert_equal 'foo/_stats', url
|
44
|
+
assert_equal true, params[:fielddata]
|
45
|
+
true
|
46
|
+
end.returns(FakeResponse.new)
|
47
|
+
|
48
|
+
subject.indices.stats :index => 'foo', :fielddata => true
|
49
|
+
end
|
50
|
+
|
51
|
+
should "pass the fields parameter as a list" do
|
52
|
+
subject.expects(:perform_request).with do |method, url, params, body|
|
53
|
+
assert_equal 'foo/_stats', url
|
54
|
+
assert_equal true, params[:fielddata]
|
55
|
+
assert_equal 'foo,bar', params[:fields]
|
56
|
+
true
|
57
|
+
end.returns(FakeResponse.new)
|
58
|
+
|
59
|
+
subject.indices.stats :index => 'foo', :fielddata => true, :fields => ['foo', 'bar']
|
60
|
+
end
|
61
|
+
|
62
|
+
should "pass the groups parameter as a list" do
|
63
|
+
subject.expects(:perform_request).with do |method, url, params, body|
|
64
|
+
assert_equal '_stats', url
|
65
|
+
assert_equal 'groupA,groupB', params[:groups]
|
66
|
+
true
|
67
|
+
end.returns(FakeResponse.new)
|
68
|
+
|
69
|
+
subject.indices.stats :search => true, :groups => ['groupA','groupB']
|
70
|
+
end
|
71
|
+
|
72
|
+
end
|
73
|
+
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
module Elasticsearch
|
4
|
+
module Test
|
5
|
+
class IndicesStatusTest < ::Test::Unit::TestCase
|
6
|
+
|
7
|
+
context "Indices: Status" do
|
8
|
+
subject { FakeClient.new }
|
9
|
+
|
10
|
+
should "perform correct request" do
|
11
|
+
subject.expects(:perform_request).with do |method, url, params, body|
|
12
|
+
assert_equal 'GET', method
|
13
|
+
assert_equal '_status', url
|
14
|
+
assert_equal Hash.new, params
|
15
|
+
assert_nil body
|
16
|
+
true
|
17
|
+
end.returns(FakeResponse.new)
|
18
|
+
|
19
|
+
subject.indices.status
|
20
|
+
end
|
21
|
+
|
22
|
+
should "perform request against an index" do
|
23
|
+
subject.expects(:perform_request).with do |method, url, params, body|
|
24
|
+
assert_equal 'foo/_status', url
|
25
|
+
true
|
26
|
+
end.returns(FakeResponse.new)
|
27
|
+
|
28
|
+
subject.indices.status :index => 'foo'
|
29
|
+
end
|
30
|
+
|
31
|
+
should "perform request against multiple indices" do
|
32
|
+
subject.expects(:perform_request).with do |method, url, params, body|
|
33
|
+
assert_equal 'foo,bar/_status', url
|
34
|
+
true
|
35
|
+
end.returns(FakeResponse.new).twice
|
36
|
+
|
37
|
+
subject.indices.status :index => ['foo','bar']
|
38
|
+
subject.indices.status :index => 'foo,bar'
|
39
|
+
end
|
40
|
+
|
41
|
+
should "pass the URL parameters" do
|
42
|
+
subject.expects(:perform_request).with do |method, url, params, body|
|
43
|
+
assert_equal 'foo/_status', url
|
44
|
+
assert_equal true, params[:recovery]
|
45
|
+
true
|
46
|
+
end.returns(FakeResponse.new)
|
47
|
+
|
48
|
+
subject.indices.status :index => 'foo', :recovery => true
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
52
|
+
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
module Elasticsearch
|
4
|
+
module Test
|
5
|
+
class IndicesPutAliasesTest < ::Test::Unit::TestCase
|
6
|
+
|
7
|
+
context "Indices: Update aliases" do
|
8
|
+
subject { FakeClient.new }
|
9
|
+
|
10
|
+
should "require the :body argument" do
|
11
|
+
assert_raise ArgumentError do
|
12
|
+
subject.indices.update_aliases
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
should "perform correct request" do
|
17
|
+
subject.expects(:perform_request).with do |method, url, params, body|
|
18
|
+
assert_equal 'POST', method
|
19
|
+
assert_equal '_aliases', url
|
20
|
+
assert_equal Hash.new, params
|
21
|
+
assert_equal [], body[:actions]
|
22
|
+
true
|
23
|
+
end.returns(FakeResponse.new)
|
24
|
+
|
25
|
+
subject.indices.update_aliases :body => { :actions => [] }
|
26
|
+
end
|
27
|
+
|
28
|
+
should "pass the URL parameters" do
|
29
|
+
subject.expects(:perform_request).with do |method, url, params, body|
|
30
|
+
assert_equal '_aliases', url
|
31
|
+
assert_equal '1s', params[:timeout]
|
32
|
+
true
|
33
|
+
end.returns(FakeResponse.new)
|
34
|
+
|
35
|
+
subject.indices.update_aliases :body => {}, :timeout => '1s'
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,75 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
module Elasticsearch
|
4
|
+
module Test
|
5
|
+
class IndicesValidateQueryTest < ::Test::Unit::TestCase
|
6
|
+
|
7
|
+
context "Indices: Validate query" do
|
8
|
+
subject { FakeClient.new }
|
9
|
+
|
10
|
+
should "perform correct request" do
|
11
|
+
subject.expects(:perform_request).with do |method, url, params, body|
|
12
|
+
assert_equal 'GET', method
|
13
|
+
assert_equal '_validate/query', url
|
14
|
+
assert_equal Hash.new, params
|
15
|
+
assert_nil body
|
16
|
+
true
|
17
|
+
end.returns(FakeResponse.new)
|
18
|
+
|
19
|
+
subject.indices.validate_query
|
20
|
+
end
|
21
|
+
|
22
|
+
should "perform request against an index" do
|
23
|
+
subject.expects(:perform_request).with do |method, url, params, body|
|
24
|
+
assert_equal 'foo/_validate/query', url
|
25
|
+
true
|
26
|
+
end.returns(FakeResponse.new)
|
27
|
+
|
28
|
+
subject.indices.validate_query :index => 'foo'
|
29
|
+
end
|
30
|
+
|
31
|
+
should "perform request against an index and type" do
|
32
|
+
subject.expects(:perform_request).with do |method, url, params, body|
|
33
|
+
assert_equal 'foo/bar/_validate/query', url
|
34
|
+
true
|
35
|
+
end.returns(FakeResponse.new)
|
36
|
+
|
37
|
+
subject.indices.validate_query :index => 'foo', :type => 'bar'
|
38
|
+
end
|
39
|
+
|
40
|
+
should "perform request against multiple indices" do
|
41
|
+
subject.expects(:perform_request).with do |method, url, params, body|
|
42
|
+
assert_equal 'foo,bar/_validate/query', url
|
43
|
+
true
|
44
|
+
end.returns(FakeResponse.new).twice
|
45
|
+
|
46
|
+
subject.indices.validate_query :index => ['foo', 'bar']
|
47
|
+
subject.indices.validate_query :index => 'foo,bar'
|
48
|
+
end
|
49
|
+
|
50
|
+
should "pass the URL parameters" do
|
51
|
+
subject.expects(:perform_request).with do |method, url, params, body|
|
52
|
+
assert_equal '_validate/query', url
|
53
|
+
assert_equal true, params[:explain]
|
54
|
+
assert_equal 'foo', params[:q]
|
55
|
+
true
|
56
|
+
end.returns(FakeResponse.new)
|
57
|
+
|
58
|
+
subject.indices.validate_query :explain => true, :q => 'foo'
|
59
|
+
end
|
60
|
+
|
61
|
+
should "pass the query definition in body" do
|
62
|
+
subject.expects(:perform_request).with do |method, url, params, body|
|
63
|
+
assert_equal '_validate/query', url
|
64
|
+
assert_equal Hash.new, body[:filtered]
|
65
|
+
true
|
66
|
+
end.returns(FakeResponse.new)
|
67
|
+
|
68
|
+
subject.indices.validate_query :body => { :filtered => {} }
|
69
|
+
end
|
70
|
+
|
71
|
+
end
|
72
|
+
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
module Elasticsearch
|
4
|
+
module Test
|
5
|
+
class InfoTest < ::Test::Unit::TestCase
|
6
|
+
|
7
|
+
context "Info" do
|
8
|
+
subject { FakeClient.new }
|
9
|
+
|
10
|
+
should "perform correct request" do
|
11
|
+
subject.expects(:perform_request).with do |method, url, params, body|
|
12
|
+
assert_equal 'GET', method
|
13
|
+
assert_equal '', url
|
14
|
+
assert_equal Hash.new, params
|
15
|
+
assert_nil body
|
16
|
+
true
|
17
|
+
end.returns(FakeResponse.new)
|
18
|
+
|
19
|
+
subject.info
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
require 'jbuilder'
|
4
|
+
require 'jsonify'
|
5
|
+
|
6
|
+
module Elasticsearch
|
7
|
+
module Test
|
8
|
+
class JsonBuildersTest < ::Test::Unit::TestCase
|
9
|
+
|
10
|
+
context "JBuilder" do
|
11
|
+
subject { FakeClient.new }
|
12
|
+
|
13
|
+
should "build a JSON" do
|
14
|
+
subject.expects(:perform_request).with do |method, url, params, body|
|
15
|
+
json = MultiJson.load(body)
|
16
|
+
|
17
|
+
assert_instance_of String, body
|
18
|
+
assert_equal 'test', json['query']['match']['title']['query']
|
19
|
+
true
|
20
|
+
end.returns(FakeResponse.new)
|
21
|
+
|
22
|
+
json = Jbuilder.encode do |json|
|
23
|
+
json.query do
|
24
|
+
json.match do
|
25
|
+
json.title do
|
26
|
+
json.query 'test'
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
subject.search :body => json
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
context "Jsonify" do
|
37
|
+
subject { FakeClient.new }
|
38
|
+
|
39
|
+
should "build a JSON" do
|
40
|
+
subject.expects(:perform_request).with do |method, url, params, body|
|
41
|
+
json = MultiJson.load(body)
|
42
|
+
|
43
|
+
assert_instance_of String, body
|
44
|
+
assert_equal 'test', json['query']['match']['title']['query']
|
45
|
+
true
|
46
|
+
end.returns(FakeResponse.new)
|
47
|
+
|
48
|
+
json = Jsonify::Builder.compile do |json|
|
49
|
+
json.query do
|
50
|
+
json.match do
|
51
|
+
json.title do
|
52
|
+
json.query 'test'
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
subject.search :body => json
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
module Elasticsearch
|
4
|
+
module Test
|
5
|
+
class MgetTest < ::Test::Unit::TestCase
|
6
|
+
|
7
|
+
context "Mget" do
|
8
|
+
subject { FakeClient.new }
|
9
|
+
|
10
|
+
should "require the :body argument" do
|
11
|
+
assert_raise ArgumentError do
|
12
|
+
subject.mget
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
should "perform correct request" do
|
17
|
+
subject.expects(:perform_request).with do |method, url, params, body|
|
18
|
+
assert_equal 'GET', method
|
19
|
+
assert_equal '_mget', url
|
20
|
+
assert_equal Hash.new, params
|
21
|
+
assert_equal [], body[:docs]
|
22
|
+
true
|
23
|
+
end.returns(FakeResponse.new)
|
24
|
+
|
25
|
+
subject.mget :body => { :docs => [] }
|
26
|
+
end
|
27
|
+
|
28
|
+
should "perform request against an index" do
|
29
|
+
subject.expects(:perform_request).with do |method, url, params, body|
|
30
|
+
assert_equal 'foo/_mget', url
|
31
|
+
true
|
32
|
+
end.returns(FakeResponse.new)
|
33
|
+
|
34
|
+
subject.mget :index => 'foo', :body => {}
|
35
|
+
end
|
36
|
+
|
37
|
+
should "perform request against an index and type" do
|
38
|
+
subject.expects(:perform_request).with do |method, url, params, body|
|
39
|
+
assert_equal 'foo/bar/_mget', url
|
40
|
+
assert_equal ['1', '2'], body[:ids]
|
41
|
+
true
|
42
|
+
end.returns(FakeResponse.new)
|
43
|
+
|
44
|
+
subject.mget :index => 'foo', :type => 'bar', :body => { :ids => ['1','2'] }
|
45
|
+
end
|
46
|
+
|
47
|
+
should "pass the URL parameters" do
|
48
|
+
subject.expects(:perform_request).with do |method, url, params, body|
|
49
|
+
assert_equal '_mget', url
|
50
|
+
assert_equal true, params[:refresh]
|
51
|
+
true
|
52
|
+
end.returns(FakeResponse.new)
|
53
|
+
|
54
|
+
subject.mget :body => {}, :refresh => true
|
55
|
+
end
|
56
|
+
|
57
|
+
should "pass the fields parameter as a list" do
|
58
|
+
subject.expects(:perform_request).with do |method, url, params, body|
|
59
|
+
assert_equal 'foo,bar', params[:fields]
|
60
|
+
true
|
61
|
+
end.returns(FakeResponse.new)
|
62
|
+
|
63
|
+
subject.mget :body => {}, :fields => ['foo', 'bar']
|
64
|
+
end
|
65
|
+
|
66
|
+
end
|
67
|
+
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|