fluent-plugin-filter 0.0.5 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: be8cf5ff3ab2e36b58ddea36e60630cb2e4a337d
4
- data.tar.gz: 3ac6af56a55b316e3e889763e962a2df39517cec
3
+ metadata.gz: 677804cde241741f2449565acd4400e4020b5078
4
+ data.tar.gz: 4fba58dbc973ae62fa23e5894d0f324ff6dfc0a0
5
5
  SHA512:
6
- metadata.gz: d9d5e44650f926f86e45445dc3a9eddc6d5f758f3089ef2e09e1907bb7acf6fe1efe33b5a43f829269cc124d296092dbff87c5536507d46d1b3b9a89537f1013
7
- data.tar.gz: 7a5b25fee4361ffdd08958d8ac1b20abec0d00e5c97873332c7e6ed10d96e59f9ee25400938ffd7262feb0f8b6a89a4fd440c553953248594952a3fdec4d0968
6
+ metadata.gz: f1acce40701456fe992258b189574214f74afdb3b7403a84cbc9760c6e83358ee8ff36ca43ff34eb826ac3bbd890f6c1f5c02f801b3cbf7b3e3ad5ec6176cc73
7
+ data.tar.gz: 60ccbab7eb21d8ba9181b5aa13446508785642d4ead72711938aa2b755f7e663f8498b49a37f3fbdecd8209db6cfdb6cd4f37ca2095c69e7cc9ba236d1569012
@@ -1,5 +1,7 @@
1
1
  rvm:
2
2
  - 2.1
3
3
  - 2.2
4
+ - 2.3.4
5
+ - 2.4.1
4
6
  gemfile:
5
7
  - Gemfile
@@ -12,7 +12,7 @@ Gem::Specification.new do |gem|
12
12
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
13
13
  gem.name = "fluent-plugin-filter"
14
14
  gem.require_paths = ["lib"]
15
- gem.version = "0.0.5"
15
+ gem.version = "0.1.0"
16
16
 
17
17
  gem.extra_rdoc_files = [
18
18
  "ChangeLog",
@@ -20,5 +20,5 @@ Gem::Specification.new do |gem|
20
20
  ]
21
21
  gem.add_development_dependency "rake"
22
22
  gem.add_development_dependency "test-unit", "~> 3.1.0"
23
- gem.add_runtime_dependency "fluentd"
23
+ gem.add_runtime_dependency "fluentd", [">= 0.14.15", "< 2"]
24
24
  end
@@ -1,9 +1,10 @@
1
- module Fluent
1
+ require 'fluent/plugin/filter_util'
2
+ require 'fluent/plugin/filter'
3
+ module Fluent::Plugin
2
4
  class FilterFilter < Filter
3
- require 'fluent/plugin/filter_util'
4
5
  include FilterUtil
5
6
 
6
- Plugin.register_filter('filter', self)
7
+ Fluent::Plugin.register_filter('filter', self)
7
8
 
8
9
  config_param :all, :string, :default => 'allow'
9
10
  config_param :allow, :string, :default => ''
@@ -1,4 +1,4 @@
1
- module Fluent
1
+ module Fluent::Plugin
2
2
  module FilterUtil
3
3
  def toMap (str, delim)
4
4
  str.split(/\s*#{delim}\s*/).map do|pair|
@@ -1,9 +1,14 @@
1
- module Fluent
1
+ require 'fluent/plugin/filter_util'
2
+ require 'fluent/plugin/output'
3
+
4
+ module Fluent::Plugin
2
5
  class FilterOutput < Output
3
- require 'fluent/plugin/filter_util'
6
+
7
+ helpers :event_emitter
8
+
4
9
  include FilterUtil
5
10
 
6
- Plugin.register_output('filter', self)
11
+ Fluent::Plugin.register_output('filter', self)
7
12
 
8
13
  config_param :all, :string, :default => 'allow'
9
14
  config_param :allow, :string, :default => ''
@@ -25,7 +30,7 @@ class FilterOutput < Output
25
30
  define_method("router") { Fluent::Engine }
26
31
  end
27
32
 
28
- def emit(tag, es, chain)
33
+ def process(tag, es)
29
34
  if @add_prefix
30
35
  tag = @add_prefix + '.' + tag
31
36
  end
@@ -33,7 +38,6 @@ class FilterOutput < Output
33
38
  next unless passRules(record)
34
39
  router.emit(tag, time, record)
35
40
  end
36
- chain.next
37
41
  end
38
42
  end
39
43
 
@@ -1,5 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  require 'helper'
3
+ require 'fluent/test/driver/filter'
3
4
 
4
5
  class TestFilterFilter < Test::Unit::TestCase
5
6
  def setup
@@ -11,8 +12,8 @@ class TestFilterFilter < Test::Unit::TestCase
11
12
  deny status: 404
12
13
  ]
