fluent-plugin-string-scrub 0.1.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 22a7e6ce42d946054cdfb80294dbc339215242e5
4
- data.tar.gz: 282dccc73abfd4f2c14209a3478f9d3bbe733ccd
2
+ SHA256:
3
+ metadata.gz: 0432a5e1ae4e3970f96b80134b6ae8ffdad9fed1da59cac7807fe2562e8b65c0
4
+ data.tar.gz: 53ef421c743a333bea35e451c0151510a6d5b4fcac49468e8501029d617f5d35
5
5
  SHA512:
6
- metadata.gz: 6f812ab0fbe3bc87f5e8a46e1a3d715a2da4950e0334631ca456606dbd77b8acd027517a334bea0afcb9e3a75180a5a746c4b0bd1dd82290620f62cb8fc93136
7
- data.tar.gz: 8646f2982fe4ca357512f739f67d246c3a6808584798b6f64f16167316a8fab8e95725a9212109b5023fc2d9e0caeba6825def2d490e3e6f388c43f6db695147
6
+ metadata.gz: 4130308daf2d991ed36a75a684333a8cb5fe99a009833f9a1589e5ab67d56374db2492725cc99b2067d7c1fa10d68700dffd1697a3f09f997ce11d0835a6872c
7
+ data.tar.gz: eea555503b11318fc088825cce59c85991d6216de287918740c329cdf6810576967ac374a862f587f44b50932a870957761c8fbf9acd8f14b4cc7787b8b6b26d
@@ -1,8 +1,15 @@
1
1
  language: ruby
2
+ script: bundle exec rake
3
+ sudo: false
2
4
  rvm:
3
- - 1.9.3
4
- - 2.0.0
5
- - 2.1.*
5
+ - 2.1
6
+ - 2.2
7
+ - 2.3
8
+ - 2.4
9
+ - 2.5.2
10
+
11
+ #- ruby-head
6
12
  gemfile:
7
13
  - Gemfile
8
- - Gemfile.fluentd.lt.0.12
14
+ before_install:
15
+ - gem update bundler
data/Gemfile CHANGED
@@ -1,4 +1,3 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- # Specify your gem's dependencies in fluent-plugin-string-scrub.gemspec
4
3
  gemspec
data/README.md CHANGED
@@ -73,7 +73,7 @@ Fluentd >= v0.12 can use filter plugin.
73
73
 
74
74
  ## Contributing
75
75
 
