Skip to content

Commit 2591685

Browse files
committed
test_supervisor: add test case
Signed-off-by: Shizuo Fujita <fujita@clear-code.com>
1 parent b8b1c15 commit 2591685

1 file changed

Lines changed: 66 additions & 0 deletions

File tree

test/test_supervisor.rb

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1168,6 +1168,72 @@ def test_stop_parallel_old_supervisor_after_delay
11681168
expected = [c].concat(sources.collect { |type| {"@type" => type} })
11691169
assert_equal(expected, supervisor.instance_variable_get(:@conf).elements)
11701170
end
1171+
1172+
test "prevent duplicate loading" do
1173+
write_config("#{@config_include_dir}/system.conf", <<~EOF)
1174+
<system>
1175+
config_include_dir #{@config_include_dir}
1176+
</system>
1177+
EOF
1178+
write_config("#{@config_include_dir}/forward.conf", <<~EOF)
1179+
<match test>
1180+
@type forward
1181+
<buffer>
1182+
@include #{@config_include_dir}/common_param.conf
1183+
</buffer>
1184+
<server>
1185+
host 127.0.0.1
1186+
port 24224
1187+
</server>
1188+
</match>
1189+
EOF
1190+
write_config("#{@config_include_dir}/common_param.conf", <<~EOF)
1191+
flush_interval 5s
1192+
EOF
1193+
write_config("#{@config_include_dir}/obsolete_plugins.conf", <<~EOF)
1194+
<source>
1195+
@type obsolete_plugins
1196+
</source>
1197+
EOF
1198+
1199+
write_config("#{@tmp_dir}/fluent.conf", <<~EOF)
1200+
<match sample.*>
1201+
@type file
1202+
<buffer>
1203+
@include #{@config_include_dir}/common_param.conf
1204+
</buffer>
1205+
</match>
1206+
1207+
@include #{@config_include_dir}/forward.conf
1208+
@include #{@config_include_dir}/system.conf
1209+
EOF
1210+
1211+
supervisor = Fluent::Supervisor.new({ config_path: "#{@tmp_dir}/fluent.conf" })
1212+
supervisor.configure(supervisor: true)
1213+
elements = supervisor.instance_variable_get(:@conf).elements
1214+
assert_equal(4, elements.size)
1215+
1216+
assert_equal('match', elements[0].name)
1217+
assert_equal('file', elements[0]['@type'])
1218+
assert_equal('buffer', elements[0].elements[0].name)
1219+
assert_equal('5s', elements[0].elements[0]['flush_interval'])
1220+
1221+
assert_equal('match', elements[1].name)
1222+
assert_equal('forward', elements[1]['@type'])
1223+
assert_equal('buffer', elements[1].elements[0].name)
1224+
assert_equal('5s', elements[1].elements[0]['flush_interval'])
1225+
1226+
assert_equal('system', elements[2].name)
1227+
assert_equal(@config_include_dir, elements[2]['config_include_dir'])
1228+
1229+
assert_equal('source', elements[3].name)
1230+
assert_equal('obsolete_plugins', elements[3]['@type'])
1231+
1232+
# reload
1233+
supervisor.__send__(:reload_config)
1234+
reload_elements = supervisor.instance_variable_get(:@conf).elements
1235+
assert_equal(elements, reload_elements)
1236+
end
11711237
end
11721238

11731239
def create_debug_dummy_logger

0 commit comments

Comments
 (0)