13
14
 
14
- def create_driver(conf = CONFIG, tag='test.input')
15
- Fluent::Test::FilterTestDriver.new(Fluent::FilterFilter, tag).configure(conf)
15
+ def create_driver(conf = CONFIG)
16
+ Fluent::Test::Driver::Filter.new(Fluent::Plugin::FilterFilter).configure(conf)
16
17
  end
17
18
 
18
19
  data("int value" => [{"allows" => [['status', 200]], "denies" => []},
@@ -104,13 +105,13 @@ class TestFilterFilter < Test::Unit::TestCase
104
105
  {'status' => 200, 'agent' => 'Gecka', 'path' => '/users/3'},
105
106
  {'status' => 404, 'agent' => 'Gecko', 'path' => '/wrong'},
106
107
  ]
107
- d = create_driver(target, 'test.input')
108
- d.run do
108
+ d = create_driver(target)
109
+ d.run(default_tag: 'test') do
109
110
  inputs.each do |dat|
110
- d.filter dat
111
+ d.feed dat
111
112
  end
112
113
  end
113
- assert_equal expected, d.filtered_as_array.length
114
+ assert_equal expected, d.filtered.map{|e| e.last}.length
114
115
  end
115
116
 
116
117
  data("allow message2" => [1,
@@ -129,12 +130,12 @@ class TestFilterFilter < Test::Unit::TestCase
129
130
  {'message' => 'hoge', 'message2' => 'hoge2'},
130
131
  {'message' => 'hoge3'},
131
132
  ]
132
- d = create_driver(target, 'test.input')
133
- d.run do
133
+ d = create_driver(target)
134
+ d.run(default_tag: 'test.input') do
134
135
  inputs.each do |dat|
135
- d.filter dat
136
+ d.feed dat
136
137
  end
137
138
  end
138
- assert_equal expected, d.filtered_as_array.length
139
+ assert_equal expected, d.filtered.map{|e| e.last}.length
139
140
  end
140
141
  end
@@ -1,5 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  require 'helper'
3
+ require 'fluent/test/driver/output'
3
4
 
4
5
  class Filter < Test::Unit::TestCase
5
6
  def setup
@@ -11,8 +12,8 @@ class Filter < Test::Unit::TestCase
11
12
  deny status: 404
12
13
  ]
13
14
 
14
- def create_driver(conf = CONFIG, tag='test.input')
15
- Fluent::Test::OutputTestDriver.new(Fluent::FilterOutput, tag).configure(conf)
15
+ def create_driver(conf = CONFIG)
16
+ Fluent::Test::Driver::Output.new(Fluent::Plugin::FilterOutput).configure(conf)
16
17
  end
17
18
 
18
19
  def test_configure
@@ -102,104 +103,104 @@ class Filter < Test::Unit::TestCase
102
103
  {'status' => 404, 'agent' => 'Gecko', 'path' => '/wrong'},
103
104
  ]
104
105
 
105
- d = create_driver(CONFIG, 'test.input')
106
- d.run do
106
+ d = create_driver(CONFIG)
107
+ d.run(default_tag: 'test.input') do
107
108
  data.each do |dat|
108
- d.emit dat
109
+ d.feed dat
109
110
  end
110
111
  end
111
- assert_equal 5, d.emits.length
112
+ assert_equal 5, d.events.length
112
113
 
113
114
  d = create_driver(%[
114
115
  all deny
115
116
  allow status: 200
116
- ], 'test.input')
117
- d.run do
117
+ ])
118
+ d.run(default_tag: 'test.input') do
118
119
  data.each do |dat|
119
- d.emit dat
120
+ d.feed dat
120
121
  end
121
122
  end
122
- assert_equal 3, d.emits.length
123
+ assert_equal 3, d.events.length
123
124
 
124
125
  d = create_driver(%[
125
126
  all deny
126
127
  allow status: 200, status: 303
127
- ], 'test.input')
128
- d.run do
128
+ ])
129
+ d.run(default_tag: 'test.input') do
129
130
  data.each do |dat|
130
- d.emit dat
131
+ d.feed dat
131
132
  end
132
133
  end
133
- assert_equal 4, d.emits.length
134
+ assert_equal 4, d.events.length
134
135
 
135
136
  d = create_driver(%[
136
137
  all deny
137
138
  allow agent: Gecko
138
- ], 'test.input')
139
- d.run do
139
+ ])
140
+ d.run(default_tag: 'test.input') do
140
141
  data.each do |dat|
141
- d.emit dat
142
+ d.feed dat
142
143
  end
143
144
  end
