elasticsearch-api 6.1.0 → 6.2.0

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 (435) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile +6 -0
  3. data/Rakefile +14 -2
  4. data/elasticsearch-api.gemspec +2 -2
  5. data/lib/elasticsearch/api.rb +2 -0
  6. data/lib/elasticsearch/api/actions/benchmark.rb +6 -3
  7. data/lib/elasticsearch/api/actions/bulk.rb +21 -14
  8. data/lib/elasticsearch/api/actions/cat/aliases.rb +12 -14
  9. data/lib/elasticsearch/api/actions/cat/allocation.rb +13 -15
  10. data/lib/elasticsearch/api/actions/cat/count.rb +12 -9
  11. data/lib/elasticsearch/api/actions/cat/fielddata.rb +14 -11
  12. data/lib/elasticsearch/api/actions/cat/health.rb +13 -10
  13. data/lib/elasticsearch/api/actions/cat/help.rb +7 -3
  14. data/lib/elasticsearch/api/actions/cat/indices.rb +15 -13
  15. data/lib/elasticsearch/api/actions/cat/master.rb +12 -9
  16. data/lib/elasticsearch/api/actions/cat/nodeattrs.rb +12 -8
  17. data/lib/elasticsearch/api/actions/cat/nodes.rb +13 -10
  18. data/lib/elasticsearch/api/actions/cat/params_registry.rb +44 -0
  19. data/lib/elasticsearch/api/actions/cat/pending_tasks.rb +12 -9
  20. data/lib/elasticsearch/api/actions/cat/plugins.rb +12 -8
  21. data/lib/elasticsearch/api/actions/cat/recovery.rb +13 -10
  22. data/lib/elasticsearch/api/actions/cat/repositories.rb +11 -8
  23. data/lib/elasticsearch/api/actions/cat/segments.rb +12 -8
  24. data/lib/elasticsearch/api/actions/cat/shards.rb +13 -12
  25. data/lib/elasticsearch/api/actions/cat/snapshots.rb +11 -9
  26. data/lib/elasticsearch/api/actions/cat/tasks.rb +13 -9
  27. data/lib/elasticsearch/api/actions/cat/templates.rb +13 -9
  28. data/lib/elasticsearch/api/actions/cat/thread_pool.rb +14 -11
  29. data/lib/elasticsearch/api/actions/cluster/allocation_explain.rb +8 -4
  30. data/lib/elasticsearch/api/actions/cluster/get_settings.rb +8 -6
  31. data/lib/elasticsearch/api/actions/cluster/health.rb +13 -11
  32. data/lib/elasticsearch/api/actions/cluster/params_registry.rb +44 -0
  33. data/lib/elasticsearch/api/actions/cluster/pending_tasks.rb +8 -4
  34. data/lib/elasticsearch/api/actions/cluster/put_settings.rb +6 -3
  35. data/lib/elasticsearch/api/actions/cluster/reroute.rb +12 -3
  36. data/lib/elasticsearch/api/actions/cluster/state.rb +14 -14
  37. data/lib/elasticsearch/api/actions/cluster/stats.rb +9 -5
  38. data/lib/elasticsearch/api/actions/count.rb +14 -11
  39. data/lib/elasticsearch/api/actions/count_percolate.rb +15 -11
  40. data/lib/elasticsearch/api/actions/delete.rb +14 -11
  41. data/lib/elasticsearch/api/actions/delete_by_query.rb +17 -13
  42. data/lib/elasticsearch/api/actions/delete_script.rb +10 -9
  43. data/lib/elasticsearch/api/actions/exists.rb +19 -16
  44. data/lib/elasticsearch/api/actions/explain.rb +20 -16
  45. data/lib/elasticsearch/api/actions/field_caps.rb +10 -8
  46. data/lib/elasticsearch/api/actions/field_stats.rb +11 -7
  47. data/lib/elasticsearch/api/actions/get.rb +21 -17
  48. data/lib/elasticsearch/api/actions/get_script.rb +2 -3
  49. data/lib/elasticsearch/api/actions/get_source.rb +17 -13
  50. data/lib/elasticsearch/api/actions/get_template.rb +1 -1
  51. data/lib/elasticsearch/api/actions/index.rb +17 -13
  52. data/lib/elasticsearch/api/actions/indices/analyze.rb +22 -22
  53. data/lib/elasticsearch/api/actions/indices/clear_cache.rb +16 -13
  54. data/lib/elasticsearch/api/actions/indices/close.rb +11 -10
  55. data/lib/elasticsearch/api/actions/indices/create.rb +10 -8
  56. data/lib/elasticsearch/api/actions/indices/delete.rb +11 -9
  57. data/lib/elasticsearch/api/actions/indices/delete_alias.rb +6 -3
  58. data/lib/elasticsearch/api/actions/indices/delete_template.rb +6 -3
  59. data/lib/elasticsearch/api/actions/indices/exists.rb +11 -11
  60. data/lib/elasticsearch/api/actions/indices/exists_alias.rb +11 -10
  61. data/lib/elasticsearch/api/actions/indices/exists_template.rb +6 -4
  62. data/lib/elasticsearch/api/actions/indices/exists_type.rb +11 -10
  63. data/lib/elasticsearch/api/actions/indices/flush.rb +11 -8
  64. data/lib/elasticsearch/api/actions/indices/flush_synced.rb +9 -7
  65. data/lib/elasticsearch/api/actions/indices/forcemerge.rb +9 -7
  66. data/lib/elasticsearch/api/actions/indices/freeze.rb +40 -0
  67. data/lib/elasticsearch/api/actions/indices/get.rb +13 -11
  68. data/lib/elasticsearch/api/actions/indices/get_alias.rb +11 -9
  69. data/lib/elasticsearch/api/actions/indices/get_aliases.rb +6 -3
  70. data/lib/elasticsearch/api/actions/indices/get_field_mapping.rb +11 -11
  71. data/lib/elasticsearch/api/actions/indices/get_mapping.rb +11 -9
  72. data/lib/elasticsearch/api/actions/indices/get_settings.rb +14 -12
  73. data/lib/elasticsearch/api/actions/indices/get_template.rb +6 -3
  74. data/lib/elasticsearch/api/actions/indices/get_warmer.rb +11 -9
  75. data/lib/elasticsearch/api/actions/indices/open.rb +12 -11
  76. data/lib/elasticsearch/api/actions/indices/optimize.rb +14 -11
  77. data/lib/elasticsearch/api/actions/indices/params_registry.rb +44 -0
  78. data/lib/elasticsearch/api/actions/indices/put_alias.rb +6 -3
  79. data/lib/elasticsearch/api/actions/indices/put_mapping.rb +13 -12
  80. data/lib/elasticsearch/api/actions/indices/put_settings.rb +12 -11
  81. data/lib/elasticsearch/api/actions/indices/put_template.rb +6 -3
  82. data/lib/elasticsearch/api/actions/indices/put_warmer.rb +10 -9
  83. data/lib/elasticsearch/api/actions/indices/recovery.rb +9 -5
  84. data/lib/elasticsearch/api/actions/indices/refresh.rb +10 -8
  85. data/lib/elasticsearch/api/actions/indices/rollover.rb +10 -10
  86. data/lib/elasticsearch/api/actions/indices/segments.rb +11 -9
  87. data/lib/elasticsearch/api/actions/indices/shard_stores.rb +11 -7
  88. data/lib/elasticsearch/api/actions/indices/shrink.rb +10 -10
  89. data/lib/elasticsearch/api/actions/indices/snapshot_index.rb +10 -9
  90. data/lib/elasticsearch/api/actions/indices/split.rb +16 -7
  91. data/lib/elasticsearch/api/actions/indices/stats.rb +34 -29
  92. data/lib/elasticsearch/api/actions/indices/status.rb +12 -9
  93. data/lib/elasticsearch/api/actions/indices/unfreeze.rb +39 -0
  94. data/lib/elasticsearch/api/actions/indices/update_aliases.rb +6 -3
  95. data/lib/elasticsearch/api/actions/indices/upgrade.rb +10 -7
  96. data/lib/elasticsearch/api/actions/indices/validate_query.rb +16 -13
  97. data/lib/elasticsearch/api/actions/ingest/delete_pipeline.rb +8 -4
  98. data/lib/elasticsearch/api/actions/ingest/get_pipeline.rb +6 -3
  99. data/lib/elasticsearch/api/actions/ingest/params_registry.rb +44 -0
  100. data/lib/elasticsearch/api/actions/ingest/put_pipeline.rb +8 -4
  101. data/lib/elasticsearch/api/actions/ingest/simulate.rb +6 -3
  102. data/lib/elasticsearch/api/actions/mget.rb +18 -14
  103. data/lib/elasticsearch/api/actions/mlt.rb +21 -19
  104. data/lib/elasticsearch/api/actions/mpercolate.rb +10 -7
  105. data/lib/elasticsearch/api/actions/msearch.rb +13 -9
  106. data/lib/elasticsearch/api/actions/msearch_template.rb +6 -3
  107. data/lib/elasticsearch/api/actions/mtermvectors.rb +17 -14
  108. data/lib/elasticsearch/api/actions/nodes/hot_threads.rb +11 -8
  109. data/lib/elasticsearch/api/actions/nodes/info.rb +23 -19
  110. data/lib/elasticsearch/api/actions/nodes/params_registry.rb +44 -0
  111. data/lib/elasticsearch/api/actions/nodes/reload_secure_settings.rb +37 -0
  112. data/lib/elasticsearch/api/actions/nodes/shutdown.rb +8 -5
  113. data/lib/elasticsearch/api/actions/nodes/stats.rb +18 -16
  114. data/lib/elasticsearch/api/actions/params_registry.rb +42 -0
  115. data/lib/elasticsearch/api/actions/percolate.rb +16 -14
  116. data/lib/elasticsearch/api/actions/put_script.rb +11 -10
  117. data/lib/elasticsearch/api/actions/put_template.rb +2 -2
  118. data/lib/elasticsearch/api/actions/reindex.rb +12 -8
  119. data/lib/elasticsearch/api/actions/render_search_template.rb +7 -4
  120. data/lib/elasticsearch/api/actions/scroll.rb +9 -5
  121. data/lib/elasticsearch/api/actions/search.rb +24 -18
  122. data/lib/elasticsearch/api/actions/search_exists.rb +13 -9
  123. data/lib/elasticsearch/api/actions/search_shards.rb +12 -8
  124. data/lib/elasticsearch/api/actions/search_template.rb +13 -9
  125. data/lib/elasticsearch/api/actions/snapshot/create.rb +8 -5
  126. data/lib/elasticsearch/api/actions/snapshot/create_repository.rb +9 -6
  127. data/lib/elasticsearch/api/actions/snapshot/delete.rb +6 -5
  128. data/lib/elasticsearch/api/actions/snapshot/delete_repository.rb +8 -6
  129. data/lib/elasticsearch/api/actions/snapshot/get.rb +9 -7
  130. data/lib/elasticsearch/api/actions/snapshot/get_repository.rb +8 -6
  131. data/lib/elasticsearch/api/actions/snapshot/params_registry.rb +44 -0
  132. data/lib/elasticsearch/api/actions/snapshot/restore.rb +8 -6
  133. data/lib/elasticsearch/api/actions/snapshot/status.rb +8 -5
  134. data/lib/elasticsearch/api/actions/snapshot/verify_repository.rb +9 -7
  135. data/lib/elasticsearch/api/actions/suggest.rb +10 -7
  136. data/lib/elasticsearch/api/actions/tasks/cancel.rb +10 -8
  137. data/lib/elasticsearch/api/actions/tasks/get.rb +6 -5
  138. data/lib/elasticsearch/api/actions/tasks/list.rb +13 -11
  139. data/lib/elasticsearch/api/actions/tasks/params_registry.rb +44 -0
  140. data/lib/elasticsearch/api/actions/termvectors.rb +16 -14
  141. data/lib/elasticsearch/api/actions/update.rb +24 -20
  142. data/lib/elasticsearch/api/actions/update_by_query.rb +19 -15
  143. data/lib/elasticsearch/api/version.rb +1 -1
  144. data/spec/elasticsearch/api/actions/abort_benchmark_spec.rb +17 -0
  145. data/spec/elasticsearch/api/actions/benchmark_spec.rb +17 -0
  146. data/spec/elasticsearch/api/actions/bulk_spec.rb +122 -0
  147. data/spec/elasticsearch/api/actions/cat/aliases_spec.rb +18 -0
  148. data/spec/elasticsearch/api/actions/cat/allocation_spec.rb +18 -0
  149. data/spec/elasticsearch/api/actions/cat/count_spec.rb +18 -0
  150. data/spec/elasticsearch/api/actions/cat/fielddata_spec.rb +35 -0
  151. data/spec/elasticsearch/api/actions/cat/health_spec.rb +18 -0
  152. data/spec/elasticsearch/api/actions/cat/help_spec.rb +18 -0
  153. data/spec/elasticsearch/api/actions/cat/indices_spec.rb +18 -0
  154. data/spec/elasticsearch/api/actions/cat/master_spec.rb +18 -0
  155. data/spec/elasticsearch/api/actions/cat/nodeattrs_spec.rb +18 -0
  156. data/spec/elasticsearch/api/actions/cat/nodes_spec.rb +18 -0
  157. data/spec/elasticsearch/api/actions/cat/pending_tasks_spec.rb +18 -0
  158. data/spec/elasticsearch/api/actions/cat/plugins_spec.rb +18 -0
  159. data/spec/elasticsearch/api/actions/cat/recovery_spec.rb +18 -0
  160. data/spec/elasticsearch/api/actions/cat/repositories_spec.rb +18 -0
  161. data/spec/elasticsearch/api/actions/cat/segments_spec.rb +18 -0
  162. data/spec/elasticsearch/api/actions/cat/shards_spec.rb +18 -0
  163. data/spec/elasticsearch/api/actions/cat/snapshot_spec.rb +18 -0
  164. data/spec/elasticsearch/api/actions/cat/tasks_spec.rb +18 -0
  165. data/spec/elasticsearch/api/actions/cat/templates_spec.rb +18 -0
  166. data/spec/elasticsearch/api/actions/cat/thread_pool_spec.rb +18 -0
  167. data/spec/elasticsearch/api/actions/clear_scroll_spec.rb +33 -0
  168. data/spec/elasticsearch/api/actions/cluster/allocation_explain_spec.rb +18 -0
  169. data/spec/elasticsearch/api/actions/cluster/get_settings_spec.rb +18 -0
  170. data/spec/elasticsearch/api/actions/cluster/health_spec.rb +52 -0
  171. data/spec/elasticsearch/api/actions/cluster/pending_tasks_spec.rb +18 -0
  172. data/spec/elasticsearch/api/actions/cluster/put_settings_spec.rb +18 -0
  173. data/spec/elasticsearch/api/actions/cluster/remote_info_spec.rb +18 -0
  174. data/spec/elasticsearch/api/actions/cluster/reroute_spec.rb +35 -0
  175. data/spec/elasticsearch/api/actions/cluster/state_spec.rb +52 -0
  176. data/spec/elasticsearch/api/actions/cluster/stats_spec.rb +18 -0
  177. data/spec/elasticsearch/api/actions/count_percolate_spec.rb +17 -0
  178. data/spec/elasticsearch/api/actions/count_spec.rb +49 -0
  179. data/spec/elasticsearch/api/actions/create_document_spec.rb +65 -0
  180. data/spec/elasticsearch/api/actions/delete_by_query_spec.rb +55 -0
  181. data/spec/elasticsearch/api/actions/delete_document_spec.rb +99 -0
  182. data/spec/elasticsearch/api/actions/delete_script_spec.rb +33 -0
  183. data/spec/elasticsearch/api/actions/delete_template_spec.rb +17 -0
  184. data/spec/elasticsearch/api/actions/exists_document_spec.rb +109 -0
  185. data/spec/elasticsearch/api/actions/explain_document_spec.rb +88 -0
  186. data/spec/elasticsearch/api/actions/field_caps_spec.rb +17 -0
  187. data/spec/elasticsearch/api/actions/field_stats_spec.rb +17 -0
  188. data/spec/elasticsearch/api/actions/get_document_source_spec.rb +81 -0
  189. data/spec/elasticsearch/api/actions/get_document_spec.rb +106 -0
  190. data/spec/elasticsearch/api/actions/get_script_spec.rb +39 -0
  191. data/spec/elasticsearch/api/actions/get_template_spec.rb +52 -0
  192. data/{test/unit/hashie_test.rb → spec/elasticsearch/api/actions/hashie_spec.rb} +12 -18
  193. data/spec/elasticsearch/api/actions/index_document_spec.rb +134 -0
  194. data/spec/elasticsearch/api/actions/indices/analyze_spec.rb +93 -0
  195. data/spec/elasticsearch/api/actions/indices/clear_cache_spec.rb +67 -0
  196. data/spec/elasticsearch/api/actions/indices/close_spec.rb +68 -0
  197. data/spec/elasticsearch/api/actions/indices/create_spec.rb +68 -0
  198. data/spec/elasticsearch/api/actions/indices/delete_alias_spec.rb +66 -0
  199. data/spec/elasticsearch/api/actions/indices/delete_mapping_spec.rb +77 -0
  200. data/spec/elasticsearch/api/actions/indices/delete_spec.rb +91 -0
  201. data/spec/elasticsearch/api/actions/indices/delete_template_spec.rb +69 -0
  202. data/spec/elasticsearch/api/actions/indices/delete_warmer_spec.rb +86 -0
  203. data/spec/elasticsearch/api/actions/indices/exists_alias_spec.rb +91 -0
  204. data/spec/elasticsearch/api/actions/indices/exists_spec.rb +91 -0
  205. data/spec/elasticsearch/api/actions/indices/exists_template_spec.rb +76 -0
  206. data/spec/elasticsearch/api/actions/indices/exists_type_spec.rb +91 -0
  207. data/spec/elasticsearch/api/actions/indices/flush_spec.rb +74 -0
  208. data/spec/elasticsearch/api/actions/indices/flush_synced_spec.rb +73 -0
  209. data/spec/elasticsearch/api/actions/indices/forcemerge_spec.rb +18 -0
  210. data/spec/elasticsearch/api/actions/indices/freeze_spec.rb +68 -0
  211. data/spec/elasticsearch/api/actions/indices/get_alias_spec.rb +44 -0
  212. data/spec/elasticsearch/api/actions/indices/get_aliases_spec.rb +55 -0
  213. data/spec/elasticsearch/api/actions/indices/get_field_mapping_spec.rb +44 -0
  214. data/spec/elasticsearch/api/actions/indices/get_mapping_spec.rb +66 -0
  215. data/spec/elasticsearch/api/actions/indices/get_settings_spec.rb +55 -0
  216. data/spec/elasticsearch/api/actions/indices/get_spec.rb +48 -0
  217. data/spec/elasticsearch/api/actions/indices/get_template_spec.rb +59 -0
  218. data/spec/elasticsearch/api/actions/indices/get_warmer_spec.rb +48 -0
  219. data/spec/elasticsearch/api/actions/indices/open_spec.rb +48 -0
  220. data/spec/elasticsearch/api/actions/indices/optimize_spec.rb +63 -0
  221. data/spec/elasticsearch/api/actions/indices/put_alias_spec.rb +72 -0
  222. data/spec/elasticsearch/api/actions/indices/put_mapping_spec.rb +85 -0
  223. data/spec/elasticsearch/api/actions/indices/put_settings_spec.rb +91 -0
  224. data/spec/elasticsearch/api/actions/indices/put_template_spec.rb +90 -0
  225. data/spec/elasticsearch/api/actions/indices/put_warmer_spec.rb +101 -0
  226. data/spec/elasticsearch/api/actions/indices/recovery_spec.rb +18 -0
  227. data/spec/elasticsearch/api/actions/indices/refresh_spec.rb +89 -0
  228. data/spec/elasticsearch/api/actions/indices/rollover_spec.rb +41 -0
  229. data/spec/elasticsearch/api/actions/indices/seal_spec.rb +18 -0
  230. data/spec/elasticsearch/api/actions/indices/segments_spec.rb +89 -0
  231. data/spec/elasticsearch/api/actions/indices/shard_stores_spec.rb +18 -0
  232. data/spec/elasticsearch/api/actions/indices/shrink_spec.rb +25 -0
  233. data/spec/elasticsearch/api/actions/indices/snapshot_index_spec.rb +89 -0
  234. data/spec/elasticsearch/api/actions/indices/split_spec.rb +18 -0
  235. data/spec/elasticsearch/api/actions/indices/stats_spec.rb +108 -0
  236. data/spec/elasticsearch/api/actions/indices/status_spec.rb +92 -0
  237. data/spec/elasticsearch/api/actions/indices/unfreeze_spec.rb +68 -0
  238. data/spec/elasticsearch/api/actions/indices/update_aliases_spec.rb +50 -0
  239. data/spec/elasticsearch/api/actions/indices/upgrade_spec.rb +18 -0
  240. data/spec/elasticsearch/api/actions/indices/validate_query_spec.rb +111 -0
  241. data/spec/elasticsearch/api/actions/info_spec.rb +17 -0
  242. data/spec/elasticsearch/api/actions/ingest/delete_pipeline_spec.rb +43 -0
  243. data/spec/elasticsearch/api/actions/ingest/get_pipeline_spec.rb +33 -0
  244. data/spec/elasticsearch/api/actions/ingest/put_pipeline_spec.rb +43 -0
  245. data/spec/elasticsearch/api/actions/ingest/simulate_spec.rb +33 -0
  246. data/spec/elasticsearch/api/actions/json_builders_spec.rb +68 -0
  247. data/spec/elasticsearch/api/actions/list_benchmarks_spec.rb +17 -0
  248. data/spec/elasticsearch/api/actions/mget_spec.rb +100 -0
  249. data/spec/elasticsearch/api/actions/mlt_spec.rb +117 -0
  250. data/spec/elasticsearch/api/actions/mpercolate_spec.rb +49 -0
  251. data/spec/elasticsearch/api/actions/msearch_spec.rb +152 -0
  252. data/spec/elasticsearch/api/actions/msearch_template_spec.rb +77 -0
  253. data/spec/elasticsearch/api/actions/mtermvectors_spec.rb +28 -0
  254. data/spec/elasticsearch/api/actions/nodes/hot_threads_spec.rb +44 -0
  255. data/spec/elasticsearch/api/actions/nodes/info_spec.rb +85 -0
  256. data/spec/elasticsearch/api/actions/nodes/reload_secure_settings_spec.rb +70 -0
  257. data/spec/elasticsearch/api/actions/nodes/shutdown_spec.rb +59 -0
  258. data/spec/elasticsearch/api/actions/nodes/stats_spec.rb +59 -0
  259. data/spec/elasticsearch/api/actions/percolate_spec.rb +67 -0
  260. data/spec/elasticsearch/api/actions/ping_spec.rb +58 -0
  261. data/spec/elasticsearch/api/actions/put_script_spec.rb +32 -0
  262. data/spec/elasticsearch/api/actions/put_template_spec.rb +17 -0
  263. data/spec/elasticsearch/api/actions/reindex_spec.rb +17 -0
  264. data/spec/elasticsearch/api/actions/remote/info_spec.rb +18 -0
  265. data/spec/elasticsearch/api/actions/render_search_template_spec.rb +17 -0
  266. data/spec/elasticsearch/api/actions/scoll_spec.rb +17 -0
  267. data/spec/elasticsearch/api/actions/search_exists_spec.rb +17 -0
  268. data/spec/elasticsearch/api/actions/search_shards_spec.rb +17 -0
  269. data/spec/elasticsearch/api/actions/search_spec.rb +131 -0
  270. data/spec/elasticsearch/api/actions/search_template_spec.rb +17 -0
  271. data/spec/elasticsearch/api/actions/snapshot/create_repository_spec.rb +34 -0
  272. data/spec/elasticsearch/api/actions/snapshot/create_spec.rb +34 -0
  273. data/spec/elasticsearch/api/actions/snapshot/delete_repository_spec.rb +33 -0
  274. data/spec/elasticsearch/api/actions/snapshot/delete_spec.rb +34 -0
  275. data/spec/elasticsearch/api/actions/snapshot/get_repository_spec.rb +18 -0
  276. data/spec/elasticsearch/api/actions/snapshot/get_spec.rb +34 -0
  277. data/spec/elasticsearch/api/actions/snapshot/restore_spec.rb +34 -0
  278. data/spec/elasticsearch/api/actions/snapshot/status_spec.rb +33 -0
  279. data/spec/elasticsearch/api/actions/snapshot/verify_repository_spec.rb +18 -0
  280. data/spec/elasticsearch/api/actions/suggest_spec.rb +77 -0
  281. data/spec/elasticsearch/api/actions/tasks/cancel_spec.rb +33 -0
  282. data/spec/elasticsearch/api/actions/tasks/get_spec.rb +18 -0
  283. data/spec/elasticsearch/api/actions/tasks/list_spec.rb +33 -0
  284. data/spec/elasticsearch/api/actions/termvectors_spec.rb +56 -0
  285. data/spec/elasticsearch/api/actions/update_by_query_spec.rb +17 -0
  286. data/spec/elasticsearch/api/actions/update_document_spec.rb +114 -0
  287. data/spec/elasticsearch/api/api_spec.rb +26 -0
  288. data/spec/elasticsearch/api/client_spec.rb +29 -0
  289. data/spec/elasticsearch/api/utils_spec.rb +413 -0
  290. data/spec/spec_helper.rb +72 -0
  291. data/test/integration/yaml_test_runner.rb +8 -5
  292. data/test/test_helper.rb +0 -27
  293. metadata +313 -295
  294. data/test/unit/abort_benchmark_test.rb +0 -26
  295. data/test/unit/api_test.rb +0 -28
  296. data/test/unit/benchmark_test.rb +0 -26
  297. data/test/unit/bulk_test.rb +0 -134
  298. data/test/unit/cat/aliases_test.rb +0 -26
  299. data/test/unit/cat/allocation_test.rb +0 -26
  300. data/test/unit/cat/count_test.rb +0 -26
  301. data/test/unit/cat/fielddata_test.rb +0 -38
  302. data/test/unit/cat/health_test.rb +0 -26
  303. data/test/unit/cat/help_test.rb +0 -26
  304. data/test/unit/cat/indices_test.rb +0 -26
  305. data/test/unit/cat/master_test.rb +0 -26
  306. data/test/unit/cat/nodeattrs_test.rb +0 -26
  307. data/test/unit/cat/nodes_test.rb +0 -26
  308. data/test/unit/cat/pending_tasks_test.rb +0 -26
  309. data/test/unit/cat/plugins_test.rb +0 -26
  310. data/test/unit/cat/recovery_test.rb +0 -26
  311. data/test/unit/cat/repositories_test.rb +0 -26
  312. data/test/unit/cat/segments_test.rb +0 -26
  313. data/test/unit/cat/shards_test.rb +0 -26
  314. data/test/unit/cat/snapshots_test.rb +0 -26
  315. data/test/unit/cat/tasks_test.rb +0 -26
  316. data/test/unit/cat/templates_test.rb +0 -26
  317. data/test/unit/cat/thread_pool_test.rb +0 -26
  318. data/test/unit/clear_scroll_test.rb +0 -38
  319. data/test/unit/client_test.rb +0 -31
  320. data/test/unit/cluster/allocation_explain_test.rb +0 -26
  321. data/test/unit/cluster/get_settings_test.rb +0 -26
  322. data/test/unit/cluster/health_test.rb +0 -47
  323. data/test/unit/cluster/pending_tasks_test.rb +0 -26
  324. data/test/unit/cluster/put_settings_test.rb +0 -26
  325. data/test/unit/cluster/remote_info_test.rb +0 -26
  326. data/test/unit/cluster/reroute_test.rb +0 -38
  327. data/test/unit/cluster/state_test.rb +0 -46
  328. data/test/unit/cluster/stats_test.rb +0 -26
  329. data/test/unit/count_percolate_test.rb +0 -26
  330. data/test/unit/count_test.rb +0 -46
  331. data/test/unit/create_document_test.rb +0 -56
  332. data/test/unit/delete_by_query_test.rb +0 -51
  333. data/test/unit/delete_document_test.rb +0 -85
  334. data/test/unit/delete_script_test.rb +0 -26
  335. data/test/unit/delete_template_test.rb +0 -26
  336. data/test/unit/exists_document_test.rb +0 -90
  337. data/test/unit/explain_document_test.rb +0 -73
  338. data/test/unit/field_caps_test.rb +0 -26
  339. data/test/unit/field_stats_test.rb +0 -26
  340. data/test/unit/get_document_source_test.rb +0 -71
  341. data/test/unit/get_document_test.rb +0 -85
  342. data/test/unit/get_script_test.rb +0 -26
  343. data/test/unit/get_template_test.rb +0 -41
  344. data/test/unit/index_document_test.rb +0 -92
  345. data/test/unit/indices/analyze_test.rb +0 -76
  346. data/test/unit/indices/clear_cache_test.rb +0 -54
  347. data/test/unit/indices/close_test.rb +0 -51
  348. data/test/unit/indices/create_test.rb +0 -51
  349. data/test/unit/indices/delete_alias_test.rb +0 -47
  350. data/test/unit/indices/delete_mapping_test.rb +0 -56
  351. data/test/unit/indices/delete_template_test.rb +0 -51
  352. data/test/unit/indices/delete_test.rb +0 -69
  353. data/test/unit/indices/delete_warmer_test.rb +0 -68
  354. data/test/unit/indices/exists_alias_test.rb +0 -73
  355. data/test/unit/indices/exists_template_test.rb +0 -59
  356. data/test/unit/indices/exists_test.rb +0 -71
  357. data/test/unit/indices/exists_type_test.rb +0 -73
  358. data/test/unit/indices/flush_synced_test.rb +0 -41
  359. data/test/unit/indices/flush_test.rb +0 -54
  360. data/test/unit/indices/forcemerge_test.rb +0 -26
  361. data/test/unit/indices/get_alias_test.rb +0 -44
  362. data/test/unit/indices/get_aliases_test.rb +0 -54
  363. data/test/unit/indices/get_field_mapping_test.rb +0 -44
  364. data/test/unit/indices/get_mapping_test.rb +0 -62
  365. data/test/unit/indices/get_settings_test.rb +0 -54
  366. data/test/unit/indices/get_template_test.rb +0 -43
  367. data/test/unit/indices/get_test.rb +0 -45
  368. data/test/unit/indices/get_warmer_test.rb +0 -44
  369. data/test/unit/indices/open_test.rb +0 -51
  370. data/test/unit/indices/optimize_test.rb +0 -54
  371. data/test/unit/indices/put_alias_test.rb +0 -59
  372. data/test/unit/indices/put_mapping_test.rb +0 -60
  373. data/test/unit/indices/put_settings_test.rb +0 -68
  374. data/test/unit/indices/put_template_test.rb +0 -57
  375. data/test/unit/indices/put_warmer_test.rb +0 -65
  376. data/test/unit/indices/recovery_test.rb +0 -26
  377. data/test/unit/indices/refresh_test.rb +0 -64
  378. data/test/unit/indices/rollover_test.rb +0 -38
  379. data/test/unit/indices/seal_test.rb +0 -25
  380. data/test/unit/indices/segments_test.rb +0 -64
  381. data/test/unit/indices/shard_stores_test.rb +0 -26
  382. data/test/unit/indices/shrink_test.rb +0 -33
  383. data/test/unit/indices/snapshot_index_test.rb +0 -64
  384. data/test/unit/indices/split_test.rb +0 -26
  385. data/test/unit/indices/stats_test.rb +0 -76
  386. data/test/unit/indices/status_test.rb +0 -72
  387. data/test/unit/indices/update_aliases_test.rb +0 -42
  388. data/test/unit/indices/upgrade_test.rb +0 -26
  389. data/test/unit/indices/validate_query_test.rb +0 -84
  390. data/test/unit/info_test.rb +0 -26
  391. data/test/unit/ingest/delete_pipeline_test.rb +0 -41
  392. data/test/unit/ingest/get_pipeline_test.rb +0 -35
  393. data/test/unit/ingest/put_pipeline_test.rb +0 -46
  394. data/test/unit/ingest/simulate_test.rb +0 -35
  395. data/test/unit/json_builders_test.rb +0 -64
  396. data/test/unit/list_benchmarks_test.rb +0 -26
  397. data/test/unit/mget_test.rb +0 -79
  398. data/test/unit/mlt_test.rb +0 -89
  399. data/test/unit/mpercolate_test.rb +0 -51
  400. data/test/unit/msearch_template_test.rb +0 -61
  401. data/test/unit/msearch_test.rb +0 -130
  402. data/test/unit/mtermvectors_test.rb +0 -38
  403. data/test/unit/nodes/hot_threads_test.rb +0 -44
  404. data/test/unit/nodes/info_test.rb +0 -75
  405. data/test/unit/nodes/shutdown_test.rb +0 -45
  406. data/test/unit/nodes/stats_test.rb +0 -65
  407. data/test/unit/percolate_test.rb +0 -56
  408. data/test/unit/ping_test.rb +0 -53
  409. data/test/unit/put_script_test.rb +0 -26
  410. data/test/unit/put_template_test.rb +0 -26
  411. data/test/unit/reindex_test.rb +0 -26
  412. data/test/unit/remote/info_test.rb +0 -26
  413. data/test/unit/render_search_template_test.rb +0 -25
  414. data/test/unit/scroll_test.rb +0 -26
  415. data/test/unit/search_exists_test.rb +0 -26
  416. data/test/unit/search_shards_test.rb +0 -26
  417. data/test/unit/search_template_test.rb +0 -26
  418. data/test/unit/search_test.rb +0 -116
  419. data/test/unit/snapshot/create_repository_test.rb +0 -38
  420. data/test/unit/snapshot/create_test.rb +0 -38
  421. data/test/unit/snapshot/delete_repository_test.rb +0 -35
  422. data/test/unit/snapshot/delete_test.rb +0 -38
  423. data/test/unit/snapshot/get_repository_test.rb +0 -26
  424. data/test/unit/snapshot/get_test.rb +0 -38
  425. data/test/unit/snapshot/restore_test.rb +0 -38
  426. data/test/unit/snapshot/status_test.rb +0 -38
  427. data/test/unit/snapshot/verify_repository_test.rb +0 -26
  428. data/test/unit/suggest_test.rb +0 -64
  429. data/test/unit/tasks/cancel_test.rb +0 -38
  430. data/test/unit/tasks/get_test.rb +0 -26
  431. data/test/unit/tasks/list_test.rb +0 -38
  432. data/test/unit/termvectors_test.rb +0 -47
  433. data/test/unit/update_by_query_test.rb +0 -26
  434. data/test/unit/update_document_test.rb +0 -85
  435. data/test/unit/utils_test.rb +0 -310
