Skip to content

Commit 7b6407c

Browse files
authored
Merge pull request #1081 from okkez/migrate-v0.14-api-filter_grep
Migrate filter_grep to v0.14 API
2 parents 2c8cdca + c16a8a6 commit 7b6407c

File tree

2 files changed

+28
-28
lines changed

2 files changed

+28
-28
lines changed

lib/fluent/plugin/filter_grep.rb

+3-7
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,14 @@
1414
# limitations under the License.
1515
#
1616

17-
require 'fluent/filter'
17+
require 'fluent/plugin/filter'
1818
require 'fluent/config/error'
19+
require 'fluent/plugin/string_util'
1920

20-
module Fluent
21+
module Fluent::Plugin
2122
class GrepFilter < Filter
2223
Fluent::Plugin.register_filter('grep', self)
2324

24-
def initialize
25-
super
26-
require 'fluent/plugin/string_util'
27-
end
28-
2925
REGEXP_MAX_NUM = 20
3026

3127
(1..REGEXP_MAX_NUM).each {|i| config_param :"regexp#{i}", :string, default: nil }

test/plugin/test_filter_grep.rb

+25-21
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
require_relative '../helper'
22
require 'fluent/plugin/filter_grep'
3+
require 'fluent/test/driver/filter'
34

45
class GrepFilterTest < Test::Unit::TestCase
56
include Fluent
67

78
setup do
89
Fluent::Test.setup
9-
@time = Fluent::Engine.now
10+
@time = event_time
1011
end
1112

1213
def create_driver(conf = '')
13-
Test::FilterTestDriver.new(GrepFilter).configure(conf, true)
14+
Fluent::Test::Driver::Filter.new(Fluent::Plugin::GrepFilter).configure(conf)
1415
end
1516

1617
sub_test_case 'configure' do
@@ -41,35 +42,36 @@ def messages
4142
]
4243
end
4344

44-
def emit(config, msgs)
45+
def filter(config, msgs)
4546
d = create_driver(config)
4647
d.run {
4748
msgs.each { |msg|
48-
d.emit({'foo' => 'bar', 'message' => msg}, @time)
49+
d.feed("filter.test", @time, {'foo' => 'bar', 'message' => msg})
4950
}
50-
}.filtered
51+
}
52+
d.filtered_records
5153
end
5254

5355
test 'empty config' do
54-
es = emit('', messages)
55-
assert_equal(4, es.instance_variable_get(:@record_array).size)
56+
filtered_records = filter('', messages)
57+
assert_equal(4, filtered_records.size)
5658
end
5759

5860
test 'regexpN' do
59-
es = emit('regexp1 message WARN', messages)
60-
assert_equal(3, es.instance_variable_get(:@record_array).size)
61+
filtered_records = filter('regexp1 message WARN', messages)
62+
assert_equal(3, filtered_records.size)
6163
assert_block('only WARN logs') do
62-
es.all? { |t, r|
64+
filtered_records.all? { |r|
6365
!r['message'].include?('INFO')
6466
}
6567
end
6668
end
6769

6870
test 'excludeN' do
69-
es = emit('exclude1 message favicon', messages)
70-
assert_equal(3, es.instance_variable_get(:@record_array).size)
71+
filtered_records = filter('exclude1 message favicon', messages)
72+
assert_equal(3, filtered_records.size)
7173
assert_block('remove favicon logs') do
72-
es.all? { |t, r|
74+
filtered_records.all? { |r|
7375
!r['message'].include?('favicon')
7476
}
7577
end
@@ -84,17 +86,19 @@ def messages
8486

8587
test "don't raise an exception" do
8688
assert_nothing_raised {
87-
emit(%[regexp1 message WARN], ["\xff".force_encoding('UTF-8')])
89+
filter(%[regexp1 message WARN], ["\xff".force_encoding('UTF-8')])
8890
}
8991
end
9092
end
9193
end
9294

9395
sub_test_case 'grep non-string jsonable values' do
94-
def emit(msg, config = 'regexp1 message 0')
96+
def filter(msg, config = 'regexp1 message 0')
9597
d = create_driver(config)
96-
d.emit({'foo' => 'bar', 'message' => msg}, @time)
97-
d.run.filtered
98+
d.run do
99+
d.feed("filter.test", @time, {'foo' => 'bar', 'message' => msg})
100+
end
101+
d.filtered_records
98102
end
99103

100104
data(
@@ -103,13 +107,13 @@ def emit(msg, config = 'regexp1 message 0')
103107
'integer' => 0,
104108
'float' => 0.1)
105109
test "value" do |data|
106-
es = emit(data)
107-
assert_equal(1, es.instance_variable_get(:@record_array).size)
110+
filtered_records = filter(data)
111+
assert_equal(1, filtered_records.size)
108112
end
109113

110114
test "value boolean" do
111-
es = emit(true, %[regexp1 message true])
112-
assert_equal(1, es.instance_variable_get(:@record_array).size)
115+
filtered_records = filter(true, %[regexp1 message true])
116+
assert_equal(1, filtered_records.size)
113117
end
114118
end
115119
end

0 commit comments

Comments
 (0)