76
- 1. Fork it ( https://github.com/[my-github-username]/fluent-plugin-string-scrub/fork )
76
+ 1. Fork it ( https://github.com/kataring/fluent-plugin-string-scrub/fork )
77
77
  2. Create your feature branch (`git checkout -b my-new-feature`)
78
78
  3. Commit your changes (`git commit -am 'Add some feature'`)
79
79
  4. Push to the branch (`git push origin my-new-feature`)
@@ -3,7 +3,7 @@ lib = File.expand_path('../lib', __FILE__)
3
3
 
4
4
  Gem::Specification.new do |spec|
5
5
  spec.name = "fluent-plugin-string-scrub"
6
- spec.version = "0.1.0"
6
+ spec.version = "1.0.0"
7
7
  spec.authors = ["Noriaki Katayama"]
8
8
  spec.email = ["kataring@gmail.com"]
9
9
  spec.summary = %q{Fluentd Output filter plugin.}
@@ -15,9 +15,9 @@ Gem::Specification.new do |spec|
15
15
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
16
16
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
17
17
  spec.require_paths = ["lib"]
18
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.1".freeze)
18
19
 
19
20
  spec.add_development_dependency "rake"
20
21
  spec.add_development_dependency "test-unit"
21
- spec.add_development_dependency "fluentd"
22
- spec.add_runtime_dependency "string-scrub", "~> 0.0.5" if RUBY_VERSION.to_f < 2.1
22
+ spec.add_development_dependency "fluentd", [">= 0.14.0", "< 2"]
23
23
  end
@@ -1,11 +1,12 @@
1
- class Fluent::StringScrubFilter < Fluent::Filter
1
+ require 'fluent/plugin/filter'
2
+
3
+ class Fluent::Plugin::StringScrubFilter < Fluent::Plugin::Filter
2
4
  Fluent::Plugin.register_filter('string_scrub', self)
3
5
 
4
6
  config_param :replace_char, :string, :default => ''
5
7
 
6
8
  def initialize
7
9
  super
8
- require 'string/scrub' if RUBY_VERSION.to_f < 2.1
9
10
  end
10
11
 
11
12
  def configure(conf)
@@ -57,4 +58,4 @@ class Fluent::StringScrubFilter < Fluent::Filter
57
58
  retry
58
59
  end
59
60
  end
60
- end if defined?(Fluent::Filter) # Support only >= v0.12
61
+ end
@@ -1,19 +1,17 @@
1
- class Fluent::StringScrubOutput < Fluent::Output
1
+ require 'fluent/plugin/output'
2
+
3
+ class Fluent::Plugin::StringScrubOutput < Fluent::Plugin::Output
2
4
  Fluent::Plugin.register_output('string_scrub', self)
3
5
 
6
+ helpers :event_emitter
7
+
4
8
  config_param :tag, :string, :default => nil
5
9
  config_param :remove_prefix, :string, :default => nil
6
10
  config_param :add_prefix, :string, :default => nil
7
11
  config_param :replace_char, :string, :default => ''
8
12
 
9
- # Define `router` method of v0.12 to support v0.10 or earlier
10
- unless method_defined?(:router)
11
- define_method("router") { Fluent::Engine }
12
- end
13
-
14
13
  def initialize
15
14
  super
16
- require 'string/scrub' if RUBY_VERSION.to_f < 2.1
17
15
  end
18
16
 
19
17
  def configure(conf)
@@ -40,7 +38,7 @@ class Fluent::StringScrubOutput < Fluent::Output
40
38
  end
41
39
  end
42
40
 
43
- def emit(tag, es, chain)
41
+ def process(tag, es)
44
42
  tag = if @tag
45
43
  @tag
46
44
  else
@@ -63,8 +61,6 @@ class Fluent::StringScrubOutput < Fluent::Output
63
61
  next if scrubbed.nil?
64
62
  router.emit(tag, time, scrubbed)
65
63
  end
66
-
67
- chain.next
68
64
  end
69
65
 
70
66
  def recv_record(record)
@@ -12,16 +12,9 @@ require 'test/unit'
12
12
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
13
13
  $LOAD_PATH.unshift(File.dirname(__FILE__))
14
14
  require 'fluent/test'
15
- unless ENV.has_key?('VERBOSE')
16
- nulllogger = Object.new
17
- nulllogger.instance_eval {|obj|
18
- def method_missing(method, *args)
19
- # pass
20
- end
21
- }
22
- $log = nulllogger
23
- end
24
-
15
+ require 'fluent/version'
16
+ require 'fluent/test/driver/output'
17
+ require 'fluent/test/driver/filter'
25
18
  require 'fluent/plugin/out_string_scrub'
26
19
  require 'fluent/plugin/filter_string_scrub'
27
20
 
@@ -20,24 +20,22 @@ class StringScrubFilterTest < Test::Unit::TestCase
20
20
  replace_char \u{FFFD}
21
21
  ]
22
22
 
23
- def create_driver(conf=CONFIG, tag='test.filter')
24
- Fluent::Test::FilterTestDriver.new(Fluent::StringScrubFilter).configure(conf, tag)
23
+ def create_driver(conf=CONFIG)
24
+ Fluent::Test::Driver::Filter.new(Fluent::Plugin::StringScrubFilter).configure(conf)
25
25
  end
26
26
 
27
27
  def filter(config, msgs)
28
28
  d = create_driver(config)
29
- d.run {
29
+ d.run(default_tag: 'test.filter') {
30
30
  msgs.each {|msg|
31
- d.filter(msg, @time)
31
+ d.feed(@time, msg)
32
32
  }
33
33
  }
34
- filtered = d.filtered_as_array
35
- filtered.map {|m| m[2] }
34
+ filtered = d.filtered
35
+ filtered.map {|m| m[1] }
36
36
  end
37
37
 
38
38
  def test_filter1
39
- return unless defined? Fluent::Filter
40
-
41
39
  orig_message = 'testtesttest'
42
40
  invalid_utf8 = "\xff".force_encoding('UTF-8')
43
41
  msg = {"message" => orig_message + invalid_utf8}
@@ -28,8 +28,8 @@ class StringScrubOutputTest < Test::Unit::TestCase
28
28
  replace_char \u{FFFD}
29
29
  ]
30
30
 
31
- def create_driver(conf = CONFIG, tag = 'test', use_v1_config = true)
32
- Fluent::Test::OutputTestDriver.new(Fluent::StringScrubOutput, tag).configure(conf, use_v1_config)
31
+ def create_driver(conf = CONFIG)
32
+ Fluent::Test::Driver::Output.new(Fluent::Plugin::StringScrubOutput).configure(conf)
33
33
  end
34
34
 
35
35
  def test_configure
@@ -78,48 +78,28 @@ class StringScrubOutputTest < Test::Unit::TestCase
78
78
  }
79
79
  end
80
80
 
