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.
Files changed (145) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +13 -0
  5. data/README.md +160 -0
  6. data/Rakefile +62 -0
  7. data/elasticsearch-api.gemspec +51 -0
  8. data/lib/elasticsearch-api +1 -0
  9. data/lib/elasticsearch/api.rb +23 -0
  10. data/lib/elasticsearch/api/actions/bulk.rb +71 -0
  11. data/lib/elasticsearch/api/actions/cluster/get_settings.rb +21 -0
  12. data/lib/elasticsearch/api/actions/cluster/health.rb +50 -0
  13. data/lib/elasticsearch/api/actions/cluster/node_hot_threads.rb +46 -0
  14. data/lib/elasticsearch/api/actions/cluster/node_info.rb +59 -0
  15. data/lib/elasticsearch/api/actions/cluster/node_shutdown.rb +36 -0
  16. data/lib/elasticsearch/api/actions/cluster/node_stats.rb +77 -0
  17. data/lib/elasticsearch/api/actions/cluster/put_settings.rb +28 -0
  18. data/lib/elasticsearch/api/actions/cluster/reroute.rb +44 -0
  19. data/lib/elasticsearch/api/actions/cluster/state.rb +47 -0
  20. data/lib/elasticsearch/api/actions/count.rb +46 -0
  21. data/lib/elasticsearch/api/actions/create.rb +34 -0
  22. data/lib/elasticsearch/api/actions/delete.rb +61 -0
  23. data/lib/elasticsearch/api/actions/delete_by_query.rb +62 -0
  24. data/lib/elasticsearch/api/actions/exists.rb +51 -0
  25. data/lib/elasticsearch/api/actions/explain.rb +71 -0
  26. data/lib/elasticsearch/api/actions/get.rb +59 -0
  27. data/lib/elasticsearch/api/actions/get_source.rb +59 -0
  28. data/lib/elasticsearch/api/actions/index.rb +81 -0
  29. data/lib/elasticsearch/api/actions/indices/analyze.rb +63 -0
  30. data/lib/elasticsearch/api/actions/indices/clear_cache.rb +69 -0
  31. data/lib/elasticsearch/api/actions/indices/close.rb +35 -0
  32. data/lib/elasticsearch/api/actions/indices/create.rb +83 -0
  33. data/lib/elasticsearch/api/actions/indices/delete.rb +48 -0
  34. data/lib/elasticsearch/api/actions/indices/delete_alias.rb +37 -0
  35. data/lib/elasticsearch/api/actions/indices/delete_mapping.rb +26 -0
  36. data/lib/elasticsearch/api/actions/indices/delete_template.rb +33 -0
  37. data/lib/elasticsearch/api/actions/indices/delete_warmer.rb +32 -0
  38. data/lib/elasticsearch/api/actions/indices/exists.rb +35 -0
  39. data/lib/elasticsearch/api/actions/indices/exists_alias.rb +41 -0
  40. data/lib/elasticsearch/api/actions/indices/exists_type.rb +39 -0
  41. data/lib/elasticsearch/api/actions/indices/flush.rb +40 -0
  42. data/lib/elasticsearch/api/actions/indices/get_alias.rb +41 -0
  43. data/lib/elasticsearch/api/actions/indices/get_aliases.rb +32 -0
  44. data/lib/elasticsearch/api/actions/indices/get_mapping.rb +36 -0
  45. data/lib/elasticsearch/api/actions/indices/get_settings.rb +32 -0
  46. data/lib/elasticsearch/api/actions/indices/get_template.rb +30 -0
  47. data/lib/elasticsearch/api/actions/indices/get_warmer.rb +44 -0
  48. data/lib/elasticsearch/api/actions/indices/open.rb +33 -0
  49. data/lib/elasticsearch/api/actions/indices/optimize.rb +57 -0
  50. data/lib/elasticsearch/api/actions/indices/put_alias.rb +43 -0
  51. data/lib/elasticsearch/api/actions/indices/put_mapping.rb +49 -0
  52. data/lib/elasticsearch/api/actions/indices/put_settings.rb +45 -0
  53. data/lib/elasticsearch/api/actions/indices/put_template.rb +40 -0
  54. data/lib/elasticsearch/api/actions/indices/put_warmer.rb +48 -0
  55. data/lib/elasticsearch/api/actions/indices/refresh.rb +43 -0
  56. data/lib/elasticsearch/api/actions/indices/segments.rb +33 -0
  57. data/lib/elasticsearch/api/actions/indices/snapshot_index.rb +32 -0
  58. data/lib/elasticsearch/api/actions/indices/stats.rb +96 -0
  59. data/lib/elasticsearch/api/actions/indices/status.rb +46 -0
  60. data/lib/elasticsearch/api/actions/indices/update_aliases.rb +49 -0
  61. data/lib/elasticsearch/api/actions/indices/validate_query.rb +68 -0
  62. data/lib/elasticsearch/api/actions/info.rb +19 -0
  63. data/lib/elasticsearch/api/actions/mget.rb +64 -0
  64. data/lib/elasticsearch/api/actions/mlt.rb +86 -0
  65. data/lib/elasticsearch/api/actions/msearch.rb +75 -0
  66. data/lib/elasticsearch/api/actions/percolate.rb +57 -0
  67. data/lib/elasticsearch/api/actions/ping.rb +29 -0
  68. data/lib/elasticsearch/api/actions/scroll.rb +44 -0
  69. data/lib/elasticsearch/api/actions/search.rb +145 -0
  70. data/lib/elasticsearch/api/actions/suggest.rb +46 -0
  71. data/lib/elasticsearch/api/actions/update.rb +103 -0
  72. data/lib/elasticsearch/api/namespace/cluster.rb +20 -0
  73. data/lib/elasticsearch/api/namespace/common.rb +27 -0
  74. data/lib/elasticsearch/api/namespace/indices.rb +20 -0
  75. data/lib/elasticsearch/api/utils.rb +97 -0
  76. data/lib/elasticsearch/api/version.rb +5 -0
  77. data/test/integration/yaml_test_runner.rb +330 -0
  78. data/test/test_helper.rb +52 -0
  79. data/test/unit/bulk_test.rb +85 -0
  80. data/test/unit/client_test.rb +31 -0
  81. data/test/unit/cluster/get_settings_test.rb +26 -0
  82. data/test/unit/cluster/health_test.rb +38 -0
  83. data/test/unit/cluster/node_hot_threads_test.rb +35 -0
  84. data/test/unit/cluster/node_info_test.rb +45 -0
  85. data/test/unit/cluster/node_shutdown_test.rb +45 -0
  86. data/test/unit/cluster/node_stats_test.rb +65 -0
  87. data/test/unit/cluster/put_settings_test.rb +26 -0
  88. data/test/unit/cluster/reroute_test.rb +38 -0
  89. data/test/unit/cluster/state_test.rb +37 -0
  90. data/test/unit/count_test.rb +46 -0
  91. data/test/unit/create_document_test.rb +38 -0
  92. data/test/unit/delete_by_query_test.rb +42 -0
  93. data/test/unit/delete_document_test.rb +62 -0
  94. data/test/unit/exists_document_test.rb +76 -0
  95. data/test/unit/explain_document_test.rb +64 -0
  96. data/test/unit/get_document_source_test.rb +62 -0
  97. data/test/unit/get_document_test.rb +62 -0
  98. data/test/unit/hashie_test.rb +78 -0
  99. data/test/unit/index_document_test.rb +77 -0
  100. data/test/unit/indices/analyze_test.rb +67 -0
  101. data/test/unit/indices/clear_cache_test.rb +45 -0
  102. data/test/unit/indices/close_test.rb +42 -0
  103. data/test/unit/indices/create_test.rb +42 -0
  104. data/test/unit/indices/delete_alias_test.rb +38 -0
  105. data/test/unit/indices/delete_mapping_test.rb +47 -0
  106. data/test/unit/indices/delete_template_test.rb +26 -0
  107. data/test/unit/indices/delete_test.rb +45 -0
  108. data/test/unit/indices/delete_warmer_test.rb +59 -0
  109. data/test/unit/indices/exists_alias_test.rb +65 -0
  110. data/test/unit/indices/exists_test.rb +57 -0
  111. data/test/unit/indices/exists_type_test.rb +59 -0
  112. data/test/unit/indices/flush_test.rb +45 -0
  113. data/test/unit/indices/get_alias_test.rb +41 -0
  114. data/test/unit/indices/get_aliases_test.rb +35 -0
  115. data/test/unit/indices/get_mapping_test.rb +53 -0
  116. data/test/unit/indices/get_settings_test.rb +35 -0
  117. data/test/unit/indices/get_template_test.rb +32 -0
  118. data/test/unit/indices/get_warmer_test.rb +41 -0
  119. data/test/unit/indices/open_test.rb +42 -0
  120. data/test/unit/indices/optimize_test.rb +45 -0
  121. data/test/unit/indices/put_alias_test.rb +47 -0
  122. data/test/unit/indices/put_mapping_test.rb +57 -0
  123. data/test/unit/indices/put_settings_test.rb +50 -0
  124. data/test/unit/indices/put_template_test.rb +48 -0
  125. data/test/unit/indices/put_warmer_test.rb +62 -0
  126. data/test/unit/indices/refresh_test.rb +55 -0
  127. data/test/unit/indices/segments_test.rb +55 -0
  128. data/test/unit/indices/snapshot_index_test.rb +55 -0
  129. data/test/unit/indices/stats_test.rb +76 -0
  130. data/test/unit/indices/status_test.rb +55 -0
  131. data/test/unit/indices/update_aliases_test.rb +42 -0
  132. data/test/unit/indices/validate_query_test.rb +75 -0
  133. data/test/unit/info_test.rb +26 -0
  134. data/test/unit/json_builders_test.rb +64 -0
  135. data/test/unit/mget_test.rb +70 -0
  136. data/test/unit/mlt_test.rb +80 -0
  137. data/test/unit/msearch_test.rb +120 -0
  138. data/test/unit/percolate_test.rb +49 -0
  139. data/test/unit/ping_test.rb +48 -0
  140. data/test/unit/scroll_test.rb +26 -0
  141. data/test/unit/search_test.rb +93 -0
  142. data/test/unit/suggest_test.rb +55 -0
  143. data/test/unit/update_document_test.rb +62 -0
  144. data/test/unit/utils_test.rb +118 -0
  145. metadata +498 -0
