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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +46 -0
- data/README.md +1 -0
- data/SECURITY.md +2 -2
- data/fluent.conf +14 -14
- data/lib/fluent/command/cap_ctl.rb +4 -4
- data/lib/fluent/compat/call_super_mixin.rb +3 -3
- data/lib/fluent/compat/propagate_default.rb +4 -4
- data/lib/fluent/config/yaml_parser/parser.rb +4 -0
- data/lib/fluent/log/console_adapter.rb +4 -2
- data/lib/fluent/plugin/in_exec.rb +14 -2
- data/lib/fluent/plugin/in_http.rb +1 -1
- data/lib/fluent/plugin/in_sample.rb +13 -7
- data/lib/fluent/plugin/in_tail.rb +65 -23
- data/lib/fluent/plugin/out_copy.rb +1 -1
- data/lib/fluent/plugin/out_file.rb +8 -0
- data/lib/fluent/plugin/out_http.rb +12 -0
- data/lib/fluent/plugin/parser_json.rb +4 -12
- data/lib/fluent/plugin_helper/http_server/server.rb +1 -1
- data/lib/fluent/version.rb +1 -1
- data/templates/new_gem/fluent-plugin.gemspec.erb +6 -5
- metadata +25 -472
- data/.github/DISCUSSION_TEMPLATE/q-a-japanese.yml +0 -50
- data/.github/DISCUSSION_TEMPLATE/q-a.yml +0 -47
- data/.github/ISSUE_TEMPLATE/bug_report.yml +0 -71
- data/.github/ISSUE_TEMPLATE/config.yml +0 -5
- data/.github/ISSUE_TEMPLATE/feature_request.yml +0 -39
- data/.github/ISSUE_TEMPLATE.md +0 -17
- data/.github/PULL_REQUEST_TEMPLATE.md +0 -14
- data/.github/workflows/stale-actions.yml +0 -24
- data/.github/workflows/test-ruby-head.yml +0 -31
- data/.github/workflows/test.yml +0 -32
- data/.gitignore +0 -30
- data/Gemfile +0 -9
- data/fluentd.gemspec +0 -62
- data/test/command/test_binlog_reader.rb +0 -362
- data/test/command/test_ca_generate.rb +0 -70
- data/test/command/test_cap_ctl.rb +0 -100
- data/test/command/test_cat.rb +0 -128
- data/test/command/test_ctl.rb +0 -56
- data/test/command/test_fluentd.rb +0 -1291
- data/test/command/test_plugin_config_formatter.rb +0 -397
- data/test/command/test_plugin_generator.rb +0 -109
- data/test/compat/test_calls_super.rb +0 -166
- data/test/compat/test_parser.rb +0 -92
- data/test/config/assertions.rb +0 -42
- data/test/config/test_config_parser.rb +0 -551
- data/test/config/test_configurable.rb +0 -1784
- data/test/config/test_configure_proxy.rb +0 -604
- data/test/config/test_dsl.rb +0 -415
- data/test/config/test_element.rb +0 -518
- data/test/config/test_literal_parser.rb +0 -309
- data/test/config/test_plugin_configuration.rb +0 -56
- data/test/config/test_section.rb +0 -191
- data/test/config/test_system_config.rb +0 -195
- data/test/config/test_types.rb +0 -408
- data/test/counter/test_client.rb +0 -563
- data/test/counter/test_error.rb +0 -44
- data/test/counter/test_mutex_hash.rb +0 -179
- data/test/counter/test_server.rb +0 -589
- data/test/counter/test_store.rb +0 -258
- data/test/counter/test_validator.rb +0 -137
- data/test/helper.rb +0 -155
- data/test/helpers/fuzzy_assert.rb +0 -89
- data/test/helpers/process_extenstion.rb +0 -33
- data/test/log/test_console_adapter.rb +0 -117
- data/test/plugin/data/2010/01/20100102-030405.log +0 -0
- data/test/plugin/data/2010/01/20100102-030406.log +0 -0
- data/test/plugin/data/2010/01/20100102.log +0 -0
- data/test/plugin/data/log/bar +0 -0
- data/test/plugin/data/log/foo/bar.log +0 -0
- data/test/plugin/data/log/foo/bar2 +0 -0
- data/test/plugin/data/log/test.log +0 -0
- data/test/plugin/data/log_numeric/01.log +0 -0
- data/test/plugin/data/log_numeric/02.log +0 -0
- data/test/plugin/data/log_numeric/12.log +0 -0
- data/test/plugin/data/log_numeric/14.log +0 -0
- data/test/plugin/data/sd_file/config +0 -11
- data/test/plugin/data/sd_file/config.json +0 -17
- data/test/plugin/data/sd_file/config.yaml +0 -11
- data/test/plugin/data/sd_file/config.yml +0 -11
- data/test/plugin/data/sd_file/invalid_config.yml +0 -7
- data/test/plugin/in_tail/test_fifo.rb +0 -121
- data/test/plugin/in_tail/test_io_handler.rb +0 -150
- data/test/plugin/in_tail/test_position_file.rb +0 -346
- data/test/plugin/out_forward/test_ack_handler.rb +0 -140
- data/test/plugin/out_forward/test_connection_manager.rb +0 -145
- data/test/plugin/out_forward/test_handshake_protocol.rb +0 -112
- data/test/plugin/out_forward/test_load_balancer.rb +0 -106
- data/test/plugin/out_forward/test_socket_cache.rb +0 -174
- data/test/plugin/test_bare_output.rb +0 -131
- data/test/plugin/test_base.rb +0 -247
- data/test/plugin/test_buf_file.rb +0 -1314
- data/test/plugin/test_buf_file_single.rb +0 -898
- data/test/plugin/test_buf_memory.rb +0 -42
- data/test/plugin/test_buffer.rb +0 -1493
- data/test/plugin/test_buffer_chunk.rb +0 -209
- data/test/plugin/test_buffer_file_chunk.rb +0 -871
- data/test/plugin/test_buffer_file_single_chunk.rb +0 -611
- data/test/plugin/test_buffer_memory_chunk.rb +0 -339
- data/test/plugin/test_compressable.rb +0 -87
- data/test/plugin/test_file_util.rb +0 -96
- data/test/plugin/test_filter.rb +0 -368
- data/test/plugin/test_filter_grep.rb +0 -697
- data/test/plugin/test_filter_parser.rb +0 -731
- data/test/plugin/test_filter_record_transformer.rb +0 -577
- data/test/plugin/test_filter_stdout.rb +0 -207
- data/test/plugin/test_formatter_csv.rb +0 -136
- data/test/plugin/test_formatter_hash.rb +0 -38
- data/test/plugin/test_formatter_json.rb +0 -61
- data/test/plugin/test_formatter_ltsv.rb +0 -70
- data/test/plugin/test_formatter_msgpack.rb +0 -28
- data/test/plugin/test_formatter_out_file.rb +0 -116
- data/test/plugin/test_formatter_single_value.rb +0 -44
- data/test/plugin/test_formatter_tsv.rb +0 -76
- data/test/plugin/test_in_debug_agent.rb +0 -49
- data/test/plugin/test_in_exec.rb +0 -261
- data/test/plugin/test_in_forward.rb +0 -1178
- data/test/plugin/test_in_gc_stat.rb +0 -62
- data/test/plugin/test_in_http.rb +0 -1124
- data/test/plugin/test_in_monitor_agent.rb +0 -922
- data/test/plugin/test_in_object_space.rb +0 -66
- data/test/plugin/test_in_sample.rb +0 -190
- data/test/plugin/test_in_syslog.rb +0 -505
- data/test/plugin/test_in_tail.rb +0 -3429
- data/test/plugin/test_in_tcp.rb +0 -328
- data/test/plugin/test_in_udp.rb +0 -296
- data/test/plugin/test_in_unix.rb +0 -181
- data/test/plugin/test_input.rb +0 -137
- data/test/plugin/test_metadata.rb +0 -89
- data/test/plugin/test_metrics.rb +0 -294
- data/test/plugin/test_metrics_local.rb +0 -96
- data/test/plugin/test_multi_output.rb +0 -204
- data/test/plugin/test_out_copy.rb +0 -308
- data/test/plugin/test_out_exec.rb +0 -312
- data/test/plugin/test_out_exec_filter.rb +0 -606
- data/test/plugin/test_out_file.rb +0 -1038
- data/test/plugin/test_out_forward.rb +0 -1349
- data/test/plugin/test_out_http.rb +0 -557
- data/test/plugin/test_out_null.rb +0 -105
- data/test/plugin/test_out_relabel.rb +0 -28
- data/test/plugin/test_out_roundrobin.rb +0 -146
- data/test/plugin/test_out_secondary_file.rb +0 -458
- data/test/plugin/test_out_stdout.rb +0 -205
- data/test/plugin/test_out_stream.rb +0 -103
- data/test/plugin/test_output.rb +0 -1334
- data/test/plugin/test_output_as_buffered.rb +0 -2024
- data/test/plugin/test_output_as_buffered_backup.rb +0 -363
- data/test/plugin/test_output_as_buffered_compress.rb +0 -179
- data/test/plugin/test_output_as_buffered_overflow.rb +0 -250
- data/test/plugin/test_output_as_buffered_retries.rb +0 -966
- data/test/plugin/test_output_as_buffered_secondary.rb +0 -882
- data/test/plugin/test_output_as_standard.rb +0 -374
- data/test/plugin/test_owned_by.rb +0 -34
- data/test/plugin/test_parser.rb +0 -399
- data/test/plugin/test_parser_apache.rb +0 -42
- data/test/plugin/test_parser_apache2.rb +0 -47
- data/test/plugin/test_parser_apache_error.rb +0 -45
- data/test/plugin/test_parser_csv.rb +0 -200
- data/test/plugin/test_parser_json.rb +0 -244
- data/test/plugin/test_parser_labeled_tsv.rb +0 -160
- data/test/plugin/test_parser_msgpack.rb +0 -127
- data/test/plugin/test_parser_multiline.rb +0 -111
- data/test/plugin/test_parser_nginx.rb +0 -88
- data/test/plugin/test_parser_none.rb +0 -52
- data/test/plugin/test_parser_regexp.rb +0 -284
- data/test/plugin/test_parser_syslog.rb +0 -650
- data/test/plugin/test_parser_tsv.rb +0 -122
- data/test/plugin/test_sd_file.rb +0 -228
- data/test/plugin/test_sd_srv.rb +0 -230
- data/test/plugin/test_storage.rb +0 -166
- data/test/plugin/test_storage_local.rb +0 -335
- data/test/plugin/test_string_util.rb +0 -26
- data/test/plugin_helper/data/cert/cert-key.pem +0 -27
- data/test/plugin_helper/data/cert/cert-with-CRLF.pem +0 -19
- data/test/plugin_helper/data/cert/cert-with-no-newline.pem +0 -19
- data/test/plugin_helper/data/cert/cert.pem +0 -19
- data/test/plugin_helper/data/cert/cert_chains/ca-cert-key.pem +0 -27
- data/test/plugin_helper/data/cert/cert_chains/ca-cert.pem +0 -20
- data/test/plugin_helper/data/cert/cert_chains/cert-key.pem +0 -27
- data/test/plugin_helper/data/cert/cert_chains/cert.pem +0 -40
- data/test/plugin_helper/data/cert/empty.pem +0 -0
- data/test/plugin_helper/data/cert/generate_cert.rb +0 -125
- data/test/plugin_helper/data/cert/with_ca/ca-cert-key-pass.pem +0 -30
- data/test/plugin_helper/data/cert/with_ca/ca-cert-key.pem +0 -27
- data/test/plugin_helper/data/cert/with_ca/ca-cert-pass.pem +0 -20
- data/test/plugin_helper/data/cert/with_ca/ca-cert.pem +0 -20
- data/test/plugin_helper/data/cert/with_ca/cert-key-pass.pem +0 -30
- data/test/plugin_helper/data/cert/with_ca/cert-key.pem +0 -27
- data/test/plugin_helper/data/cert/with_ca/cert-pass.pem +0 -21
- data/test/plugin_helper/data/cert/with_ca/cert.pem +0 -21
- data/test/plugin_helper/data/cert/without_ca/cert-key-pass.pem +0 -30
- data/test/plugin_helper/data/cert/without_ca/cert-key.pem +0 -27
- data/test/plugin_helper/data/cert/without_ca/cert-pass.pem +0 -20
- data/test/plugin_helper/data/cert/without_ca/cert.pem +0 -20
- data/test/plugin_helper/http_server/test_app.rb +0 -65
- data/test/plugin_helper/http_server/test_route.rb +0 -32
- data/test/plugin_helper/service_discovery/test_manager.rb +0 -93
- data/test/plugin_helper/service_discovery/test_round_robin_balancer.rb +0 -21
- data/test/plugin_helper/test_cert_option.rb +0 -25
- data/test/plugin_helper/test_child_process.rb +0 -862
- data/test/plugin_helper/test_compat_parameters.rb +0 -358
- data/test/plugin_helper/test_event_emitter.rb +0 -80
- data/test/plugin_helper/test_event_loop.rb +0 -52
- data/test/plugin_helper/test_extract.rb +0 -194
- data/test/plugin_helper/test_formatter.rb +0 -255
- data/test/plugin_helper/test_http_server_helper.rb +0 -372
- data/test/plugin_helper/test_inject.rb +0 -561
- data/test/plugin_helper/test_metrics.rb +0 -137
- data/test/plugin_helper/test_parser.rb +0 -264
- data/test/plugin_helper/test_record_accessor.rb +0 -238
- data/test/plugin_helper/test_retry_state.rb +0 -1006
- data/test/plugin_helper/test_server.rb +0 -1895
- data/test/plugin_helper/test_service_discovery.rb +0 -165
- data/test/plugin_helper/test_socket.rb +0 -146
- data/test/plugin_helper/test_storage.rb +0 -542
- data/test/plugin_helper/test_thread.rb +0 -164
- data/test/plugin_helper/test_timer.rb +0 -130
- data/test/scripts/exec_script.rb +0 -32
- data/test/scripts/fluent/plugin/formatter1/formatter_test1.rb +0 -7
- data/test/scripts/fluent/plugin/formatter2/formatter_test2.rb +0 -7
- data/test/scripts/fluent/plugin/formatter_known.rb +0 -8
- data/test/scripts/fluent/plugin/out_test.rb +0 -81
- data/test/scripts/fluent/plugin/out_test2.rb +0 -80
- data/test/scripts/fluent/plugin/parser_known.rb +0 -4
- data/test/test_capability.rb +0 -74
- data/test/test_clock.rb +0 -164
- data/test/test_config.rb +0 -369
- data/test/test_configdsl.rb +0 -148
- data/test/test_daemonizer.rb +0 -91
- data/test/test_engine.rb +0 -203
- data/test/test_event.rb +0 -531
- data/test/test_event_router.rb +0 -348
- data/test/test_event_time.rb +0 -199
- data/test/test_file_wrapper.rb +0 -53
- data/test/test_filter.rb +0 -121
- data/test/test_fluent_log_event_router.rb +0 -99
- data/test/test_formatter.rb +0 -369
- data/test/test_input.rb +0 -31
- data/test/test_log.rb +0 -1076
- data/test/test_match.rb +0 -148
- data/test/test_mixin.rb +0 -351
- data/test/test_msgpack_factory.rb +0 -50
- data/test/test_oj_options.rb +0 -55
- data/test/test_output.rb +0 -278
- data/test/test_plugin.rb +0 -251
- data/test/test_plugin_classes.rb +0 -370
- data/test/test_plugin_helper.rb +0 -81
- data/test/test_plugin_id.rb +0 -119
- data/test/test_process.rb +0 -14
- data/test/test_root_agent.rb +0 -951
- data/test/test_static_config_analysis.rb +0 -177
- data/test/test_supervisor.rb +0 -821
- data/test/test_test_drivers.rb +0 -136
- data/test/test_time_formatter.rb +0 -301
- data/test/test_time_parser.rb +0 -362
- data/test/test_tls.rb +0 -65
- data/test/test_unique_id.rb +0 -47
- data/test/test_variable_store.rb +0 -65
@@ -1,604 +0,0 @@
|
|
1
|
-
require_relative '../helper'
|
2
|
-
require 'fluent/config/configure_proxy'
|
3
|
-
|
4
|
-
module Fluent::Config
|
5
|
-
class TestConfigureProxy < ::Test::Unit::TestCase
|
6
|
-
setup do
|
7
|
-
@type_lookup = ->(type) { Fluent::Configurable.lookup_type(type) }
|
8
|
-
end
|
9
|
-
|
10
|
-
sub_test_case 'to generate a instance' do
|
11
|
-
sub_test_case '#initialize' do
|
12
|
-
test 'has default values' do
|
13
|
-
proxy = Fluent::Config::ConfigureProxy.new('section', type_lookup: @type_lookup)
|
14
|
-
assert_equal(:section, proxy.name)
|
15
|
-
|
16
|
-
proxy = Fluent::Config::ConfigureProxy.new(:section, type_lookup: @type_lookup)
|
17
|
-
assert_equal(:section, proxy.name)
|
18
|
-
assert_nil(proxy.param_name)
|
19
|
-
assert_equal(:section, proxy.variable_name)
|
20
|
-
assert_false(proxy.root?)
|
21
|
-
assert_nil(proxy.init)
|
22
|
-
assert_nil(proxy.required)
|
23
|
-
assert_false(proxy.required?)
|
24
|
-
assert_nil(proxy.multi)
|
25
|
-
assert_true(proxy.multi?)
|
26
|
-
end
|
27
|
-
|
28
|
-
test 'can specify param_name/required/multi with optional arguments' do
|
29
|
-
proxy = Fluent::Config::ConfigureProxy.new(:section, param_name: 'sections', init: true, required: false, multi: true, type_lookup: @type_lookup)
|
30
|
-
assert_equal(:section, proxy.name)
|
31
|
-
assert_equal(:sections, proxy.param_name)
|
32
|
-
assert_equal(:sections, proxy.variable_name)
|
33
|
-
assert_false(proxy.required)
|
34
|
-
assert_false(proxy.required?)
|
35
|
-
assert_true(proxy.multi)
|
36
|
-
assert_true(proxy.multi?)
|
37
|
-
|
38
|
-
proxy = Fluent::Config::ConfigureProxy.new(:section, param_name: :sections, init: false, required: true, multi: false, type_lookup: @type_lookup)
|
39
|
-
assert_equal(:section, proxy.name)
|
40
|
-
assert_equal(:sections, proxy.param_name)
|
41
|
-
assert_equal(:sections, proxy.variable_name)
|
42
|
-
assert_true(proxy.required)
|
43
|
-
assert_true(proxy.required?)
|
44
|
-
assert_false(proxy.multi)
|
45
|
-
assert_false(proxy.multi?)
|
46
|
-
end
|
47
|
-
test 'raise error if both of init and required are true' do
|
48
|
-
assert_raise RuntimeError.new("init and required are exclusive") do
|
49
|
-
Fluent::Config::ConfigureProxy.new(:section, init: true, required: true, type_lookup: @type_lookup)
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
53
|
-
|
54
|
-
sub_test_case '#merge' do
|
55
|
-
test 'generate a new instance which values are overwritten by the argument object' do
|
56
|
-
proxy = p1 = Fluent::Config::ConfigureProxy.new(:section, type_lookup: @type_lookup)
|
57
|
-
assert_equal(:section, proxy.name)
|
58
|
-
assert_nil(proxy.param_name)
|
59
|
-
assert_equal(:section, proxy.variable_name)
|
60
|
-
assert_nil(proxy.init)
|
61
|
-
assert_nil(proxy.required)
|
62
|
-
assert_false(proxy.required?)
|
63
|
-
assert_nil(proxy.multi)
|
64
|
-
assert_true(proxy.multi?)
|
65
|
-
assert_nil(proxy.configured_in_section)
|
66
|
-
|
67
|
-
p2 = Fluent::Config::ConfigureProxy.new(:section, init: false, required: true, multi: false, type_lookup: @type_lookup)
|
68
|
-
proxy = p1.merge(p2)
|
69
|
-
assert_equal(:section, proxy.name)
|
70
|
-
assert_nil(proxy.param_name)
|
71
|
-
assert_equal(:section, proxy.variable_name)
|
72
|
-
assert_false(proxy.init)
|
73
|
-
assert_false(proxy.init?)
|
74
|
-
assert_true(proxy.required)
|
75
|
-
assert_true(proxy.required?)
|
76
|
-
assert_false(proxy.multi)
|
77
|
-
assert_false(proxy.multi?)
|
78
|
-
assert_nil(proxy.configured_in_section)
|
79
|
-
end
|
80
|
-
|
81
|
-
test 'does not overwrite with argument object without any specifications of required/multi' do
|
82
|
-
p1 = Fluent::Config::ConfigureProxy.new(:section1, param_name: :sections, type_lookup: @type_lookup)
|
83
|
-
p1.configured_in_section = :subsection
|
84
|
-
p2 = Fluent::Config::ConfigureProxy.new(:section2, init: false, required: true, multi: false, type_lookup: @type_lookup)
|
85
|
-
p3 = Fluent::Config::ConfigureProxy.new(:section3, type_lookup: @type_lookup)
|
86
|
-
proxy = p1.merge(p2).merge(p3)
|
87
|
-
assert_equal(:section1, proxy.name)
|
88
|
-
assert_equal(:sections, proxy.param_name)
|
89
|
-
assert_equal(:sections, proxy.variable_name)
|
90
|
-
assert_false(proxy.init)
|
91
|
-
assert_false(proxy.init?)
|
92
|
-
assert_true(proxy.required)
|
93
|
-
assert_true(proxy.required?)
|
94
|
-
assert_false(proxy.multi)
|
95
|
-
assert_false(proxy.multi?)
|
96
|
-
assert_equal :subsection, proxy.configured_in_section
|
97
|
-
end
|
98
|
-
|
99
|
-
test "does overwrite name of proxy for root sections which are used for plugins" do
|
100
|
-
# latest plugin class shows actual plugin implementation
|
101
|
-
p1 = Fluent::Config::ConfigureProxy.new('Fluent::Plugin::MyP1'.to_sym, root: true, required: true, multi: false, type_lookup: @type_lookup)
|
102
|
-
p1.config_param :key1, :integer
|
103
|
-
|
104
|
-
p2 = Fluent::Config::ConfigureProxy.new('Fluent::Plugin::MyP2'.to_sym, root: true, required: true, multi: false, type_lookup: @type_lookup)
|
105
|
-
p2.config_param :key2, :string, default: "value2"
|
106
|
-
|
107
|
-
merged = p1.merge(p2)
|
108
|
-
|
109
|
-
assert_equal 'Fluent::Plugin::MyP2'.to_sym, merged.name
|
110
|
-
assert_true merged.root?
|
111
|
-
end
|
112
|
-
end
|
113
|
-
|
114
|
-
sub_test_case '#overwrite_defaults' do
|
115
|
-
test 'overwrites only defaults with others defaults' do
|
116
|
-
type_lookup = ->(type) { Fluent::Configurable.lookup_type(type) }
|
117
|
-
p1 = Fluent::Config::ConfigureProxy.new(:mychild, type_lookup: type_lookup)
|
118
|
-
p1.configured_in_section = :child
|
119
|
-
p1.config_param(:k1a, :string)
|
120
|
-
p1.config_param(:k1b, :string)
|
121
|
-
p1.config_param(:k2a, :integer, default: 0)
|
122
|
-
p1.config_param(:k2b, :integer, default: 0)
|
123
|
-
p1.config_section(:sub1) do
|
124
|
-
config_param :k3, :time, default: 30
|
125
|
-
end
|
126
|
-
|
127
|
-
p0 = Fluent::Config::ConfigureProxy.new(:myparent, type_lookup: type_lookup)
|
128
|
-
p0.config_section(:child) do
|
129
|
-
config_set_default :k1a, "v1a"
|
130
|
-
config_param :k1b, :string, default: "v1b"
|
131
|
-
config_set_default :k2a, 21
|
132
|
-
config_param :k2b, :integer, default: 22
|
133
|
-
config_section :sub1 do
|
134
|
-
config_set_default :k3, 60
|
135
|
-
end
|
136
|
-
end
|
137
|
-
|
138
|
-
p1.overwrite_defaults(p0.sections[:child])
|
139
|
-
|
140
|
-
assert_equal "v1a", p1.defaults[:k1a]
|
141
|
-
assert_equal "v1b", p1.defaults[:k1b]
|
142
|
-
assert_equal 21, p1.defaults[:k2a]
|
143
|
-
assert_equal 22, p1.defaults[:k2b]
|
144
|
-
assert_equal 60, p1.sections[:sub1].defaults[:k3]
|
145
|
-
end
|
146
|
-
end
|
147
|
-
|
148
|
-
sub_test_case '#configured_in' do
|
149
|
-
test 'sets a section name which have configuration parameters of target plugin in owners configuration' do
|
150
|
-
proxy = Fluent::Config::ConfigureProxy.new(:section, type_lookup: @type_lookup)
|
151
|
-
proxy.configured_in(:mysection)
|
152
|
-
assert_equal :mysection, proxy.configured_in_section
|
153
|
-
end
|
154
|
-
|
155
|
-
test 'do not permit to be called twice' do
|
156
|
-
proxy = Fluent::Config::ConfigureProxy.new(:section, type_lookup: @type_lookup)
|
157
|
-
proxy.configured_in(:mysection)
|
158
|
-
assert_raise(ArgumentError) { proxy.configured_in(:myothersection) }
|
159
|
-
end
|
160
|
-
end
|
161
|
-
|
162
|
-
sub_test_case '#config_param / #config_set_default / #config_argument' do
|
163
|
-
setup do
|
164
|
-
@proxy = Fluent::Config::ConfigureProxy.new(:section, type_lookup: @type_lookup)
|
165
|
-
end
|
166
|
-
|
167
|
-
test 'handles configuration parameters without type as string' do
|
168
|
-
@proxy.config_argument(:label)
|
169
|
-
@proxy.config_param(:name)
|
170
|
-
assert_equal :label, @proxy.argument[0]
|
171
|
-
assert_equal :string, @proxy.argument[2][:type]
|
172
|
-
assert_equal :string, @proxy.params[:name][1][:type]
|
173
|
-
end
|
174
|
-
|
175
|
-
data(
|
176
|
-
default: [:default, nil],
|
177
|
-
alias: [:alias, :alias_name_in_config],
|
178
|
-
secret: [:secret, true],
|
179
|
-
skip_accessor: [:skip_accessor, true],
|
180
|
-
deprecated: [:deprecated, 'it is deprecated'],
|
181
|
-
obsoleted: [:obsoleted, 'it is obsoleted'],
|
182
|
-
desc: [:desc, "description"],
|
183
|
-
)
|
184
|
-
test 'always allow options for all types' do |(option, value)|
|
185
|
-
opt = {option => value}
|
186
|
-
assert_nothing_raised{ @proxy.config_argument(:param0, **opt) }
|
187
|
-
assert_nothing_raised{ @proxy.config_param(:p1, :string, **opt) }
|
188
|
-
assert_nothing_raised{ @proxy.config_param(:p2, :enum, list: [:a, :b, :c], **opt) }
|
189
|
-
assert_nothing_raised{ @proxy.config_param(:p3, :integer, **opt) }
|
190
|
-
assert_nothing_raised{ @proxy.config_param(:p4, :float, **opt) }
|
191
|
-
assert_nothing_raised{ @proxy.config_param(:p5, :size, **opt) }
|
192
|
-
assert_nothing_raised{ @proxy.config_param(:p6, :bool, **opt) }
|
193
|
-
assert_nothing_raised{ @proxy.config_param(:p7, :time, **opt) }
|
194
|
-
assert_nothing_raised{ @proxy.config_param(:p8, :hash, **opt) }
|
195
|
-
assert_nothing_raised{ @proxy.config_param(:p9, :array, **opt) }
|
196
|
-
assert_nothing_raised{ @proxy.config_param(:pa, :regexp, **opt) }
|
197
|
-
end
|
198
|
-
|
199
|
-
data(string: :string, integer: :integer, float: :float, size: :size, bool: :bool, time: :time, hash: :hash, array: :array, regexp: :regexp)
|
200
|
-
test 'deny list for non-enum types' do |type|
|
201
|
-
assert_raise ArgumentError.new(":list is valid only for :enum type, but #{type}: arg") do
|
202
|
-
@proxy.config_argument(:arg, type, list: [:a, :b])
|
203
|
-
end
|
204
|
-
assert_raise ArgumentError.new(":list is valid only for :enum type, but #{type}: p1") do
|
205
|
-
@proxy.config_param(:p1, type, list: [:a, :b])
|
206
|
-
end
|
207
|
-
end
|
208
|
-
|
209
|
-
data(string: :string, integer: :integer, float: :float, size: :size, bool: :bool, time: :time, regexp: :regexp)
|
210
|
-
test 'deny value_type for non-hash/array types' do |type|
|
211
|
-
assert_raise ArgumentError.new(":value_type is valid only for :hash and :array, but #{type}: arg") do
|
212
|
-
@proxy.config_argument(:arg, type, value_type: :string)
|
213
|
-
end
|
214
|
-
assert_raise ArgumentError.new(":value_type is valid only for :hash and :array, but #{type}: p1") do
|
215
|
-
@proxy.config_param(:p1, type, value_type: :integer)
|
216
|
-
end
|
217
|
-
end
|
218
|
-
|
219
|
-
data(string: :string, integer: :integer, float: :float, size: :size, bool: :bool, time: :time, array: :array, regexp: :regexp)
|
220
|
-
test 'deny symbolize_keys for non-hash types' do |type|
|
221
|
-
assert_raise ArgumentError.new(":symbolize_keys is valid only for :hash, but #{type}: arg") do
|
222
|
-
@proxy.config_argument(:arg, type, symbolize_keys: true)
|
223
|
-
end
|
224
|
-
assert_raise ArgumentError.new(":symbolize_keys is valid only for :hash, but #{type}: p1") do
|
225
|
-
@proxy.config_param(:p1, type, symbolize_keys: true)
|
226
|
-
end
|
227
|
-
end
|
228
|
-
|
229
|
-
data(string: :string, integer: :integer, float: :float, size: :size, bool: :bool, time: :time, hash: :hash, array: :array)
|
230
|
-
test 'deny unknown options' do |type|
|
231
|
-
assert_raise ArgumentError.new("unknown option 'required' for configuration parameter: arg") do
|
232
|
-
@proxy.config_argument(:arg, type, required: true)
|
233
|
-
end
|
234
|
-
assert_raise ArgumentError.new("unknown option 'param_name' for configuration parameter: p1") do
|
235
|
-
@proxy.config_argument(:p1, type, param_name: :yay)
|
236
|
-
end
|
237
|
-
end
|
238
|
-
|
239
|
-
test 'desc gets string' do
|
240
|
-
assert_nothing_raised do
|
241
|
-
@proxy.config_param(:name, :string, desc: "it is description")
|
242
|
-
end
|
243
|
-
assert_raise ArgumentError.new("name1: desc must be a String, but Symbol") do
|
244
|
-
@proxy.config_param(:name1, :string, desc: :yaaaaaaaay)
|
245
|
-
end
|
246
|
-
end
|
247
|
-
|
248
|
-
test 'alias gets symbol' do
|
249
|
-
assert_nothing_raised do
|
250
|
-
@proxy.config_param(:name, :string, alias: :label)
|
251
|
-
end
|
252
|
-
assert_raise ArgumentError.new("name1: alias must be a Symbol, but String") do
|
253
|
-
@proxy.config_param(:name1, :string, alias: 'label1')
|
254
|
-
end
|
255
|
-
end
|
256
|
-
|
257
|
-
test 'secret gets true/false' do
|
258
|
-
assert_nothing_raised do
|
259
|
-
@proxy.config_param(:name1, :string, secret: false)
|
260
|
-
end
|
261
|
-
assert_nothing_raised do
|
262
|
-
@proxy.config_param(:name2, :string, secret: true)
|
263
|
-
end
|
264
|
-
assert_raise ArgumentError.new("name3: secret must be true or false, but String") do
|
265
|
-
@proxy.config_param(:name3, :string, secret: 'yes')
|
266
|
-
end
|
267
|
-
assert_raise ArgumentError.new("name4: secret must be true or false, but NilClass") do
|
268
|
-
@proxy.config_param(:name4, :string, secret: nil)
|
269
|
-
end
|
270
|
-
end
|
271
|
-
|
272
|
-
test 'symbolize_keys gets true/false' do
|
273
|
-
assert_nothing_raised do
|
274
|
-
@proxy.config_param(:data1, :hash, symbolize_keys: false)
|
275
|
-
end
|
276
|
-
assert_nothing_raised do
|
277
|
-
@proxy.config_param(:data2, :hash, symbolize_keys: true)
|
278
|
-
end
|
279
|
-
assert_raise ArgumentError.new("data3: symbolize_keys must be true or false, but NilClass") do
|
280
|
-
@proxy.config_param(:data3, :hash, symbolize_keys: nil)
|
281
|
-
end
|
282
|
-
end
|
283
|
-
|
284
|
-
test 'value_type gets symbol' do
|
285
|
-
assert_nothing_raised do
|
286
|
-
@proxy.config_param(:data1, :array, value_type: :integer)
|
287
|
-
end
|
288
|
-
assert_raise ArgumentError.new("data2: value_type must be a Symbol, but Class") do
|
289
|
-
@proxy.config_param(:data2, :array, value_type: Integer)
|
290
|
-
end
|
291
|
-
end
|
292
|
-
|
293
|
-
test 'list gets an array of symbols' do
|
294
|
-
assert_nothing_raised do
|
295
|
-
@proxy.config_param(:proto1, :enum, list: [:a, :b])
|
296
|
-
end
|
297
|
-
assert_raise ArgumentError.new("proto2: enum parameter requires :list of Symbols") do
|
298
|
-
@proxy.config_param(:proto2, :enum, list: nil)
|
299
|
-
end
|
300
|
-
assert_raise ArgumentError.new("proto3: enum parameter requires :list of Symbols") do
|
301
|
-
@proxy.config_param(:proto3, :enum, list: ['a', 'b'])
|
302
|
-
end
|
303
|
-
assert_raise ArgumentError.new("proto4: enum parameter requires :list of Symbols") do
|
304
|
-
@proxy.config_param(:proto4, :enum, list: [])
|
305
|
-
end
|
306
|
-
end
|
307
|
-
|
308
|
-
test 'deprecated gets string' do
|
309
|
-
assert_nothing_raised do
|
310
|
-
@proxy.config_param(:name1, :string, deprecated: "use name2 instead")
|
311
|
-
end
|
312
|
-
assert_raise ArgumentError.new("name2: deprecated must be a String, but TrueClass") do
|
313
|
-
@proxy.config_param(:name2, :string, deprecated: true)
|
314
|
-
end
|
315
|
-
end
|
316
|
-
|
317
|
-
test 'obsoleted gets string' do
|
318
|
-
assert_nothing_raised do
|
319
|
-
@proxy.config_param(:name1, :string, obsoleted: "use name2 instead")
|
320
|
-
end
|
321
|
-
assert_raise ArgumentError.new("name2: obsoleted must be a String, but TrueClass") do
|
322
|
-
@proxy.config_param(:name2, :string, obsoleted: true)
|
323
|
-
end
|
324
|
-
end
|
325
|
-
|
326
|
-
test 'skip_accessor gets true/false' do
|
327
|
-
assert_nothing_raised do
|
328
|
-
@proxy.config_param(:format1, :string, skip_accessor: false)
|
329
|
-
end
|
330
|
-
assert_nothing_raised do
|
331
|
-
@proxy.config_param(:format2, :string, skip_accessor: true)
|
332
|
-
end
|
333
|
-
assert_raise ArgumentError.new("format2: skip_accessor must be true or false, but String") do
|
334
|
-
@proxy.config_param(:format2, :string, skip_accessor: 'yes')
|
335
|
-
end
|
336
|
-
end
|
337
|
-
|
338
|
-
test 'list is required for :enum' do
|
339
|
-
assert_nothing_raised do
|
340
|
-
@proxy.config_param(:proto1, :enum, list: [:a, :b])
|
341
|
-
end
|
342
|
-
assert_raise ArgumentError.new("proto1: enum parameter requires :list of Symbols") do
|
343
|
-
@proxy.config_param(:proto1, :enum, default: :a)
|
344
|
-
end
|
345
|
-
end
|
346
|
-
|
347
|
-
test 'does not permit config_set_default for param w/ :default option' do
|
348
|
-
@proxy.config_param(:name, :string, default: "name1")
|
349
|
-
assert_raise(ArgumentError) { @proxy.config_set_default(:name, "name2") }
|
350
|
-
end
|
351
|
-
|
352
|
-
test 'does not permit default value specification twice' do
|
353
|
-
@proxy.config_param(:name, :string)
|
354
|
-
@proxy.config_set_default(:name, "name1")
|
355
|
-
assert_raise(ArgumentError) { @proxy.config_set_default(:name, "name2") }
|
356
|
-
end
|
357
|
-
|
358
|
-
test 'does not permit default value specification twice, even on config_argument' do
|
359
|
-
@proxy.config_param(:name, :string)
|
360
|
-
@proxy.config_set_default(:name, "name1")
|
361
|
-
|
362
|
-
@proxy.config_argument(:name)
|
363
|
-
assert_raise(ArgumentError) { @proxy.config_argument(:name, default: "name2") }
|
364
|
-
end
|
365
|
-
end
|
366
|
-
|
367
|
-
sub_test_case '#config_set_desc' do
|
368
|
-
setup do
|
369
|
-
@proxy = Fluent::Config::ConfigureProxy.new(:section, type_lookup: @type_lookup)
|
370
|
-
end
|
371
|
-
|
372
|
-
test 'does not permit description specification twice w/ :desc option' do
|
373
|
-
@proxy.config_param(:name, :string, desc: "description")
|
374
|
-
assert_raise(ArgumentError) { @proxy.config_set_desc(:name, "description2") }
|
375
|
-
end
|
376
|
-
|
377
|
-
test 'does not permit description specification twice' do
|
378
|
-
@proxy.config_param(:name, :string)
|
379
|
-
@proxy.config_set_desc(:name, "description")
|
380
|
-
assert_raise(ArgumentError) { @proxy.config_set_desc(:name, "description2") }
|
381
|
-
end
|
382
|
-
end
|
383
|
-
|
384
|
-
sub_test_case '#desc' do
|
385
|
-
setup do
|
386
|
-
@proxy = Fluent::Config::ConfigureProxy.new(:section, type_lookup: @type_lookup)
|
387
|
-
end
|
388
|
-
|
389
|
-
test 'permit to specify description twice' do
|
390
|
-
@proxy.desc("description1")
|
391
|
-
@proxy.desc("description2")
|
392
|
-
@proxy.config_param(:name, :string)
|
393
|
-
assert_equal("description2", @proxy.descriptions[:name])
|
394
|
-
end
|
395
|
-
|
396
|
-
test 'does not permit description specification twice' do
|
397
|
-
@proxy.desc("description1")
|
398
|
-
assert_raise(ArgumentError) do
|
399
|
-
@proxy.config_param(:name, :string, desc: "description2")
|
400
|
-
end
|
401
|
-
end
|
402
|
-
end
|
403
|
-
|
404
|
-
sub_test_case '#dump_config_definition' do
|
405
|
-
setup do
|
406
|
-
@proxy = Fluent::Config::ConfigureProxy.new(:section, type_lookup: @type_lookup)
|
407
|
-
end
|
408
|
-
|
409
|
-
test 'empty proxy' do
|
410
|
-
assert_equal({}, @proxy.dump_config_definition)
|
411
|
-
end
|
412
|
-
|
413
|
-
test 'plain proxy w/o default value' do
|
414
|
-
@proxy.config_param(:name, :string)
|
415
|
-
expected = {
|
416
|
-
name: { type: :string, required: true }
|
417
|
-
}
|
418
|
-
assert_equal(expected, @proxy.dump_config_definition)
|
419
|
-
end
|
420
|
-
|
421
|
-
test 'plain proxy w/ default value' do
|
422
|
-
@proxy.config_param(:name, :string, default: "name1")
|
423
|
-
expected = {
|
424
|
-
name: { type: :string, default: "name1", required: false }
|
425
|
-
}
|
426
|
-
assert_equal(expected, @proxy.dump_config_definition)
|
427
|
-
end
|
428
|
-
|
429
|
-
test 'plain proxy w/ default value using config_set_default' do
|
430
|
-
@proxy.config_param(:name, :string)
|
431
|
-
@proxy.config_set_default(:name, "name1")
|
432
|
-
expected = {
|
433
|
-
name: { type: :string, default: "name1", required: false }
|
434
|
-
}
|
435
|
-
assert_equal(expected, @proxy.dump_config_definition)
|
436
|
-
end
|
437
|
-
|
438
|
-
test 'plain proxy w/ argument' do
|
439
|
-
@proxy.instance_eval do
|
440
|
-
config_argument(:argname, :string)
|
441
|
-
config_param(:name, :string, default: "name1")
|
442
|
-
end
|
443
|
-
expected = {
|
444
|
-
argname: { type: :string, required: true, argument: true },
|
445
|
-
name: { type: :string, default: "name1", required: false }
|
446
|
-
}
|
447
|
-
assert_equal(expected, @proxy.dump_config_definition)
|
448
|
-
end
|
449
|
-
|
450
|
-
test 'plain proxy w/ argument default value' do
|
451
|
-
@proxy.instance_eval do
|
452
|
-
config_argument(:argname, :string, default: "value")
|
453
|
-
config_param(:name, :string, default: "name1")
|
454
|
-
end
|
455
|
-
expected = {
|
456
|
-
argname: { type: :string, default: "value", required: false, argument: true },
|
457
|
-
name: { type: :string, default: "name1", required: false }
|
458
|
-
}
|
459
|
-
assert_equal(expected, @proxy.dump_config_definition)
|
460
|
-
end
|
461
|
-
|
462
|
-
test 'plain proxy w/ argument overwriting default value' do
|
463
|
-
@proxy.instance_eval do
|
464
|
-
config_argument(:argname, :string)
|
465
|
-
config_param(:name, :string, default: "name1")
|
466
|
-
config_set_default(:argname, "value1")
|
467
|
-
end
|
468
|
-
expected = {
|
469
|
-
argname: { type: :string, default: "value1", required: false, argument: true },
|
470
|
-
name: { type: :string, default: "name1", required: false }
|
471
|
-
}
|
472
|
-
assert_equal(expected, @proxy.dump_config_definition)
|
473
|
-
end
|
474
|
-
|
475
|
-
test 'single sub proxy' do
|
476
|
-
@proxy.config_section(:sub) do
|
477
|
-
config_param(:name, :string, default: "name1")
|
478
|
-
end
|
479
|
-
expected = {
|
480
|
-
sub: {
|
481
|
-
alias: nil,
|
482
|
-
multi: true,
|
483
|
-
required: false,
|
484
|
-
section: true,
|
485
|
-
name: { type: :string, default: "name1", required: false }
|
486
|
-
}
|
487
|
-
}
|
488
|
-
assert_equal(expected, @proxy.dump_config_definition)
|
489
|
-
end
|
490
|
-
|
491
|
-
test 'nested sub proxy' do
|
492
|
-
@proxy.config_section(:sub) do
|
493
|
-
config_param(:name1, :string, default: "name1")
|
494
|
-
config_param(:name2, :string, default: "name2")
|
495
|
-
config_section(:sub2) do
|
496
|
-
config_param(:name3, :string, default: "name3")
|
497
|
-
config_param(:name4, :string, default: "name4")
|
498
|
-
end
|
499
|
-
end
|
500
|
-
expected = {
|
501
|
-
sub: {
|
502
|
-
alias: nil,
|
503
|
-
multi: true,
|
504
|
-
required: false,
|
505
|
-
section: true,
|
506
|
-
name1: { type: :string, default: "name1", required: false },
|
507
|
-
name2: { type: :string, default: "name2", required: false },
|
508
|
-
sub2: {
|
509
|
-
alias: nil,
|
510
|
-
multi: true,
|
511
|
-
required: false,
|
512
|
-
section: true,
|
513
|
-
name3: { type: :string, default: "name3", required: false },
|
514
|
-
name4: { type: :string, default: "name4", required: false },
|
515
|
-
}
|
516
|
-
}
|
517
|
-
}
|
518
|
-
assert_equal(expected, @proxy.dump_config_definition)
|
519
|
-
end
|
520
|
-
|
521
|
-
sub_test_case 'w/ description' do
|
522
|
-
test 'single proxy' do
|
523
|
-
@proxy.config_param(:name, :string, desc: "description for name")
|
524
|
-
expected = {
|
525
|
-
name: { type: :string, desc: "description for name", required: true }
|
526
|
-
}
|
527
|
-
assert_equal(expected, @proxy.dump_config_definition)
|
528
|
-
end
|
529
|
-
|
530
|
-
test 'single proxy using config_set_desc' do
|
531
|
-
@proxy.config_param(:name, :string)
|
532
|
-
@proxy.config_set_desc(:name, "description for name")
|
533
|
-
expected = {
|
534
|
-
name: { type: :string, desc: "description for name", required: true }
|
535
|
-
}
|
536
|
-
assert_equal(expected, @proxy.dump_config_definition)
|
537
|
-
end
|
538
|
-
|
539
|
-
test 'sub proxy' do
|
540
|
-
@proxy.config_section(:sub) do
|
541
|
-
config_param(:name1, :string, default: "name1", desc: "desc1")
|
542
|
-
config_param(:name2, :string, default: "name2", desc: "desc2")
|
543
|
-
config_section(:sub2) do
|
544
|
-
config_param(:name3, :string, default: "name3")
|
545
|
-
config_param(:name4, :string, default: "name4", desc: "desc4")
|
546
|
-
end
|
547
|
-
end
|
548
|
-
expected = {
|
549
|
-
sub: {
|
550
|
-
alias: nil,
|
551
|
-
multi: true,
|
552
|
-
required: false,
|
553
|
-
section: true,
|
554
|
-
name1: { type: :string, default: "name1", desc: "desc1", required: false },
|
555
|
-
name2: { type: :string, default: "name2", desc: "desc2", required: false },
|
556
|
-
sub2: {
|
557
|
-
alias: nil,
|
558
|
-
multi: true,
|
559
|
-
required: false,
|
560
|
-
section: true,
|
561
|
-
name3: { type: :string, default: "name3", required: false },
|
562
|
-
name4: { type: :string, default: "name4", desc: "desc4", required: false },
|
563
|
-
}
|
564
|
-
}
|
565
|
-
}
|
566
|
-
assert_equal(expected, @proxy.dump_config_definition)
|
567
|
-
end
|
568
|
-
|
569
|
-
test 'sub proxy w/ desc method' do
|
570
|
-
@proxy.config_section(:sub) do
|
571
|
-
desc("desc1")
|
572
|
-
config_param(:name1, :string, default: "name1")
|
573
|
-
config_param(:name2, :string, default: "name2", desc: "desc2")
|
574
|
-
config_section(:sub2) do
|
575
|
-
config_param(:name3, :string, default: "name3")
|
576
|
-
desc("desc4")
|
577
|
-
config_param(:name4, :string, default: "name4")
|
578
|
-
end
|
579
|
-
end
|
580
|
-
expected = {
|
581
|
-
sub: {
|
582
|
-
alias: nil,
|
583
|
-
multi: true,
|
584
|
-
required: false,
|
585
|
-
section: true,
|
586
|
-
name1: { type: :string, default: "name1", desc: "desc1", required: false },
|
587
|
-
name2: { type: :string, default: "name2", desc: "desc2", required: false },
|
588
|
-
sub2: {
|
589
|
-
alias: nil,
|
590
|
-
multi: true,
|
591
|
-
required: false,
|
592
|
-
section: true,
|
593
|
-
name3: { type: :string, default: "name3", required: false },
|
594
|
-
name4: { type: :string, default: "name4", desc: "desc4", required: false },
|
595
|
-
}
|
596
|
-
}
|
597
|
-
}
|
598
|
-
assert_equal(expected, @proxy.dump_config_definition)
|
599
|
-
end
|
600
|
-
end
|
601
|
-
end
|
602
|
-
end
|
603
|
-
end
|
604
|
-
end
|