Skip to content

Commit 77d532b

Browse files
committed
Add precision parameter validation
1 parent 9d43e35 commit 77d532b

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

lib/fluent/plugin/filter_elasticsearch_timestamp_check.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ class ElasticsearchTimestampCheckFilter < Filter
99
def configure(conf)
1010
super
1111
require 'date'
12+
raise Fluent::ConfigError, "specify 1 or bigger number." if subsecond_precision < 1
1213
@strftime_format = "%Y-%m-%dT%H:%M:%S.%#{@subsecond_precision}N%z".freeze
1314
end
1415

test/plugin/test_filter_elasticsearch_timestamp_check.rb

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,18 @@ def create_driver(conf='')
99
Fluent::Test::Driver::Filter.new(Fluent::Plugin::ElasticsearchTimestampCheckFilter).configure(conf)
1010
end
1111

12+
def test_configure
13+
assert_raise(Fluent::ConfigError) do
14+
create_driver(%[subsecond_precision -3])
15+
end
16+
assert_raise(Fluent::ConfigError) do
17+
create_driver(%[subsecond_precision 0])
18+
end
19+
assert_nothing_raised do
20+
create_driver(%[subsecond_precision 1])
21+
end
22+
end
23+
1224
def test_added_timestamp
1325
d = create_driver
1426
d.run(default_tag: 'test') do

0 commit comments

Comments
 (0)