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,58 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Filters
6
- class GeoDistanceTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Filters
8
-
9
- context "GeoDistance filter" 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 :foo
18
-
19
- subject.distance 'bar'
20
- subject.distance_type 'bar'
21
- subject.lat 'bar'
22
- subject.lon 'bar'
23
-
24
- assert_equal %w[ distance distance_type foo ],
25
- subject.to_hash[:geo_distance].keys.map(&:to_s).sort
26
- assert_equal %w[ lat lon ],
27
- subject.to_hash[:geo_distance][:foo].keys.map(&:to_s).sort
28
-
29
- assert_equal 'bar', subject.to_hash[:geo_distance][:distance]
30
- assert_equal 'bar', subject.to_hash[:geo_distance][:foo][:lat]
31
- end
32
-
33
- should "take a block" do
34
- subject = GeoDistance.new :foo do
35
- distance '1km'
36
- lat 40
37
- lon -70
38
- end
39
- assert_equal({geo_distance: { distance: '1km', foo: { lat: 40, lon: -70 } }}, subject.to_hash)
40
- end
41
-
42
- should "take a Hash" do
43
- subject = GeoDistance.new distance: '10km', foo: { lat: 40, lon: -70 }
44
- assert_equal({geo_distance: { foo: { lat: 40, lon: -70 }, distance: '10km' }}, subject.to_hash)
45
- end
46
-
47
- should "take options" do
48
- subject = GeoDistance.new :foo, distance: '10km' do
49
- lat 40
50
- lon -70
51
- end
52
- assert_equal({geo_distance: { foo: { lat: 40, lon: -70 }, distance: '10km' }}, subject.to_hash)
53
- end
54
- end
55
- end
56
- end
57
- end
58
- end
@@ -1,36 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Filters
6
- class GeoPolygonTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Filters
8
-
9
- context "GeoPolygon filter" do
10
- subject { GeoPolygon.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ geo_polygon: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = GeoPolygon.new :foo
18
-
19
- subject.points 'bar'
20
-
21
- assert_equal %w[ points ],
22
- subject.to_hash[:geo_polygon][:foo].keys.map(&:to_s).sort
23
- assert_equal 'bar', subject.to_hash[:geo_polygon][:foo][:points]
24
- end
25
-
26
- should "take a block" do
27
- subject = GeoPolygon.new :foo do
28
- points 'bar'
29
- end
30
- assert_equal({geo_polygon: { foo: { points: 'bar' } }}, subject.to_hash)
31
- end
32
- end
33
- end
34
- end
35
- end
36
- end
@@ -1,37 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Filters
6
- class GeoShapeTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Filters
8
-
9
- context "GeoShape filter" do
10
- subject { GeoShape.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ geo_shape: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = GeoShape.new :foo
18
-
19
- subject.shape 'bar'
20
- subject.indexed_shape 'bar'
21
-
22
- assert_equal %w[ indexed_shape shape ],
23
- subject.to_hash[:geo_shape][:foo].keys.map(&:to_s).sort
24
- assert_equal 'bar', subject.to_hash[:geo_shape][:foo][:shape]
25
- end
26
-
27
- should "take a block" do
28
- subject = GeoShape.new :foo do
29
- shape 'bar'
30
- end
31
- assert_equal({geo_shape: { foo: { shape: 'bar' } }}, subject.to_hash)
32
- end
33
- end
34
- end
35
- end
36
- end
37
- end
@@ -1,43 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Filters
6
- class GeohashCellTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Filters
8
-
9
- context "GeohashCell filter" do
10
- subject { GeohashCell.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ geohash_cell: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = GeohashCell.new :foo
18
-
19
- subject.precision 'bar'
20
- subject.neighbors 'bar'
21
- subject.lat 'bar'
22
- subject.lon 'bar'
23
-
24
- assert_equal %w[ foo neighbors precision ],
25
- subject.to_hash[:geohash_cell].keys.map(&:to_s).sort
26
- assert_equal %w[ lat lon ],
27
- subject.to_hash[:geohash_cell][:foo].keys.map(&:to_s).sort
28
-
29
- assert_equal 'bar', subject.to_hash[:geohash_cell][:precision]
30
- assert_equal 'bar', subject.to_hash[:geohash_cell][:foo][:lat]
31
- end
32
-
33
- should "take a block" do
34
- subject = GeohashCell.new :foo do
35
- lat 'bar'
36
- end
37
- assert_equal({geohash_cell: { foo: { lat: 'bar' } }}, subject.to_hash)
38
- end
39
- end
40
- end
41
- end
42
- end
43
- end
@@ -1,54 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Filters
6
- class HasChildTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Filters
8
-
9
- context "HasChild filter" do
10
- subject { HasChild.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ has_child: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = HasChild.new
18
-
19
- subject.type 'bar'
20
- subject.query 'bar'
21
- subject.filter 'bar'
22
- subject.min_children 'bar'
23
- subject.max_children 'bar'
24
- subject.inner_hits({ size: 1 })
25
-
26
- assert_equal %w[ filter inner_hits max_children min_children query type ],
27
- subject.to_hash[:has_child].keys.map(&:to_s).sort
28
- assert_equal 'bar', subject.to_hash[:has_child][:type]
29
- assert_equal({ size: 1 }, subject.to_hash[:has_child][:inner_hits])
30
- end
31
-
32
- should "take a block" do
33
- subject = HasChild.new do
34
- type 'bar'
35
- end
36
- assert_equal({has_child: { type: 'bar' } }, subject.to_hash)
37
- end
38
-
39
- should "take a block for option method" do
40
- subject = HasChild.new do
41
- type 'bar'
42
- query do
43
- match :foo do
44
- query 'bar'
45
- end
46
- end
47
- end
48
- assert_equal({ has_child: { type: 'bar', query: { match: { foo: { query: 'bar'} } } } }, subject.to_hash)
49
- end
50
- end
51
- end
52
- end
53
- end
54
- end
@@ -1,54 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Filters
6
- class HasParentTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Filters
8
-
9
- context "HasParent filter" do
10
- subject { HasParent.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ has_parent: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = HasParent.new
18
-
19
- subject.parent_type 'bar'
20
- subject.filter 'bar'
21
- subject.query 'bar'
22
- subject.score_mode 'bar'
23
- subject.inner_hits({ size: 1 })
24
-
25
- assert_equal %w[ filter inner_hits parent_type query score_mode ],
26
- subject.to_hash[:has_parent].keys.map(&:to_s).sort
27
- assert_equal 'bar', subject.to_hash[:has_parent][:parent_type]
28
- assert_equal({ size: 1 }, subject.to_hash[:has_parent][:inner_hits])
29
- end
30
-
31
- should "take a block" do
32
- subject = HasParent.new do
33
- parent_type 'bar'
34
- query match: { foo: 'bar' }
35
- end
36
- assert_equal({ has_parent: { parent_type: 'bar', query: { match: { foo: 'bar' } } } }, subject.to_hash)
37
- end
38
-
39
- should "take a block for option method" do
40
- subject = HasParent.new do
41
- parent_type 'bar'
42
- query do
43
- match :foo do
44
- query 'bar'
45
- end
46
- end
47
- end
48
- assert_equal({ has_parent: { parent_type: 'bar', query: { match: { foo: { query: 'bar'} } } } }, subject.to_hash)
49
- end
50
- end
51
- end
52
- end
53
- end
54
- end
@@ -1,38 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Filters
6
- class IdsTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Filters
8
-
9
- context "Ids filter" do
10
- subject { Ids.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ ids: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = Ids.new
18
-
19
- subject.type 'bar'
20
- subject.values 'bar'
21
-
22
- assert_equal %w[ type values ],
23
- subject.to_hash[:ids].keys.map(&:to_s).sort
24
- assert_equal 'bar', subject.to_hash[:ids][:type]
25
- end
26
-
27
- should "take a block" do
28
- subject = Ids.new do
29
- type 'bar'
30
- values ['1', '2', '3']
31
- end
32
- assert_equal({ids: { type: 'bar', values: ['1', '2', '3'] } }, subject.to_hash)
33
- end
34
- end
35
- end
36
- end
37
- end
38
- end
@@ -1,52 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Filters
6
- class IndicesTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Filters
8
-
9
- context "Indices filter" do
10
- subject { Indices.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ indices: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = Indices.new
18
-
19
- subject.indices 'bar'
20
- subject.filter 'bar'
21
- subject.no_match_filter 'bar'
22
-
23
- assert_equal %w[ filter indices no_match_filter ],
24
- subject.to_hash[:indices].keys.map(&:to_s).sort
25
- assert_equal 'bar', subject.to_hash[:indices][:indices]
26
- end
27
-
28
- should "take a block" do
29
- subject = Indices.new do
30
- indices 'bar'
31
- end
32
- assert_equal({indices: { indices: 'bar' } }, subject.to_hash)
33
- end
34
-
35
- should "take a block for methods" do
36
- subject = Indices.new do
37
- indices 'bar'
38
-
39
- filter do
40
- term foo: 'bar'
41
- end
42
- no_match_filter do
43
- term foo: 'bam'
44
- end
45
- end
46
- assert_equal({ indices: { indices: 'bar', filter: { term: { foo: 'bar' } }, no_match_filter: { term: { foo: 'bar' } } } }, subject.to_hash)
47
- end
48
- end
49
- end
50
- end
51
- end
52
- end
@@ -1,36 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Filters
6
- class LimitTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Filters
8
-
9
- context "Limit filter" do
10
- subject { Limit.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ limit: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = Limit.new
18
-
19
- subject.value 'bar'
20
-
21
- assert_equal %w[ value ],
22
- subject.to_hash[:limit].keys.map(&:to_s).sort
23
- assert_equal 'bar', subject.to_hash[:limit][:value]
24
- end
25
-
26
- should "take a block" do
27
- subject = Limit.new do
28
- value 'bar'
29
- end
30
- assert_equal({limit: { value: 'bar' } }, subject.to_hash)
31
- end
32
- end
33
- end
34
- end
35
- end
36
- end
@@ -1,20 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Filters
6
- class MatchAllTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Filters
8
-
9
- context "MatchAll filter" do
10
- subject { MatchAll.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ match_all: {} }, subject.to_hash)
14
- end
15
-
16
- end
17
- end
18
- end
19
- end
20
- end
@@ -1,38 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Filters
6
- class MissingTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Filters
8
-
9
- context "Missing filter" 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 "have option methods" do
17
- subject = Missing.new
18
-
19
- subject.field 'bar'
20
- subject.existence 'bar'
21
- subject.null_value 'bar'
22
-
23
- assert_equal %w[ existence field null_value ],
24
- subject.to_hash[:missing].keys.map(&:to_s).sort
25
- assert_equal 'bar', 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
- assert_equal({missing: { field: 'bar' } }, subject.to_hash)
33
- end
34
- end
35
- end
36
- end
37
- end
38
- end
@@ -1,40 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Filters
6
- class NestedTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Filters
8
-
9
- context "Nested filter" do
10
- subject { Nested.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ nested: {} }, subject.to_hash)
14
- end
15
-
16
- should "have option methods" do
17
- subject = Nested.new
18
-
19
- subject.path 'bar'
20
- subject.filter 'bar'
21
-
22
- assert_equal %w[ filter path ],
23
- subject.to_hash[:nested].keys.map(&:to_s).sort
24
- assert_equal 'bar', subject.to_hash[:nested][:path]
25
- end
26
-
27
- should "take a block" do
28
- subject = Nested.new do
29
- path 'bar'
30
- filter do
31
- term foo: 'bar'
32
- end
33
- end
34
- assert_equal({nested: { path: 'bar', filter: { term: { foo: 'bar' } } } }, subject.to_hash)
35
- end
36
- end
37
- end
38
- end
39
- end
40
- end
@@ -1,35 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Filters
6
- class NotTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Filters
8
-
9
- context "Not filter" do
10
- subject { Not.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ not: {} }, subject.to_hash)
14
- end
15
-
16
- should "take a Hash" do
17
- subject = Not.new filters: [ { term: { foo: 'bar' } } ]
18
- assert_equal({ not: { filters: [ { term: { foo: 'bar' } } ] } }, subject.to_hash)
19
- end
20
-
21
- should "take a block" do
22
- subject = Not.new do
23
- term foo: 'bar'
24
- end
25
- assert_equal({not: {term: { foo: 'bar'}} }, subject.to_hash)
26
- end
27
-
28
- should "raise an exception for unknown DSL method" do
29
- assert_raise(NoMethodError) { subject.foofoo }
30
- end
31
- end
32
- end
33
- end
34
- end
35
- end
@@ -1,53 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Filters
6
- class OrTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Filters
8
-
9
- context "Or filter" do
10
- subject { Or.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ or: {} }, subject.to_hash)
14
- end
15
-
16
- should "take a Hash" do
17
- subject = Or.new filters: [ { term: { foo: 'bar' } } ]
18
- assert_equal({ or: { filters: [ { term: { foo: 'bar' } } ] } }, subject.to_hash)
19
- end
20
-
21
- should "take a block" do
22
- subject = Or.new do
23
- term foo: 'bar'
24
- term moo: 'mam'
25
- end
26
- assert_equal({or: [ {term: { foo: 'bar'}}, {term: { moo: 'mam'}} ]}, subject.to_hash)
27
- end
28
-
29
- should "behave like an Enumerable" do
30
- subject = Or.new
31
- subject << { term: { foo: 'bar' } }
32
-
33
- assert_equal 1, subject.size
34
- assert subject.any? { |d| d[:term] == { foo: 'bar' } }
35
- end
36
-
37
- should "behave like an Array" do
38
- subject = Or.new
39
-
40
- assert subject.empty?
41
-
42
- subject << { term: { foo: 'bar' } }
43
- subject << { term: { moo: 'xam' } }
44
-
45
- assert ! subject.empty?
46
-
47
- assert_equal({ or: [ { term: { foo: 'bar' } }, { term: { moo: 'xam' } } ] }, subject.to_hash)
48
- end
49
- end
50
- end
51
- end
52
- end
53
- end
@@ -1,25 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Filters
6
- class PrefixTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Filters
8
-
9
- context "Prefix filter" do
10
- subject { Prefix.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ prefix: {} }, subject.to_hash)
14
- end
15
-
16
- should "take a Hash" do
17
- subject = Prefix.new foo: 'bar'
18
-
19
- assert_equal({ prefix: { foo: 'bar' } }, subject.to_hash)
20
- end
21
- end
22
- end
23
- end
24
- end
25
- end
@@ -1,33 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Elasticsearch
4
- module Test
5
- module Filters
6
- class QueryTest < ::Elasticsearch::Test::UnitTestCase
7
- include Elasticsearch::DSL::Search::Filters
8
-
9
- context "Query filter" do
10
- subject { Query.new }
11
-
12
- should "be converted to a Hash" do
13
- assert_equal({ query: {} }, subject.to_hash)
14
- end
15
-
16
- should "take a Hash" do
17
- subject = Query.new query_string: { query: 'foo' }
18
-
19
- assert_equal({ query: { query_string: { query: 'foo' } } }, subject.to_hash)
20
- end
21
-
22
- should "take a block" do
23
- subject = Query.new do
24
- match foo: 'bar'
25
- end
26
-
27
- assert_equal({ query: { match: { foo: 'bar' } } }, subject.to_hash)
28
- end
29
- end
30
- end
31
- end
32
- end
33
- end