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,65 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ class IndicesExistsAliasTest < ::Test::Unit::TestCase
6
+
7
+ context "Indices: Exists alias" do
8
+ subject { FakeClient.new }
9
+
10
+ should "require the :name argument" do
11
+ assert_raise ArgumentError do
12
+ subject.indices.delete_mapping
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 'HEAD', method
19
+ assert_equal '_alias/foo', url
20
+ assert_equal Hash.new, params
21
+ assert_nil body
22
+ true
23
+ end.returns(FakeResponse.new)
24
+
25
+ subject.indices.exists_alias :name => 'foo'
26
+ end
27
+
28
+ should "perform request against multiple indices" do
29
+ subject.expects(:perform_request).with do |method, url, params, body|
30
+ assert_equal 'foo,bar/_alias/bam', url
31
+ true
32
+ end.returns(FakeResponse.new)
33
+
34
+ subject.indices.exists_alias :index => ['foo','bar'], :name => 'bam'
35
+ end
36
+
37
+ should "return true for successful response" do
38
+ subject.expects(:perform_request).returns(FakeResponse.new 200, 'OK')
39
+ assert_equal true, subject.indices.exists_alias(:name => 'foo')
40
+ end
41
+
42
+ should "return false for 404 response" do
43
+ subject.expects(:perform_request).returns(FakeResponse.new 404, 'Not Found')
44
+ assert_equal false, subject.indices.exists_alias(:name => 'none')
45
+ end
46
+
47
+ should "return false on 'not found' exceptions" do
48
+ subject.expects(:perform_request).raises(StandardError.new '404 NotFound')
49
+ assert_nothing_raised do
50
+ assert_equal false, subject.indices.exists_alias(:name => 'none')
51
+ end
52
+ end
53
+
54
+ should "re-raise generic exceptions" do
55
+ subject.expects(:perform_request).raises(StandardError)
56
+ assert_raise(StandardError) do
57
+ assert_equal false, subject.indices.exists_alias(:name => 'none')
58
+ end
59
+ end
60
+
61
+ end
62
+
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,57 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ class IndicesExistsTest < ::Test::Unit::TestCase
6
+
7
+ context "Indices: Exists" 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 'HEAD', method
13
+ assert_equal 'foo', url
14
+ assert_equal Hash.new, params
15
+ assert_nil body
16
+ true
17
+ end.returns(FakeResponse.new)
18
+
19
+ subject.indices.exists(:index => 'foo')
20
+ end
21
+
22
+ should "perform the request against multiple indices" do
23
+ subject.expects(:perform_request).with do |method, url, params, body|
24
+ assert_equal 'foo,bar', url
25
+ true
26
+ end.returns(FakeResponse.new)
27
+
28
+ subject.indices.exists(:index => ['foo', 'bar'])
29
+ end
30
+
31
+ should "return true for successful response" do
32
+ subject.expects(:perform_request).returns(FakeResponse.new 200, 'OK')
33
+ assert_equal true, subject.indices.exists(:index => 'foo')
34
+ end
35
+
36
+ should "return false for 404 response" do
37
+ subject.expects(:perform_request).returns(FakeResponse.new 404, 'Not Found')
38
+ assert_equal false, subject.indices.exists(:index => 'none')
39
+ end
40
+
41
+ should "return false on 'not found' exceptions" do
42
+ subject.expects(:perform_request).raises(StandardError.new '404 NotFound')
43
+ assert_equal false, subject.indices.exists(:index => 'none')
44
+ end
45
+
46
+ should "re-raise generic exceptions" do
47
+ subject.expects(:perform_request).raises(StandardError)
48
+ assert_raise(StandardError) do
49
+ assert_equal false, subject.indices.exists(:index => 'none')
50
+ end
51
+ end
52
+
53
+ end
54
+
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,59 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ class IndicesExistsTypeTest < ::Test::Unit::TestCase
6
+
7
+ context "Indices: Exists type" 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 'HEAD', method
13
+ assert_equal 'foo/bar', url
14
+ assert_equal Hash.new, params
15
+ assert_nil body
16
+ true
17
+ end.returns(FakeResponse.new)
18
+
19
+ subject.indices.exists_type :index => 'foo', :type => 'bar'
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/bam', url
25
+ true
26
+ end.returns(FakeResponse.new)
27
+
28
+ subject.indices.exists_type :index => ['foo','bar'], :type => 'bam'
29
+ end
30
+
31
+ should "return true for successful response" do
32
+ subject.expects(:perform_request).returns(FakeResponse.new 200, 'OK')
33
+ assert_equal true, subject.indices.exists_type(:index => 'foo', :type => 'bar')
34
+ end
35
+
36
+ should "return false for 404 response" do
37
+ subject.expects(:perform_request).returns(FakeResponse.new 404, 'Not Found')
38
+ assert_equal false, subject.indices.exists_type(:index => 'foo', :type => 'none')
39
+ end
40
+
41
+ should "return false on 'not found' exceptions" do
42
+ subject.expects(:perform_request).raises(StandardError.new '404 NotFound')
43
+ assert_nothing_raised do
44
+ assert_equal false, subject.indices.exists_type(:index => 'foo', :type => 'none')
45
+ end
46
+ end
47
+
48
+ should "re-raise generic exceptions" do
49
+ subject.expects(:perform_request).raises(StandardError)
50
+ assert_raise(StandardError) do
51
+ assert_equal false, subject.indices.exists_type(:index => 'foo', :type => 'none')
52
+ end
53
+ end
54
+
55
+ end
56
+
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,45 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ class IndicesFlushTest < ::Test::Unit::TestCase
6
+
7
+ context "Indices: Flush" 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 '_flush', url
14
+ assert_equal Hash.new, params
15
+ assert_nil body
16
+ true
17
+ end.returns(FakeResponse.new)
18
+
19
+ subject.indices.flush
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/_flush', url
25
+ true
26
+ end.returns(FakeResponse.new)
27
+
28
+ subject.indices.flush :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/_flush', url
34
+ assert_equal true, params[:refresh]
35
+ true
36
+ end.returns(FakeResponse.new)
37
+
38
+ subject.indices.flush :index => 'foo', :refresh => true
39
+ end
40
+
41
+ end
42
+
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,41 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ class IndicesGetAliasTest < ::Test::Unit::TestCase
6
+
7
+ context "Indices: Get alias" do
8
+ subject { FakeClient.new }
9
+
10
+ should "require the :name argument" do
11
+ assert_raise ArgumentError do
12
+ subject.indices.get_alias
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 '_alias/foo', url
20
+ assert_equal Hash.new, params
21
+ assert_nil body
22
+ true
23
+ end.returns(FakeResponse.new)
24
+
25
+ subject.indices.get_alias :name => 'foo'
26
+ end
27
+
28
+ should "perform request against multiple indices" do
29
+ subject.expects(:perform_request).with do |method, url, params, body|
30
+ assert_equal 'foo,bar/_alias/bam', url
31
+ true
32
+ end.returns(FakeResponse.new)
33
+
34
+ subject.indices.get_alias :index => ['foo','bar'], :name => 'bam'
35
+ end
36
+
37
+ end
38
+
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,35 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ class IndicesGetAliasesTest < ::Test::Unit::TestCase
6
+
7
+ context "Indices: Get aliases" 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 '_aliases', url
14
+ assert_equal Hash.new, params
15
+ assert_nil body
16
+ true
17
+ end.returns(FakeResponse.new)
18
+
19
+ subject.indices.get_aliases
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/_aliases', url
25
+ true
26
+ end.returns(FakeResponse.new)
27
+
28
+ subject.indices.get_aliases :index => 'foo'
29
+ end
30
+
31
+ end
32
+
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,53 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ class IndicesGetMappingTest < ::Test::Unit::TestCase
6
+
7
+ context "Indices: Get mapping" 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 '_mapping', url
14
+ assert_equal Hash.new, params
15
+ assert_nil body
16
+ true
17
+ end.returns(FakeResponse.new)
18
+
19
+ subject.indices.get_mapping
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/_mapping', url
25
+ true
26
+ end.returns(FakeResponse.new)
27
+
28
+ subject.indices.get_mapping :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/_mapping', url
34
+ true
35
+ end.returns(FakeResponse.new)
36
+
37
+ subject.indices.get_mapping :index => 'foo', :type => 'bar'
38
+ end
39
+
40
+ should "perform request against multiple indices and types" do
41
+ subject.expects(:perform_request).with do |method, url, params, body|
42
+ assert_equal 'foo,bar/bam,baz/_mapping', url
43
+ true
44
+ end.returns(FakeResponse.new)
45
+
46
+ subject.indices.get_mapping :index => ['foo', 'bar'], :type => ['bam', 'baz']
47
+ end
48
+
49
+ end
50
+
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,35 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ class IndicesGetSettingsTest < ::Test::Unit::TestCase
6
+
7
+ context "Indices: Get settings" 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 '_settings', url
14
+ assert_equal Hash.new, params
15
+ assert_nil body
16
+ true
17
+ end.returns(FakeResponse.new)
18
+
19
+ subject.indices.get_settings
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/_settings', url
25
+ true
26
+ end.returns(FakeResponse.new)
27
+
28
+ subject.indices.get_settings :index => 'foo'
29
+ end
30
+
31
+ end
32
+
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,32 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ class IndicesGetTemplateTest < ::Test::Unit::TestCase
6
+
7
+ context "Indices: Get template" do
8
+ subject { FakeClient.new }
9
+
10
+ should "require the :name argument" do
11
+ assert_raise ArgumentError do
12
+ subject.indices.get_template
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 '_template/foo', url
20
+ assert_equal Hash.new, params
21
+ assert_nil body
22
+ true
23
+ end.returns(FakeResponse.new)
24
+
25
+ subject.indices.get_template :name => 'foo'
26
+ end
27
+
28
+ end
29
+
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,41 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ class IndicesGetWarmerTest < ::Test::Unit::TestCase
6
+
7
+ context "Indices: Get warmer" do
8
+ subject { FakeClient.new }
9
+
10
+ should "require the :index argument" do
11
+ assert_raise ArgumentError do
12
+ subject.indices.get_warmer :name => 'foo'
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 '_all/_warmer', url
20
+ assert_equal Hash.new, params
21
+ assert_nil body
22
+ true
23
+ end.returns(FakeResponse.new)
24
+
25
+ subject.indices.get_warmer :index => '_all'
26
+ end
27
+
28
+ should "return single warmer" do
29
+ subject.expects(:perform_request).with do |method, url, params, body|
30
+ assert_equal 'foo/_warmer/bar', url
31
+ true
32
+ end.returns(FakeResponse.new)
33
+
34
+ subject.indices.get_warmer :index => 'foo', :name => 'bar'
35
+ end
36
+
37
+ end
38
+
39
+ end
40
+ end
41
+ end