Skip to content

Commit 4668ab4

Browse files
committed
Add test cases
1 parent 0a638e2 commit 4668ab4

File tree

2 files changed

+68
-0
lines changed

2 files changed

+68
-0
lines changed

test/helper.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
require 'fluent/test'
2+
require 'fluent/test/helpers'
3+
require 'fluent/test/driver/filter'
4+
require 'fluent/plugin/filter_elasticsearch_timestamp_check'
5+
6+
class Test::Unit::TestCase
7+
include Fluent::Test::Helpers
8+
end
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
require 'helper'
2+
3+
class TestElasticsearchTimestampCheckFilter < Test::Unit::TestCase
4+
def setup
5+
Fluent::Test.setup
6+
end
7+
8+
def create_driver(conf='')
9+
Fluent::Test::Driver::Filter.new(Fluent::Plugin::ElasticsearchTimestampCheckFilter).configure(conf)
10+
end
11+
12+
def test_added_timestamp
13+
d = create_driver
14+
d.run(default_tag: 'test') do
15+
d.feed({'test' => 'notime'})
16+
end
17+
filtered = d.filtered.map {|e| e.last}.first
18+
assert_true(filtered.key?("@timestamp"))
19+
assert_true(filtered.key?("fluent_added_timestamp"))
20+
end
21+
22+
data('@timestamp' => '@timestamp',
23+
'timestamp' => 'timestamp',
24+
'time' => 'time',
25+
'syslog_timestamp' => 'syslog_timestamp')
26+
def test_timestamp_with_normal(data)
27+
timekey = data
28+
d = create_driver
29+
timestamp = '2017-09-19T14:40:08.321+0900'
30+
d.run(default_tag: 'test') do
31+
d.feed({'test' => 'notime'}.merge(timekey => timestamp))
32+
end
33+
filtered = d.filtered.map{|e| e.last}.first
34+
assert_true(filtered.key?("@timestamp"))
35+
assert_true(filtered.key?("fluent_converted_timestamp"))
36+
assert_equal(timestamp, filtered["fluent_converted_timestamp"])
37+
end
38+
39+
data('@timestamp' => '@timestamp',
40+
'timestamp' => 'timestamp',
41+
'time' => 'time',
42+
'syslog_timestamp' => 'syslog_timestamp')
43+
def test_timestamp_with_digit(data)
44+
timekey = data
45+
d = create_driver
46+
timestamp = '1505800348899'
47+
d.run(default_tag: 'test') do
48+
d.feed({'test' => 'notime'}.merge(timekey => timestamp))
49+
end
50+
filtered = d.filtered.map{|e| e.last}.first
51+
num = timestamp.to_i
52+
formatted_time = Time.at(
53+
num / (10 ** ((Math.log10(num).to_i + 1) - 10))
54+
).strftime('%Y-%m-%dT%H:%M:%S.%L%z')
55+
assert_true(filtered.key?("@timestamp"))
56+
assert_true(filtered.key?("fluent_converted_timestamp"))
57+
assert_equal(formatted_time, filtered["fluent_converted_timestamp"])
58+
end
59+
60+
end

0 commit comments

Comments
 (0)