elasticsearch-dsl 0.1.6 → 0.1.10

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 (383) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile +30 -8
  3. data/LICENSE.txt +199 -10
  4. data/README.md +62 -27
  5. data/Rakefile +29 -17
  6. data/elasticsearch-dsl.gemspec +40 -22
  7. data/lib/elasticsearch/dsl/search/aggregation.rb +21 -2
  8. data/lib/elasticsearch/dsl/search/aggregations/avg.rb +18 -1
  9. data/lib/elasticsearch/dsl/search/aggregations/cardinality.rb +18 -1
  10. data/lib/elasticsearch/dsl/search/aggregations/children.rb +18 -1
  11. data/lib/elasticsearch/dsl/search/aggregations/composite.rb +60 -0
  12. data/lib/elasticsearch/dsl/search/aggregations/date_histogram.rb +23 -5
  13. data/lib/elasticsearch/dsl/search/aggregations/date_range.rb +18 -1
  14. data/lib/elasticsearch/dsl/search/aggregations/extended_stats.rb +18 -1
  15. data/lib/elasticsearch/dsl/search/aggregations/filter.rb +18 -1
  16. data/lib/elasticsearch/dsl/search/aggregations/filters.rb +18 -1
  17. data/lib/elasticsearch/dsl/search/aggregations/geo_bounds.rb +18 -1
  18. data/lib/elasticsearch/dsl/search/aggregations/geo_distance.rb +18 -1
  19. data/lib/elasticsearch/dsl/search/aggregations/geohash_grid.rb +18 -1
  20. data/lib/elasticsearch/dsl/search/aggregations/global.rb +17 -0
  21. data/lib/elasticsearch/dsl/search/aggregations/histogram.rb +18 -1
  22. data/lib/elasticsearch/dsl/search/aggregations/ip_range.rb +18 -1
  23. data/lib/elasticsearch/dsl/search/aggregations/max.rb +18 -1
  24. data/lib/elasticsearch/dsl/search/aggregations/min.rb +18 -1
  25. data/lib/elasticsearch/dsl/search/aggregations/missing.rb +17 -0
  26. data/lib/elasticsearch/dsl/search/aggregations/nested.rb +18 -1
  27. data/lib/elasticsearch/dsl/search/aggregations/percentile_ranks.rb +18 -1
  28. data/lib/elasticsearch/dsl/search/aggregations/percentiles.rb +18 -1
  29. data/lib/elasticsearch/dsl/search/aggregations/pipeline/avg_bucket.rb +17 -0
  30. data/lib/elasticsearch/dsl/search/aggregations/pipeline/bucket_script.rb +17 -0
  31. data/lib/elasticsearch/dsl/search/aggregations/pipeline/bucket_selector.rb +17 -0
  32. data/lib/elasticsearch/dsl/search/aggregations/pipeline/bucket_sort.rb +106 -0
  33. data/lib/elasticsearch/dsl/search/aggregations/pipeline/cumulative_sum.rb +17 -0
  34. data/lib/elasticsearch/dsl/search/aggregations/pipeline/derivative.rb +17 -0
  35. data/lib/elasticsearch/dsl/search/aggregations/pipeline/extended_stats_bucket.rb +17 -0
  36. data/lib/elasticsearch/dsl/search/aggregations/pipeline/max_bucket.rb +17 -0
  37. data/lib/elasticsearch/dsl/search/aggregations/pipeline/min_bucket.rb +17 -0
  38. data/lib/elasticsearch/dsl/search/aggregations/pipeline/moving_avg.rb +17 -0
  39. data/lib/elasticsearch/dsl/search/aggregations/pipeline/percentiles_bucket.rb +17 -0
  40. data/lib/elasticsearch/dsl/search/aggregations/pipeline/serial_diff.rb +17 -0
  41. data/lib/elasticsearch/dsl/search/aggregations/pipeline/stats_bucket.rb +17 -0
  42. data/lib/elasticsearch/dsl/search/aggregations/pipeline/sum_bucket.rb +17 -0
  43. data/lib/elasticsearch/dsl/search/aggregations/range.rb +18 -1
  44. data/lib/elasticsearch/dsl/search/aggregations/reverse_nested.rb +18 -1
  45. data/lib/elasticsearch/dsl/search/aggregations/scripted_metric.rb +18 -1
  46. data/lib/elasticsearch/dsl/search/aggregations/significant_terms.rb +18 -1
  47. data/lib/elasticsearch/dsl/search/aggregations/significant_text.rb +62 -0
  48. data/lib/elasticsearch/dsl/search/aggregations/stats.rb +17 -0
  49. data/lib/elasticsearch/dsl/search/aggregations/sum.rb +18 -1
  50. data/lib/elasticsearch/dsl/search/aggregations/terms.rb +17 -0
  51. data/lib/elasticsearch/dsl/search/aggregations/top_hits.rb +18 -1
  52. data/lib/elasticsearch/dsl/search/aggregations/value_count.rb +18 -1
  53. data/lib/elasticsearch/dsl/search/base_aggregation_component.rb +20 -1
  54. data/lib/elasticsearch/dsl/search/base_component.rb +30 -1
  55. data/lib/elasticsearch/dsl/search/base_compound_filter_component.rb +20 -1
  56. data/lib/elasticsearch/dsl/search/collapse.rb +95 -0
  57. data/lib/elasticsearch/dsl/search/filter.rb +21 -2
  58. data/lib/elasticsearch/dsl/search/filters/and.rb +18 -1
  59. data/lib/elasticsearch/dsl/search/filters/bool.rb +23 -4
  60. data/lib/elasticsearch/dsl/search/filters/exists.rb +18 -1
  61. data/lib/elasticsearch/dsl/search/filters/geo_bounding_box.rb +18 -1
  62. data/lib/elasticsearch/dsl/search/filters/geo_distance.rb +18 -1
  63. data/lib/elasticsearch/dsl/search/filters/geo_distance_range.rb +18 -1
  64. data/lib/elasticsearch/dsl/search/filters/geo_polygon.rb +18 -1
  65. data/lib/elasticsearch/dsl/search/filters/geo_shape.rb +18 -1
  66. data/lib/elasticsearch/dsl/search/filters/geohash_cell.rb +18 -1
  67. data/lib/elasticsearch/dsl/search/filters/has_child.rb +18 -1
  68. data/lib/elasticsearch/dsl/search/filters/has_parent.rb +18 -1
  69. data/lib/elasticsearch/dsl/search/filters/ids.rb +18 -1
  70. data/lib/elasticsearch/dsl/search/filters/indices.rb +19 -2
  71. data/lib/elasticsearch/dsl/search/filters/limit.rb +18 -1
  72. data/lib/elasticsearch/dsl/search/filters/match_all.rb +18 -1
  73. data/lib/elasticsearch/dsl/search/filters/missing.rb +18 -1
  74. data/lib/elasticsearch/dsl/search/filters/nested.rb +27 -1
  75. data/lib/elasticsearch/dsl/search/filters/not.rb +21 -2
  76. data/lib/elasticsearch/dsl/search/filters/or.rb +18 -1
  77. data/lib/elasticsearch/dsl/search/filters/prefix.rb +18 -1
  78. data/lib/elasticsearch/dsl/search/filters/query.rb +18 -1
  79. data/lib/elasticsearch/dsl/search/filters/range.rb +18 -1
  80. data/lib/elasticsearch/dsl/search/filters/regexp.rb +18 -1
  81. data/lib/elasticsearch/dsl/search/filters/script.rb +18 -1
  82. data/lib/elasticsearch/dsl/search/filters/term.rb +18 -1
  83. data/lib/elasticsearch/dsl/search/filters/terms.rb +18 -1
  84. data/lib/elasticsearch/dsl/search/filters/type.rb +18 -1
  85. data/lib/elasticsearch/dsl/search/highlight.rb +18 -1
  86. data/lib/elasticsearch/dsl/search/options.rb +20 -2
  87. data/lib/elasticsearch/dsl/search/queries/bool.rb +24 -7
  88. data/lib/elasticsearch/dsl/search/queries/boosting.rb +18 -1
  89. data/lib/elasticsearch/dsl/search/queries/common.rb +18 -1
  90. data/lib/elasticsearch/dsl/search/queries/constant_score.rb +18 -1
  91. data/lib/elasticsearch/dsl/search/queries/dis_max.rb +18 -1
  92. data/lib/elasticsearch/dsl/search/queries/exists.rb +17 -0
  93. data/lib/elasticsearch/dsl/search/queries/filtered.rb +18 -1
  94. data/lib/elasticsearch/dsl/search/queries/function_score.rb +19 -1
  95. data/lib/elasticsearch/dsl/search/queries/fuzzy.rb +18 -1
  96. data/lib/elasticsearch/dsl/search/queries/fuzzy_like_this.rb +18 -1
  97. data/lib/elasticsearch/dsl/search/queries/fuzzy_like_this_field.rb +18 -1
  98. data/lib/elasticsearch/dsl/search/queries/geo_shape.rb +18 -1
  99. data/lib/elasticsearch/dsl/search/queries/has_child.rb +18 -1
  100. data/lib/elasticsearch/dsl/search/queries/has_parent.rb +18 -1
  101. data/lib/elasticsearch/dsl/search/queries/ids.rb +18 -1
  102. data/lib/elasticsearch/dsl/search/queries/indices.rb +18 -1
  103. data/lib/elasticsearch/dsl/search/queries/inner_hits.rb +133 -0
  104. data/lib/elasticsearch/dsl/search/queries/match.rb +18 -1
  105. data/lib/elasticsearch/dsl/search/queries/match_all.rb +18 -1
  106. data/lib/elasticsearch/dsl/search/queries/match_phrase.rb +17 -0
  107. data/lib/elasticsearch/dsl/search/queries/match_phrase_prefix.rb +17 -0
  108. data/lib/elasticsearch/dsl/search/queries/more_like_this.rb +18 -1
  109. data/lib/elasticsearch/dsl/search/queries/multi_match.rb +18 -1
  110. data/lib/elasticsearch/dsl/search/queries/nested.rb +18 -1
  111. data/lib/elasticsearch/dsl/search/queries/prefix.rb +18 -1
  112. data/lib/elasticsearch/dsl/search/queries/query_string.rb +20 -4
  113. data/lib/elasticsearch/dsl/search/queries/range.rb +18 -1
  114. data/lib/elasticsearch/dsl/search/queries/regexp.rb +18 -1
  115. data/lib/elasticsearch/dsl/search/queries/simple_query_string.rb +18 -1
  116. data/lib/elasticsearch/dsl/search/queries/span_first.rb +18 -1
  117. data/lib/elasticsearch/dsl/search/queries/span_multi.rb +18 -1
  118. data/lib/elasticsearch/dsl/search/queries/span_near.rb +18 -1
  119. data/lib/elasticsearch/dsl/search/queries/span_not.rb +18 -1
  120. data/lib/elasticsearch/dsl/search/queries/span_or.rb +18 -1
  121. data/lib/elasticsearch/dsl/search/queries/span_term.rb +18 -1
  122. data/lib/elasticsearch/dsl/search/queries/template.rb +18 -1
  123. data/lib/elasticsearch/dsl/search/queries/term.rb +18 -1
  124. data/lib/elasticsearch/dsl/search/queries/terms.rb +18 -1
  125. data/lib/elasticsearch/dsl/search/queries/top_children.rb +18 -1
  126. data/lib/elasticsearch/dsl/search/queries/wildcard.rb +18 -1
  127. data/lib/elasticsearch/dsl/search/query.rb +21 -2
  128. data/lib/elasticsearch/dsl/search/sort.rb +18 -1
  129. data/lib/elasticsearch/dsl/search/suggest.rb +18 -1
  130. data/lib/elasticsearch/dsl/search.rb +46 -4
  131. data/lib/elasticsearch/dsl/utils.rb +17 -0
  132. data/lib/elasticsearch/dsl/version.rb +18 -1
  133. data/lib/elasticsearch/dsl.rb +19 -1
  134. data/lib/elasticsearch-dsl.rb +17 -0
  135. data/spec/elasticsearch/dsl/search/aggregations/avg_spec.rb +43 -0
  136. data/spec/elasticsearch/dsl/search/aggregations/cardinality_spec.rb +110 -0
  137. data/spec/elasticsearch/dsl/search/aggregations/children_spec.rb +66 -0
  138. data/spec/elasticsearch/dsl/search/aggregations/composite_spec.rb +99 -0
  139. data/spec/elasticsearch/dsl/search/aggregations/date_histogram_spec.rb +182 -0
  140. data/spec/elasticsearch/dsl/search/aggregations/date_range_spec.rb +89 -0
  141. data/spec/elasticsearch/dsl/search/aggregations/extended_stats_spec.rb +43 -0
  142. data/spec/elasticsearch/dsl/search/aggregations/filter_spec.rb +48 -0
  143. data/spec/elasticsearch/dsl/search/aggregations/filters_spec.rb +89 -0
  144. data/spec/elasticsearch/dsl/search/aggregations/geo_bounds_spec.rb +77 -0
  145. data/spec/elasticsearch/dsl/search/aggregations/geo_distance_spec.rb +113 -0
  146. data/spec/elasticsearch/dsl/search/aggregations/geo_grid_spec.rb +100 -0
  147. data/spec/elasticsearch/dsl/search/aggregations/global_spec.rb +62 -0
  148. data/spec/elasticsearch/dsl/search/aggregations/historgram_spec.rb +122 -0
  149. data/spec/elasticsearch/dsl/search/aggregations/ip_range_spec.rb +93 -0
  150. data/spec/elasticsearch/dsl/search/aggregations/max_spec.rb +43 -0
  151. data/spec/elasticsearch/dsl/search/aggregations/min_spec.rb +43 -0
  152. data/spec/elasticsearch/dsl/search/aggregations/missing_spec.rb +81 -0
  153. data/spec/elasticsearch/dsl/search/aggregations/nested_spec.rb +86 -0
  154. data/spec/elasticsearch/dsl/search/aggregations/percentile_ranks_spec.rb +126 -0
  155. data/spec/elasticsearch/dsl/search/aggregations/percentiles_spec.rb +125 -0
  156. data/spec/elasticsearch/dsl/search/aggregations/pipeline/avg_bucket_spec.rb +88 -0
  157. data/spec/elasticsearch/dsl/search/aggregations/pipeline/bucket_script_spec.rb +99 -0
  158. data/spec/elasticsearch/dsl/search/aggregations/pipeline/bucket_selector_spec.rb +88 -0
  159. data/spec/elasticsearch/dsl/search/aggregations/pipeline/bucket_sort_spec.rb +104 -0
  160. data/spec/elasticsearch/dsl/search/aggregations/pipeline/cumulative_sum_spec.rb +77 -0
  161. data/spec/elasticsearch/dsl/search/aggregations/pipeline/derivative_spec.rb +88 -0
  162. data/spec/elasticsearch/dsl/search/aggregations/pipeline/extended_stats_bucket_spec.rb +88 -0
  163. data/spec/elasticsearch/dsl/search/aggregations/pipeline/max_bucket_spec.rb +88 -0
  164. data/spec/elasticsearch/dsl/search/aggregations/pipeline/min_bucket_spec.rb +88 -0
  165. data/spec/elasticsearch/dsl/search/aggregations/pipeline/moving_avg_test_spec.rb +132 -0
  166. data/spec/elasticsearch/dsl/search/aggregations/pipeline/percentiles_bucket_spec.rb +99 -0
  167. data/spec/elasticsearch/dsl/search/aggregations/pipeline/serial_diff_spec.rb +99 -0
  168. data/spec/elasticsearch/dsl/search/aggregations/pipeline/stats_bucket_spec.rb +88 -0
  169. data/spec/elasticsearch/dsl/search/aggregations/pipeline/sum_bucket_spec.rb +88 -0
  170. data/spec/elasticsearch/dsl/search/aggregations/range_spec.rb +119 -0
  171. data/spec/elasticsearch/dsl/search/aggregations/reverse_nested_spec.rb +32 -0
  172. data/spec/elasticsearch/dsl/search/aggregations/scripted_metric_spec.rb +121 -0
  173. data/spec/elasticsearch/dsl/search/aggregations/significant_terms_spec.rb +176 -0
  174. data/spec/elasticsearch/dsl/search/aggregations/significant_text_spec.rb +176 -0
  175. data/spec/elasticsearch/dsl/search/aggregations/stats_spec.rb +56 -0
  176. data/spec/elasticsearch/dsl/search/aggregations/sum_spec.rb +43 -0
  177. data/spec/elasticsearch/dsl/search/aggregations/terms_spec.rb +165 -0
  178. data/spec/elasticsearch/dsl/search/aggregations/top_hits_spec.rb +88 -0
  179. data/spec/elasticsearch/dsl/search/aggregations/value_count_spec.rb +43 -0
  180. data/spec/elasticsearch/dsl/search/collapse_spec.rb +93 -0
  181. data/spec/elasticsearch/dsl/search/filters/and_spec.rb +74 -0
  182. data/spec/elasticsearch/dsl/search/filters/bool_spec.rb +213 -0
  183. data/spec/elasticsearch/dsl/search/filters/exists_spec.rb +66 -0
  184. data/spec/elasticsearch/dsl/search/filters/geo_bounding_box_spec.rb +144 -0
  185. data/spec/elasticsearch/dsl/search/filters/geo_distance_range_spec.rb +103 -0
  186. data/spec/elasticsearch/dsl/search/filters/geo_distance_spec.rb +126 -0
  187. data/spec/elasticsearch/dsl/search/filters/geo_polygon_spec.rb +66 -0
  188. data/spec/elasticsearch/dsl/search/filters/geo_shape_spec.rb +77 -0
  189. data/spec/elasticsearch/dsl/search/filters/geohash_cell_spec.rb +99 -0
  190. data/spec/elasticsearch/dsl/search/filters/has_child_spec.rb +139 -0
  191. data/spec/elasticsearch/dsl/search/filters/has_parent_spec.rb +128 -0
  192. data/spec/elasticsearch/dsl/search/filters/ids_spec.rb +78 -0
  193. data/spec/elasticsearch/dsl/search/filters/indices_spec.rb +109 -0
  194. data/spec/elasticsearch/dsl/search/filters/limit_spec.rb +66 -0
  195. data/spec/elasticsearch/dsl/search/filters/match_all_spec.rb +32 -0
  196. data/spec/elasticsearch/dsl/search/filters/missing_spec.rb +66 -0
  197. data/spec/elasticsearch/dsl/search/filters/nested_spec.rb +91 -0
  198. data/spec/elasticsearch/dsl/search/filters/not_spec.rb +59 -0
  199. data/spec/elasticsearch/dsl/search/filters/or_spec.rb +75 -0
  200. data/spec/elasticsearch/dsl/search/filters/prefix_spec.rb +46 -0
  201. data/spec/elasticsearch/dsl/search/filters/query_spec.rb +59 -0
  202. data/spec/elasticsearch/dsl/search/filters/range_spec.rb +111 -0
  203. data/spec/elasticsearch/dsl/search/filters/regexp_spec.rb +88 -0
  204. data/spec/elasticsearch/dsl/search/filters/script_spec.rb +77 -0
  205. data/spec/elasticsearch/dsl/search/filters/term_spec.rb +57 -0
  206. data/spec/elasticsearch/dsl/search/filters/terms_spec.rb +46 -0
  207. data/spec/elasticsearch/dsl/search/filters/type_spec.rb +66 -0
  208. data/spec/elasticsearch/dsl/search/queries/bool_spec.rb +267 -0
  209. data/spec/elasticsearch/dsl/search/queries/boosting_spec.rb +90 -0
  210. data/spec/elasticsearch/dsl/search/queries/common_spec.rb +132 -0
  211. data/spec/elasticsearch/dsl/search/queries/constant_score_spec.rb +90 -0
  212. data/spec/elasticsearch/dsl/search/queries/dis_max_spec.rb +88 -0
  213. data/spec/elasticsearch/dsl/search/queries/exists_spec.rb +66 -0
  214. data/spec/elasticsearch/dsl/search/queries/filtered_spec.rb +93 -0
  215. data/spec/elasticsearch/dsl/search/queries/function_score_spec.rb +175 -0
  216. data/spec/elasticsearch/dsl/search/queries/fuzzy_like_this_field_spec.rb +132 -0
  217. data/spec/elasticsearch/dsl/search/queries/fuzzy_like_this_spec.rb +134 -0
  218. data/spec/elasticsearch/dsl/search/queries/fuzzy_spec.rb +110 -0
  219. data/spec/elasticsearch/dsl/search/queries/geo_shape_spec.rb +77 -0
  220. data/spec/elasticsearch/dsl/search/queries/has_child_spec.rb +126 -0
  221. data/spec/elasticsearch/dsl/search/queries/has_parent_spec.rb +100 -0
  222. data/spec/elasticsearch/dsl/search/queries/ids_spec.rb +78 -0
  223. data/spec/elasticsearch/dsl/search/queries/indices_spec.rb +89 -0
  224. data/spec/elasticsearch/dsl/search/queries/inner_hits_spec.rb +144 -0
  225. data/spec/elasticsearch/dsl/search/queries/match_all_spec.rb +66 -0
  226. data/spec/elasticsearch/dsl/search/queries/match_phrase_prefix_spec.rb +103 -0
  227. data/spec/elasticsearch/dsl/search/queries/match_phrase_spec.rb +114 -0
  228. data/spec/elasticsearch/dsl/search/queries/match_spec.rb +107 -0
  229. data/spec/elasticsearch/dsl/search/queries/more_like_this_spec.rb +87 -0
  230. data/spec/elasticsearch/dsl/search/queries/multi_match_spec.rb +74 -0
  231. data/spec/elasticsearch/dsl/search/queries/nested_spec.rb +98 -0
  232. data/spec/elasticsearch/dsl/search/queries/prefix_spec.rb +70 -0
  233. data/spec/elasticsearch/dsl/search/queries/query_string_spec.rb +85 -0
  234. data/spec/elasticsearch/dsl/search/queries/range_spec.rb +78 -0
  235. data/spec/elasticsearch/dsl/search/queries/regexp_spec.rb +82 -0
  236. data/spec/elasticsearch/dsl/search/queries/simple_query_string_spec.rb +74 -0
  237. data/spec/elasticsearch/dsl/search/queries/span_first_spec.rb +69 -0
  238. data/spec/elasticsearch/dsl/search/queries/span_multi_spec.rb +69 -0
  239. data/spec/elasticsearch/dsl/search/queries/span_near_spec.rb +72 -0
  240. data/spec/elasticsearch/dsl/search/queries/span_not_spec.rb +73 -0
  241. data/spec/elasticsearch/dsl/search/queries/span_or_spec.rb +69 -0
  242. data/spec/elasticsearch/dsl/search/queries/span_term_spec.rb +46 -0
  243. data/spec/elasticsearch/dsl/search/queries/template_spec.rb +84 -0
  244. data/spec/elasticsearch/dsl/search/queries/term_spec.rb +57 -0
  245. data/spec/elasticsearch/dsl/search/queries/terms_spec.rb +46 -0
  246. data/spec/elasticsearch/dsl/search/queries/top_children_spec.rb +93 -0
  247. data/spec/elasticsearch/dsl/search/queries/wildcard_spec.rb +81 -0
  248. data/spec/elasticsearch/dsl/search_spec.rb +385 -0
  249. data/spec/spec_helper.rb +24 -0
  250. data/test/integration/search_aggregation_children_test.rb +44 -37
  251. data/test/integration/search_aggregation_geo_test.rb +27 -16
  252. data/test/integration/search_aggregation_nested_test.rb +32 -20
  253. data/test/integration/search_aggregations_test.rb +28 -13
  254. data/test/integration/search_filters_test.rb +33 -22
  255. data/test/integration/search_options_test.rb +20 -3
  256. data/test/integration/search_query_test.rb +24 -11
  257. data/test/integration/search_size_from_test.rb +22 -5
  258. data/test/integration/search_sort_test.rb +20 -7
  259. data/test/integration/search_suggest_test.rb +30 -19
  260. data/test/integration/search_test.rb +21 -8
  261. data/test/test_helper.rb +30 -23
  262. data/test/unit/dsl_test.rb +17 -0
  263. data/test/unit/search_aggregation_test.rb +17 -0
  264. data/test/unit/search_base_aggregation_component_test.rb +17 -0
  265. data/test/unit/search_base_component_test.rb +17 -0
  266. data/test/unit/search_filter_test.rb +17 -0
  267. data/test/unit/search_highlight_test.rb +17 -0
  268. data/test/unit/search_options_test.rb +25 -0
  269. data/test/unit/search_query_test.rb +17 -0
  270. data/test/unit/search_size_from_test.rb +17 -0
  271. data/test/unit/search_sort_test.rb +17 -0
  272. data/test/unit/search_suggest_test.rb +17 -0
  273. data/test/unit/search_test.rb +24 -0
  274. data/test/unit/utils_test.rb +17 -0
  275. metadata +278 -270
  276. data/test/unit/aggregations/avg_test.rb +0 -24
  277. data/test/unit/aggregations/cardinality_test.rb +0 -40
  278. data/test/unit/aggregations/children_test.rb +0 -36
  279. data/test/unit/aggregations/date_histogram_test.rb +0 -49
  280. data/test/unit/aggregations/date_range_test.rb +0 -42
  281. data/test/unit/aggregations/extended_stats_test.rb +0 -24
  282. data/test/unit/aggregations/filter_test.rb +0 -31
  283. data/test/unit/aggregations/filters_test.rb +0 -52
  284. data/test/unit/aggregations/geo_bounds_test.rb +0 -37
  285. data/test/unit/aggregations/geo_distance_test.rb +0 -45
  286. data/test/unit/aggregations/geohash_grid_test.rb +0 -40
  287. data/test/unit/aggregations/global_test.rb +0 -38
  288. data/test/unit/aggregations/histogram_test.rb +0 -42
  289. data/test/unit/aggregations/ip_range_test.rb +0 -41
  290. data/test/unit/aggregations/max_test.rb +0 -24
  291. data/test/unit/aggregations/min_test.rb +0 -24
  292. data/test/unit/aggregations/missing_test.rb +0 -39
  293. data/test/unit/aggregations/nested_test.rb +0 -48
  294. data/test/unit/aggregations/percentile_ranks_test.rb +0 -41
  295. data/test/unit/aggregations/percentiles_test.rb +0 -40
  296. data/test/unit/aggregations/pipeline/avg_bucket_test.rb +0 -39
  297. data/test/unit/aggregations/pipeline/bucket_script_test.rb +0 -39
  298. data/test/unit/aggregations/pipeline/bucket_selector_test.rb +0 -38
  299. data/test/unit/aggregations/pipeline/cumulative_sum_test.rb +0 -37
  300. data/test/unit/aggregations/pipeline/derivative_test.rb +0 -39
  301. data/test/unit/aggregations/pipeline/extended_stats_bucket_test.rb +0 -38
  302. data/test/unit/aggregations/pipeline/max_bucket_test.rb +0 -38
  303. data/test/unit/aggregations/pipeline/min_bucket_test.rb +0 -38
  304. data/test/unit/aggregations/pipeline/moving_avg_test.rb +0 -41
  305. data/test/unit/aggregations/pipeline/percentiles_bucket_test.rb +0 -39
  306. data/test/unit/aggregations/pipeline/serial_diff_test.rb +0 -39
  307. data/test/unit/aggregations/pipeline/stats_bucket_test.rb +0 -38
  308. data/test/unit/aggregations/pipeline/sum_bucket_test.rb +0 -38
  309. data/test/unit/aggregations/range_test.rb +0 -59
  310. data/test/unit/aggregations/reverse_nested_test.rb +0 -20
  311. data/test/unit/aggregations/scripted_metric_test.rb +0 -41
  312. data/test/unit/aggregations/significant_terms_test.rb +0 -46
  313. data/test/unit/aggregations/stats_test.rb +0 -32
  314. data/test/unit/aggregations/sum_test.rb +0 -24
  315. data/test/unit/aggregations/terms_test.rb +0 -51
  316. data/test/unit/aggregations/top_hits_test.rb +0 -38
  317. data/test/unit/aggregations/value_count_test.rb +0 -24
  318. data/test/unit/filters/and_test.rb +0 -69
  319. data/test/unit/filters/bool_test.rb +0 -98
  320. data/test/unit/filters/exists_test.rb +0 -36
  321. data/test/unit/filters/geo_bounding_box_test.rb +0 -45
  322. data/test/unit/filters/geo_distance_range_test.rb +0 -51
  323. data/test/unit/filters/geo_distance_test.rb +0 -58
  324. data/test/unit/filters/geo_polygon_test.rb +0 -36
  325. data/test/unit/filters/geo_shape_test.rb +0 -37
  326. data/test/unit/filters/geohash_cell_test.rb +0 -43
  327. data/test/unit/filters/has_child_test.rb +0 -54
  328. data/test/unit/filters/has_parent_test.rb +0 -54
  329. data/test/unit/filters/ids_test.rb +0 -38
  330. data/test/unit/filters/indices_test.rb +0 -52
  331. data/test/unit/filters/limit_test.rb +0 -36
  332. data/test/unit/filters/match_all_test.rb +0 -20
  333. data/test/unit/filters/missing_test.rb +0 -38
  334. data/test/unit/filters/nested_test.rb +0 -40
  335. data/test/unit/filters/not_test.rb +0 -35
  336. data/test/unit/filters/or_test.rb +0 -53
  337. data/test/unit/filters/prefix_test.rb +0 -25
  338. data/test/unit/filters/query_test.rb +0 -33
  339. data/test/unit/filters/range_test.rb +0 -48
  340. data/test/unit/filters/regexp_test.rb +0 -42
  341. data/test/unit/filters/script_test.rb +0 -38
  342. data/test/unit/filters/term_test.rb +0 -27
  343. data/test/unit/filters/terms_test.rb +0 -24
  344. data/test/unit/filters/type_test.rb +0 -36
  345. data/test/unit/queries/bool_test.rb +0 -147
  346. data/test/unit/queries/boosting_test.rb +0 -41
  347. data/test/unit/queries/common_test.rb +0 -42
  348. data/test/unit/queries/constant_score_test.rb +0 -47
  349. data/test/unit/queries/dis_max_test.rb +0 -38
  350. data/test/unit/queries/exists_test.rb +0 -36
  351. data/test/unit/queries/filtered_test.rb +0 -51
  352. data/test/unit/queries/function_score_test.rb +0 -70
  353. data/test/unit/queries/fuzzy_like_this_field_test.rb +0 -42
  354. data/test/unit/queries/fuzzy_like_this_test.rb +0 -44
  355. data/test/unit/queries/fuzzy_test.rb +0 -40
  356. data/test/unit/queries/geo_shape_test.rb +0 -37
  357. data/test/unit/queries/has_child_test.rb +0 -55
  358. data/test/unit/queries/has_parent_test.rb +0 -41
  359. data/test/unit/queries/ids_test.rb +0 -38
  360. data/test/unit/queries/indices_test.rb +0 -39
  361. data/test/unit/queries/match_all_test.rb +0 -36
  362. data/test/unit/queries/match_phrase_prefix_test.rb +0 -62
  363. data/test/unit/queries/match_phrase_test.rb +0 -63
  364. data/test/unit/queries/match_test.rb +0 -65
  365. data/test/unit/queries/more_like_this_test.rb +0 -53
  366. data/test/unit/queries/multi_match_test.rb +0 -42
  367. data/test/unit/queries/nested_test.rb +0 -52
  368. data/test/unit/queries/prefix_test.rb +0 -37
  369. data/test/unit/queries/query_string_test.rb +0 -56
  370. data/test/unit/queries/range_test.rb +0 -41
  371. data/test/unit/queries/regexp_test.rb +0 -43
  372. data/test/unit/queries/simple_query_string_test.rb +0 -41
  373. data/test/unit/queries/span_first_test.rb +0 -36
  374. data/test/unit/queries/span_multi_test.rb +0 -36
  375. data/test/unit/queries/span_near_test.rb +0 -39
  376. data/test/unit/queries/span_not_test.rb +0 -40
  377. data/test/unit/queries/span_or_test.rb +0 -36
  378. data/test/unit/queries/span_term_test.rb +0 -24
  379. data/test/unit/queries/template_test.rb +0 -43
  380. data/test/unit/queries/term_test.rb +0 -27
  381. data/test/unit/queries/terms_test.rb +0 -24
  382. data/test/unit/queries/top_children_test.rb +0 -53
  383. data/test/unit/queries/wildcard_test.rb +0 -43
