test/plugin/test_out_tdlog.rb in fluent-plugin-td-0.10.23 vs test/plugin/test_out_tdlog.rb in fluent-plugin-td-0.10.24
- old
+ new
@@ -54,10 +54,29 @@
d.run
assert_equal('TD1 testkey', @auth_header)
end
+ def test_emit_with_broken_record
+ d = create_driver
+ time, records = stub_seed_values
+ records[1] = nil
+ records << 'string' # non-hash case
+ database, table = d.instance.instance_variable_get(:@key).split(".", 2)
+ stub_td_table_create_request(database, table)
+ stub_td_import_request(stub_request_body(records, time), database, table)
+
+ records.each { |record|
+ d.emit(record, time)
+ }
+ d.run
+
+ assert !d.instance.log.logs.any? { |line|
+ line =~ /undefined method/
+ }, 'nil record should be skipped'
+ end
+
def test_emit_with_time_symbole
d = create_driver
time, records = stub_seed_values
database, table = d.instance.instance_variable_get(:@key).split(".", 2)
stub_td_table_create_request(database, table)
@@ -97,10 +116,10 @@
d.emit(create_too_many_keys_record, time)
d.run
assert_equal 0, d.emits.size
assert d.instance.log.logs.select{ |line|
- line =~ / \[error\]: Too many number of keys/
+ line =~ /Too many number of keys/
}.size == 1, "too many keys error is not logged"
end
# TODO: add normalized_msgpack / tag split test