144
- assert_equal 3, d.emits.length
145
+ assert_equal 3, d.events.length
145
146
 
146
147
  d = create_driver(%[
147
148
  all deny
148
149
  allow agent: "Gecko"
149
- ], 'test.input')
150
- d.run do
150
+ ])
151
+ d.run(default_tag: 'test') do
151
152
  data.each do |dat|
152
- d.emit dat
153
+ d.feed dat
153
154
  end
154
155
  end
155
- assert_equal 3, d.emits.length
156
+ assert_equal 3, d.events.length
156
157
 
157
158
  d = create_driver(%[
158
159
  all deny
159
160
  allow agent: "Gecko"
160
161
  deny status: 200
161
- ], 'test.input')
162
- d.run do
162
+ ])
163
+ d.run(default_tag: 'test.input') do
163
164
  data.each do |dat|
164
- d.emit dat
165
+ d.feed dat
165
166
  end
166
167
  end
167
- assert_equal 3, d.emits.length
168
+ assert_equal 3, d.events.length
168
169
 
169
170
  d = create_driver(%[
170
171
  all deny
171
172
  allow agent: /Geck/
172
- ], 'test.input')
173
- d.run do
173
+ ])
174
+ d.run(default_tag: 'test') do
174
175
  data.each do |dat|
175
- d.emit dat
176
+ d.feed dat
176
177
  end
177
178
  end
178
- assert_equal 4, d.emits.length
179
+ assert_equal 4, d.events.length
179
180
 
180
181
  d = create_driver(%[
181
182
  all deny
182
183
  allow agent: /Geck/
183
184
  add_prefix hoge
184
- ], 'test.input')
185
- d.run do
185
+ ])
186
+ d.run(default_tag: 'test.input') do
186
187
  data.each do |dat|
187
- d.emit dat
188
+ d.feed dat
188
189
  end
189
190
  end
190
- assert_equal "hoge.test.input", d.emits[0][0]
191
+ assert_equal "hoge.test.input", d.events[0][0]
191
192
 
192
193
  d = create_driver(%[
193
194
  all deny
194
195
  allow path: /\\/users\\/\\d+/
195
- ], 'test.input')
196
+ ])
196
197
 
197
- d.run do
198
+ d.run(default_tag: 'test.input') do
198
199
  data.each do |dat|
199
- d.emit dat
200
+ d.feed dat
200
201
  end
201
202
  end
202
- assert_equal 3, d.emits.length
203
+ assert_equal 3, d.events.length
203
204
 
204
205
  data = [
205
206
  {'message' => 'hoge', 'message2' => 'hoge2'},
@@ -209,26 +210,26 @@ class Filter < Test::Unit::TestCase
209
210
  d = create_driver(%[
210
211
  all deny
211
212
  allow message2: /hoge2/
212
- ], 'test.input')
213
+ ])
213
214
 
214
- d.run do
215
+ d.run(default_tag: 'test.input') do
215
216
  data.each do |dat|
216
- d.emit dat
217
+ d.feed dat
217
218
  end
218
219
  end
219
- assert_equal 1, d.emits.length
220
+ assert_equal 1, d.events.length
220
221
 
221
222
  d = create_driver(%[
222
223
  all allow
223
224
  deny message2: /hoge2/
224
- ], 'test.input')
225
+ ])
225
226
 
226
- d.run do
227
+ d.run(default_tag: 'test.input') do
227
228
  data.each do |dat|
228
- d.emit dat
229
+ d.feed dat
229
230
  end
230
231
  end
231
- assert_equal 1, d.emits.length
232
+ assert_equal 1, d.events.length
232
233
 
233
234
  end
234
235
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-filter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Muddy Dixon
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-12-21 00:00:00.000000000 Z
11
+ date: 2017-09-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -44,14 +44,20 @@ dependencies:
44
44
  requirements:
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: 0.14.15
48
+ - - "<"
49
+ - !ruby/object:Gem::Version
50
+ version: '2'
48
51
  type: :runtime
49
52
  prerelease: false
50
53
  version_requirements: !ruby/object:Gem::Requirement
51
54
  requirements:
52
55
  - - ">="
53
56
  - !ruby/object:Gem::Version
54
- version: '0'
57
+ version: 0.14.15
58
+ - - "<"
59
+ - !ruby/object:Gem::Version
60
+ version: '2'
55
61
  description: Simple output filter
56
62
  email:
57
63
  - muddydixon@gmail.com
@@ -95,7 +101,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
95
101
  version: '0'
96
102
  requirements: []
97
103
  rubyforge_project: fluent-plugin-filter
98
- rubygems_version: 2.2.2
104
+ rubygems_version: 2.6.13
99
105
  signing_key:
100
106
  specification_version: 4
101
107
  summary: Simple output filter