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,77 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ class IndexDocumentTest < ::Test::Unit::TestCase
6
+
7
+ context "Indexing a document" do
8
+ subject { FakeClient.new }
9
+
10
+ should "require the :index argument" do
11
+ assert_raise ArgumentError do
12
+ subject.index :type => 'foo'
13
+ end
14
+ end
15
+
16
+ should "require the :type argument" do
17
+ assert_raise ArgumentError do
18
+ subject.index :index => 'foo'
19
+ end
20
+ end
21
+
22
+ should "perform the index request" do
23
+ subject.expects(:perform_request).with do |method, url, params, body|
24
+ assert_equal 'POST', method
25
+ assert_equal 'foo/bar', url
26
+ assert_equal({:foo => 'bar'}, body)
27
+ true
28
+ end.returns(FakeResponse.new)
29
+
30
+ subject.index :index => 'foo', :type => 'bar', :body => {:foo => 'bar'}
31
+ end
32
+
33
+ should "perform the index request with a specific ID" do
34
+ subject.expects(:perform_request).with do |method, url, params, body|
35
+ assert_equal 'PUT', method
36
+ assert_equal 'foo/bar/123', url
37
+ assert_nil params[:id]
38
+ assert_equal({:foo => 'bar'}, body)
39
+ true
40
+ end.returns(FakeResponse.new)
41
+
42
+ subject.index :index => 'foo', :type => 'bar', :id => '123', :body => {:foo => 'bar'}
43
+ end
44
+ end
45
+
46
+ context "Creating a document" do
47
+ subject { FakeClient.new }
48
+
49
+ should "perform the create request" do
50
+ subject.expects(:perform_request).with do |method, url, params, body|
51
+ assert_equal 'POST', method
52
+ assert_equal 'foo/bar', url
53
+ assert_equal({:op_type => 'create'}, params)
54
+ assert_equal({:foo => 'bar'}, body)
55
+ true
56
+ end.returns(FakeResponse.new)
57
+
58
+ subject.index :index => 'foo', :type => 'bar', :op_type => 'create', :body => {:foo => 'bar'}
59
+ end
60
+
61
+ should "perform the create request with a specific ID" do
62
+ subject.expects(:perform_request).with do |method, url, params, body|
63
+ assert_equal 'PUT', method
64
+ assert_equal 'foo/bar/123', url
65
+ assert_equal 'create', params[:op_type]
66
+ assert_nil params[:id]
67
+ assert_equal({:foo => 'bar'}, body)
68
+ true
69
+ end.returns(FakeResponse.new)
70
+
71
+ subject.index :index => 'foo', :type => 'bar', :id => '123', :op_type => 'create', :body => {:foo => 'bar'}
72
+ end
73
+ end
74
+
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,67 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ class IndicesAnalyzeTest < ::Test::Unit::TestCase
6
+
7
+ context "Indices: Analyze" 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 '_analyze', url
14
+ assert_equal Hash.new, params
15
+ assert_nil body
16
+ true
17
+ end.returns(FakeResponse.new)
18
+
19
+ subject.indices.analyze
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/_analyze', url
25
+ true
26
+ end.returns(FakeResponse.new)
27
+
28
+ subject.indices.analyze :index => 'foo'
29
+ end
30
+
31
+ should "pass the URL parameters" do
32
+ subject.expects(:perform_request).with do |method, url, params, body|
33
+ assert_equal '_analyze', url
34
+ assert_equal 'foo', params[:text]
35
+ assert_equal 'bar', params[:analyzer]
36
+ true
37
+ end.returns(FakeResponse.new)
38
+
39
+ subject.indices.analyze :text => 'foo', :analyzer => 'bar'
40
+ end
41
+
42
+ should "pass the text in body" do
43
+ subject.expects(:perform_request).with do |method, url, params, body|
44
+ assert_equal '_analyze', url
45
+ assert_equal Hash.new, params
46
+ assert_equal 'foo', body
47
+ true
48
+ end.returns(FakeResponse.new)
49
+
50
+ subject.indices.analyze :body => 'foo'
51
+ end
52
+
53
+ should "pass the filters parameter as a list" do
54
+ subject.expects(:perform_request).with do |method, url, params, body|
55
+ assert_equal '_analyze', url
56
+ assert_equal 'foo,bar', params[:filters]
57
+ true
58
+ end.returns(FakeResponse.new)
59
+
60
+ subject.indices.analyze :text => 'Test', :tokenizer => 'whitespace', :filters => ['foo,bar']
61
+ end
62
+
63
+ end
64
+
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,45 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ class IndicesClearCacheTest < ::Test::Unit::TestCase
6
+
7
+ context "Indices: Clear cache" 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 '_cache/clear', url
14
+ assert_equal Hash.new, params
15
+ assert_nil body
16
+ true
17
+ end.returns(FakeResponse.new)
18
+
19
+ subject.indices.clear_cache
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/_cache/clear', url
25
+ true
26
+ end.returns(FakeResponse.new)
27
+
28
+ subject.indices.clear_cache :index => 'foo'
29
+ end
30
+
31
+ should "pass the URL parameters" do
32
+ subject.expects(:perform_request).with do |method, url, params, body|
33
+ assert_equal '_cache/clear', url
34
+ assert_equal true, params[:field_data]
35
+ true
36
+ end.returns(FakeResponse.new)
37
+
38
+ subject.indices.clear_cache :field_data => true
39
+ end
40
+
41
+ end
42
+
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,42 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ class IndicesCloseTest < ::Test::Unit::TestCase
6
+
7
+ context "Indices: Close" do
8
+ subject { FakeClient.new }
9
+
10
+ should "require the :index argument" do
11
+ assert_raise ArgumentError do
12
+ subject.indices.close
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/_close', url
20
+ assert_equal Hash.new, params
21
+ assert_nil body
22
+ true
23
+ end.returns(FakeResponse.new)
24
+
25
+ subject.indices.close :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/_close', url
31
+ assert_equal '1s', params[:timeout]
32
+ true
33
+ end.returns(FakeResponse.new)
34
+
35
+ subject.indices.close :index => 'foo', :timeout => '1s'
36
+ end
37
+
38
+ end
39
+
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,42 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ class IndicesCreateTest < ::Test::Unit::TestCase
6
+
7
+ context "Indices: Create" do
8
+ subject { FakeClient.new }
9
+
10
+ should "require the :index argument" do
11
+ assert_raise ArgumentError do
12
+ subject.indices.create
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 'foo', url
20
+ assert_equal Hash.new, params
21
+ assert_nil body
22
+ true
23
+ end.returns(FakeResponse.new)
24
+
25
+ subject.indices.create :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', url
31
+ assert_equal '1s', params[:timeout]
32
+ true
33
+ end.returns(FakeResponse.new)
34
+
35
+ subject.indices.create :index => 'foo', :timeout => '1s'
36
+ end
37
+
38
+ end
39
+
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,38 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ class IndicesDeleteAliasTest < ::Test::Unit::TestCase
6
+
7
+ context "Indices: Delete alias" do
8
+ subject { FakeClient.new }
9
+
10
+ should "require the :index argument" do
11
+ assert_raise ArgumentError do
12
+ subject.indices.delete_alias :name => 'bar'
13
+ end
14
+ end
15
+
16
+ should "require the :name argument" do
17
+ assert_raise ArgumentError do
18
+ subject.indices.delete_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 'DELETE', 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.delete_alias :index => 'foo', :name => 'bar'
32
+ end
33
+
34
+ end
35
+
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,47 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ class IndicesDeleteMappingTest < ::Test::Unit::TestCase
6
+
7
+ context "Indices: Delete mapping" do
8
+ subject { FakeClient.new }
9
+
10
+ should "require the :index argument" do
11
+ assert_raise ArgumentError do
12
+ subject.indices.delete_mapping :type => 'bar'
13
+ end
14
+ end
15
+
16
+ should "require the :type argument" do
17
+ assert_raise ArgumentError do
18
+ subject.indices.delete_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 'DELETE', method
25
+ assert_equal 'foo/bar', url
26
+ assert_equal Hash.new, params
27
+ assert_nil body
28
+ true
29
+ end.returns(FakeResponse.new)
30
+
31
+ subject.indices.delete_mapping :index => 'foo', :type => 'bar'
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/baz', url
37
+ true
38
+ end.returns(FakeResponse.new)
39
+
40
+ subject.indices.delete_mapping :index => ['foo','bar'], :type => 'baz'
41
+ end
42
+
43
+ end
44
+
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,26 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ class IndicesDeleteTemplateTest < ::Test::Unit::TestCase
6
+
7
+ context "Indices: Delete template" 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 'DELETE', method
13
+ assert_equal '_template/foo', url
14
+ assert_equal Hash.new, params
15
+ assert_nil body
16
+ true
17
+ end.returns(FakeResponse.new)
18
+
19
+ subject.indices.delete_template :name => 'foo'
20
+ end
21
+
22
+ end
23
+
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,45 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ class IndicesDeleteTest < ::Test::Unit::TestCase
6
+
7
+ context "Indices: Delete" 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 'DELETE', 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.delete :index => 'foo'
20
+ end
21
+
22
+ should "perform the request for more 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.delete :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', url
34
+ assert_equal '1s', params[:timeout]
35
+ true
36
+ end.returns(FakeResponse.new)
37
+
38
+ subject.indices.delete :index => 'foo', :timeout => '1s'
39
+ end
40
+
41
+ end
42
+
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,59 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ class IndicesDeleteWarmerTest < ::Test::Unit::TestCase
6
+
7
+ context "Indices: Delete warmer" do
8
+ subject { FakeClient.new }
9
+
10
+ should "require the :index argument" do
11
+ assert_raise ArgumentError do
12
+ subject.indices.delete_warmer
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 'DELETE', method
19
+ assert_equal 'foo/_warmer', url
20
+ assert_equal Hash.new, params
21
+ assert_nil body
22
+ true
23
+ end.returns(FakeResponse.new)
24
+
25
+ subject.indices.delete_warmer :index => '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/_warmer', url
31
+ true
32
+ end.returns(FakeResponse.new)
33
+
34
+ subject.indices.delete_warmer :index => ['foo','bar']
35
+ end
36
+
37
+ should "perform request against single warmer" do
38
+ subject.expects(:perform_request).with do |method, url, params, body|
39
+ assert_equal 'foo/_warmer/bar', url
40
+ true
41
+ end.returns(FakeResponse.new)
42
+
43
+ subject.indices.delete_warmer :index => 'foo', :name => 'bar'
44
+ end
45
+
46
+ should "perform request against multiple warmers" do
47
+ subject.expects(:perform_request).with do |method, url, params, body|
48
+ assert_equal 'foo/_warmer/bar,baz', url
49
+ true
50
+ end.returns(FakeResponse.new)
51
+
52
+ subject.indices.delete_warmer :index => 'foo', :name => ['bar', 'baz']
53
+ end
54
+
55
+ end
56
+
57
+ end
58
+ end
59
+ end