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
@@ -1,339 +0,0 @@
1
- require_relative '../helper'
2
- require 'fluent/plugin/buffer/memory_chunk'
3
- require 'fluent/plugin/compressable'
4
-
5
- require 'json'
6
-
7
- class BufferMemoryChunkTest < Test::Unit::TestCase
8
- include Fluent::Plugin::Compressable
9
-
10
- setup do
11
- @c = Fluent::Plugin::Buffer::MemoryChunk.new(Object.new)
12
- end
13
-
14
- test 'has blank chunk initially' do
15
- assert @c.empty?
16
- assert_equal '', @c.instance_eval{ @chunk }
17
- assert_equal 0, @c.instance_eval{ @chunk_bytes }
18
- assert_equal 0, @c.instance_eval{ @adding_bytes }
19
- assert_equal 0, @c.instance_eval{ @adding_size }
20
- end
21
-
22
- test 'can #append, #commit and #read it' do
23
- assert @c.empty?
24
-
25
- d1 = {"f1" => 'v1', "f2" => 'v2', "f3" => 'v3'}
26
- d2 = {"f1" => 'vv1', "f2" => 'vv2', "f3" => 'vv3'}
27
- data = [d1.to_json + "\n", d2.to_json + "\n"]
28
- @c.append(data)
29
- @c.commit
30
-
31
- content = @c.read
32
- ds = content.split("\n").select{|d| !d.empty? }
33
-
34
- assert_equal 2, ds.size
35
- assert_equal d1, JSON.parse(ds[0])
36
- assert_equal d2, JSON.parse(ds[1])
37
-
38
- d3 = {"f1" => 'x', "f2" => 'y', "f3" => 'z'}
39
- d4 = {"f1" => 'a', "f2" => 'b', "f3" => 'c'}
40
- @c.append([d3.to_json + "\n", d4.to_json + "\n"])
41
- @c.commit
42
-
43
- content = @c.read
44
- ds = content.split("\n").select{|d| !d.empty? }
45
-
46
- assert_equal 4, ds.size
47
- assert_equal d1, JSON.parse(ds[0])
48
- assert_equal d2, JSON.parse(ds[1])
49
- assert_equal d3, JSON.parse(ds[2])
50
- assert_equal d4, JSON.parse(ds[3])
51
- end
52
-
53
- test 'can #concat, #commit and #read it' do
54
- assert @c.empty?
55
-
56
- d1 = {"f1" => 'v1', "f2" => 'v2', "f3" => 'v3'}
57
- d2 = {"f1" => 'vv1', "f2" => 'vv2', "f3" => 'vv3'}
58
- data = [d1.to_json + "\n", d2.to_json + "\n"].join
59
- @c.concat(data, 2)
60
- @c.commit
61
-
62
- content = @c.read
63
- ds = content.split("\n").select{|d| !d.empty? }
64
-
65
- assert_equal 2, ds.size
66
- assert_equal d1, JSON.parse(ds[0])
67
- assert_equal d2, JSON.parse(ds[1])
68
-
69
- d3 = {"f1" => 'x', "f2" => 'y', "f3" => 'z'}
70
- d4 = {"f1" => 'a', "f2" => 'b', "f3" => 'c'}
71
- @c.concat([d3.to_json + "\n", d4.to_json + "\n"].join, 2)
72
- @c.commit
73
-
74
- content = @c.read
75
- ds = content.split("\n").select{|d| !d.empty? }
76
-
77
- assert_equal 4, ds.size
78
- assert_equal d1, JSON.parse(ds[0])
79
- assert_equal d2, JSON.parse(ds[1])
80
- assert_equal d3, JSON.parse(ds[2])
81
- assert_equal d4, JSON.parse(ds[3])
82
- end
83
-
84
- test 'has its contents in binary (ascii-8bit)' do
85
- data1 = "aaa bbb ccc".force_encoding('utf-8')
86
- @c.append([data1])
87
- @c.commit
88
- assert_equal Encoding::ASCII_8BIT, @c.instance_eval{ @chunk.encoding }
89
-
90
- content = @c.read
91
- assert_equal Encoding::ASCII_8BIT, content.encoding
92
- end
93
-
94
- test 'has #bytesize and #size' do
95
- assert @c.empty?
96
-
97
- d1 = {"f1" => 'v1', "f2" => 'v2', "f3" => 'v3'}
98
- d2 = {"f1" => 'vv1', "f2" => 'vv2', "f3" => 'vv3'}
99
- data = [d1.to_json + "\n", d2.to_json + "\n"]
100
- @c.append(data)
101
-
102
- assert_equal (d1.to_json + "\n" + d2.to_json + "\n").bytesize, @c.bytesize
103
- assert_equal 2, @c.size
104
-
105
- @c.commit
106
-
107
- assert_equal (d1.to_json + "\n" + d2.to_json + "\n").bytesize, @c.bytesize
108
- assert_equal 2, @c.size
109
-
110
- first_bytesize = @c.bytesize
111
-
112
- d3 = {"f1" => 'x', "f2" => 'y', "f3" => 'z'}
113
- d4 = {"f1" => 'a', "f2" => 'b', "f3" => 'c'}
114
- @c.append([d3.to_json + "\n", d4.to_json + "\n"])
115
-
116
- assert_equal first_bytesize + (d3.to_json + "\n" + d4.to_json + "\n").bytesize, @c.bytesize
117
- assert_equal 4, @c.size
118
-
119
- @c.commit
120
-
121
- assert_equal first_bytesize + (d3.to_json + "\n" + d4.to_json + "\n").bytesize, @c.bytesize
122
- assert_equal 4, @c.size
123
- end
124
-
125
- test 'can #rollback to revert non-committed data' do
126
- assert @c.empty?
127
-
128
- d1 = {"f1" => 'v1', "f2" => 'v2', "f3" => 'v3'}
129
- d2 = {"f1" => 'vv1', "f2" => 'vv2', "f3" => 'vv3'}
130
- data = [d1.to_json + "\n", d2.to_json + "\n"]
131
- @c.append(data)
132
-
133
- assert_equal (d1.to_json + "\n" + d2.to_json + "\n").bytesize, @c.bytesize
134
- assert_equal 2, @c.size
135
-
136
- @c.rollback
137
-
138
- assert @c.empty?
139
-
140
- assert @c.empty?
141
-
142
- d1 = {"f1" => 'v1', "f2" => 'v2', "f3" => 'v3'}
143
- d2 = {"f1" => 'vv1', "f2" => 'vv2', "f3" => 'vv3'}
144
- data = [d1.to_json + "\n", d2.to_json + "\n"]
145
- @c.append(data)
146
- @c.commit
147
-
148
- assert_equal (d1.to_json + "\n" + d2.to_json + "\n").bytesize, @c.bytesize
149
- assert_equal 2, @c.size
150
-
151
- first_bytesize = @c.bytesize
152
-
153
- d3 = {"f1" => 'x', "f2" => 'y', "f3" => 'z'}
154
- d4 = {"f1" => 'a', "f2" => 'b', "f3" => 'c'}
155
- @c.append([d3.to_json + "\n", d4.to_json + "\n"])
156
-
157
- assert_equal first_bytesize + (d3.to_json + "\n" + d4.to_json + "\n").bytesize, @c.bytesize
158
- assert_equal 4, @c.size
159
-
160
- @c.rollback
161
-
162
- assert_equal first_bytesize, @c.bytesize
163
- assert_equal 2, @c.size
164
- end
165
-
166
- test 'can #rollback to revert non-committed data from #concat' do
167
- assert @c.empty?
168
-
169
- d1 = {"f1" => 'v1', "f2" => 'v2', "f3" => 'v3'}
170
- d2 = {"f1" => 'vv1', "f2" => 'vv2', "f3" => 'vv3'}
171
- data = [d1.to_json + "\n", d2.to_json + "\n"].join
172
- @c.concat(data, 2)
173
-
174
- assert_equal (d1.to_json + "\n" + d2.to_json + "\n").bytesize, @c.bytesize
175
- assert_equal 2, @c.size
176
-
177
- @c.rollback
178
-
179
- assert @c.empty?
180
-
181
- assert @c.empty?
182
-
183
- d1 = {"f1" => 'v1', "f2" => 'v2', "f3" => 'v3'}
184
- d2 = {"f1" => 'vv1', "f2" => 'vv2', "f3" => 'vv3'}
185
- data = [d1.to_json + "\n", d2.to_json + "\n"]
186
- @c.append(data)
187
- @c.commit
188
-
189
- assert_equal (d1.to_json + "\n" + d2.to_json + "\n").bytesize, @c.bytesize
190
- assert_equal 2, @c.size
191
-
192
- first_bytesize = @c.bytesize
193
-
194
- d3 = {"f1" => 'x', "f2" => 'y', "f3" => 'z'}
195
- d4 = {"f1" => 'a', "f2" => 'b', "f3" => 'c'}
196
- @c.concat([d3.to_json + "\n", d4.to_json + "\n"].join, 2)
197
-
198
- assert_equal first_bytesize + (d3.to_json + "\n" + d4.to_json + "\n").bytesize, @c.bytesize
199
- assert_equal 4, @c.size
200
-
201
- @c.rollback
202
-
203
- assert_equal first_bytesize, @c.bytesize
204
- assert_equal 2, @c.size
205
- end
206
-
207
- test 'does nothing for #close' do
208
- d1 = {"f1" => 'v1', "f2" => 'v2', "f3" => 'v3'}
209
- d2 = {"f1" => 'vv1', "f2" => 'vv2', "f3" => 'vv3'}
210
- data = [d1.to_json + "\n", d2.to_json + "\n"]
211
- @c.append(data)
212
- @c.commit
213
- d3 = {"f1" => 'x', "f2" => 'y', "f3" => 'z'}
214
- d4 = {"f1" => 'a', "f2" => 'b', "f3" => 'c'}
215
- @c.append([d3.to_json + "\n", d4.to_json + "\n"])
216
- @c.commit
217
-
218
- content = @c.read
219
-
220
- @c.close
221
-
222
- assert_equal content, @c.read
223
- end
224
-
225
- test 'deletes all data by #purge' do
226
- d1 = {"f1" => 'v1', "f2" => 'v2', "f3" => 'v3'}
227
- d2 = {"f1" => 'vv1', "f2" => 'vv2', "f3" => 'vv3'}
228
- data = [d1.to_json + "\n", d2.to_json + "\n"]
229
- @c.append(data)
230
- @c.commit
231
- d3 = {"f1" => 'x', "f2" => 'y', "f3" => 'z'}
232
- d4 = {"f1" => 'a', "f2" => 'b', "f3" => 'c'}
233
- @c.append([d3.to_json + "\n", d4.to_json + "\n"])
234
- @c.commit
235
-
236
- @c.purge
237
-
238
- assert @c.empty?
239
- assert_equal 0, @c.bytesize
240
- assert_equal 0, @c.size
241
- assert_equal '', @c.read
242
- end
243
-
244
- test 'can #open its contents as io' do
245
- d1 = {"f1" => 'v1', "f2" => 'v2', "f3" => 'v3'}
246
- d2 = {"f1" => 'vv1', "f2" => 'vv2', "f3" => 'vv3'}
247
- data = [d1.to_json + "\n", d2.to_json + "\n"]
248
- @c.append(data)
249
- @c.commit
250
- d3 = {"f1" => 'x', "f2" => 'y', "f3" => 'z'}
251
- d4 = {"f1" => 'a', "f2" => 'b', "f3" => 'c'}
252
- @c.append([d3.to_json + "\n", d4.to_json + "\n"])
253
- @c.commit
254
-
255
- lines = []
256
- @c.open do |io|
257
- assert io
258
- io.readlines.each do |l|
259
- lines << l
260
- end
261
- end
262
-
263
- assert_equal d1.to_json + "\n", lines[0]
264
- assert_equal d2.to_json + "\n", lines[1]
265
- assert_equal d3.to_json + "\n", lines[2]
266
- assert_equal d4.to_json + "\n", lines[3]
267
- end
268
-
269
- sub_test_case 'compressed buffer' do
270
- setup do
271
- @src = 'text data for compressing' * 5
272
- @gzipped_src = compress(@src)
273
- end
274
-
275
- test '#append with compress option writes compressed data to chunk when compress is gzip' do
276
- c = Fluent::Plugin::Buffer::MemoryChunk.new(Object.new, compress: :gzip)
277
- c.append([@src, @src], compress: :gzip)
278
- c.commit
279
-
280
- # check chunk is compressed
281
- assert c.read(compressed: :gzip).size < [@src, @src].join("").size
282
-
283
- assert_equal @src + @src, c.read
284
- end
285
-
286
- test '#open passes io object having decompressed data to a block when compress is gzip' do
287
- c = Fluent::Plugin::Buffer::MemoryChunk.new(Object.new, compress: :gzip)
288
- c.concat(@gzipped_src, @src.size)
289
- c.commit
290
-
291
- decomressed_data = c.open do |io|
292
- v = io.read
293
- assert_equal @src, v
294
- v
295
- end
296
- assert_equal @src, decomressed_data
297
- end
298
-
299
- test '#open with compressed option passes io object having decompressed data to a block when compress is gzip' do
300
- c = Fluent::Plugin::Buffer::MemoryChunk.new(Object.new, compress: :gzip)
301
- c.concat(@gzipped_src, @src.size)
302
- c.commit
303
-
304
- comressed_data = c.open(compressed: :gzip) do |io|
305
- v = io.read
306
- assert_equal @gzipped_src, v
307
- v
308
- end
309
- assert_equal @gzipped_src, comressed_data
310
- end
311
-
312
- test '#write_to writes decompressed data when compress is gzip' do
313
- c = Fluent::Plugin::Buffer::MemoryChunk.new(Object.new, compress: :gzip)
314
- c.concat(@gzipped_src, @src.size)
315
- c.commit
316
-
317
- assert_equal @src, c.read
318
- assert_equal @gzipped_src, c.read(compressed: :gzip)
319
-
320
- io = StringIO.new
321
- c.write_to(io)
322
- assert_equal @src, io.string
323
- end
324
-
325
- test '#write_to with compressed option writes compressed data when compress is gzip' do
326
- c = Fluent::Plugin::Buffer::MemoryChunk.new(Object.new, compress: :gzip)
327
- c.concat(@gzipped_src, @src.size)
328
- c.commit
329
-
330
- assert_equal @src, c.read
331
- assert_equal @gzipped_src, c.read(compressed: :gzip)
332
-
333
- io = StringIO.new
334
- io.set_encoding(Encoding::ASCII_8BIT)
335
- c.write_to(io, compressed: :gzip)
336
- assert_equal @gzipped_src, io.string
337
- end
338
- end
339
- end
@@ -1,87 +0,0 @@
1
- require_relative '../helper'
2
- require 'fluent/plugin/compressable'
3
-
4
- class CompressableTest < Test::Unit::TestCase
5
- include Fluent::Plugin::Compressable
6
-
7
- def compress_assert_equal(expected, actual)
8
- e = Zlib::GzipReader.new(StringIO.new(expected)).read
9
- a = Zlib::GzipReader.new(StringIO.new(actual)).read
10
- assert_equal(e, a)
11
- end
12
-
13
- sub_test_case '#compress' do
14
- setup do
15
- @src = 'text data for compressing' * 5
16
- @gzipped_src = compress(@src)
17
- end
18
-
19
- test 'compress data' do
20
- assert compress(@src).size < @src.size
21
- assert_not_equal @gzipped_src, @src
22
- end
23
-
24
- test 'write compressed data to IO with output_io option' do
25
- io = StringIO.new
26
- compress(@src, output_io: io)
27
- compress_assert_equal @gzipped_src, io.string
28
- end
29
- end
30
-
31
- sub_test_case '#decompress' do
32
- setup do
33
- @src = 'text data for compressing' * 5
34
- @gzipped_src = compress(@src)
35
- end
36
-
37
- test 'decompress compressed data' do
38
- assert_equal @src, decompress(@gzipped_src)
39
- end
40
-
41
- test 'write decompressed data to IO with output_io option' do
42
- io = StringIO.new
43
- decompress(@gzipped_src, output_io: io)
44
- assert_equal @src, io.string
45
- end
46
-
47
- test 'return decompressed string with output_io option' do
48
- io = StringIO.new(@gzipped_src)
49
- assert_equal @src, decompress(input_io: io)
50
- end
51
-
52
- test 'decompress multiple compressed data' do
53
- src1 = 'text data'
54
- src2 = 'text data2'
55
- gzipped_src = compress(src1) + compress(src2)
56
-
57
- assert_equal src1 + src2, decompress(gzipped_src)
58
- end
59
-
60
- test 'decompress with input_io and output_io' do
61
- input_io = StringIO.new(@gzipped_src)
62
- output_io = StringIO.new
63
-
64
- decompress(input_io: input_io, output_io: output_io)
65
- assert_equal @src, output_io.string
66
- end
67
-
68
- test 'decompress multiple compressed data with input_io and output_io' do
69
- src1 = 'text data'
70
- src2 = 'text data2'
71
- gzipped_src = compress(src1) + compress(src2)
72
-
73
- input_io = StringIO.new(gzipped_src)
74
- output_io = StringIO.new
75
-
76
- decompress(input_io: input_io, output_io: output_io)
77
- assert_equal src1 + src2, output_io.string
78
- end
79
-
80
- test 'return the received value as it is with empty string or nil' do
81
- assert_equal nil, decompress
82
- assert_equal nil, decompress(nil)
83
- assert_equal '', decompress('')
84
- assert_equal '', decompress('', output_io: StringIO.new)
85
- end
86
- end
87
- end
@@ -1,96 +0,0 @@
1
- require_relative '../helper'
2
- require 'fluent/plugin/file_util'
3
- require 'fileutils'
4
-
5
- class FileUtilTest < Test::Unit::TestCase
6
- def setup
7
- FileUtils.rm_rf(TEST_DIR)
8
- FileUtils.mkdir_p(TEST_DIR)
9
- end
10
-
11
- TEST_DIR = File.expand_path(File.dirname(__FILE__) + "/../tmp/file_util")
12
-
13
- sub_test_case 'writable?' do
14
- test 'file exists and writable' do
15
- FileUtils.touch("#{TEST_DIR}/test_file")
16
- assert_true Fluent::FileUtil.writable?("#{TEST_DIR}/test_file")
17
- end
18
-
19
- test 'file exists and not writable' do
20
- FileUtils.touch("#{TEST_DIR}/test_file")
21
- File.chmod(0444, "#{TEST_DIR}/test_file")
22
- assert_false Fluent::FileUtil.writable?("#{TEST_DIR}/test_file")
23
- end
24
-
25
- test 'directory exists' do
26
- FileUtils.mkdir_p("#{TEST_DIR}/test_dir")
27
- assert_false Fluent::FileUtil.writable?("#{TEST_DIR}/test_dir")
28
- end
29
-
30
- test 'file does not exist and parent directory is writable' do
31
- FileUtils.mkdir_p("#{TEST_DIR}/test_dir")
32
- assert_true Fluent::FileUtil.writable?("#{TEST_DIR}/test_dir/test_file")
33
- end
34
-
35
- test 'file does not exist and parent directory is not writable' do
36
- FileUtils.mkdir_p("#{TEST_DIR}/test_dir")
37
- File.chmod(0444, "#{TEST_DIR}/test_dir")
38
- assert_false Fluent::FileUtil.writable?("#{TEST_DIR}/test_dir/test_file")
39
- end
40
-
41
- test 'parent directory does not exist' do
42
- FileUtils.rm_rf("#{TEST_DIR}/test_dir")
43
- assert_false Fluent::FileUtil.writable?("#{TEST_DIR}/test_dir/test_file")
44
- end
45
-
46
- test 'parent file (not directory) exists' do
47
- FileUtils.touch("#{TEST_DIR}/test_file")
48
- assert_false Fluent::FileUtil.writable?("#{TEST_DIR}/test_file/foo")
49
- end
50
- end
51
-
52
- sub_test_case 'writable_p?' do
53
- test 'file exists and writable' do
54
- FileUtils.touch("#{TEST_DIR}/test_file")
55
- assert_true Fluent::FileUtil.writable_p?("#{TEST_DIR}/test_file")
56
- end
57
-
58
- test 'file exists and not writable' do
59
- FileUtils.touch("#{TEST_DIR}/test_file")
60
- File.chmod(0444, "#{TEST_DIR}/test_file")
61
- assert_false Fluent::FileUtil.writable_p?("#{TEST_DIR}/test_file")
62
- end
63
-
64
- test 'directory exists' do
65
- FileUtils.mkdir_p("#{TEST_DIR}/test_dir")
66
- assert_false Fluent::FileUtil.writable_p?("#{TEST_DIR}/test_dir")
67
- end
68
-
69
- test 'parent directory exists and writable' do
70
- FileUtils.mkdir_p("#{TEST_DIR}/test_dir")
71
- assert_true Fluent::FileUtil.writable_p?("#{TEST_DIR}/test_dir/test_file")
72
- end
73
-
74
- test 'parent directory exists and not writable' do
75
- FileUtils.mkdir_p("#{TEST_DIR}/test_dir")
76
- File.chmod(0555, "#{TEST_DIR}/test_dir")
77
- assert_false Fluent::FileUtil.writable_p?("#{TEST_DIR}/test_dir/test_file")
78
- end
79
-
80
- test 'parent of parent (of parent ...) directory exists and writable' do
81
- FileUtils.mkdir_p("#{TEST_DIR}/test_dir")
82
- assert_true Fluent::FileUtil.writable_p?("#{TEST_DIR}/test_dir/foo/bar/baz")
83
- end
84
-
85
- test 'parent of parent (of parent ...) directory exists and not writable' do
86
- FileUtils.mkdir_p("#{TEST_DIR}/test_dir")
87
- File.chmod(0555, "#{TEST_DIR}/test_dir")
88
- assert_false Fluent::FileUtil.writable_p?("#{TEST_DIR}/test_dir/foo/bar/baz")
89
- end
90
-
91
- test 'parent of parent (of parent ...) file (not directory) exists' do
92
- FileUtils.touch("#{TEST_DIR}/test_file")
93
- assert_false Fluent::FileUtil.writable_p?("#{TEST_DIR}/test_file/foo/bar/baz")
94
- end
95
- end
96
- end