81
- def test_emit_fluentd_0_12
82
- if Fluent::VERSION >= "0.12"
83
- in_tag = 'input.log'
84
- orig_message = 'testtesttest'
85
- Fluent::Engine.root_agent.add_label('@foo')
86
- d = create_driver(%[
87
- @label @foo
88
- ], in_tag)
89
- label = Fluent::Engine.root_agent.find_label('@foo')
90
- assert_equal(label.event_router, d.instance.router)
91
-
92
- d.run do
93
- d.emit({'message' => orig_message})
94
- end
95
- emits = d.emits
96
- tag, time, record = emits.first
97
- assert_equal(in_tag, tag)
98
- end
99
- end
100
-
101
81
  def test_emit1_invalid_string
102
82
  orig_message = 'testtesttest'
103
83
  invalid_utf8 = "\xff".force_encoding('UTF-8')
104
- d1 = create_driver(CONFIG, 'input.log')
105
- d1.run do
106
- d1.emit({'message' => orig_message + invalid_utf8})
84
+ d1 = create_driver(CONFIG)
85
+ d1.run(default_tag: 'input.log') do
86
+ d1.feed({'message' => orig_message + invalid_utf8})
107
87
  end
108
- emits = d1.emits
88
+ emits = d1.events
109
89
  assert_equal 1, emits.length
110
-
90
+
111
91
  e1 = emits[0]
112
92
  assert_equal "scrubbed.log", e1[0]
113
93
  assert_equal orig_message, e1[2]['message']
114
94
 
115
95
  invalid_ascii = "\xff".force_encoding('US-ASCII')
116
- d2 = create_driver(CONFIG, 'input.log2')
117
- d2.run do
118
- d2.emit({'message' => orig_message + invalid_utf8})
96
+ d2 = create_driver(CONFIG)
97
+ d2.run(default_tag: 'input.log2') do
98
+ d2.feed({'message' => orig_message + invalid_utf8})
119
99
  end
120
- emits = d2.emits
100
+ emits = d2.events
121
101
  assert_equal 1, emits.length
122
-
102
+
123
103
  e2 = emits[0]
124
104
  assert_equal "scrubbed.log2", e2[0]
125
105
  assert_equal orig_message, e2[2]['message']
@@ -128,11 +108,11 @@ class StringScrubOutputTest < Test::Unit::TestCase
128
108
  def test_emit2_replace_char
129
109
  orig_message = 'testtesttest'
130
110
  invalid_utf8 = "\xff".force_encoding('UTF-8')
131
- d1 = create_driver(CONFIG_REPLACE_CHAR, 'input.log')
132
- d1.run do
133
- d1.emit({'message' => orig_message + invalid_utf8})
111
+ d1 = create_driver(CONFIG_REPLACE_CHAR)
112
+ d1.run(default_tag: 'input.log') do
113
+ d1.feed({'message' => orig_message + invalid_utf8})
134
114
  end
135
- emits = d1.emits
115
+ emits = d1.events
136
116
  assert_equal 1, emits.length
137
117
 
138
118
  e1 = emits[0]
@@ -140,11 +120,11 @@ class StringScrubOutputTest < Test::Unit::TestCase
140
120
  assert_equal orig_message + '?', e1[2]['message']
141
121
 
142
122
  invalid_ascii = "\xff".force_encoding('US-ASCII')
143
- d2 = create_driver(CONFIG_REPLACE_CHAR, 'input.log2')
144
- d2.run do
145
- d2.emit({'message' => orig_message + invalid_utf8})
123
+ d2 = create_driver(CONFIG_REPLACE_CHAR)
124
+ d2.run(default_tag: 'input.log2') do
125
+ d2.feed({'message' => orig_message + invalid_utf8})
146
126
  end
147
- emits = d2.emits
127
+ emits = d2.events
148
128
  assert_equal 1, emits.length
149
129
 
150
130
  e2 = emits[0]
@@ -155,11 +135,11 @@ class StringScrubOutputTest < Test::Unit::TestCase
155
135
  def test_emit3_struct_message
156
136
  orig_message = 'testtesttest'
157
137
  invalid_utf8 = "\xff".force_encoding('UTF-8')
158
- d1 = create_driver(CONFIG_REPLACE_CHAR, 'input.log')
159
- d1.run do
160
- d1.emit({'message' => {'message_child' => orig_message + invalid_utf8}})
138
+ d1 = create_driver(CONFIG_REPLACE_CHAR)
139
+ d1.run(default_tag: 'input.log') do
140
+ d1.feed({'message' => {'message_child' => orig_message + invalid_utf8}})
161
141
  end
162
- emits = d1.emits
142
+ emits = d1.events
163
143
  assert_equal 1, emits.length
164
144
 
165
145
  e1 = emits[0]
@@ -170,11 +150,11 @@ class StringScrubOutputTest < Test::Unit::TestCase
170
150
  def test_emit4_unicode1
171
151
  orig_message = 'testtesttest'