@@ -1,38 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- class SnapshotRestoreTest < ::Test::Unit::TestCase
6
-
7
- context "Snapshot: Restore" do
8
- subject { FakeClient.new }
9
-
10
- should "require the :repository argument" do
11
- assert_raise ArgumentError do
12
- subject.snapshot.restore :snapshot => 'bar'
13
- end
14
- end
15
-
16
- should "require the :snapshot argument" do
17
- assert_raise ArgumentError do
18
- subject.snapshot.restore :repository => '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 'POST', method
25
- assert_equal '_snapshot/foo/bar/_restore', url
26
- assert_equal Hash.new, params
27
- assert_equal nil, body
28
- true
29
- end.returns(FakeResponse.new)
30
-
31
- subject.snapshot.restore :repository => 'foo', :snapshot => 'bar'
32
- end
33
-
34
- end
35
-
36
- end
37
- end
38
- end
@@ -1,38 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- class SnapshotStatusTest < ::Test::Unit::TestCase
6
-
7
- context "Snapshot: 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 '_snapshot/_status', url
14
- assert_equal Hash.new, params
15
- assert_nil body
16
- true
17
- end.returns(FakeResponse.new)
18
-
19
- subject.snapshot.status
20
- end
21
-
22
- should "encode repository and snapshot" do
23
- subject.expects(:perform_request).with do |method, url, params, body|
24
- assert_equal 'GET', method
25
- assert_equal '_snapshot/foo/bar/_status', url
26
- assert_equal Hash.new, params
27
- assert_equal nil, body
28
- true
29
- end.returns(FakeResponse.new)
30
-
31
- subject.snapshot.status :repository => 'foo', :snapshot => 'bar'
32
- end
33
-
34
- end
35
-
36
- end
37
- end
38
- end
@@ -1,26 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- class SnapshotVerifyRepositoryTest < ::Test::Unit::TestCase
6
-
7
- context "Snapshot: Verify repository" 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 '_snapshot/foo/_verify', url
14
- assert_equal Hash.new, params
15
- assert_nil body
16
- true
17
- end.returns(FakeResponse.new)
18
-
19
- subject.snapshot.verify_repository :repository => 'foo'
20
- end
21
-
22
- end
23
-
24
- end
25
- end
26
- end
@@ -1,64 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- class SuggestTest < ::Test::Unit::TestCase
6
-
7
- context "Suggest" 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 '_suggest', url
14
- assert_equal Hash.new, params
15
- assert_equal Hash.new, body
16
- true
17
- end.returns(FakeResponse.new)
18
-
19
- subject.suggest :body => {}
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/_suggest', url
25
- true
26
- end.returns(FakeResponse.new)
27
-
28
- subject.suggest :index => 'foo', :body => {}
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/_suggest', url
34
- assert_equal 'abc123', params[:routing]
35
- true
36
- end.returns(FakeResponse.new)
37
-
38
- subject.suggest :index => 'foo', :routing => 'abc123', :body => {}
39
- end
40
-
41
- should "URL-escape the parts" do
42
- subject.expects(:perform_request).with do |method, url, params, body|
43
- assert_equal 'foo%5Ebar/_suggest', url
44
- true
45
- end.returns(FakeResponse.new)
46
-
47
- subject.suggest :index => 'foo^bar', :body => {}
48
- end
49
-
50
- should "pass the request definition in the body" do
51
- subject.expects(:perform_request).with do |method, url, params, body|
52
- assert_equal '_suggest', url
53
- assert_equal 'tset', body[:my_suggest][:text]
54
- true
55
- end.returns(FakeResponse.new)
56
-
57
- subject.suggest :body => { :my_suggest => { :text => 'tset' } }
58
- end
59
-
60
- end
61
-
62
- end
63
- end
64
- end
@@ -1,38 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- class TasksCancelTest < ::Test::Unit::TestCase
6
-
7
- context "Tasks: Cancel" 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 '_tasks/_cancel', url
14
- assert_equal Hash.new, params
15
- assert_nil body
16
- true
17
- end.returns(FakeResponse.new)
18
-
19
- subject.tasks.cancel
20
- end
21
-
22
- should "perform correct request with a task_id" do
23
- subject.expects(:perform_request).with do |method, url, params, body|
24
- assert_equal 'POST', method
25
- assert_equal '_tasks/foo/_cancel', url
26
- assert_equal Hash.new, params
27
- assert_nil body
28
- true
29
- end.returns(FakeResponse.new)
30
-
31
- subject.tasks.cancel :task_id => 'foo'
32
- end
33
-
34
- end
35
-
36
- end
37
- end
38
- end
@@ -1,26 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- class TasksGetTest < ::Test::Unit::TestCase
6
-
7
- context "Tasks: Get" 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 '_tasks/foo1', url
14
- assert_equal Hash.new, params
15
- assert_nil body
16
- true
17
- end.returns(FakeResponse.new)
18
-
19
- subject.tasks.get :task_id => 'foo1'
20
- end
21
-
22
- end
23
-
24
- end
25
- end
26
- end
@@ -1,38 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- class TasksListTest < ::Test::Unit::TestCase
6
-
7
- context "Tasks: List" 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 '_tasks', url
14
- assert_equal Hash.new, params
15
- assert_nil body
16
- true
17
- end.returns(FakeResponse.new)
18
-
19
- subject.tasks.list
20
- end
21
-
22
- should "perform correct request with :task_id" do
23
- subject.expects(:perform_request).with do |method, url, params, body|
24
- assert_equal 'GET', method
25
- assert_equal '_tasks/foo', url
26
- assert_equal Hash.new, params
27
- assert_nil body
28
- true
29
- end.returns(FakeResponse.new)
30
-
31
- subject.tasks.list :task_id => 'foo'
32
- end
33
-
34
- end
35
-
36
- end
37
- end
38
- end
@@ -1,47 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- class TermvectorsTest < ::Test::Unit::TestCase
6
-
7
- context "Termvectors" do
8
- subject { FakeClient.new }
9
-
10
- should "require the :index argument" do
11
- assert_raise ArgumentError do
12
- subject.termvectors :type => 'bar', :id => '1'
13
- end
14
- end
15
-
16
- should "require the :type argument" do
17
- assert_raise ArgumentError do
18
- subject.termvectors :index => 'foo', :id => '1'
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 'GET', method
25
- assert_equal 'foo/bar/123/_termvectors', url
26
- assert_equal Hash.new, params
27
- assert_equal Hash.new, body
28
- true
29
- end.returns(FakeResponse.new)
30
-
31
- subject.termvectors :index => 'foo', :type => 'bar', :id => '123', :body => {}
32
- end
33
-
34
- should "be aliased to singular for older versions" do
35
- subject.expects(:perform_request).with do |method, url, params, body|
36
- assert_equal 'foo/bar/123/_termvector', url
37
- true
38
- end.returns(FakeResponse.new)
39
-
40
- subject.termvector :index => 'foo', :type => 'bar', :id => '123'
41
- end
42
-
43
- end
44
-
45
- end
46
- end
47
- end
@@ -1,26 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- class UpdateByQueryTest < ::Test::Unit::TestCase
6
-
7
- context "Update by 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 'POST', method
13
- assert_equal 'foo/_update_by_query', url
14
- assert_equal Hash.new, params
15
- assert_equal nil, body
16
- true
17
- end.returns(FakeResponse.new)
18
-
19
- subject.update_by_query :index => 'foo'
20
- end
21
-
22
- end
23
-
24
- end
25
- end
26
- end
@@ -1,85 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- class UpdateTest < ::Test::Unit::TestCase
6
-
7
- context "Update document" do
8
- subject { FakeClient.new }
9
-
10
- should "require the :index argument" do
11
- assert_raise ArgumentError do
12
- subject.update :type => 'bar', :id => '1'
13
- end
14
- end
15
-
16
- should "require the :type argument" do
17
- assert_raise ArgumentError do
18
- subject.update :index => 'foo', :id => '1'
19
- end
20
- end
21
-
22
- should "require the :id argument" do
23
- assert_raise ArgumentError do
24
- subject.update :index => 'foo', :type => '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 'POST', method
31
- assert_equal 'foo/bar/1/_update', url
32
- assert_equal Hash.new, params
33
- assert_equal Hash.new, body[:doc]
34
- true
35
- end.returns(FakeResponse.new)
36
-
37
- subject.update :index => 'foo', :type => 'bar', :id => '1', :body => { :doc => {} }
38
- end
39
-
40
- should "pass the URL parameters" do
41
- subject.expects(:perform_request).with do |method, url, params, body|
42
- assert_equal 'foo/bar/1/_update', url
43
- assert_equal 100, params[:version]
44
- true
45
- end.returns(FakeResponse.new)
46
-
47
- subject.update :index => 'foo', :type => 'bar', :id => '1', :version => 100, :body => {}
48
- end
49
-
50
- should "validate URL parameters" do
51
- assert_raise ArgumentError do
52
- subject.update :index => 'foo', :type => 'bar', :id => '1', :body => { :doc => {} }, :qwertypoiuy => 'asdflkjhg'
53
- end
54
- end
55
-
56
- should "URL-escape the parts" do
57
- subject.expects(:perform_request).with do |method, url, params, body|
58
- assert_equal 'foo%5Ebar/bar%2Fbam/1/_update', url
59
- true
60
- end.returns(FakeResponse.new)
61
-
62
- subject.update :index => 'foo^bar', :type => 'bar/bam', :id => '1', :body => {}
63
- end
64
-
65
- should "raise a NotFound exception" do
66
- subject.expects(:perform_request).raises(NotFound)
67
-
68
- assert_raise NotFound do
69
- subject.update :index => 'foo', :type => 'bar', :id => 'XXX'
70
- end
71
- end
72
-
73
- should "catch a NotFound exception with the ignore parameter" do
74
- subject.expects(:perform_request).raises(NotFound)
75
-
76
- assert_nothing_raised do
77
- subject.update :index => 'foo', :type => 'bar', :id => 'XXX', :ignore => 404
78
- end
79
- end
80
-
81
- end
82
-
83
- end
84
- end
85
- end
@@ -1,310 +0,0 @@
1
- # encoding: UTF-8
2
-
3
- require 'test_helper'
4
-
5
- module Elasticsearch
6
- module Test
7
- class UtilsTest < ::Test::Unit::TestCase
8
- include Elasticsearch::API::Utils
9
-
10
- context "Utils" do
11
-
12
- context "__escape" do
13
-
14
- should "encode Unicode characters" do
15
- assert_equal '%E4%B8%AD%E6%96%87', __escape('中文')
16
- end
17
-
18
- should "encode special characters" do
19
- assert_equal 'foo+bar', __escape('foo bar')
20
- assert_equal 'foo%2Fbar', __escape('foo/bar')
21
- assert_equal 'foo%5Ebar', __escape('foo^bar')
22
- end
23
-
24
- should "not encode asterisks" do
25
- assert_equal '*', __escape('*')
26
- end
27
-
28
- should "use CGI.escape by default" do
29
- CGI.expects(:escape)
30
- __escape('foo bar')
31
- end
32
-
33
- should "use the escape_utils gem when available" do
34
- require 'escape_utils'
35
- CGI.expects(:escape).never
36
- EscapeUtils.expects(:escape_url)
37
- __escape('foo bar')
38
- end unless RUBY_1_8 || JRUBY
39
-
40
- end
41
-
42
- context "__listify" do
43
-
44
- should "create a list from single value" do
45
- assert_equal 'foo', __listify('foo')
46
- end
47
-
48
- should "create a list from an array" do
49
- assert_equal 'foo,bar', __listify(['foo', 'bar'])
50
- end
51
-
52
- should "create a list from multiple arguments" do
53
- assert_equal 'foo,bar', __listify('foo', 'bar')
54
- end
55
-
56
- should "ignore nil values" do
57
- assert_equal 'foo,bar', __listify(['foo', nil, 'bar'])
58
- end
59
-
60
- should "encode special characters" do
61
- assert_equal 'foo,bar%5Ebam', __listify(['foo', 'bar^bam'])
62
- end
63
-
64
- should "not encode special characters when the :escape option is set" do
65
- assert_equal 'foo,bar^bam', __listify(['foo', 'bar^bam'], :escape => false)
66
- end
67
-
68
- end
69
-
70
- context "__pathify" do
71
-
72
- should "create a path from single value" do
73
- assert_equal 'foo', __pathify('foo')
74
- end
75
-
76
- should "create a path from an array" do
77
- assert_equal 'foo/bar', __pathify(['foo', 'bar'])
78
- end
79
-
80
- should "ignore nil values" do
81
- assert_equal 'foo/bar', __pathify(['foo', nil, 'bar'])
82
- end
83
-
84
- should "ignore empty string values" do
85
- assert_equal 'foo/bar', __pathify(['foo', '', 'bar'])
86
- end
87
-
88
- end
89
-
90
- context "__bulkify" do
91
-
92
- should "serialize array of hashes" do
93
- result = Elasticsearch::API::Utils.__bulkify [
94
- { :index => { :_index => 'myindexA', :_type => 'mytype', :_id => '1', :data => { :title => 'Test' } } },
95
- { :update => { :_index => 'myindexB', :_type => 'mytype', :_id => '2', :data => { :doc => { :title => 'Update' } } } },
96
- { :delete => { :_index => 'myindexC', :_type => 'mytypeC', :_id => '3' } }
97
- ]
98
-
99
- if RUBY_1_8
100
- lines = result.split("\n")
101
-
102
- assert_equal 5, lines.size
103
- assert_match /\{"index"\:\{/, lines[0]
104
- assert_match /\{"title"\:"Test"/, lines[1]
105
- assert_match /\{"update"\:\{/, lines[2]
106
- assert_match /\{"doc"\:\{"title"/, lines[3]
107
- else
108
- assert_equal <<-PAYLOAD.gsub(/^\s+/, ''), result
109
- {"index":{"_index":"myindexA","_type":"mytype","_id":"1"}}
110
- {"title":"Test"}
111
- {"update":{"_index":"myindexB","_type":"mytype","_id":"2"}}
112
- {"doc":{"title":"Update"}}
113
- {"delete":{"_index":"myindexC","_type":"mytypeC","_id":"3"}}
114
- PAYLOAD
115
- end
116
- end
117
-
118
- should "serialize arrays of strings" do
119
- result = Elasticsearch::API::Utils.__bulkify ['{"foo":"bar"}','{"moo":"bam"}']
120
- assert_equal <<-PAYLOAD.gsub(/^\s+/, ''), result
121
- {"foo":"bar"}
122
- {"moo":"bam"}
123
- PAYLOAD
124
- end
125
-
126
- should "serialize arrays of header/data pairs" do
127
- result = Elasticsearch::API::Utils.__bulkify [{:foo => "bar"},{:moo => "bam"},{:foo => "baz"}]
128
- assert_equal <<-PAYLOAD.gsub(/^\s+/, ''), result
129
- {"foo":"bar"}
130
- {"moo":"bam"}
131
- {"foo":"baz"}
132
- PAYLOAD
133
- end
134
-
135
- should "not modify the original payload with the data option" do
136
- original = [ { :index => {:foo => 'bar', :data => {:moo => 'bam'} } } ]
137
- result = Elasticsearch::API::Utils.__bulkify original
138
- assert_not_nil original.first[:index][:data], "Deleted :data from #{original}"
139
- assert_equal <<-PAYLOAD.gsub(/^\s+/, ''), result
140
- {"index":{"foo":"bar"}}
141
- {"moo":"bam"}
142
- PAYLOAD
143
- end
144
-
145
- should "not modify the original payload with meta/data pairs" do
146
- original = [ { :index => {:foo => 'bar'} }, { :data => {:a => 'b', :data => {:c => 'd'} } } ]
147
- result = Elasticsearch::API::Utils.__bulkify original
148
-
149
- assert_not_nil original.last[:data], "Deleted :data from #{original}"
150
- assert_not_nil original.last[:data][:data], "Deleted :data from #{original}"
151
-
152
- lines = result.split("\n")
153
- assert_equal 2, lines.size
154
-
155
- header = MultiJson.load(lines.first)
156
- data = MultiJson.load(lines.last)
157
-
158
- assert_equal 'bar', header['index']['foo']
159
- assert_equal 'b', data['data']['a']
160
- assert_equal 'd', data['data']['data']['c']
161
- end
162
- end
163
-
164
- context "__validate_and_extract_params" do
165
- teardown do
166
- Elasticsearch::API.settings.clear
167
- end
168
-
169
- should "extract valid params from a Hash" do
170
- assert_equal( {:foo => 'qux'},
171
- __validate_and_extract_params({ :foo => 'qux' }, [:foo, :bar]) )
172
- end
173
-
174
- should "raise an exception when invalid keys present" do
175
- assert_raise ArgumentError do
176
- __validate_and_extract_params({ :foo => 'qux', :bam => 'mux' }, [:foo, :bar])
177
- end
178
- end
179
-
180
- should "not raise an exception for COMMON_PARAMS" do
181
- assert_nothing_raised do
182
- __validate_and_extract_params({ :index => 'foo'}, [:foo])
183
- end
184
- end
185
-
186
- should "extract COMMON_QUERY_PARAMS" do
187
- assert_equal( { :format => 'yaml' },
188
- __validate_and_extract_params( { :format => 'yaml' } ) )
189
- end
190
-
191
- should "not validate parameters when the option is set" do
192
- assert_nothing_raised do
193
- result = __validate_and_extract_params( { :foo => 'q', :bam => 'm' }, [:foo, :bar], { :skip_parameter_validation => true } )
194
- assert_equal( { :foo => 'q', :bam => 'm' }, result )
195
- end
196
- end
197
-
198
- should "not validate parameters when the module setting is set" do
199
- assert_nothing_raised do
200
- Elasticsearch::API.settings[:skip_parameter_validation] = true
201
- result = __validate_and_extract_params( { :foo => 'q', :bam => 'm' }, [:foo, :bar] )
202
- assert_equal( { :foo => 'q', :bam => 'm' }, result )
203
- end
204
- end
205
-
206
- should "listify Arrays" do
207
- result = __validate_and_extract_params( { :foo => ['a', 'b'] }, [:foo] )
208
- assert_equal( { :foo => 'a,b'}, result )
209
- end
210
-
211
- should "not escape the parameters" do
212
- result = __validate_and_extract_params( { :foo => ['a.*', 'b.*'] }, [:foo] )
213
- assert_equal( { :foo => 'a.*,b.*'}, result )
214
- end
215
- end
216
-
217
- context "__extract_parts" do
218
-
219
- should "extract parts with true value from a Hash" do
220
- assert_equal( ['foo'], __extract_parts({ :foo => true, :moo => 'blah' }, [:foo, :bar]) )
221
- end
222
-
223
- should "extract parts with string value from a Hash" do
224
- assert_equal( ['qux'], __extract_parts({ :foo => 'qux', :moo => 'blah' }, [:foo, :bar]) )
225
- end
226
-
227
- end
228
-
229
- context "__rescue_from_not_found" do
230
-
231
- should "return false if exception class name contains 'NotFound'" do
232
- assert_equal( false, __rescue_from_not_found { raise NotFound })
233
- end
234
-
235
- should "return false if exception message contains 'Not Found'" do
236
- assert_equal( false, __rescue_from_not_found { raise StandardError.new "Not Found" })
237
- assert_equal( false, __rescue_from_not_found { raise StandardError.new "NotFound" })
238
- end
239
-
240
- should "raise exception if exception class name and message do not contain NotFound/404" do
241
- assert_raise StandardError do
242
- __rescue_from_not_found { raise StandardError.new "Any other exception" }
243
- end
244
- end
245
-
246
- end
247
-
248
- context "__report_unsupported_parameters" do
249
- should "print used unsupported parameters passed as Symbols" do
250
- arguments = { :foo => 'bar', :moo => 'bam', :baz => 'qux' }
251
- unsupported_params = [:foo, :moo]
252
-
253
- Kernel.expects(:warn).with do |message|
254
- assert_equal 2, message.split("\n").reject { |l| l.include? 'Suppress this warning' }.size
255
- true
256
- end
257
-
258
- __report_unsupported_parameters(arguments, unsupported_params)
259
- end
260
-
261
- should "print used unsupported parameters passed as Hashes" do
262
- arguments = { :foo => 'bar', :moo => 'bam', :baz => 'qux' }
263
- unsupported_params = [ { :foo => { :explanation => 'NOT_SUPPORTED' } } ]
264
-
265
- Kernel.expects(:warn).with do |message|
266
- assert_match /NOT_SUPPORTED/, message
267
- assert_equal 1, message.split("\n").reject { |l| l.include? 'Suppress this warning' }.size
268
- true
269
- end
270
-
271
- __report_unsupported_parameters(arguments, unsupported_params)
272
- end
273
-
274
- should "print used unsupported parameters passed as a mix of Symbols and Hashes" do
275
- arguments = { :foo => 'bar', :moo => 'bam', :baz => 'qux' }
276
- unsupported_params = [ { :foo => { :explanation => 'NOT_SUPPORTED'} }, :moo ]
277
-
278
- Kernel.expects(:warn).with do |message|
279
- assert_match /NOT_SUPPORTED/, message
280
- assert_equal 2, message.split("\n").reject { |l| l.include? 'Suppress this warning' }.size
281
- true
282
- end
283
-
284
- __report_unsupported_parameters(arguments, unsupported_params)
285
- end
286
-
287
- should "not print unused unsupported parameters" do
288
- arguments = { :moo => 'bam', :baz => 'qux' }
289
- unsupported_params = [:foo]
290
-
291
- Kernel.expects(:warn).never
292
-
293
- __report_unsupported_parameters(arguments, unsupported_params)
294
- end
295
- end
296
-
297
- context "__report_unsupported_method" do
298
- should "print the warning" do
299
- Kernel.expects(:warn).with do |message|
300
- assert_match /foo/, message
301
- true
302
- end
303
-
304
- __report_unsupported_method(:foo)
305
- end
306
- end
307
- end
308
- end
309
- end
310
- end