fluentd 1.17.0-x86-mingw32 → 1.17.1-x86-mingw32

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 (259) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +46 -0
  3. data/README.md +1 -0
  4. data/SECURITY.md +2 -2
  5. data/fluent.conf +14 -14
  6. data/lib/fluent/command/cap_ctl.rb +4 -4
  7. data/lib/fluent/compat/call_super_mixin.rb +3 -3
  8. data/lib/fluent/compat/propagate_default.rb +4 -4
  9. data/lib/fluent/config/yaml_parser/parser.rb +4 -0
  10. data/lib/fluent/log/console_adapter.rb +4 -2
  11. data/lib/fluent/plugin/in_exec.rb +14 -2
  12. data/lib/fluent/plugin/in_http.rb +1 -1
  13. data/lib/fluent/plugin/in_sample.rb +13 -7
  14. data/lib/fluent/plugin/in_tail.rb +65 -23
  15. data/lib/fluent/plugin/out_copy.rb +1 -1
  16. data/lib/fluent/plugin/out_file.rb +8 -0
  17. data/lib/fluent/plugin/out_http.rb +12 -0
  18. data/lib/fluent/plugin/parser_json.rb +4 -12
  19. data/lib/fluent/plugin_helper/http_server/server.rb +1 -1
  20. data/lib/fluent/version.rb +1 -1
  21. data/templates/new_gem/fluent-plugin.gemspec.erb +6 -5
  22. metadata +25 -472
  23. data/.github/DISCUSSION_TEMPLATE/q-a-japanese.yml +0 -50
  24. data/.github/DISCUSSION_TEMPLATE/q-a.yml +0 -47
  25. data/.github/ISSUE_TEMPLATE/bug_report.yml +0 -71
  26. data/.github/ISSUE_TEMPLATE/config.yml +0 -5
  27. data/.github/ISSUE_TEMPLATE/feature_request.yml +0 -39
  28. data/.github/ISSUE_TEMPLATE.md +0 -17
  29. data/.github/PULL_REQUEST_TEMPLATE.md +0 -14
  30. data/.github/workflows/stale-actions.yml +0 -24
  31. data/.github/workflows/test-ruby-head.yml +0 -31
  32. data/.github/workflows/test.yml +0 -32
  33. data/.gitignore +0 -30
  34. data/Gemfile +0 -9
  35. data/fluentd.gemspec +0 -62
  36. data/test/command/test_binlog_reader.rb +0 -362
  37. data/test/command/test_ca_generate.rb +0 -70
  38. data/test/command/test_cap_ctl.rb +0 -100
  39. data/test/command/test_cat.rb +0 -128
  40. data/test/command/test_ctl.rb +0 -56
  41. data/test/command/test_fluentd.rb +0 -1291
  42. data/test/command/test_plugin_config_formatter.rb +0 -397
  43. data/test/command/test_plugin_generator.rb +0 -109
  44. data/test/compat/test_calls_super.rb +0 -166
  45. data/test/compat/test_parser.rb +0 -92
  46. data/test/config/assertions.rb +0 -42
  47. data/test/config/test_config_parser.rb +0 -551
  48. data/test/config/test_configurable.rb +0 -1784
  49. data/test/config/test_configure_proxy.rb +0 -604
  50. data/test/config/test_dsl.rb +0 -415
  51. data/test/config/test_element.rb +0 -518
  52. data/test/config/test_literal_parser.rb +0 -309
  53. data/test/config/test_plugin_configuration.rb +0 -56
  54. data/test/config/test_section.rb +0 -191
  55. data/test/config/test_system_config.rb +0 -195
  56. data/test/config/test_types.rb +0 -408
  57. data/test/counter/test_client.rb +0 -563
  58. data/test/counter/test_error.rb +0 -44
  59. data/test/counter/test_mutex_hash.rb +0 -179
  60. data/test/counter/test_server.rb +0 -589
  61. data/test/counter/test_store.rb +0 -258
  62. data/test/counter/test_validator.rb +0 -137
  63. data/test/helper.rb +0 -155
  64. data/test/helpers/fuzzy_assert.rb +0 -89
  65. data/test/helpers/process_extenstion.rb +0 -33
  66. data/test/log/test_console_adapter.rb +0 -117
  67. data/test/plugin/data/2010/01/20100102-030405.log +0 -0
  68. data/test/plugin/data/2010/01/20100102-030406.log +0 -0
  69. data/test/plugin/data/2010/01/20100102.log +0 -0
  70. data/test/plugin/data/log/bar +0 -0
  71. data/test/plugin/data/log/foo/bar.log +0 -0
  72. data/test/plugin/data/log/foo/bar2 +0 -0
  73. data/test/plugin/data/log/test.log +0 -0
  74. data/test/plugin/data/log_numeric/01.log +0 -0
  75. data/test/plugin/data/log_numeric/02.log +0 -0
  76. data/test/plugin/data/log_numeric/12.log +0 -0
  77. data/test/plugin/data/log_numeric/14.log +0 -0
  78. data/test/plugin/data/sd_file/config +0 -11
  79. data/test/plugin/data/sd_file/config.json +0 -17
  80. data/test/plugin/data/sd_file/config.yaml +0 -11
  81. data/test/plugin/data/sd_file/config.yml +0 -11
  82. data/test/plugin/data/sd_file/invalid_config.yml +0 -7
  83. data/test/plugin/in_tail/test_fifo.rb +0 -121
  84. data/test/plugin/in_tail/test_io_handler.rb +0 -150
  85. data/test/plugin/in_tail/test_position_file.rb +0 -346
  86. data/test/plugin/out_forward/test_ack_handler.rb +0 -140
  87. data/test/plugin/out_forward/test_connection_manager.rb +0 -145
  88. data/test/plugin/out_forward/test_handshake_protocol.rb +0 -112
  89. data/test/plugin/out_forward/test_load_balancer.rb +0 -106
  90. data/test/plugin/out_forward/test_socket_cache.rb +0 -174
  91. data/test/plugin/test_bare_output.rb +0 -131
  92. data/test/plugin/test_base.rb +0 -247
  93. data/test/plugin/test_buf_file.rb +0 -1314
  94. data/test/plugin/test_buf_file_single.rb +0 -898
  95. data/test/plugin/test_buf_memory.rb +0 -42
  96. data/test/plugin/test_buffer.rb +0 -1493
  97. data/test/plugin/test_buffer_chunk.rb +0 -209
  98. data/test/plugin/test_buffer_file_chunk.rb +0 -871
  99. data/test/plugin/test_buffer_file_single_chunk.rb +0 -611
  100. data/test/plugin/test_buffer_memory_chunk.rb +0 -339
  101. data/test/plugin/test_compressable.rb +0 -87
  102. data/test/plugin/test_file_util.rb +0 -96
  103. data/test/plugin/test_filter.rb +0 -368
  104. data/test/plugin/test_filter_grep.rb +0 -697
  105. data/test/plugin/test_filter_parser.rb +0 -731
  106. data/test/plugin/test_filter_record_transformer.rb +0 -577
  107. data/test/plugin/test_filter_stdout.rb +0 -207
  108. data/test/plugin/test_formatter_csv.rb +0 -136
  109. data/test/plugin/test_formatter_hash.rb +0 -38
  110. data/test/plugin/test_formatter_json.rb +0 -61
  111. data/test/plugin/test_formatter_ltsv.rb +0 -70
  112. data/test/plugin/test_formatter_msgpack.rb +0 -28
  113. data/test/plugin/test_formatter_out_file.rb +0 -116
  114. data/test/plugin/test_formatter_single_value.rb +0 -44
  115. data/test/plugin/test_formatter_tsv.rb +0 -76
  116. data/test/plugin/test_in_debug_agent.rb +0 -49
  117. data/test/plugin/test_in_exec.rb +0 -261
  118. data/test/plugin/test_in_forward.rb +0 -1178
  119. data/test/plugin/test_in_gc_stat.rb +0 -62
  120. data/test/plugin/test_in_http.rb +0 -1124
  121. data/test/plugin/test_in_monitor_agent.rb +0 -922
  122. data/test/plugin/test_in_object_space.rb +0 -66
  123. data/test/plugin/test_in_sample.rb +0 -190
  124. data/test/plugin/test_in_syslog.rb +0 -505
  125. data/test/plugin/test_in_tail.rb +0 -3429
  126. data/test/plugin/test_in_tcp.rb +0 -328
  127. data/test/plugin/test_in_udp.rb +0 -296
  128. data/test/plugin/test_in_unix.rb +0 -181
  129. data/test/plugin/test_input.rb +0 -137
  130. data/test/plugin/test_metadata.rb +0 -89
  131. data/test/plugin/test_metrics.rb +0 -294
  132. data/test/plugin/test_metrics_local.rb +0 -96
  133. data/test/plugin/test_multi_output.rb +0 -204
  134. data/test/plugin/test_out_copy.rb +0 -308
  135. data/test/plugin/test_out_exec.rb +0 -312
  136. data/test/plugin/test_out_exec_filter.rb +0 -606
  137. data/test/plugin/test_out_file.rb +0 -1038
  138. data/test/plugin/test_out_forward.rb +0 -1349
  139. data/test/plugin/test_out_http.rb +0 -557
  140. data/test/plugin/test_out_null.rb +0 -105
  141. data/test/plugin/test_out_relabel.rb +0 -28
  142. data/test/plugin/test_out_roundrobin.rb +0 -146
  143. data/test/plugin/test_out_secondary_file.rb +0 -458
  144. data/test/plugin/test_out_stdout.rb +0 -205
  145. data/test/plugin/test_out_stream.rb +0 -103
  146. data/test/plugin/test_output.rb +0 -1334
  147. data/test/plugin/test_output_as_buffered.rb +0 -2024
  148. data/test/plugin/test_output_as_buffered_backup.rb +0 -363
  149. data/test/plugin/test_output_as_buffered_compress.rb +0 -179
  150. data/test/plugin/test_output_as_buffered_overflow.rb +0 -250
  151. data/test/plugin/test_output_as_buffered_retries.rb +0 -966
  152. data/test/plugin/test_output_as_buffered_secondary.rb +0 -882
  153. data/test/plugin/test_output_as_standard.rb +0 -374
  154. data/test/plugin/test_owned_by.rb +0 -34
  155. data/test/plugin/test_parser.rb +0 -399
  156. data/test/plugin/test_parser_apache.rb +0 -42
  157. data/test/plugin/test_parser_apache2.rb +0 -47
  158. data/test/plugin/test_parser_apache_error.rb +0 -45
  159. data/test/plugin/test_parser_csv.rb +0 -200
  160. data/test/plugin/test_parser_json.rb +0 -244
  161. data/test/plugin/test_parser_labeled_tsv.rb +0 -160
  162. data/test/plugin/test_parser_msgpack.rb +0 -127
  163. data/test/plugin/test_parser_multiline.rb +0 -111
  164. data/test/plugin/test_parser_nginx.rb +0 -88
  165. data/test/plugin/test_parser_none.rb +0 -52
  166. data/test/plugin/test_parser_regexp.rb +0 -284
  167. data/test/plugin/test_parser_syslog.rb +0 -650
  168. data/test/plugin/test_parser_tsv.rb +0 -122
  169. data/test/plugin/test_sd_file.rb +0 -228
  170. data/test/plugin/test_sd_srv.rb +0 -230
  171. data/test/plugin/test_storage.rb +0 -166
  172. data/test/plugin/test_storage_local.rb +0 -335
  173. data/test/plugin/test_string_util.rb +0 -26
  174. data/test/plugin_helper/data/cert/cert-key.pem +0 -27
  175. data/test/plugin_helper/data/cert/cert-with-CRLF.pem +0 -19
  176. data/test/plugin_helper/data/cert/cert-with-no-newline.pem +0 -19
  177. data/test/plugin_helper/data/cert/cert.pem +0 -19
  178. data/test/plugin_helper/data/cert/cert_chains/ca-cert-key.pem +0 -27
  179. data/test/plugin_helper/data/cert/cert_chains/ca-cert.pem +0 -20
  180. data/test/plugin_helper/data/cert/cert_chains/cert-key.pem +0 -27
  181. data/test/plugin_helper/data/cert/cert_chains/cert.pem +0 -40
  182. data/test/plugin_helper/data/cert/empty.pem +0 -0
  183. data/test/plugin_helper/data/cert/generate_cert.rb +0 -125
  184. data/test/plugin_helper/data/cert/with_ca/ca-cert-key-pass.pem +0 -30
  185. data/test/plugin_helper/data/cert/with_ca/ca-cert-key.pem +0 -27
  186. data/test/plugin_helper/data/cert/with_ca/ca-cert-pass.pem +0 -20
  187. data/test/plugin_helper/data/cert/with_ca/ca-cert.pem +0 -20
  188. data/test/plugin_helper/data/cert/with_ca/cert-key-pass.pem +0 -30
  189. data/test/plugin_helper/data/cert/with_ca/cert-key.pem +0 -27
  190. data/test/plugin_helper/data/cert/with_ca/cert-pass.pem +0 -21
  191. data/test/plugin_helper/data/cert/with_ca/cert.pem +0 -21
  192. data/test/plugin_helper/data/cert/without_ca/cert-key-pass.pem +0 -30
  193. data/test/plugin_helper/data/cert/without_ca/cert-key.pem +0 -27
  194. data/test/plugin_helper/data/cert/without_ca/cert-pass.pem +0 -20
  195. data/test/plugin_helper/data/cert/without_ca/cert.pem +0 -20
  196. data/test/plugin_helper/http_server/test_app.rb +0 -65
  197. data/test/plugin_helper/http_server/test_route.rb +0 -32
  198. data/test/plugin_helper/service_discovery/test_manager.rb +0 -93
  199. data/test/plugin_helper/service_discovery/test_round_robin_balancer.rb +0 -21
  200. data/test/plugin_helper/test_cert_option.rb +0 -25
  201. data/test/plugin_helper/test_child_process.rb +0 -862
  202. data/test/plugin_helper/test_compat_parameters.rb +0 -358
  203. data/test/plugin_helper/test_event_emitter.rb +0 -80
  204. data/test/plugin_helper/test_event_loop.rb +0 -52
  205. data/test/plugin_helper/test_extract.rb +0 -194
  206. data/test/plugin_helper/test_formatter.rb +0 -255
  207. data/test/plugin_helper/test_http_server_helper.rb +0 -372
  208. data/test/plugin_helper/test_inject.rb +0 -561
  209. data/test/plugin_helper/test_metrics.rb +0 -137
  210. data/test/plugin_helper/test_parser.rb +0 -264
  211. data/test/plugin_helper/test_record_accessor.rb +0 -238
  212. data/test/plugin_helper/test_retry_state.rb +0 -1006
  213. data/test/plugin_helper/test_server.rb +0 -1895
  214. data/test/plugin_helper/test_service_discovery.rb +0 -165
  215. data/test/plugin_helper/test_socket.rb +0 -146
  216. data/test/plugin_helper/test_storage.rb +0 -542
  217. data/test/plugin_helper/test_thread.rb +0 -164
  218. data/test/plugin_helper/test_timer.rb +0 -130
  219. data/test/scripts/exec_script.rb +0 -32
  220. data/test/scripts/fluent/plugin/formatter1/formatter_test1.rb +0 -7
  221. data/test/scripts/fluent/plugin/formatter2/formatter_test2.rb +0 -7
  222. data/test/scripts/fluent/plugin/formatter_known.rb +0 -8
  223. data/test/scripts/fluent/plugin/out_test.rb +0 -81
  224. data/test/scripts/fluent/plugin/out_test2.rb +0 -80
  225. data/test/scripts/fluent/plugin/parser_known.rb +0 -4
  226. data/test/test_capability.rb +0 -74
  227. data/test/test_clock.rb +0 -164
  228. data/test/test_config.rb +0 -369
  229. data/test/test_configdsl.rb +0 -148
  230. data/test/test_daemonizer.rb +0 -91
  231. data/test/test_engine.rb +0 -203
  232. data/test/test_event.rb +0 -531
  233. data/test/test_event_router.rb +0 -348
  234. data/test/test_event_time.rb +0 -199
  235. data/test/test_file_wrapper.rb +0 -53
  236. data/test/test_filter.rb +0 -121
  237. data/test/test_fluent_log_event_router.rb +0 -99
  238. data/test/test_formatter.rb +0 -369
  239. data/test/test_input.rb +0 -31
  240. data/test/test_log.rb +0 -1076
  241. data/test/test_match.rb +0 -148
  242. data/test/test_mixin.rb +0 -351
  243. data/test/test_msgpack_factory.rb +0 -50
  244. data/test/test_oj_options.rb +0 -55
  245. data/test/test_output.rb +0 -278
  246. data/test/test_plugin.rb +0 -251
  247. data/test/test_plugin_classes.rb +0 -370
  248. data/test/test_plugin_helper.rb +0 -81
  249. data/test/test_plugin_id.rb +0 -119
  250. data/test/test_process.rb +0 -14
  251. data/test/test_root_agent.rb +0 -951
  252. data/test/test_static_config_analysis.rb +0 -177
  253. data/test/test_supervisor.rb +0 -821
  254. data/test/test_test_drivers.rb +0 -136
  255. data/test/test_time_formatter.rb +0 -301
  256. data/test/test_time_parser.rb +0 -362
  257. data/test/test_tls.rb +0 -65
  258. data/test/test_unique_id.rb +0 -47
  259. data/test/test_variable_store.rb +0 -65