@@ -1,24 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Aggregations
6
- class AvgTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Aggregations
8
-
9
- context "Avg agg" do
10
- subject { Avg.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ avg: {} }, subject.to_hash)
14
- end
15
-
16
- should "take a Hash" do
17
- subject = Avg.new foo: 'bar'
18
- assert_equal({ avg: { foo: 'bar' } }, subject.to_hash)
19
- end
20
- end
21
- end
22
- end
23
- end
24
- end
@@ -1,40 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Aggregations
6
- class CardinalityTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Aggregations
8
-
9
- context "Cardinality agg" do
10
- subject { Cardinality.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ cardinality: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = Cardinality.new :foo
18
-
19
- subject.field 'bar'
20
- subject.precision_threshold 'bar'
21
- subject.rehash 'bar'
22
- subject.script 'bar'
23
- subject.params 'bar'
24
-
25
- assert_equal %w[ field params precision_threshold rehash script ],
26
- subject.to_hash[:cardinality][:foo].keys.map(&:to_s).sort
27
- assert_equal 'bar', subject.to_hash[:cardinality][:foo][:field]
28
- end
29
-
30
- should "take a block" do
31
- subject = Cardinality.new :foo do
32
- field 'bar'
33
- end
34
- assert_equal({cardinality: { foo: { field: 'bar' } }}, subject.to_hash)
35
- end
36
- end
37
- end
38
- end
39
- end
40
- end
@@ -1,36 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Aggregations
6
- class ChildrenTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Aggregations
8
-
9
- context "Children aggregation" do
10
- subject { Children.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ children: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = Children.new
18
-
19
- subject.type 'bar'
20
-
21
- assert_equal %w[ type ],
22
- subject.to_hash[:children].keys.map(&:to_s).sort
23
- assert_equal 'bar', subject.to_hash[:children][:type]
24
- end
25
-
26
- should "take a block" do
27
- subject = Children.new do
28
- type 'bar'
29
- end
30
- assert_equal({children: { type: 'bar' } }, subject.to_hash)
31
- end
32
- end
33
- end
34
- end
35
- end
36
- end
@@ -1,49 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Aggregations
6
- class DateHistogramTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Aggregations
8
-
9
- context "DateHistogram aggregation" do
10
- subject { DateHistogram.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ date_histogram: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = DateHistogram.new
18
-
19
- subject.field 'bar'
20
- subject.interval 'bar'
21
- subject.pre_zone 'bar'
22
- subject.post_zone 'bar'
23
- subject.time_zone 'bar'
24
- subject.pre_zone_adjust_large_interval 'bar'
25
- subject.pre_offset 'bar'
26
- subject.post_offset 'bar'
27
- subject.format 'bar'
28
- subject.min_doc_count 'bar'
29
- subject.extended_bounds 'bar'
30
- subject.order 'bar'
31
-
32
- assert_equal %w[ extended_bounds field format interval min_doc_count order post_offset post_zone pre_offset pre_zone pre_zone_adjust_large_interval time_zone ],
33
- subject.to_hash[:date_histogram].keys.map(&:to_s).sort
34
- assert_equal 'bar', subject.to_hash[:date_histogram][:field]
35
- end
36
-
37
- should "take a block" do
38
- subject = DateHistogram.new do
39
- field 'bar'
40
- interval 'day'
41
- format 'yyyy-MM-dd'
42
- end
43
- assert_equal({date_histogram: { field: 'bar', interval: 'day', format: 'yyyy-MM-dd' } }, subject.to_hash)
44
- end
45
- end
46
- end
47
- end
48
- end
49
- end
@@ -1,42 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Aggregations
6
- class DateRangeTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Aggregations
8
-
9
- context "DateRange aggregation" do
10
- subject { DateRange.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ date_range: {} }, subject.to_hash)
14
-
15
- subject = DateRange.new field: 'test', ranges: [ {to: 'foo'}, {from: 'bar'} ]
16
- assert_equal({ date_range: { field: 'test', ranges: [ {to: 'foo'}, {from: 'bar'} ] } }, subject.to_hash)
17
- end
18
-
19
- should "have option methods" do
20
- subject = DateRange.new
21
-
22
- subject.field 'bar'
23
- subject.format 'bar'
24
- subject.ranges 'bar'
25
-
26
- assert_equal %w[ field format ranges ],
27
- subject.to_hash[:date_range].keys.map(&:to_s).sort
28
- assert_equal 'bar', subject.to_hash[:date_range][:field]
29
- end
30
-
31
- should "take a block" do
32
- subject = DateRange.new do
33
- field 'bar'
34
- ranges [ {to: 'foo'}, {from: 'bar'} ]
35
- end
36
- assert_equal({date_range: { field: 'bar', ranges: [ {to: 'foo'}, {from: 'bar'} ] } }, subject.to_hash)
37
- end
38
- end
39
- end
40
- end
41
- end
42
- end
@@ -1,24 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Aggregations
6
- class ExtendedStatsTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Aggregations
8
-
9
- context "ExtendedStats agg" do
10
- subject { ExtendedStats.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ extended_stats: {} }, subject.to_hash)
14
- end
15
-
16
- should "take a Hash" do
17
- subject = ExtendedStats.new foo: 'bar'
18
- assert_equal({ extended_stats: { foo: 'bar' } }, subject.to_hash)
19
- end
20
- end
21
- end
22
- end
23
- end
24
- end
@@ -1,31 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Aggregations
6
- class FilterTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Aggregations
8
-
9
- context "Filter agg" do
10
- subject { Filter.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ filter: {} }, subject.to_hash)
14
- end
15
-
16
- should "nest another aggregation" do
17
- subject = Filter.new terms: { foo: 'bar' } do
18
- aggregation :sum_clicks do
19
- sum moo: 'bam'
20
- end
21
- end
22
-
23
- assert_equal(
24
- { filter: { terms: { foo: 'bar' } }, aggregations: { sum_clicks: { sum: { moo: 'bam' } } } },
25
- subject.to_hash)
26
- end
27
- end
28
- end
29
- end
30
- end
31
- end
@@ -1,52 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Aggregations
6
- class FiltersTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Aggregations
8
-
9
- context "Filters agg" do
10
- subject { Elasticsearch::DSL::Search::Aggregations::Filters.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ filters: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = Elasticsearch::DSL::Search::Aggregations::Filters.new
18
- subject.filters foo: 'bar'
19
-
20
- assert_equal 'bar', subject.to_hash[:filters][:filters][:foo]
21
- end
22
-
23
- should "define filters" do
24
- subject = Elasticsearch::DSL::Search::Aggregations::Filters.new filters: { foo: 'bar' }
25
- assert_equal({ filters: { filters: { foo: 'bar' } } }, subject.to_hash)
26
- end
27
-
28
- should "define filters with a block" do
29
- subject = Elasticsearch::DSL::Search::Aggregations::Filters.new do
30
- filters foo: 'bar'
31
- end
32
- assert_equal({ filters: { filters: { foo: 'bar' } } }, subject.to_hash)
33
- end
34
-
35
- should "define aggregations" do
36
- subject = Elasticsearch::DSL::Search::Aggregations::Filters.new do
37
- filters foo: { terms: { foo: 'bar' } }
38
- aggregation :sum_clicks do
39
- sum moo: 'bam'
40
- end
41
- end
42
-
43
- assert_equal(
44
- { filters: { filters: { foo: { terms: { foo: 'bar' } } } }, aggregations: { sum_clicks: { sum: { moo: 'bam' } } } },
45
- subject.to_hash)
46
- end
47
-
48
- end
49
- end
50
- end
51
- end
52
- end
@@ -1,37 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Aggregations
6
- class GeoBoundsTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Aggregations
8
-
9
- context "GeoBounds agg" do
10
- subject { GeoBounds.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ geo_bounds: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = GeoBounds.new
18
-
19
- subject.field 'bar'
20
- subject.wrap_longitude 'bar'
21
-
22
- assert_equal %w[ field wrap_longitude ],
23
- subject.to_hash[:geo_bounds].keys.map(&:to_s).sort
24
- assert_equal 'bar', subject.to_hash[:geo_bounds][:field]
25
- end
26
-
27
- should "take a block" do
28
- subject = GeoBounds.new do
29
- field 'bar'
30
- end
31
- assert_equal({geo_bounds: { field: 'bar' } }, subject.to_hash)
32
- end
33
- end
34
- end
35
- end
36
- end
37
- end
@@ -1,45 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Aggregations
6
- class GeoDistanceTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Aggregations
8
-
9
- context "GeoDistance aggregation" do
10
- subject { GeoDistance.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ geo_distance: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = GeoDistance.new
18
-
19
- subject.field 'bar'
20
- subject.origin 'bar'
21
- subject.ranges 'bar'
22
- subject.unit 'bar'
23
- subject.distance_type 'bar'
24
-
25
- assert_equal %w[ distance_type field origin ranges unit ],
26
- subject.to_hash[:geo_distance].keys.map(&:to_s).sort
27
- assert_equal 'bar', subject.to_hash[:geo_distance][:field]
28
- end
29
-
30
- should "take a block" do
31
- subject = GeoDistance.new do
32
- field 'bar'
33
- origin lat: 50, lon: 5
34
- ranges [ { to: 50 }, { from: 50, to: 100 }, { from: 100 } ]
35
- end
36
- assert_equal(
37
- { geo_distance: { field: 'bar', origin: { lat: 50, lon: 5 }, ranges: [ { to: 50 }, { from: 50, to: 100 }, { from: 100 } ] } },
38
- subject.to_hash
39
- )
40
- end
41
- end
42
- end
43
- end
44
- end
45
- end
@@ -1,40 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Aggregations
6
- class GeohashGridTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Aggregations
8
-
9
- context "GeohashGrid aggregation" do
10
- subject { GeohashGrid.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ geohash_grid: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = GeohashGrid.new
18
-
19
- subject.field 'bar'
20
- subject.precision 'bar'
21
- subject.size 'bar'
22
- subject.shard_size 'bar'
23
-
24
- assert_equal %w[ field precision shard_size size ],
25
- subject.to_hash[:geohash_grid].keys.map(&:to_s).sort
26
- assert_equal 'bar', subject.to_hash[:geohash_grid][:field]
27
- end
28
-
29
- should "take a block" do
30
- subject = GeohashGrid.new do
31
- field 'bar'
32
- precision 5
33
- end
34
- assert_equal({geohash_grid: { field: 'bar', precision: 5 } }, subject.to_hash)
35
- end
36
- end
37
- end
38
- end
39
- end
40
- end
@@ -1,38 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Aggregations
6
- class GlobalTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Aggregations
8
-
9
- context "Global agg" do
10
- subject { Global.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ global: {} }, subject.to_hash)
14
- end
15
-
16
- should "take a block" do
17
- subject = Global.new do
18
- end
19
- assert_equal({global: {} }, subject.to_hash)
20
- end
21
-
22
- should "define aggregations" do
23
- subject = Global.new do
24
- aggregation :foo do
25
- terms field: "bar"
26
- end
27
- end
28
- expected = {
29
- aggregations: { foo: { terms: { field: "bar" } } },
30
- global: {}
31
- }
32
- assert_equal(expected, subject.to_hash)
33
- end
34
- end
35
- end
36
- end
37
- end
38
- end
@@ -1,42 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Aggregations
6
- class HistogramTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Aggregations
8
-
9
- context "Histogram aggregation" do
10
- subject { Histogram.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ histogram: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = Histogram.new
18
-
19
- subject.field 'bar'
20
- subject.interval 'bar'
21
- subject.min_doc_count 'bar'
22
- subject.extended_bounds 'bar'
23
- subject.order 'bar'
24
- subject.keyed 'bar'
25
-
26
- assert_equal %w[ extended_bounds field interval keyed min_doc_count order ],
27
- subject.to_hash[:histogram].keys.map(&:to_s).sort
28
- assert_equal 'bar', subject.to_hash[:histogram][:field]
29
- end
30
-
31
- should "take a block" do
32
- subject = Histogram.new do
33
- field 'bar'
34
- interval 5
35
- end
36
- assert_equal({histogram: { field: 'bar', interval: 5 } }, subject.to_hash)
37
- end
38
- end
39
- end
40
- end
41
- end
42
- end
@@ -1,41 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Aggregations
6
- class IpRangeTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Aggregations
8
-
9
- context "IpRange aggregation" do
10
- subject { IpRange.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ ip_range: {} }, subject.to_hash)
14
-
15
- subject = IpRange.new field: 'test', ranges: [ {to: 'foo'}, {from: 'bar'} ]
16
- assert_equal({ ip_range: { field: 'test', ranges: [ {to: 'foo'}, {from: 'bar'} ] } }, subject.to_hash)
17
- end
18
-
19
- should "have option methods" do
20
- subject = IpRange.new
21
-
22
- subject.field 'bar'
23
- subject.ranges 'bar'
24
-
25
- assert_equal %w[ field ranges ],
26
- subject.to_hash[:ip_range].keys.map(&:to_s).sort
27
- assert_equal 'bar', subject.to_hash[:ip_range][:field]
28
- end
29
-
30
- should "take a block" do
31
- subject = IpRange.new do
32
- field 'bar'
33
- ranges [ {to: 'foo'}, {from: 'bar'} ]
34
- end
35
- assert_equal({ip_range: { field: 'bar', ranges: [ {to: 'foo'}, {from: 'bar'} ] } }, subject.to_hash)
36
- end
37
- end
38
- end
39
- end
40
- end
41
- end
@@ -1,24 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Aggregations
6
- class MaxTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Aggregations
8
-
9
- context "Max agg" do
10
- subject { Max.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ max: {} }, subject.to_hash)
14
- end
15
-
16
- should "take a Hash" do
17
- subject = Max.new foo: 'bar'
18
- assert_equal({ max: { foo: 'bar' } }, subject.to_hash)
19
- end
20
- end
21
- end
22
- end
23
- end
24
- end
@@ -1,24 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Aggregations
6
- class MinTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Aggregations
8
-
9
- context "Min agg" do
10
- subject { Min.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ min: {} }, subject.to_hash)
14
- end
15
-
16
- should "take a Hash" do
17
- subject = Min.new foo: 'bar'
18
- assert_equal({ min: { foo: 'bar' } }, subject.to_hash)
19
- end
20
- end
21
- end
22
- end
23
- end
24
- end
@@ -1,39 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Aggregations
6
- class MissingTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Aggregations
8
-
9
- context "Missing aggregation" do
10
- subject { Missing.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ missing: {} }, subject.to_hash)
14
- end
15
-
16
- should "take a Hash" do
17
- subject = Missing.new( { field: 'foo' } )
18
- assert_equal({ missing: { field: "foo" } }, subject.to_hash)
19
- end
20
-
21
- should "have option methods" do
22
- subject.field 'foo'
23
-
24
- assert_equal %w[ field ], subject.to_hash[:missing].keys.map(&:to_s).sort
25
- assert_equal 'foo', subject.to_hash[:missing][:field]
26
- end
27
-
28
- should "take a block" do
29
- subject = Missing.new do
30
- field 'bar'
31
- end
32
-
33
- assert_equal({missing: { field: 'bar' } }, subject.to_hash)
34
- end
35
- end
36
- end
37
- end
38
- end
39
- end