172
152
  invalid_utf8 = "\xff".force_encoding('UTF-8')
173
- d1 = create_driver(CONFIG_UNICODE_1, 'input.log')
174
- d1.run do
175
- d1.emit({'message' => {'message_child' => orig_message + invalid_utf8}})
153
+ d1 = create_driver(CONFIG_UNICODE_1)
154
+ d1.run(default_tag: 'input.log') do
155
+ d1.feed({'message' => {'message_child' => orig_message + invalid_utf8}})
176
156
  end
177
- emits = d1.emits
157
+ emits = d1.events
178
158
  assert_equal 1, emits.length
179
159
 
180
160
  e1 = emits[0]
@@ -183,11 +163,11 @@ class StringScrubOutputTest < Test::Unit::TestCase
183
163
 
184
164
  orig_message = 'testtesttest'
185
165
  invalid_utf8 = "\xff".force_encoding('UTF-8')
186
- d1 = create_driver(CONFIG_UNICODE_2, 'input.log')
187
- d1.run do
188
- d1.emit({'message' => {'message_child' => orig_message + invalid_utf8}})
166
+ d1 = create_driver(CONFIG_UNICODE_2)
167
+ d1.run(default_tag: 'input.log') do
168
+ d1.feed({'message' => {'message_child' => orig_message + invalid_utf8}})
189
169
  end
190
- emits = d1.emits
170
+ emits = d1.events
191
171
  assert_equal 1, emits.length
192
172
 
193
173
  e1 = emits[0]
@@ -198,25 +178,25 @@ class StringScrubOutputTest < Test::Unit::TestCase
198
178
  def test_emit5_frozen_string
199
179
  orig_message = 'testtesttest'
200
180
  invalid_utf8 = "\xff".force_encoding('UTF-8')
201
- d1 = create_driver(CONFIG, 'input.log')
202
- d1.run do
203
- d1.emit({'message' => (orig_message + invalid_utf8).freeze})
181
+ d1 = create_driver(CONFIG)
182
+ d1.run(default_tag: 'input.log') do
183
+ d1.feed({'message' => (orig_message + invalid_utf8).freeze})
204
184
  end
205
- emits = d1.emits
185
+ emits = d1.events
206
186
  assert_equal 1, emits.length
207
-
187
+
208
188
  e1 = emits[0]
209
189
  assert_equal "scrubbed.log", e1[0]
210
190
  assert_equal orig_message, e1[2]['message']
211
191
 
212
192
  invalid_ascii = "\xff".force_encoding('US-ASCII')
213
- d2 = create_driver(CONFIG, 'input.log2')
214
- d2.run do
215
- d2.emit({'message' => (orig_message + invalid_utf8).freeze})
193
+ d2 = create_driver(CONFIG)
194
+ d2.run(default_tag: 'input.log2') do
195
+ d2.feed({'message' => (orig_message + invalid_utf8).freeze})
216
196
  end
217
- emits = d2.emits
197
+ emits = d2.events
218
198
  assert_equal 1, emits.length
219
-
199
+
220
200
  e2 = emits[0]
221
201
  assert_equal "scrubbed.log2", e2[0]
222
202
  assert_equal orig_message, e2[2]['message']
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-string-scrub
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Noriaki Katayama
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-22 00:00:00.000000000 Z
11
+ date: 2018-11-19 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.0
48
+ - - "<"
49
+ - !ruby/object:Gem::Version
50
+ version: '2'
48
51
  type: :development
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.0
58
+ - - "<"
59
+ - !ruby/object:Gem::Version
60
+ version: '2'
55
61
  description: fluent plugin for string scrub.
56
62
  email:
57
63
  - kataring@gmail.com
@@ -62,7 +68,6 @@ files:
62
68
  - ".gitignore"
63
69
  - ".travis.yml"
64
70
  - Gemfile
65
- - Gemfile.fluentd.lt.0.12
66
71
  - LICENSE.txt
67
72
  - README.md
68
73
  - Rakefile
@@ -84,7 +89,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
84
89
  requirements:
85
90
  - - ">="
86
91
  - !ruby/object:Gem::Version
87
- version: '0'
92
+ version: '2.1'
88
93
  required_rubygems_version: !ruby/object:Gem::Requirement
89
94
  requirements:
90
95
  - - ">="
@@ -92,7 +97,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
92
97
  version: '0'
93
98
  requirements: []
94
99
  rubyforge_project:
95
- rubygems_version: 2.2.2
100
+ rubygems_version: 2.7.8
96
101
  signing_key:
97
102
  specification_version: 4
98
103
  summary: Fluentd Output filter plugin.
@@ -1,4 +0,0 @@
1
- source "http://rubygems.org"
2
-
3
- gem 'fluentd', '~> 0.10.43'
4
- gemspec