data/test/test_match.rb DELETED
@@ -1,148 +0,0 @@
1
- require_relative 'helper'
2
- require 'fluent/match'
3
-
4
- class MatchTest < Test::Unit::TestCase
5
- include Fluent
6
-
7
- def test_simple
8
- assert_glob_match('a', 'a')
9
- assert_glob_match('a.b', 'a.b')
10
- assert_glob_not_match('a', 'b')
11
- assert_glob_not_match('a.b', 'aab')
12
- end
13
-
14
- def test_wildcard
15
- assert_glob_match('a*', 'a')
16
- assert_glob_match('a*', 'ab')
17
- assert_glob_match('a*', 'abc')
18
-
19
- assert_glob_match('*a', 'a')
20
- assert_glob_match('*a', 'ba')
21
- assert_glob_match('*a', 'cba')
22
-
23
- assert_glob_match('*a*', 'a')
24
- assert_glob_match('*a*', 'ba')
25
- assert_glob_match('*a*', 'ac')
26
- assert_glob_match('*a*', 'bac')
27
-
28
- assert_glob_not_match('a*', 'a.b')
29
- assert_glob_not_match('a*', 'ab.c')
30
- assert_glob_not_match('a*', 'ba')
31
- assert_glob_not_match('*a', 'ab')
32
-
33
- assert_glob_match('a.*', 'a.b')
34
- assert_glob_match('a.*', 'a.c')
35
- assert_glob_not_match('a.*', 'ab')
36
-
37
- assert_glob_match('a.*.c', 'a.b.c')
38
- assert_glob_match('a.*.c', 'a.c.c')
39
- assert_glob_not_match('a.*.c', 'a.c')
40
- end
41
-
42
- def test_recursive_wildcard
43
- assert_glob_match('a.**', 'a')
44
- assert_glob_not_match('a.**', 'ab')
45
- assert_glob_not_match('a.**', 'abc')
46
- assert_glob_match('a.**', 'a.b')
47
- assert_glob_not_match('a.**', 'ab.c')
48
- assert_glob_not_match('a.**', 'ab.d.e')
49
-
50
- assert_glob_match('a**', 'a')
51
- assert_glob_match('a**', 'ab')
52
- assert_glob_match('a**', 'abc')
53
- assert_glob_match('a**', 'a.b')
54
- assert_glob_match('a**', 'ab.c')
55
- assert_glob_match('a**', 'ab.d.e')
56
-
57
- assert_glob_match('**.a', 'a')
58
- assert_glob_not_match('**.a', 'ba')
59
- assert_glob_not_match('**.a', 'c.ba')
60
- assert_glob_match('**.a', 'b.a')
61
- assert_glob_match('**.a', 'cb.a')
62
- assert_glob_match('**.a', 'd.e.a')
63
-
64
- assert_glob_match('**a', 'a')
65
- assert_glob_match('**a', 'ba')
66
- assert_glob_match('**a', 'c.ba')
67
- assert_glob_match('**a', 'b.a')
68
- assert_glob_match('**a', 'cb.a')
69
- assert_glob_match('**a', 'd.e.a')
70
- end
71
-
72
- def test_or
73
- assert_glob_match('a.{b,c}', 'a.b')
74
- assert_glob_match('a.{b,c}', 'a.c')
75
- assert_glob_not_match('a.{b,c}', 'a.d')
76
-
77
- assert_glob_match('a.{b,c}.**', 'a.b')
78
- assert_glob_match('a.{b,c}.**', 'a.c')
79
- assert_glob_not_match('a.{b,c}.**', 'a.d')
80
- assert_glob_not_match('a.{b,c}.**', 'a.cd')
81
-
82
- assert_glob_match('a.{b.**,c}', 'a.b')
83
- assert_glob_match('a.{b.**,c}', 'a.b.c')
84
- assert_glob_match('a.{b.**,c}', 'a.c')
85
- assert_glob_not_match('a.{b.**,c}', 'a.c.d')
86
- end
87
-
88
- def test_multi_pattern_or
89
- assert_or_match('a.b a.c', 'a.b')
90
- assert_or_match('a.b a.c', 'a.c')
91
- assert_or_not_match('a.b a.c', 'a.d')
92
-
93
- assert_or_match('a.b.** a.c.**', 'a.b')
94
- assert_or_match('a.b.** a.c.**', 'a.c')
95
- assert_or_not_match('a.b.** a.c.**', 'a.d')
96
- assert_or_not_match('a.b.** a.c.**', 'a.cd')
97
-
98
- assert_or_match('a.b.** a.c', 'a.b')
99
- assert_or_match('a.b.** a.c', 'a.b.c')
100
- assert_or_match('a.b.** a.c', 'a.c')
101
- assert_or_not_match('a.b.** a.c', 'a.c.d')
102
- end
103
-
104
- def test_regex_pattern
105
- assert_glob_match('/a/', 'a')
106
- assert_glob_not_match('/a/', 'abc')
107
- assert_glob_match('/a.*/', 'abc')
108
- assert_glob_not_match('/b.*/', 'abc')
109
- assert_glob_match('/a\..*/', 'a.b.c')
110
- assert_glob_not_match('/(?!a\.).*/', 'a.b.c')
111
- assert_glob_not_match('/a\..*/', 'b.b.c')
112
- assert_glob_match('/(?!a\.).*/', 'b.b.c')
113
- end
114
-
115
- #def test_character_class
116
- # assert_match('[a]', 'a')
117
- # assert_match('[ab]', 'a')
118
- # assert_match('[ab]', 'b')
119
- # assert_not_match('[ab]', 'c')
120
- #
121
- # assert_match('[a-b]', 'a')
122
- # assert_match('[a-b]', 'a')
123
- # assert_match('[a-b]', 'b')
124
- # assert_not_match('[a-b]', 'c')
125
- #
126
- # assert_match('[a-b0-9]', 'a')
127
- # assert_match('[a-b0-9]', '0')
128
- # assert_not_match('[a-b0-9]', 'c')
129
- #end
130
-
131
- def assert_glob_match(pat, str)
132
- assert_true GlobMatchPattern.new(pat).match(str)
133
- assert_true EventRouter::Rule.new(pat, nil).match?(str)
134
- end
135
-
136
- def assert_glob_not_match(pat, str)
137
- assert_false GlobMatchPattern.new(pat).match(str)
138
- assert_false EventRouter::Rule.new(pat, nil).match?(str)
139
- end
140
-
141
- def assert_or_match(pats, str)
142
- assert_true EventRouter::Rule.new(pats, nil).match?(str)
143
- end
144
-
145
- def assert_or_not_match(pats, str)
146
- assert_false EventRouter::Rule.new(pats, nil).match?(str)
147
- end
148
- end
data/test/test_mixin.rb DELETED
@@ -1,351 +0,0 @@
1
- require_relative 'helper'
2
- require 'fluent/mixin'
3
- require 'fluent/env'
4
- require 'fluent/plugin'
5
- require 'fluent/config'
6
- require 'fluent/test'
7
- require 'timecop'
8
-
9
- module MixinTest
10
- module Utils
11
- def setup
12
- super
13
- Fluent::Test.setup
14
- @time = Time.utc(1,2,3,4,5,2010,nil,nil,nil,nil)
15
- Timecop.freeze(@time)
16
- end
17
-
18
- def teardown
19
- super
20
- Timecop.return
21
- GC.start
22
- end
23
-
24
- module Checker
25
- extend self
26
- def format_check(tag, time, record); end
27
- end
28
-
29
- @@num = 0
30
-
31
- def create_register_output_name
32
- @@num += 1
33
- "mixin_text_#{@@num}"
34
- end
35
-
36
- def format_check(hash, tagname = 'test')
37
- mock(Checker).format_check(tagname, @time.to_i, hash)
38
- end
39
-
40
- def create_driver(include_klass, conf = '', tag = "test", &block)
41
- register_output_name = create_register_output_name
42
- include_klasses = [include_klass].flatten
43
-
44
- klass = Class.new(Fluent::BufferedOutput) {
45
- include_klasses.each {|k| include k }
46
-
47
- Fluent::Plugin.register_output(register_output_name, self)
48
- def format(tag, time, record)
49
- Checker.format_check(tag, time, record)
50
- [tag, time, record].to_msgpack
51
- end
52
-
53
- def write(chunk); end
54
- }
55
-
56
- if block
57
- Utils.const_set("MixinTestClass#{@@num}", klass)
58
- klass.module_eval(&block)
59
- end
60
-
61
- Fluent::Test::BufferedOutputTestDriver.new(klass, tag) {
62
- }.configure("type #{register_output_name}" + conf)
63
- end
64
- end
65
-
66
- class SetTagKeyMixinText < Test::Unit::TestCase
67
- include Utils
68
-
69
- def test_tag_key_default
70
- format_check({
71
- 'a' => 1
72
- })
73
-
74
- d = create_driver(Fluent::SetTagKeyMixin, %[
75
- ])
76
- d.emit({'a' => 1})
77
- d.run
78
- end
79
-
80
- def test_include_tag_key_true
81
- format_check({
82
- 'tag' => 'test',
83
- 'a' => 1
84
- })
85
-
86
- d = create_driver(Fluent::SetTagKeyMixin, %[
87
- include_tag_key true
88
- ])
89
-
90
- d.emit({'a' => 1})
91
- d.run
92
- end
93
-
94
- def test_include_tag_key_false
95
- format_check({
96
- 'a' => 1
97
- })
98
-
99
- d = create_driver(Fluent::SetTagKeyMixin, %[
100
- include_tag_key false
101
- ])
102
- d.emit({'a' => 1})
103
- d.run
104
- end
105
-
106
- def test_tag_key_set
107
- format_check({
108
- 'tag_key_changed' => 'test',
109
- 'a' => 1
110
- })
111
-
112
- d = create_driver(Fluent::SetTagKeyMixin, %[
113
- include_tag_key true
114
- tag_key tag_key_changed
115
- ])
116
-
117
- d.emit({'a' => 1})
118
- d.run
119
- end
120
-
121
- sub_test_case "mixin" do
122
- data(
123
- 'true' => true,
124
- 'false' => false)
125
- test 'include_tag_key' do |param|
126
- d = create_driver(Fluent::SetTagKeyMixin) {
127
- config_set_default :include_tag_key, param
128
- }
129
-
130
- assert_equal(param, d.instance.include_tag_key)
131
- end
132
- end
133
- end
134
-
135
- class SetTimeKeyMixinText < Test::Unit::TestCase
136
- include Utils
137
-
138
- def test_time_key_default
139
- format_check({
140
- 'a' => 1
141
- })
142
-
143
- d = create_driver(Fluent::SetTimeKeyMixin, %[
144
- ])
145
-
146
- d.emit({'a' => 1})
147
- d.run
148
- end
149
-
150
- def test_include_time_key_true
151
- format_check({
152
- 'time' => "2010-05-04T03:02:01Z",
153
- 'a' => 1
154
- })
155
-
156
- d = create_driver(Fluent::SetTimeKeyMixin, %[
157
- include_time_key true
158
- ])
159
-
160
- d.emit({'a' => 1})
161
- d.run
162
- end
163
-
164
- def test_time_format
165
- format_check({
166
- 'time' => "20100504",
167
- 'a' => 1
168
- })
169
-
170
- d = create_driver(Fluent::SetTimeKeyMixin, %[
171
- include_time_key true
172
- time_format %Y%m%d
173
- ])
174
-
175
- d.emit({'a' => 1})
176
- d.run
177
- end
178
-
179
- def test_timezone_1
180
- format_check({
181
- 'time' => "2010-05-03T17:02:01-10:00",
182
- 'a' => 1
183
- })
184
-
185
- d = create_driver(Fluent::SetTimeKeyMixin, %[
186
- include_time_key true
187
- timezone Pacific/Honolulu
188
- ])
189
-
190
- d.emit({'a' => 1})
191
- d.run
192
- end
193
-
194
- def test_timezone_2
195
- format_check({
196
- 'time' => "2010-05-04T08:32:01+05:30",
197
- 'a' => 1
198
- })
199
-
200
- d = create_driver(Fluent::SetTimeKeyMixin, %[
201
- include_time_key true
202
- timezone +05:30
203
- ])
204
-
205
- d.emit({'a' => 1})
206
- d.run
207
- end
208
-
209
- def test_timezone_invalid
210
- assert_raise(Fluent::ConfigError) do
211
- create_driver(Fluent::SetTimeKeyMixin, %[
212
- include_time_key true
213
- timezone Invalid/Invalid
214
- ])
215
- end
216
- end
217
-
218
- sub_test_case "mixin" do
219
- data(
220
- 'true' => true,
221
- 'false' => false)
222
- test 'include_time_key' do |param|
223
- d = create_driver(Fluent::SetTimeKeyMixin) {
224
- config_set_default :include_time_key, param
225
- }
226
-
227
- assert_equal(param, d.instance.include_time_key)
228
- end
229
- end
230
- end
231
-
232
- class HandleTagMixinTest < Test::Unit::TestCase
233
- include Utils
234
-
235
- def test_add_tag_prefix
236
- format_check({
237
- 'a' => 1
238
- }, 'tag_prefix.test')
239
- format_check({
240
- 'a' => 2
241
- }, 'tag_prefix.test')
242
-
243
- d = create_driver(Fluent::HandleTagNameMixin, %[
244
- add_tag_prefix tag_prefix.
245
- include_tag_key true
246
- ])
247
-
248
- d.emit({'a' => 1})
249
- d.emit({'a' => 2})
250
- d.run
251
- end
252
-
253
- def test_add_tag_suffix
254
- format_check({
255
- 'a' => 1
256
- }, 'test.test_suffix')
257
- format_check({
258
- 'a' => 2
259
- }, 'test.test_suffix')
260
-
261
- d = create_driver(Fluent::HandleTagNameMixin, %[
262
- add_tag_suffix .test_suffix
263
- include_tag_key true
264
- ])
265
-
266
- d.emit({'a' => 1})
267
- d.emit({'a' => 2})
268
- d.run
269
- end
270
-
271
- def test_remove_tag_prefix
272
- format_check({
273
- 'a' => 1
274
- }, 'test')
275
- format_check({
276
- 'a' => 2
277
- }, 'test')
278
-
279
- d = create_driver(Fluent::HandleTagNameMixin, %[
280
- remove_tag_prefix te
281
- include_tag_key true
282
- ], "tetest")
283
-
284
- d.emit({'a' => 1})
285
- d.emit({'a' => 2})
286
- d.run
287
- end
288
-
289
- def test_remove_tag_suffix
290
- format_check({
291
- 'a' => 1
292
- }, 'test')
293
- format_check({
294
- 'a' => 2
295
- }, 'test')
296
-
297
- d = create_driver(Fluent::HandleTagNameMixin, %[
298
- remove_tag_suffix st
299
- include_tag_key true
300
- ], "testst")
301
-
302
- d.emit({'a' => 1})
303
- d.emit({'a' => 2})
304
- d.run
305
- end
306
-
307
- def test_mix_tag_handle
308
- format_check({
309
- 'a' => 1
310
- }, 'prefix.t')
311
-
312
- d = create_driver(Fluent::HandleTagNameMixin, %[
313
- remove_tag_prefix tes
314
- add_tag_prefix prefix.
315
- ])
316
-
317
- d.emit({'a' => 1})
318
- d.run
319
- end
320
-
321
- def test_with_set_tag_key_mixin
322
- format_check({
323
- 'tag' => 'tag_prefix.test',
324
- 'a' => 1
325
- }, 'tag_prefix.test')
326
-
327
- d = create_driver([Fluent::SetTagKeyMixin, Fluent::HandleTagNameMixin], %[
328
- add_tag_prefix tag_prefix.
329
- include_tag_key true
330
- ])
331
-
332
- d.emit({'a' => 1})
333
- d.run
334
- end
335
-
336
- def test_with_set_tag_key_mixin_include_order_reverse
337
- format_check({
338
- 'tag' => 'tag_prefix.test',
339
- 'a' => 1
340
- }, 'tag_prefix.test')
341
-
342
- d = create_driver([Fluent::HandleTagNameMixin, Fluent::SetTagKeyMixin], %[
343
- add_tag_prefix tag_prefix.
344
- include_tag_key true
345
- ])
346
-
347
- d.emit({'a' => 1})
348
- d.run
349
- end
350
- end
351
- end
@@ -1,50 +0,0 @@
1
- require_relative 'helper'
2
- require 'fluent/msgpack_factory'
3
-
4
- class MessagePackFactoryTest < Test::Unit::TestCase
5
- test 'call log.warn only once' do
6
- klass = Class.new do
7
- include Fluent::MessagePackFactory::Mixin
8
- end
9
-
10
- mp = klass.new
11
-
12
- mock.proxy($log).warn(anything).once
13
-
14
- assert mp.msgpack_factory
15
- assert mp.msgpack_factory
16
- assert mp.msgpack_factory
17
- end
18
-
19
- sub_test_case 'thread_local_msgpack_packer' do
20
- test 'packer is cached' do
21
- packer1 = Fluent::MessagePackFactory.thread_local_msgpack_packer
22
- packer2 = Fluent::MessagePackFactory.thread_local_msgpack_packer
23
- assert_equal packer1, packer2
24
- end
25
- end
26
-
27
- sub_test_case 'thread_local_msgpack_unpacker' do
28
- test 'unpacker is cached' do
29
- unpacker1 = Fluent::MessagePackFactory.thread_local_msgpack_unpacker
30
- unpacker2 = Fluent::MessagePackFactory.thread_local_msgpack_unpacker
31
- assert_equal unpacker1, unpacker2
32
- end
33
-
34
- # We need to reset the buffer every time so that received incomplete data
35
- # must not affect data from other senders.
36
- test 'reset the internal buffer of unpacker every time' do
37
- unpacker1 = Fluent::MessagePackFactory.thread_local_msgpack_unpacker
38
- unpacker1.feed_each("\xA6foo") do |result|
39
- flunk("This callback must not be called since the data is uncomplete.")
40
- end
41
-
42
- records = []
43
- unpacker2 = Fluent::MessagePackFactory.thread_local_msgpack_unpacker
44
- unpacker2.feed_each("\xA3foo") do |result|
45
- records.append(result)
46
- end
47
- assert_equal ["foo"], records
48
- end
49
- end
50
- end
@@ -1,55 +0,0 @@
1
- require_relative 'helper'
2
- require 'fluent/test'
3
- require 'fluent/oj_options'
4
-
5
- class OjOptionsTest < ::Test::Unit::TestCase
6
- begin
7
- require 'oj'
8
- @@oj_is_avaibale = true
9
- rescue LoadError
10
- @@oj_is_avaibale = false
11
- end
12
-
13
- setup do
14
- @orig_env = {}
15
- ENV.each do |key, value|
16
- @orig_env[key] = value if key.start_with?("FLUENT_OJ_OPTION_")
17
- end
18
- end
19
-
20
- teardown do
21
- ENV.delete_if { |key| key.start_with?("FLUENT_OJ_OPTION_") }
22
- @orig_env.each { |key, value| ENV[key] = value }
23
- end
24
-
25
- test "available?" do
26
- assert_equal(@@oj_is_avaibale, Fluent::OjOptions.available?)
27
- end
28
-
29
- sub_test_case "set by environment variable" do
30
- test "when no env vars set, returns default options" do
31
- ENV.delete_if { |key| key.start_with?("FLUENT_OJ_OPTION_") }
32
- defaults = Fluent::OjOptions::DEFAULTS
33
- assert_equal(defaults, Fluent::OjOptions.load_env)
34
- assert_equal(defaults, Oj.default_options.slice(*defaults.keys)) if @@oj_is_avaibale
35
- end
36
-
37
- test "valid env var passed with valid value, default is overridden" do
38
- ENV["FLUENT_OJ_OPTION_BIGDECIMAL_LOAD"] = ":bigdecimal"
39
- assert_equal(:bigdecimal, Fluent::OjOptions.load_env[:bigdecimal_load])
40
- assert_equal(:bigdecimal, Oj.default_options[:bigdecimal_load]) if @@oj_is_avaibale
41
- end
42
-
43
- test "valid env var passed with invalid value, default is not overriden" do
44
- ENV["FLUENT_OJ_OPTION_BIGDECIMAL_LOAD"] = ":conor"
45
- assert_equal(:float, Fluent::OjOptions.load_env[:bigdecimal_load])
46
- assert_equal(:float, Oj.default_options[:bigdecimal_load]) if @@oj_is_avaibale
47
- end
48
-
49
- test "invalid env var passed, nothing done with it" do
50
- ENV["FLUENT_OJ_OPTION_CONOR"] = ":conor"
51
- assert_equal(nil, Fluent::OjOptions.load_env[:conor])
52
- assert_equal(nil, Oj.default_options[:conor]) if @@oj_is_avaibale
53
- end
54
- end
55
- end