@@ -0,0 +1,42 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ class IndicesOpenTest < ::Test::Unit::TestCase
6
+
7
+ context "Indices: Open" do
8
+ subject { FakeClient.new }
9
+
10
+ should "require the :index argument" do
11
+ assert_raise ArgumentError do
12
+ subject.indices.open
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 'foo/_open', url
20
+ assert_equal Hash.new, params
21
+ assert_nil body
22
+ true
23
+ end.returns(FakeResponse.new)
24
+
25
+ subject.indices.open :index => 'foo'
26
+ end
27
+
28
+ should "pass the URL parameters" do
29
+ subject.expects(:perform_request).with do |method, url, params, body|
30
+ assert_equal 'foo/_open', url
31
+ assert_equal '1s', params[:timeout]
32
+ true
33
+ end.returns(FakeResponse.new)
34
+
35
+ subject.indices.open :index => 'foo', :timeout => '1s'
36
+ end
37
+
38
+ end
39
+
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,45 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ class IndicesOptimizeTest < ::Test::Unit::TestCase
6
+
7
+ context "Indices: Optimize" 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 '_optimize', url
14
+ assert_equal Hash.new, params
15
+ assert_nil body
16
+ true
17
+ end.returns(FakeResponse.new)
18
+
19
+ subject.indices.optimize
20
+ end
21
+
22
+ should "perform request against multiple indices" do
23
+ subject.expects(:perform_request).with do |method, url, params, body|
24
+ assert_equal 'foo,bar/_optimize', url
25
+ true
26
+ end.returns(FakeResponse.new)
27
+
28
+ subject.indices.optimize :index => ['foo','bar']
29
+ end
30
+
31
+ should "pass the URL parameters" do
32
+ subject.expects(:perform_request).with do |method, url, params, body|
33
+ assert_equal 'foo/_optimize', url
34
+ assert_equal 1, params[:max_num_segments]
35
+ true
36
+ end.returns(FakeResponse.new)
37
+
38
+ subject.indices.optimize :index => 'foo', :max_num_segments => 1
39
+ end
40
+
41
+ end
42
+
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,47 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ class IndicesPutAliasTest < ::Test::Unit::TestCase
6
+
7
+ context "Indices: Put alias" do
8
+ subject { FakeClient.new }
9
+
10
+ should "require the :index argument" do
11
+ assert_raise ArgumentError do
12
+ subject.indices.put_alias :name => 'bar'
13
+ end
14
+ end
15
+
16
+ should "require the :name argument" do
17
+ assert_raise ArgumentError do
18
+ subject.indices.put_alias :index => 'foo'
19
+ end
20
+ end
21
+
22
+ should "perform correct request" do
23
+ subject.expects(:perform_request).with do |method, url, params, body|
24
+ assert_equal 'PUT', method
25
+ assert_equal 'foo/_alias/bar', url
26
+ assert_equal Hash.new, params
27
+ assert_nil body
28
+ true
29
+ end.returns(FakeResponse.new)
30
+
31
+ subject.indices.put_alias :index => 'foo', :name => 'bar'
32
+ end
33
+
34
+ should "send the alias settings in :body" do
35
+ subject.expects(:perform_request).with do |method, url, params, body|
36
+ assert_equal 'foo', body[:filter]
37
+ true
38
+ end.returns(FakeResponse.new)
39
+
40
+ subject.indices.put_alias :index => 'foo', :name => 'bar', :body => { :filter => 'foo' }
41
+ end
42
+
43
+ end
44
+
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,57 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ class IndicesPutMappingTest < ::Test::Unit::TestCase
6
+
7
+ context "Indices: Put mapping" do
8
+ subject { FakeClient.new }
9
+
10
+ should "require the :index argument" do
11
+ assert_raise ArgumentError do
12
+ subject.indices.put_mapping :type => 'bar'
13
+ end
14
+ end
15
+
16
+ should "require the :type argument" do
17
+ assert_raise ArgumentError do
18
+ subject.indices.put_mapping :index => 'foo'
19
+ end
20
+ end
21
+
22
+ should "perform correct request" do
23
+ subject.expects(:perform_request).with do |method, url, params, body|
24
+ assert_equal 'PUT', method
25
+ assert_equal 'foo/bar/_mapping', url
26
+ assert_equal Hash.new, params
27
+ assert_equal({ :foo => {} }, body)
28
+ true
29
+ end.returns(FakeResponse.new)
30
+
31
+ subject.indices.put_mapping :index => 'foo', :type => 'bar', :body => { :foo => {} }
32
+ end
33
+
34
+ should "perform request against multiple indices" do
35
+ subject.expects(:perform_request).with do |method, url, params, body|
36
+ assert_equal 'foo,bar/bam/_mapping', url
37
+ true
38
+ end.returns(FakeResponse.new)
39
+
40
+ subject.indices.put_mapping :index => ['foo','bar'], :type => 'bam', :body => {}
41
+ end
42
+
43
+ should "pass the URL parameters" do
44
+ subject.expects(:perform_request).with do |method, url, params, body|
45
+ assert_equal 'foo/bar/_mapping', url
46
+ assert_equal true, params[:ignore_conflicts]
47
+ true
48
+ end.returns(FakeResponse.new)
49
+
50
+ subject.indices.put_mapping :index => 'foo', :type => 'bar', :body => {}, :ignore_conflicts => true
51
+ end
52
+
53
+ end
54
+
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,50 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ class IndicesPutSettingsTest < ::Test::Unit::TestCase
6
+
7
+ context "Indices: Put settings" do
8
+ subject { FakeClient.new }
9
+
10
+ should "require the :body argument" do
11
+ assert_raise ArgumentError do
12
+ subject.indices.put_settings
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 'PUT', method
19
+ assert_equal '_settings', url
20
+ assert_equal Hash.new, params
21
+ assert_equal Hash.new, body
22
+ true
23
+ end.returns(FakeResponse.new)
24
+
25
+ subject.indices.put_settings :body => {}
26
+ end
27
+
28
+ should "perform request against a specific indices" do
29
+ subject.expects(:perform_request).with do |method, url, params, body|
30
+ assert_equal 'foo/_settings', url
31
+ true
32
+ end.returns(FakeResponse.new)
33
+
34
+ subject.indices.put_settings :index => 'foo', :body => {}
35
+ end
36
+
37
+ should "perform request against multiple indices" do
38
+ subject.expects(:perform_request).with do |method, url, params, body|
39
+ assert_equal 'foo,bar/_settings', url
40
+ true
41
+ end.returns(FakeResponse.new)
42
+
43
+ subject.indices.put_settings :index => ['foo','bar'], :body => {}
44
+ end
45
+
46
+ end
47
+
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,48 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ class IndicesPutTemplateTest < ::Test::Unit::TestCase
6
+
7
+ context "Indices: Put template" do
8
+ subject { FakeClient.new }
9
+
10
+ should "require the :name argument" do
11
+ assert_raise ArgumentError do
12
+ subject.indices.put_template :body => {}
13
+ end
14
+ end
15
+
16
+ should "require the :body argument" do
17
+ assert_raise ArgumentError do
18
+ subject.indices.put_template :name => 'foo'
19
+ end
20
+ end
21
+
22
+ should "perform correct request" do
23
+ subject.expects(:perform_request).with do |method, url, params, body|
24
+ assert_equal 'PUT', method
25
+ assert_equal '_template/foo', url
26
+ assert_equal Hash.new, params
27
+ assert_equal 'bar', body[:template]
28
+ true
29
+ end.returns(FakeResponse.new)
30
+
31
+ subject.indices.put_template :name => 'foo', :body => { :template => 'bar' }
32
+ end
33
+
34
+ should "pass the URL parameters" do
35
+ subject.expects(:perform_request).with do |method, url, params, body|
36
+ assert_equal '_template/foo', url
37
+ assert_equal 3, params[:order]
38
+ true
39
+ end.returns(FakeResponse.new)
40
+
41
+ subject.indices.put_template :name => 'foo', :body => {}, :order => 3
42
+ end
43
+
44
+ end
45
+
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,62 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ class IndicesPutWarmerTest < ::Test::Unit::TestCase
6
+
7
+ context "Indices: Put warmer" do
8
+ subject { FakeClient.new }
9
+
10
+ should "require the :index argument" do
11
+ assert_raise ArgumentError do
12
+ subject.indices.put_warmer :name => 'foo', :body => {}
13
+ end
14
+ end
15
+
16
+ should "require the :name argument" do
17
+ assert_raise ArgumentError do
18
+ subject.indices.put_warmer :index => 'foo', :body => {}
19
+ end
20
+ end
21
+
22
+ should "require the :body argument" do
23
+ assert_raise ArgumentError do
24
+ subject.indices.put_warmer :index => 'foo', :name => 'bar'
25
+ end
26
+ end
27
+
28
+ should "perform correct request" do
29
+ subject.expects(:perform_request).with do |method, url, params, body|
30
+ assert_equal 'PUT', method
31
+ assert_equal 'foo/_warmer/bar', url
32
+ assert_equal Hash.new, params
33
+ assert_equal :match_all, body[:query].keys.first
34
+ true
35
+ end.returns(FakeResponse.new)
36
+
37
+ subject.indices.put_warmer :index => 'foo', :name => 'bar', :body => { :query => { :match_all => {} } }
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/_warmer/xul', url
43
+ true
44
+ end.returns(FakeResponse.new)
45
+
46
+ subject.indices.put_warmer :index => ['foo','bar'], :name => 'xul', :body => {}
47
+ end
48
+
49
+ should "perform request against an index and type" do
50
+ subject.expects(:perform_request).with do |method, url, params, body|
51
+ assert_equal 'foo/bar/_warmer/xul', url
52
+ true
53
+ end.returns(FakeResponse.new)
54
+
55
+ subject.indices.put_warmer :index => 'foo', :type => 'bar', :name => 'xul', :body => {}
56
+ end
57
+
58
+ end
59
+
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,55 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ class IndicesRefreshTest < ::Test::Unit::TestCase
6
+
7
+ context "Indices: Refresh" 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 '_refresh', url
14
+ assert_equal Hash.new, params
15
+ assert_nil body
16
+ true
17
+ end.returns(FakeResponse.new)
18
+
19
+ subject.indices.refresh
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/_refresh', url
25
+ true
26
+ end.returns(FakeResponse.new)
27
+
28
+ subject.indices.refresh :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/_refresh', url
34
+ true
35
+ end.returns(FakeResponse.new).twice
36
+
37
+ subject.indices.refresh :index => ['foo','bar']
38
+ subject.indices.refresh :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/_refresh', url
44
+ assert_equal 'missing', params[:ignore_indices]
45
+ true
46
+ end.returns(FakeResponse.new)
47
+
48
+ subject.indices.refresh :index => ['foo','bar'], :ignore_indices => 'missing'
49
+ end
50
+
51
+ end
52
+
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,55 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ class IndicesSegmentsTest < ::Test::Unit::TestCase
6
+
7
+ context "Indices: Segments" 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 '_segments', url
14
+ assert_equal Hash.new, params
15
+ assert_nil body
16
+ true
17
+ end.returns(FakeResponse.new)
18
+
19
+ subject.indices.segments
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/_segments', url
25
+ true
26
+ end.returns(FakeResponse.new)
27
+
28
+ subject.indices.segments :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/_segments', url
34
+ true
35
+ end.returns(FakeResponse.new).twice
36
+
37
+ subject.indices.segments :index => ['foo','bar']
38
+ subject.indices.segments :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/_segments', url
44
+ assert_equal 'missing', params[:ignore_indices]
45
+ true
46
+ end.returns(FakeResponse.new)
47
+
48
+ subject.indices.segments :index => ['foo','bar'], :ignore_indices => 'missing'
49
+ end
50
+
51
+ end
52
+
53
+ end
54
+ end
55
+ end