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,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